diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-03-25 22:22:40 +0200 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-04-30 00:00:29 +0200 |
commit | 7542e0e696d1b6e71e6eb3183cbf2c63ec6b5acb (patch) | |
tree | b496b71d3d3a614413527e4dbbd078bb95fcc28e /drivers/ieee1394/raw1394.c | |
parent | d265250341f83fa904d4fecdfadb46d7ab50765f (diff) | |
download | lwn-7542e0e696d1b6e71e6eb3183cbf2c63ec6b5acb.tar.gz lwn-7542e0e696d1b6e71e6eb3183cbf2c63ec6b5acb.zip |
ieee1394: remove usage of skb_queue as packet queue
This considerably reduces the memory requirements for a packet and
eliminates ieee1394's dependency on CONFIG_NET.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/ieee1394/raw1394.c')
-rw-r--r-- | drivers/ieee1394/raw1394.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ieee1394/raw1394.c b/drivers/ieee1394/raw1394.c index bb897a37d9f7..c6aefd9ad0e8 100644 --- a/drivers/ieee1394/raw1394.c +++ b/drivers/ieee1394/raw1394.c @@ -938,7 +938,8 @@ static int handle_async_send(struct file_info *fi, struct pending_request *req) int header_length = req->req.misc & 0xffff; int expect_response = req->req.misc >> 16; - if ((header_length > req->req.length) || (header_length < 12)) { + if (header_length > req->req.length || header_length < 12 || + header_length > FIELD_SIZEOF(struct hpsb_packet, header)) { req->req.error = RAW1394_ERROR_INVALID_ARG; req->req.length = 0; queue_complete_req(req); |