linux/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
..
af_ax25.c [AX25] af_ax25: remove sock lock in ax25_info_show() 2008-02-12 17:53:31 -08:00
ax25_addr.c
ax25_dev.c
ax25_ds_in.c
ax25_ds_subr.c
ax25_ds_timer.c [AX25]: sparse cleanups 2008-01-28 15:02:03 -08:00
ax25_iface.c
ax25_in.c
ax25_ip.c
ax25_out.c
ax25_route.c [AX25] ax25_route: make ax25_route_lock BH safe 2008-02-12 17:53:32 -08:00
ax25_std_in.c
ax25_std_subr.c
ax25_std_timer.c [AX25]: sparse cleanups 2008-01-28 15:02:03 -08:00
ax25_subr.c
ax25_timer.c
ax25_uid.c [AX25]: sparse cleanups 2008-01-28 15:02:03 -08:00
Kconfig
Makefile
sysctl_net_ax25.c
TODO