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: v3.3.4~44 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f16e3ad91afa96717232a393e07e86f76099af03;p=thirdparty%2Fkernel%2Fstable.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 8a63efb4a7f1c..f920c189e5d17 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c @@ -2811,7 +2811,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;