diff options
author | David S. Miller <davem@davemloft.net> | 2009-04-14 23:28:00 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-14 23:28:00 -0400 |
commit | 6fd4777a1fec1f7757b5a302ad3fdcc1eae2abba (patch) | |
tree | 620a872de67c78c392ed92a93810557da72fb86f /net/rose | |
parent | 239795adf7f1a40cf0be0e05544d37706c9b4cf9 (diff) |
Revert "rose: zero length frame filtering in af_rose.c"
This reverts commit 244f46ae6e9e18f6fc0be7d1f49febde4762c34b.
Alan Cox did the research, and just like the other radio protocols
zero-length frames have meaning because at the top level ROSE is
X.25 PLP.
So this zero-length filtering is invalid.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rose')
-rw-r--r-- | net/rose/af_rose.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index 0f36e8d59b29..877a7f65f707 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c | |||
@@ -1072,10 +1072,6 @@ static int rose_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
1072 | unsigned char *asmptr; | 1072 | unsigned char *asmptr; |
1073 | int n, size, qbit = 0; | 1073 | int n, size, qbit = 0; |
1074 | 1074 | ||
1075 | /* ROSE empty frame has no meaning : don't send */ | ||
1076 | if (len == 0) | ||
1077 | return 0; | ||
1078 | |||
1079 | if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_EOR|MSG_CMSG_COMPAT)) | 1075 | if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_EOR|MSG_CMSG_COMPAT)) |
1080 | return -EINVAL; | 1076 | return -EINVAL; |
1081 | 1077 | ||
@@ -1273,12 +1269,6 @@ static int rose_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
1273 | skb_reset_transport_header(skb); | 1269 | skb_reset_transport_header(skb); |
1274 | copied = skb->len; | 1270 | copied = skb->len; |
1275 | 1271 | ||
1276 | /* ROSE empty frame has no meaning : ignore it */ | ||
1277 | if (copied == 0) { | ||
1278 | skb_free_datagram(sk, skb); | ||
1279 | return copied; | ||
1280 | } | ||
1281 | |||
1282 | if (copied > size) { | 1272 | if (copied > size) { |
1283 | copied = size; | 1273 | copied = size; |
1284 | msg->msg_flags |= MSG_TRUNC; | 1274 | msg->msg_flags |= MSG_TRUNC; |