xfs: Fix xfs_attr_leafblock definition
commit86cbc0072fa4fc7906dd8abfa6489638014300bb
authorJan Kara <jack@suse.com>
Wed, 19 Aug 2015 00:34:32 +0000 (19 10:34 +1000)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 13 Oct 2015 02:46:06 +0000 (13 03:46 +0100)
tree3a3c3c8d295b16fd73cce5d2b693931e724e09d0
parent209a7a67d225f9f1550c1576326a2194c044b21f
xfs: Fix xfs_attr_leafblock definition

commit ffeecc5213024ae663377b442eedcfbacf6d0c5d upstream.

struct xfs_attr_leafblock contains 'entries' array which is declared
with size 1 altough it can in fact contain much more entries. Since this
array is followed by further struct members, gcc (at least in version
4.8.3) thinks that the array has the fixed size of 1 element and thus
may optimize away all accesses beyond the end of array resulting in
non-working code. This problem was only observed with userspace code in
xfsprogs, however it's better to be safe in kernel as well and have
matching kernel and xfsprogs definitions.

Signed-off-by: Jan Kara <jack@suse.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
[bwh: Backported to 3.2: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
fs/xfs/xfs_attr_leaf.h