[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTikbkhHmsVAdGrY0OTnH=gUZW5igjsWSF9y=Ub1u@mail.gmail.com>
Date: Wed, 10 Nov 2010 22:08:37 +0800
From: Hillf Danton <dhillf@...il.com>
To: linux-kernel@...r.kernel.org
Cc: linux-scsi@...r.kernel.org, "Zou, Yi" <yi.zou@...el.com>,
Joe Eykholt <jeykholt@...co.com>
Subject: [PATCH] fix vulnerability of the release method of file operations in
Block layer SCSI generic driver
The computation context setup by previous opening the bsg file could
not survive following open/release operations upon the same file
object.
The vulnerability is fixed by deferring the cleanup operation until necessary.
Signed-off-by: Hillf Danton <dhillf@...il.com>
---
--- a/block/bsg.c 2010-09-13 07:07:38.000000000 +0800
+++ b/block/bsg.c 2010-11-10 21:43:58.000000000 +0800
@@ -858,7 +858,8 @@ static int bsg_release(struct inode *ino
{
struct bsg_device *bd = file->private_data;
- file->private_data = NULL;
+ if (1 == atomic_read(&bd->ref_count))
+ file->private_data = NULL;
return bsg_put_device(bd);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists