]> git.baikalelectronics.ru Git - kernel.git/commit
llc: Fix races between llc2 handler use and (un)registration
authorBen Hutchings <ben@decadent.org.uk>
Mon, 13 Aug 2012 02:50:55 +0000 (02:50 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Aug 2012 23:52:02 +0000 (16:52 -0700)
commit09052494cd0c3ccc26ede3f4856437b40da4dc74
tree8ad3aa78fdabdc1c60e5608b342ec1782eb72513
parent9ddbb02d82556e97ce9b57c78f1985a1f6597fb1
llc: Fix races between llc2 handler use and (un)registration

When registering the handlers, any state they rely on must be
completely initialised first.  When unregistering, we must wait until
they are definitely no longer running.  llc_rcv() must also avoid
reading the handler pointers again after checking for NULL.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/llc/llc_input.c
net/llc/llc_station.c