fat: use bdev_nr_sectors instead of open coding it
authorChristoph Hellwig <hch@lst.de>
Mon, 18 Oct 2021 10:11:14 +0000 (12:11 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 18 Oct 2021 20:43:22 +0000 (14:43 -0600)
Use the proper helper to read the block device size.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20211018101130.1838532-15-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/fat/inode.c

index de0c9b013a8512098dbf73f5463b882cb45327f6..9f3cd03668adc57be18c6b9add3a6ece26e16041 100644 (file)
@@ -1536,14 +1536,11 @@ static int fat_read_static_bpb(struct super_block *sb,
        struct fat_bios_param_block *bpb)
 {
        static const char *notdos1x = "This doesn't look like a DOS 1.x volume";
-
+       sector_t bd_sects = bdev_nr_sectors(sb->s_bdev);
        struct fat_floppy_defaults *fdefaults = NULL;
        int error = -EINVAL;
-       sector_t bd_sects;
        unsigned i;
 
-       bd_sects = i_size_read(sb->s_bdev->bd_inode) / SECTOR_SIZE;
-
        /* 16-bit DOS 1.x reliably wrote bootstrap short-jmp code */
        if (b->ignored[0] != 0xeb || b->ignored[2] != 0x90) {
                if (!silent)