af_iucv: exploit target message class support of IUCV
authorUrsula Braun <braunu@de.ibm.com>
Mon, 9 Jun 2008 22:51:03 +0000 (15:51 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 Jun 2008 22:51:03 +0000 (15:51 -0700)
The first 4 bytes of data to be sent are stored additionally into
the message class field of the send request. A receiving target
program (not an af_iucv socket program) can make use of this
information to pre-screen incoming messages.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/iucv/af_iucv.c

index 7b0038f45b168c3aab1e2f236dd62584542c0331..58e4aee3e6961d2c37273faa830d3590a344be3b 100644 (file)
@@ -644,6 +644,7 @@ static int iucv_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
                }
 
                txmsg.class = 0;
+               memcpy(&txmsg.class, skb->data, skb->len >= 4 ? 4 : skb->len);
                txmsg.tag = iucv->send_tag++;
                memcpy(skb->cb, &txmsg.tag, 4);
                skb_queue_tail(&iucv->send_skb_q, skb);