From c28cbfa1a89cae2c0cb13144c8123345d61fdc87 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Thu, 23 May 2013 10:22:10 +0000 Subject: [PATCH] ext4: assign get_fs()->dev_desc before using it Commit 50ce4c0 "fs/ext4: Support device block sizes != 512 bytes" modified ext4fs_set_blk_dev() to calculate total_sect based on get_fs()->dev_desc->log2blksz rather than SECTOR_SIZE. However, this value wasn't yet assigned. Move the assignment earlier so the code doesn't crash or hang. Cc: Egbert Eich Tested-by: Tom Rini Signed-off-by: Stephen Warren --- fs/ext4/dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ext4/dev.c b/fs/ext4/dev.c index 3e993cc..81b7633 100644 --- a/fs/ext4/dev.c +++ b/fs/ext4/dev.c @@ -51,11 +51,11 @@ void ext4fs_set_blk_dev(block_dev_desc_t *rbdd, disk_partition_t *info) { assert(rbdd->blksz == (1 << rbdd->log2blksz)); ext4fs_block_dev_desc = rbdd; + get_fs()->dev_desc = rbdd; part_info = info; part_offset = info->start; get_fs()->total_sect = (info->size * info->blksz) >> get_fs()->dev_desc->log2blksz; - get_fs()->dev_desc = rbdd; } int ext4fs_devread(int sector, int byte_offset, int byte_len, char *buf)