public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fix vulnerability of the release method of file operations in Block layer SCSI generic driver
@ 2010-11-10 14:08 Hillf Danton
  2010-11-10 15:18 ` Matthew Wilcox
  0 siblings, 1 reply; 4+ messages in thread
From: Hillf Danton @ 2010-11-10 14:08 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-scsi, Zou, Yi, Joe Eykholt

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@gmail.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);
 }

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-12-09 13:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-10 14:08 [PATCH] fix vulnerability of the release method of file operations in Block layer SCSI generic driver Hillf Danton
2010-11-10 15:18 ` Matthew Wilcox
2010-11-11 13:43   ` Hillf Danton
2010-12-09 13:49   ` Hillf Danton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox