aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-03-27 20:22:55 -0400
committerDavid S. Miller <davem@davemloft.net>2009-03-27 20:22:55 -0400
commit80e20f6f360078b4852eac6825883e5aa25564bb (patch)
tree817c24d119c64984a4c68f565118b5398937ab15
parent79675900cbf2c4e67e95f94983ec4ee800b83739 (diff)
Revert "netrom: zero length frame filtering in NetRom"
This reverts commit a3ac80a130300573de351083cf4a5b46d233e8bf. Alan Cox says that zero length writes do have special meaning and are useful in this protocol. Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/netrom/af_netrom.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
index d1c16bbee932..4e705f87969f 100644
--- a/net/netrom/af_netrom.c
+++ b/net/netrom/af_netrom.c
@@ -1037,10 +1037,6 @@ static int nr_sendmsg(struct kiocb *iocb, struct socket *sock,
1037 unsigned char *asmptr; 1037 unsigned char *asmptr;
1038 int size; 1038 int size;
1039 1039
1040 /* Netrom empty data frame has no meaning : don't send */
1041 if (len == 0)
1042 return 0;
1043
1044 if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_EOR|MSG_CMSG_COMPAT)) 1040 if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_EOR|MSG_CMSG_COMPAT))
1045 return -EINVAL; 1041 return -EINVAL;
1046 1042
@@ -1175,11 +1171,6 @@ static int nr_recvmsg(struct kiocb *iocb, struct socket *sock,
1175 skb_reset_transport_header(skb); 1171 skb_reset_transport_header(skb);
1176 copied = skb->len; 1172 copied = skb->len;
1177 1173
1178 /* NetRom empty data frame has no meaning : ignore it */
1179 if (copied == 0) {
1180 goto out;
1181 }
1182
1183 if (copied > size) { 1174 if (copied > size) {
1184 copied = size; 1175 copied = size;
1185 msg->msg_flags |= MSG_TRUNC; 1176 msg->msg_flags |= MSG_TRUNC;
@@ -1195,7 +1186,7 @@ static int nr_recvmsg(struct kiocb *iocb, struct socket *sock,
1195 1186
1196 msg->msg_namelen = sizeof(*sax); 1187 msg->msg_namelen = sizeof(*sax);
1197 1188
1198out: skb_free_datagram(sk, skb); 1189 skb_free_datagram(sk, skb);
1199 1190
1200 release_sock(sk); 1191 release_sock(sk);
1201 return copied; 1192 return copied;