linux/net/ax25
David S. Miller 9375cb8a12 ax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init.
The way that listening sockets work in ax25 is that the packet input
code path creates new socks via ax25_make_new() and attaches them
to the incoming SKB.  This SKB gets queued up into the listening
socket's receive queue.

When accept()'d the sock gets hooked up to the real parent socket.
Alternatively, if the listening socket is closed and released, any
unborn socks stuff up in the receive queue get released.

So during this time period these sockets are unreachable in any
other way, so no wakeup events nor references to their ->sk_socket
and ->sk_sleep members can occur.  And even if they do, all such
paths have to make NULL checks.

So do not deceptively initialize them in ax25_make_new() to the
values in the listening socket.  Leave them at NULL.

Finally, use sock_graft() in ax25_accept().

Signed-off-by: David S. Miller <davem@davemloft.net>
2008-06-17 02:20:54 -07:00
..
af_ax25.c ax25: Use sock_graft() and remove bogus sk_socket and sk_sleep init. 2008-06-17 02:20:54 -07:00
ax25_addr.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ax25_dev.c [AX25] ax25_ds_timer: use mod_timer instead of add_timer 2008-02-12 17:53:34 -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] ax25_ds_timer: use mod_timer instead of add_timer 2008-02-12 17:53:34 -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] NETNS: Omit net_device->nd_net without CONFIG_NET_NS. 2008-03-26 04:39:53 +09:00
ax25_ip.c [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
ax25_out.c [AX25] ax25_out: check skb for NULL in ax25_kick() 2008-02-17 22:31:19 -08: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: Fix NULL pointer dereference and lockup. 2008-06-03 14:53:46 -07:00
ax25_timer.c [AX25] ax25_timer: use mod_timer instead of add_timer 2008-02-12 17:53:33 -08:00
ax25_uid.c [AX25]: Potential ax25_uid_assoc-s leaks on module unload. 2008-04-12 18:33:50 -07: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
sysctl_net_ax25.c [AX25]: Switch to using ctl_paths. 2008-01-28 15:01:09 -08:00
TODO [AX25]: Remove obsolete references to BKL from TODO file. 2008-03-26 02:14:38 -07:00