lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 29 Oct 2020 15:58:24 +0100 From: Christoph Hellwig <hch@....de> To: Jens Axboe <axboe@...nel.dk> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, "Rafael J. Wysocki" <rafael@...nel.org>, Denis Efremov <efremov@...ux.com>, "David S. Miller" <davem@...emloft.net>, Song Liu <song@...nel.org>, Al Viro <viro@...iv.linux.org.uk>, Finn Thain <fthain@...egraphics.com.au>, Michael Schmitz <schmitzmic@...il.com>, linux-block@...r.kernel.org, linux-kernel@...r.kernel.org, linux-ide@...r.kernel.org, linux-raid@...r.kernel.org, linux-scsi@...r.kernel.org, linux-m68k@...ts.linux-m68k.org, Hannes Reinecke <hare@...e.de> Subject: [PATCH 01/18] block: cleanup del_gendisk a bit Merge three hidden gendisk checks into one. Signed-off-by: Christoph Hellwig <hch@....de> Reviewed-by: Hannes Reinecke <hare@...e.de> --- block/genhd.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/block/genhd.c b/block/genhd.c index 0a273211fec283..3ed591970ea640 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -892,6 +892,9 @@ void del_gendisk(struct gendisk *disk) might_sleep(); + if (WARN_ON_ONCE(!disk->queue)) + return; + blk_integrity_del(disk); disk_del_events(disk); @@ -914,20 +917,18 @@ void del_gendisk(struct gendisk *disk) disk->flags &= ~GENHD_FL_UP; up_write(&disk->lookup_sem); - if (!(disk->flags & GENHD_FL_HIDDEN)) + if (!(disk->flags & GENHD_FL_HIDDEN)) { sysfs_remove_link(&disk_to_dev(disk)->kobj, "bdi"); - if (disk->queue) { + /* * Unregister bdi before releasing device numbers (as they can * get reused and we'd get clashes in sysfs). */ - if (!(disk->flags & GENHD_FL_HIDDEN)) - bdi_unregister(disk->queue->backing_dev_info); - blk_unregister_queue(disk); - } else { - WARN_ON(1); + bdi_unregister(disk->queue->backing_dev_info); } + blk_unregister_queue(disk); + if (!(disk->flags & GENHD_FL_HIDDEN)) blk_unregister_region(disk_devt(disk), disk->minors); /* -- 2.28.0
Powered by blists - more mailing lists