← Back to team overview

desktop-packages team mailing list archive

[Bug 1511735] Re: libnl: fail to bind() netlink sockets

 

The enclosed tar file contains the updated test script and the 4 patches
that can be applied cleanly over the ubuntu libnl3-3.2.21.

Before the patches:
$ if ./example.sh ; then echo success ; else echo failure ; fi
gcc -o example -I/usr/include/libnl3 example.c -lnl-3 -lnl-genl-3
set manually the local port to 15754 (pid: 15753)
local port has been set by the libnl to 15754 (pid: 15754)
genl_connect(): Object exists (local port: 15754, pid: 15754)
failure

After the patches:
$ if ./example.sh ; then echo success ; else echo failure ; fi
gcc -o example -I/usr/include/libnl3 example.c -lnl-3 -lnl-genl-3
set manually the local port to 15768 (pid: 15767)
local port has been set by the libnl to 432029080 (pid: 15768)
success


** Attachment added: "20151115_test_and_patches.tar"
   https://bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1511735/+attachment/4535092/+files/20151115_test_and_patches.tar

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

Title:
  libnl: fail to bind() netlink sockets

Status in libnl3 package in Ubuntu:
  Fix Released
Status in libnl3 source package in Trusty:
  New

Bug description:
  The following upstream patches are needed in order to avoid failures
  when binding a netlink socket:

  1f734a8f892a lib/socket: randomize the generated local port
  http://git.infradead.org/users/tgr/libnl.git/commitdiff/1f734a8f892a

  4dd5fdd0af2c lib/socket: retry generate local port in nl_connect on ADDRINUSE
  http://git.infradead.org/users/tgr/libnl.git/commitdiff/4dd5fdd0af2c

  027157898708 lib/socket: don't fail if no more local ports can be assigned in nl_socket_alloc
  http://git.infradead.org/users/tgr/libnl.git/commitdiff/027157898708

  0fd510b3673f lib/socket: use proper typed constant UINT32_MAX for uint32_t typed port
  http://git.infradead.org/users/tgr/libnl.git/commitdiff/0fd510b3673f

  Without these patches, an application which opens and closes regularly
  netlink sockets can easily fails to bind them.

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