Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 450504 - dev-libs/libnl-3.2.17 makes net-misc/networkmanager segfault
Summary: dev-libs/libnl-3.2.17 makes net-misc/networkmanager segfault
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Netmon project
URL: http://lists.infradead.org/pipermail/...
Whiteboard:
Keywords: PATCH, PMASKED
Depends on:
Blocks:
 
Reported: 2013-01-06 09:05 UTC by Marien Zwart (RETIRED)
Modified: 2013-01-08 14:34 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marien Zwart (RETIRED) gentoo-dev 2013-01-06 09:05:13 UTC
dev-lib/libnl-3.2.17 makes networkmanager (presumably on an ipv6-enabled network) segfault like this:

#0  0x0000000000000000 in ?? ()
#1  0x00007ffff770d818 in cache_include (data=0x0, cb=0x0, obj=0x78b8b0, cache=0x709950, type=<optimized out>)
    at cache.c:755
#2  nl_cache_include (cache=0x709950, obj=0x78b8b0, change_cb=0x0, data=0x0) at cache.c:799
#3  0x000000000047e51b in process_route_change (msg=<optimized out>, manager=0x772d90) at nm-ip6-manager.c:935
#4  netlink_notification (monitor=<optimized out>, msg=<optimized out>, user_data=0x772d90) at nm-ip6-manager.c:1355

libnl-3.2.16 works fine. Line 755 of cache.c is the call to "cb", for which networkmanager passed NULL (see nm-ip6-manager.c:935). Adding the obvious null check (present in other branches in the same function) to libnl makes everything go again. This should be reported upstream, but if I'm right about this breaking all networkmanagers on ipv6-enabled networks consider patching gentoo's libnl or masking 3.2.17.

Corroborating evidence: 3.2.17 contains a fix for the next line of the same codepath missing this null check, with the commit message mentioning "None of the caches have support for object update, so this should not have affected anyone yet." (which explains the missing null check not breaking networkmanager in 3.2.16: this codepath was never hit), and the next change says it "adds search and replace/update functionality to cache pickup_cb" (which I'm guessing made the codepath live).
Comment 1 Tolga Dalman 2013-01-06 11:38:12 UTC
Oh dear, again a libnl issue that breaks NetworkManager ? I hit this bug as well I think. Perhaps more testing should be involved before making random updates to (obviously) totally broken libnl updates ...
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2013-01-06 16:27:34 UTC
Oh, there we go again. :)
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2013-01-08 14:34:57 UTC
3.2.18 is in the tree and 3.2.17 is gone:

mihai.dontu@gmail.com (1):
      cache: make sure the user has specified a callback