]> err.no Git - linux-2.6/blobdiff - drivers/ieee1394/raw1394.c
ieee1394: SPIN_LOCK_UNLOCKED cleanup
[linux-2.6] / drivers / ieee1394 / raw1394.c
index 5d08d7450f96c25f6953aaeb99e822b575fbca0c..c6aefd9ad0e836fff8ca4aab262e98347d7d91fd 100644 (file)
@@ -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);
@@ -3033,7 +3034,7 @@ static struct hpsb_highlevel raw1394_highlevel = {
 };
 
 static struct cdev raw1394_cdev;
-static struct file_operations raw1394_fops = {
+static const struct file_operations raw1394_fops = {
        .owner = THIS_MODULE,
        .read = raw1394_read,
        .write = raw1394_write,