[NET]: Fix socket bitop damage
authorRalf Baechle <ralf@linux-mips.org>
Tue, 23 Aug 2005 17:11:30 +0000 (10:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Aug 2005 17:11:30 +0000 (10:11 -0700)
commit53b924b31fa53ac3007df3fef6870d5074a9adf8
tree117e7f530fa2aa37751cfd22908cd81253fd08f8
parent66a79a19a7c582efd99bb143c3a59fbda006eb39
[NET]: Fix socket bitop damage

The socket flag cleanups that went into 2.6.12-rc1 are basically oring
the flags of an old socket into the socket just being created.
Unfortunately that one was just initialized by sock_init_data(), so already
has SOCK_ZAPPED set.  As the result zapped sockets are created and all
incoming connection will fail due to this bug which again was carefully
replicated to at least AX.25, NET/ROM or ROSE.

In order to keep the abstraction alive I've introduced sock_copy_flags()
to copy the socket flags from one sockets to another and used that
instead of the bitwise copy thing.  Anyway, the idea here has probably
been to copy all flags, so sock_copy_flags() should be the right thing.
With this the ham radio protocols are usable again, so I hope this will
make it into 2.6.13.

Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sock.h
net/ax25/af_ax25.c
net/netrom/af_netrom.c
net/rose/af_rose.c