Message ID | 20210109104254.1077093-3-hch@lst.de |
---|---|
State | New |
Headers | show |
Series | None | expand |
On 1/9/21 11:42 AM, Christoph Hellwig wrote: > Only a single caller can end up in bdev_read_only, so move the check > there. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > Reviewed-by: Ming Lei <ming.lei@redhat.com> > Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> > --- > block/genhd.c | 3 --- > fs/super.c | 3 ++- > 2 files changed, 2 insertions(+), 4 deletions(-) > Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@suse.de +49 911 74053 688 SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer
diff --git a/block/genhd.c b/block/genhd.c index 73faec438e49a8..4f90f80d7aa76d 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -1654,11 +1654,8 @@ EXPORT_SYMBOL(set_disk_ro); int bdev_read_only(struct block_device *bdev) { - if (!bdev) - return 0; return bdev->bd_read_only; } - EXPORT_SYMBOL(bdev_read_only); /* diff --git a/fs/super.c b/fs/super.c index 2c6cdea2ab2d9e..5a1f384ffc74f6 100644 --- a/fs/super.c +++ b/fs/super.c @@ -865,7 +865,8 @@ int reconfigure_super(struct fs_context *fc) if (fc->sb_flags_mask & SB_RDONLY) { #ifdef CONFIG_BLOCK - if (!(fc->sb_flags & SB_RDONLY) && bdev_read_only(sb->s_bdev)) + if (!(fc->sb_flags & SB_RDONLY) && sb->s_bdev && + bdev_read_only(sb->s_bdev)) return -EACCES; #endif