From: Jason Yan Date: Fri, 10 Mar 2017 03:27:23 +0000 (+0800) Subject: md: fix super_offset endianness in super_1_rdev_size_change X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7719043b415b16e1d8ced517bc581375693d070b;p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git md: fix super_offset endianness in super_1_rdev_size_change commit 3fb632e40d7667d8bedfabc28850ac06d5493f54 upstream. The sb->super_offset should be big-endian, but the rdev->sb_start is in host byte order, so fix this by adding cpu_to_le64. Signed-off-by: Jason Yan Signed-off-by: Shaohua Li Signed-off-by: Willy Tarreau --- diff --git a/drivers/md/md.c b/drivers/md/md.c index 7c45286e2662..95eb53f68413 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -1898,7 +1898,7 @@ super_1_rdev_size_change(struct md_rdev *rdev, sector_t num_sectors) } sb = page_address(rdev->sb_page); sb->data_size = cpu_to_le64(num_sectors); - sb->super_offset = rdev->sb_start; + sb->super_offset = cpu_to_le64(rdev->sb_start); sb->sb_csum = calc_sb_1_csum(sb); md_super_write(rdev->mddev, rdev, rdev->sb_start, rdev->sb_size, rdev->sb_page);