From: Al Viro Date: Fri, 13 Apr 2012 00:32:25 +0000 (-0400) Subject: ext4: fix endianness breakage in ext4_split_extent_at() X-Git-Tag: firefly_0821_release~7541^2~1312 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4c88a16263381c429ae0ebdc213e3d1ba5710a75;p=firefly-linux-kernel-4.4.55.git ext4: fix endianness breakage in ext4_split_extent_at() commit af1584f570b19b0285e4402a0b54731495d31784 upstream. ->ee_len is __le16, so assigning cpu_to_le32() to it is going to do Bad Things(tm) on big-endian hosts... Signed-off-by: Al Viro Cc: Ted Ts'o Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 7fc10ed7ef45..611647b28a4d 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c @@ -2846,7 +2846,7 @@ static int ext4_split_extent_at(handle_t *handle, if (err) goto fix_extent_len; /* update the extent length and mark as initialized */ - ex->ee_len = cpu_to_le32(ee_len); + ex->ee_len = cpu_to_le16(ee_len); ext4_ext_try_to_merge(inode, path, ex); err = ext4_ext_dirty(handle, inode, path + depth); goto out;