OpenCloudOS-Kernel/net/ax25
Jarek Poplawski 4de211f1a2 [AX25] ax25_route: make ax25_route_lock BH safe
> =================================
> [ INFO: inconsistent lock state ]
> 2.6.24-dg8ngn-p02 #1
> ---------------------------------
> inconsistent {softirq-on-W} -> {in-softirq-R} usage.
> linuxnet/3046 [HC0[0]:SC1[2]:HE1:SE0] takes:
>  (ax25_route_lock){--.+}, at: [<f8a0cfb7>] ax25_get_route+0x18/0xb7 [ax25]
> {softirq-on-W} state was registered at:
...

This lockdep report shows that ax25_route_lock is taken for reading in
softirq context, and for writing in process context with BHs enabled.
So, to make this safe, all write_locks in ax25_route.c are changed to
_bh versions.

Reported-by: Jann Traschewski <jann@gmx.de>,
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-12 17:53:32 -08:00
..
Kconfig [S390] Kconfig: unwanted menus for s390. 2007-05-10 15:46:07 +02:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
TODO Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
af_ax25.c [AX25] af_ax25: remove sock lock in ax25_info_show() 2008-02-12 17:53:31 -08:00
ax25_addr.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ax25_dev.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ax25_ds_in.c Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
ax25_ds_subr.c Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
ax25_ds_timer.c [AX25]: sparse cleanups 2008-01-28 15:02:03 -08:00
ax25_iface.c [AX25]: don't free pointers to statically allocated data 2007-08-14 17:24:05 -07:00
ax25_in.c [NET]: Correct two mistaken skb_reset_mac_header() conversions. 2007-12-20 00:25:54 -08:00
ax25_ip.c [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
ax25_out.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
ax25_route.c [AX25] ax25_route: make ax25_route_lock BH safe 2008-02-12 17:53:32 -08:00
ax25_std_in.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ax25_std_subr.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ax25_std_timer.c [AX25]: sparse cleanups 2008-01-28 15:02:03 -08:00
ax25_subr.c [AX25]: Locking dependencies fix in ax25_disconnect(). 2007-12-16 14:02:07 -08:00
ax25_timer.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ax25_uid.c [AX25]: sparse cleanups 2008-01-28 15:02:03 -08:00
sysctl_net_ax25.c [AX25]: Switch to using ctl_paths. 2008-01-28 15:01:09 -08:00