← Back to team overview

kernel-packages team mailing list archive

[Bug 1540731] Re: SocketMessenger::update_session_creds() fails to get client PID, causing "[ FAILED ] PromptSessionClientAPI.client_pid_is_associated_with_session" on kernel 4.4 (but kernel 4.3 works)

 

This bug was fixed in the package linux - 4.4.0-4.19

---------------
linux (4.4.0-4.19) xenial; urgency=low

  * update ZFS and SPL to 0.6.5.4 (LP: #1542296)
    - [Config] update spl/zfs version
    - SAUCE: (noup) Update spl to 0.6.5.4-0ubuntu2, zfs to 0.6.5.4-0ubuntu1
    - [Config] reconstruct -- drop links for zfs userspace components
    - [Config] reconstruct -- drop links for zfs userspace components -- restore spec links

  * recvmsg() fails SCM_CREDENTIALS request with EOPNOTSUPP. (LP: #1540731)
    - Revert "af_unix: Revert 'lock_interruptible' in stream receive code"

  * lxc: ADT exercise test failing with linux-4.4.0-3.17  (LP: #1542049)
    - Revert "UBUNTU: SAUCE: apparmor: fix sleep from invalid context"

  * WARNING: at /build/linux-lts-wily-W0lTWH/linux-lts-wily-4.2.0/net/core/skbuff.c:4174 (Travis IB) (LP: #1541326)
    - SAUCE: IB/IPoIB: Do not set skb truesize since using one linearskb

  * backport Microsoft Precision Touchpad palm rejection patch (LP: #1541671)
    - HID: multitouch: enable palm rejection if device implements confidence usage

  * [Ubuntu 16.04] Update qla2xxx driver for POWER (QLogic) (LP: #1541456)
    - qla2xxx: Remove unavailable firmware files
    - qla2xxx: Enable Extended Logins support
    - qla2xxx: Enable Exchange offload support.
    - qla2xxx: Enable Target counters in DebugFS.
    - qla2xxx: Add FW resource count in DebugFS.
    - qla2xxx: Added interface to send explicit LOGO.
    - qla2xxx: Delete session if initiator is gone from FW
    - qla2xxx: Wait for all conflicts before ack'ing PLOGI
    - qla2xxx: Replace QLA_TGT_STATE_ABORTED with a bit.
    - qla2xxx: Remove dependency on hardware_lock to reduce lock contention.
    - qla2xxx: Add irq affinity notification
    - qla2xxx: Add selective command queuing
    - qla2xxx: Move atioq to a different lock to reduce lock contention
    - qla2xxx: Disable ZIO at start time.
    - qla2xxx: Set all queues to 4k
    - qla2xxx: Check for online flag instead of active reset when transmitting responses
    - scsi: qla2xxxx: avoid type mismatch in comparison

  * [Hyper-V] PCI Passthrough (LP: #1541120)
    - x86/irq: Export functions to allow MSI domains in modules
    - genirq/msi: Export functions to allow MSI domains in modules

  * Update lpfc driver to 11.0.0.10 (LP: #1541592)
    - lpfc: Fix FCF Infinite loop in lpfc_sli4_fcf_rr_next_index_get.
    - lpfc: Fix the FLOGI discovery logic to comply with T11 standards
    - lpfc: Fix RegLogin failed error seen on Lancer FC during port bounce
    - lpfc: Fix driver crash when module parameter lpfc_fcp_io_channel set to 16
    - lpfc: Fix crash in fcp command completion path.
    - lpfc: Modularize and cleanup FDMI code in driver
    - lpfc: Fix RDP Speed reporting.
    - lpfc: Fix RDP ACC being too long.
    - lpfc: Make write check error processing more resilient
    - lpfc: Use new FDMI speed definitions for 10G, 25G and 40G FCoE.
    - lpfc: Fix mbox reuse in PLOGI completion
    - lpfc: Fix external loopback failure.
    - lpfc: Add logging for misconfigured optics.
    - lpfc: Delete unnecessary checks before the function call "mempool_destroy"
    - lpfc: Use kzalloc instead of kmalloc
    - lpfc: Update version to 11.0.0.10 for upstream patch set

  * Miscellaneous Ubuntu changes
    - [Config] CONFIG_ARM64_VA_BITS=48
    - [Config] Fixed Vcs-Git

  * Miscellaneous upstream changes
    - cxl: Fix possible idr warning when contexts are released
    - cxl: use correct operator when writing pcie config space values
    - cxlflash: drop unlikely before IS_ERR_OR_NULL
    - cxl: Fix DSI misses when the context owning task exits
    - cxlflash: Removed driver date print
    - cxlflash: Fix to resolve cmd leak after host reset
    - cxlflash: Resolve oops in wait_port_offline
    - cxlflash: Enable device id for future IBM CXL adapter
    - cxl: fix build for GCC 4.6.x
    - cxl: use -Werror only with CONFIG_PPC_WERROR
    - cxl: Enable PCI device ID for future IBM CXL adapter

 -- Andy Whitcroft <apw@xxxxxxxxxxxxx>  Fri, 05 Feb 2016 14:58:51 +0000

** Changed in: linux (Ubuntu)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1540731

Title:
  SocketMessenger::update_session_creds() fails to get client PID,
  causing "[ FAILED ]
  PromptSessionClientAPI.client_pid_is_associated_with_session" on
  kernel 4.4 (but kernel 4.3 works)

Status in GLibC:
  New
Status in Mir:
  Invalid
Status in linux package in Ubuntu:
  Fix Released

Bug description:
  Since updating to the 4.4.0-2 kernel recvmsg() fails SCM_CREDENTIALS
  request with EOPNOTSUPP.

  This manifests as a test failure in Mir:

      [ RUN      ] PromptSessionClientAPI.client_pid_is_associated_with_session
      unknown file: Failure

  Test case:

  #include <stdlib.h>
  #include <stdio.h>
  #include <sys/socket.h>
  #include <sys/stat.h>
  #include <assert.h>
  #include <errno.h>
  #include <string.h>

  int main()
  {
      enum { server, client, size };
      int socket_fd[size];
      int const opt = 1;

      assert(socketpair(AF_LOCAL, SOCK_STREAM, 0, socket_fd) == 0);

      char const msg[] = "A random message";
      send(socket_fd[client], msg, sizeof msg, MSG_DONTWAIT | MSG_NOSIGNAL);

      assert(setsockopt(socket_fd[server], SOL_SOCKET, SO_PASSCRED,
  &opt, sizeof(opt)) != -1);

      union {
          struct cmsghdr cmh;
          char control[CMSG_SPACE(sizeof(ucred))];
      } control_un;

      control_un.cmh.cmsg_len = CMSG_LEN(sizeof(ucred));
      control_un.cmh.cmsg_level = SOL_SOCKET;
      control_un.cmh.cmsg_type = SCM_CREDENTIALS;

      msghdr msgh;
      msgh.msg_name = NULL;
      msgh.msg_namelen = 0;
      msgh.msg_iov = NULL;
      msgh.msg_iovlen = 0;
      msgh.msg_control = control_un.control;
      msgh.msg_controllen = sizeof(control_un.control);

      errno = 0;

      if (recvmsg(socket_fd[server], &msgh, MSG_PEEK) == -1)
      {
          printf("Error: %s\n", strerror(errno));
          exit(EXIT_FAILURE);
      }
      else
      {
          printf("Success!\n");
          exit(EXIT_SUCCESS);
      }
  }

  ===
  Kernel-Description: recvmsg() fails SCM_CREDENTIALS request with EOPNOTSUPP.

To manage notifications about this bug go to:
https://bugs.launchpad.net/glibc/+bug/1540731/+subscriptions