summaryrefslogtreecommitdiff
path: root/fs/ext4
diff options
context:
space:
mode:
authorMa Haijun <mahaijuns@gmail.com>2014-01-08 06:49:43 +0800
committerTom Rini <trini@ti.com>2014-01-20 10:09:38 -0500
commitf17828830df0d83c680f1703e491ac12703a3d19 (patch)
treea1b6e277818fb7ffffef6a6e0171f1b4247bf53f /fs/ext4
parent55ca99f8940e230366cadd522702fac9f962e904 (diff)
downloadu-boot-imx-f17828830df0d83c680f1703e491ac12703a3d19.zip
u-boot-imx-f17828830df0d83c680f1703e491ac12703a3d19.tar.gz
u-boot-imx-f17828830df0d83c680f1703e491ac12703a3d19.tar.bz2
fs/ext4: fix partition size get truncated in calculation
It may cause file system corruption when do a write operation. This issue only affects boards that use 32 bit lbaint_t. Signed-off-by: Ma Haijun <mahaijuns@gmail.com>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/dev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/dev.c b/fs/ext4/dev.c
index 787e041..e0b513a 100644
--- a/fs/ext4/dev.c
+++ b/fs/ext4/dev.c
@@ -41,7 +41,7 @@ void ext4fs_set_blk_dev(block_dev_desc_t *rbdd, disk_partition_t *info)
get_fs()->dev_desc = rbdd;
part_info = info;
part_offset = info->start;
- get_fs()->total_sect = (info->size * info->blksz) >>
+ get_fs()->total_sect = ((uint64_t)info->size * info->blksz) >>
get_fs()->dev_desc->log2blksz;
}