mirror of https://gitee.com/openkylin/linux.git
[PATCH] Fix potential OOPs in blkdev_open()
blkdev_open() calls bc_acquire() to get a struct block_device. Since bc_acquire() may return NULL when system is out of memory an appropriate check is required. Signed-off-by: Pavel Emelianov <xemul@openvz.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
f2d0aa5bf8
commit
6a2aae06cc
|
@ -1131,6 +1131,8 @@ static int blkdev_open(struct inode * inode, struct file * filp)
|
||||||
filp->f_flags |= O_LARGEFILE;
|
filp->f_flags |= O_LARGEFILE;
|
||||||
|
|
||||||
bdev = bd_acquire(inode);
|
bdev = bd_acquire(inode);
|
||||||
|
if (bdev == NULL)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
res = do_open(bdev, filp, BD_MUTEX_NORMAL);
|
res = do_open(bdev, filp, BD_MUTEX_NORMAL);
|
||||||
if (res)
|
if (res)
|
||||||
|
|
Loading…
Reference in New Issue