I am trying to run a kernel with grsecurity with the size overflow
protection and am getting the following warnings / errors:
mballoc.* (make fs/ext4/mballoc.o EXTRA_CFLAGS="-fdump-tree-all
According to the grsecurity developers it seems to be a bug in ext4, see for some background here:
The response from ephox (PAX team / grsecurity developer):
Thanks for the report. I think this is an upstream bug. Based on the
runtime values provided by you, ext4_mb_new_group_pa() tries to store a
value into pa->pa_lstart which larger than UINT_MAX which comes from
Could you please report it to the ext4 developers?
I'll try to answer all the questions but I'm not an expert in this area.
Definitely looks like a real bug in:
pa->pa_pstart = ext4_grp_offs_to_block(sb, &ac->ac_b_ex);
pa->pa_lstart = pa->pa_pstart;
pa_pstart is 64-bit, pa_lstart is 32-bit.
I don't think we use the pa_lstart value for group preallocations --- a logical number doesn't really have meaning for group pa's. That being said, the preallocation code is really quite a mess, and it makes it hard to follow. We should really look at cleaning it up....