← Back to team overview

kernel-packages team mailing list archive

[Bug 1463553] [NEW] accept() system call is inconsistent with bind(), connect()

 

Public bug reported:

Under kernel 3.2.0-54 and 3.9.3 (at least), the accept() system call in
a PF_LOCAL, AF_LOCAL, SOCK_STREAM context returns an addrlen for the
sockaddr_un structure that is too large by one.

As the SUN_LEN macro of the sys/un.h header shows, the "length" of the
structure is expected to be the strlen() of the sun_path member, plus
that member's offset.  This is the length used by bind() and connect(),
in particular.  But accept() consistently returns a "length" which
includes the trailing null, and is thus too large by one.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: linux-libc-dev 3.2.0-54.82
ProcVersionSignature: Ubuntu 3.2.0-54.82-virtual 3.2.50
Uname: Linux 3.2.0-54-virtual x86_64
AlsaDevices:
 total 0
 crw-rw---T 1 root audio 116,  1 May 26 09:41 seq
 crw-rw---T 1 root audio 116, 33 May 26 09:41 timer
AplayDevices: aplay: device_list:252: no soundcards found...
ApportVersion: 2.0.1-0ubuntu17.9
Architecture: amd64
ArecordDevices: arecord: device_list:252: no soundcards found...
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
Date: Tue Jun  9 16:14:40 2015
Dependencies:
 
HibernationDevice: RESUME=UUID=476a0cd7-3578-49f2-b064-1d2151aa9f56
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
IwConfig:
 lo        no wireless extensions.
 
 eth0      no wireless extensions.
Lsusb:
 Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
MachineType: innotek GmbH VirtualBox
MarkForUpload: True
PciMultimedia:
 
ProcFB: 0 VESA VGA
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-54-virtual root=UUID=c1c9d001-671e-44c6-8e7c-82f83d591195 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.2.0-54-virtual N/A
 linux-backports-modules-3.2.0-54-virtual  N/A
 linux-firmware                            1.79.18
RfKill:
 
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
WifiSyslog:
 
dmi.bios.date: 12/01/2006
dmi.bios.vendor: innotek GmbH
dmi.bios.version: VirtualBox
dmi.board.name: VirtualBox
dmi.board.vendor: Oracle Corporation
dmi.board.version: 1.2
dmi.chassis.type: 1
dmi.chassis.vendor: Oracle Corporation
dmi.modalias: dmi:bvninnotekGmbH:bvrVirtualBox:bd12/01/2006:svninnotekGmbH:pnVirtualBox:pvr1.2:rvnOracleCorporation:rnVirtualBox:rvr1.2:cvnOracleCorporation:ct1:cvr:
dmi.product.name: VirtualBox
dmi.product.version: 1.2
dmi.sys.vendor: innotek GmbH

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug precise running-unity

-- 
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/1463553

Title:
  accept() system call is inconsistent with bind(), connect()

Status in linux package in Ubuntu:
  New

Bug description:
  Under kernel 3.2.0-54 and 3.9.3 (at least), the accept() system call
  in a PF_LOCAL, AF_LOCAL, SOCK_STREAM context returns an addrlen for
  the sockaddr_un structure that is too large by one.

  As the SUN_LEN macro of the sys/un.h header shows, the "length" of the
  structure is expected to be the strlen() of the sun_path member, plus
  that member's offset.  This is the length used by bind() and
  connect(), in particular.  But accept() consistently returns a
  "length" which includes the trailing null, and is thus too large by
  one.

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: linux-libc-dev 3.2.0-54.82
  ProcVersionSignature: Ubuntu 3.2.0-54.82-virtual 3.2.50
  Uname: Linux 3.2.0-54-virtual x86_64
  AlsaDevices:
   total 0
   crw-rw---T 1 root audio 116,  1 May 26 09:41 seq
   crw-rw---T 1 root audio 116, 33 May 26 09:41 timer
  AplayDevices: aplay: device_list:252: no soundcards found...
  ApportVersion: 2.0.1-0ubuntu17.9
  Architecture: amd64
  ArecordDevices: arecord: device_list:252: no soundcards found...
  AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
  CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
  Date: Tue Jun  9 16:14:40 2015
  Dependencies:
   
  HibernationDevice: RESUME=UUID=476a0cd7-3578-49f2-b064-1d2151aa9f56
  InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
  IwConfig:
   lo        no wireless extensions.
   
   eth0      no wireless extensions.
  Lsusb:
   Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
   Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
  MachineType: innotek GmbH VirtualBox
  MarkForUpload: True
  PciMultimedia:
   
  ProcFB: 0 VESA VGA
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-54-virtual root=UUID=c1c9d001-671e-44c6-8e7c-82f83d591195 ro quiet splash vt.handoff=7
  RelatedPackageVersions:
   linux-restricted-modules-3.2.0-54-virtual N/A
   linux-backports-modules-3.2.0-54-virtual  N/A
   linux-firmware                            1.79.18
  RfKill:
   
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  WifiSyslog:
   
  dmi.bios.date: 12/01/2006
  dmi.bios.vendor: innotek GmbH
  dmi.bios.version: VirtualBox
  dmi.board.name: VirtualBox
  dmi.board.vendor: Oracle Corporation
  dmi.board.version: 1.2
  dmi.chassis.type: 1
  dmi.chassis.vendor: Oracle Corporation
  dmi.modalias: dmi:bvninnotekGmbH:bvrVirtualBox:bd12/01/2006:svninnotekGmbH:pnVirtualBox:pvr1.2:rvnOracleCorporation:rnVirtualBox:rvr1.2:cvnOracleCorporation:ct1:cvr:
  dmi.product.name: VirtualBox
  dmi.product.version: 1.2
  dmi.sys.vendor: innotek GmbH

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1463553/+subscriptions


Follow ups

References