summaryrefslogtreecommitdiffstats
path: root/net/iucv/af_iucv.c
diff options
context:
space:
mode:
authorUrsula Braun <braunu@de.ibm.com>2008-06-10 00:51:03 +0200
committerDavid S. Miller <davem@davemloft.net>2008-06-10 00:51:03 +0200
commit469689a4dd476c1be6750deea5f59528a17b8b4a (patch)
tree1f7d6be604b21fa0054c219608f694edb7ae982c /net/iucv/af_iucv.c
parentiucv: prevent cpu hotplug when walking cpu_online_map. (diff)
downloadlinux-469689a4dd476c1be6750deea5f59528a17b8b4a.tar.xz
linux-469689a4dd476c1be6750deea5f59528a17b8b4a.zip
af_iucv: exploit target message class support of IUCV
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>
Diffstat (limited to 'net/iucv/af_iucv.c')
-rw-r--r--net/iucv/af_iucv.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
index 7b0038f45b16..58e4aee3e696 100644
--- a/net/iucv/af_iucv.c
+++ b/net/iucv/af_iucv.c
@@ -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);