

ioctl_by_bdev() passes in a NULL file*, so we had better not dereference it.


 drivers/block/DAC960.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/block/DAC960.c~DAC960-oops-fix drivers/block/DAC960.c
--- 25/drivers/block/DAC960.c~DAC960-oops-fix	2003-05-17 14:49:41.000000000 -0700
+++ 25-akpm/drivers/block/DAC960.c	2003-05-17 14:49:41.000000000 -0700
@@ -102,7 +102,7 @@ static int DAC960_ioctl(struct inode *in
 	int drive_nr = (int)disk->private_data;
 	struct hd_geometry g, *loc = (struct hd_geometry *)arg;
 
-	if (file->f_flags & O_NONBLOCK)
+	if (file && file->f_flags & O_NONBLOCK)
 		return DAC960_UserIOCTL(inode, file, cmd, arg);
 
 	if (cmd != HDIO_GETGEO || !loc)

_
