1
linux/net
Arnaldo Carvalho de Melo 8cf8e5a67f [INET_DIAG]: Fix inet_diag_lock_handler error path.
Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=9825

The inet_diag_lock_handler function uses ERR_PTR to encode errors but
its callers were testing against NULL.

This only happens when the only inet_diag modular user, DCCP, is not
built into the kernel or available as a module.

Also there was a problem with not dropping the mutex lock when a handler
was not found, also fixed in this patch.

This caused an OOPS and ss would then hang on subsequent calls, as
&inet_diag_table_mutex was being left locked.

Thanks to spike at ml.yaroslavl.ru for report it after trying 'ss -d'
on a kernel that doesn't have DCCP available.

This bug was introduced in cset
d523a328fb ("Fix inet_diag dead-lock
regression"), after 2.6.24-rc3, so just 2.6.24 seems to be affected.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-31 19:27:08 -08:00
..
9p [NET] 9p: kill dead static inline buf_put_string 2008-01-31 19:27:05 -08:00
802
8021q [VLAN]: sparse warning fix 2008-01-28 15:10:17 -08:00
appletalk [APPLETALK]: Annotations to clear sparse warnings 2008-01-28 15:02:43 -08:00
atm [NETNS]: Add namespace parameter to ip_route_output_key. 2008-01-28 15:11:07 -08:00
ax25 [AX25]: Kill ax25_bind() user triggable printk. 2008-01-31 19:27:06 -08:00
bluetooth
bridge [NETNS]: Add namespace parameter to ip_route_output_key. 2008-01-28 15:11:07 -08:00
can
core [NET_SCHED]: Convert packet schedulers from rtnetlink to new netlink API 2008-01-28 15:11:10 -08:00
dccp [NETNS]: Add namespace parameter to ip_route_output_flow. 2008-01-28 15:11:06 -08:00
decnet [NETNS]: FIB rules API cleanup. 2008-01-28 15:08:13 -08:00
econet
ethernet
ieee80211 ieee80211: beacon->capability is little-endian 2008-01-28 15:08:48 -08:00
ipv4 [INET_DIAG]: Fix inet_diag_lock_handler error path. 2008-01-31 19:27:08 -08:00
ipv6 [INET]: Prevent out-of-sync truesize on ip_fragment slow path 2008-01-31 19:27:07 -08:00
ipx [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
irda [IrDA]: LMP discovery timer not started by default 2008-01-28 15:10:54 -08:00
iucv
key
lapb
llc [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
mac80211 mac80211: fixing null qos data frames check for reordering buffer 2008-01-31 19:26:38 -08:00
netfilter SELinux: Enable dynamic enable/disable of the network access checks 2008-01-30 08:17:26 +11:00
netlabel NetLabel: Add auditing to the static labeling mechanism 2008-01-30 08:17:29 +11:00
netlink [NETLINK]: Add nla_append() 2008-01-28 15:11:09 -08:00
netrom [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
packet
rfkill rfkill: add the WiMAX radio type 2008-01-31 19:26:46 -08:00
rose [ROSE]: Supress sparse warnings 2008-01-28 15:02:44 -08:00
rxrpc [NETNS]: Add namespace parameter to ip_route_output_key. 2008-01-28 15:11:07 -08:00
sched [NET_SCHED]: Use nla_policy for attribute validation in ematches 2008-01-28 15:11:24 -08:00
sctp [NETNS]: Add namespace parameter to ip_route_output_key. 2008-01-28 15:11:07 -08:00
sunrpc Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
tipc
unix
wanrouter
wireless WEXT: remove unused variable 2008-01-28 15:10:48 -08:00
x25 [AX25]: Beautify x25_init() version printk. 2008-01-31 19:27:06 -08:00
xfrm [IPSEC]: Add support for combined mode algorithms 2008-01-31 19:27:03 -08:00
compat.c
Kconfig
Makefile
nonet.c
socket.c
sysctl_net.c
TUNABLE