kernel-ark/net
Stephen Hemminger 30a584d944 [LLX]: SOCK_DGRAM interface fixes
The datagram interface of LLC is broken in a couple of ways.
These were discovered when trying to use it to build an out-of-kernel
version of STP.

First it didn't pass the source address of the received packet
in recvfrom(). It needs to copy the source address of received LLC packets
into the socket control block. At the same time fix a security issue
because there was uninitialized data leakage. Every recvfrom call
was just copying out old data.

Second, LLC should not merge multiple packets in one receive call
on datagram sockets. LLC should preserve packet boundaries on
SOCK_DGRAM.

This fix goes against the old historical comments about UNIX98 semantics
but without this fix SOCK_DGRAM is broken and useless. So either ANK's
interpretation was incorect or UNIX98 standard was wrong.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Acked-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-08-04 22:59:50 -07:00
..
802
8021q
appletalk
atm
ax25
bluetooth
bridge [BRIDGE]: netlink status fix 2006-08-04 22:59:48 -07:00
core [NET]: Fix more per-cpu typos 2006-08-02 15:02:31 -07:00
dccp
decnet [DECNET]: Fix for routing bug 2006-08-02 14:14:44 -07:00
econet
ethernet
ieee80211
ipv4 [NET]: Fix more per-cpu typos 2006-08-02 15:02:31 -07:00
ipv6 [IPV6]: SNMPv2 "ipv6IfStatsOutFragCreates" counter error 2006-08-02 13:41:21 -07:00
ipx
irda
key
lapb
llc [LLX]: SOCK_DGRAM interface fixes 2006-08-04 22:59:50 -07:00
netfilter [NETFILTER]: xt_hashlimit/xt_string: missing string validation 2006-08-02 13:38:29 -07:00
netlink
netrom
packet
rose
rxrpc
sched [PKT_SCHED]: Return ENOENT if qdisc module is unavailable 2006-08-04 22:59:49 -07:00
sctp
sunrpc SUNRPC: Fix obvious refcounting bugs in rpc_pipefs. 2006-08-03 16:57:26 -04:00
tipc
unix [AF_UNIX]: Kernel memory leak fix for af_unix datagram getpeersec patch 2006-08-02 14:12:06 -07:00
wanrouter
x25
xfrm
compat.c
Kconfig
Makefile
nonet.c
socket.c
sysctl_net.c
TUNABLE