On 08/13/15 04:26, Jan Kara wrote:
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@xxxxxxxx> ---
I hit this bug in SLES12 and RHEL7 XFS kernel code. It is the gcc 4.8's new loop optimization routine. A person can bypass it with the option:
-fno-aggressive-loop-optimizations but this fixes the source of the problem. Acked-by: Mark Tinguely <tinguely@xxxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs