2000-11-11 21:01:16

by Dag Brattli

[permalink] [raw]
Subject: [patch] patch-2.4.0-test10-irda6 (was: Re: The IrDA patches)

Linus,

Here are the new IrDA patches for Linux-2.4.0-test10. Please apply them to
your latest 2.4 code. If you decide to apply them, then I suggest you start
with the first one (irda1.diff) and work your way to the last one
(irda24.diff) since most of them are not commutative.

The name of this patch is irda6.diff.

(Many thanks to Jean Tourrilhes for splitting up the big patch)

[FEATURE] : Add a new feature to the IrDA stack
[CORRECT] : Fix to have the correct/expected behaviour
[CRITICA] : Fix potential kernel crash
[OUPS ] : Error that will be fixed in a later patch

irda6.diff :
----------------
o [CORRECT] Handle properly the MSG_EOR flag on SEQPACKET sockets

idiff -urpN old-linux/net/irda/af_irda.c linux/net/irda/af_irda.c
--- old-linux/net/irda/af_irda.c Thu Nov 9 13:36:27 2000
+++ linux/net/irda/af_irda.c Thu Nov 9 13:37:09 2000
@@ -1291,7 +1291,8 @@ static int irda_sendmsg(struct socket *s

IRDA_DEBUG(4, __FUNCTION__ "(), len=%d\n", len);

- if (msg->msg_flags & ~MSG_DONTWAIT)
+ /* Note : socket.c set MSG_EOR on SEQPACKET sockets */
+ if (msg->msg_flags & ~(MSG_DONTWAIT | MSG_EOR))
return -EINVAL;

if (sk->shutdown & SEND_SHUTDOWN) {