Fix error paths if md_probe fails.
md_probe can fail (e.g. alloc_disk could fail) without returning an error (as it alway returns NULL). So when we call mddev_find immediately afterwards, we need to check that md_probe actually succeeded. This means checking that mdev->gendisk is non-NULL. cc: <stable@kernel.org> Cc: Dave Jones <davej@redhat.com> Signed-off-by: Neil Brown <neilb@suse.de>
This commit is contained in:
Родитель
efe3114318
Коммит
9bbbca3a0e
|
@ -3897,8 +3897,10 @@ static void autorun_devices(int part)
|
|||
|
||||
md_probe(dev, NULL, NULL);
|
||||
mddev = mddev_find(dev);
|
||||
if (!mddev) {
|
||||
printk(KERN_ERR
|
||||
if (!mddev || !mddev->gendisk) {
|
||||
if (mddev)
|
||||
mddev_put(mddev);
|
||||
printk(KERN_ERR
|
||||
"md: cannot allocate memory for md drive.\n");
|
||||
break;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче