Re: [PATCH v2] mm: make apply_to_page_range more robust

From: Rusty Russell
Date: Thu Jan 21 2016 - 00:11:21 EST


David Rientjes <rientjes@xxxxxxxxxx> writes:
> On Wed, 20 Jan 2016, Mika Penttilà wrote:
>
>> Recent changes (4.4.0+) in module loader triggered oops on ARM.
>>
>> can be 0 triggering the bug BUG_ON(addr >= end);.
>>
>> The call path is SyS_init_module()->set_memory_xx()->apply_to_page_range(),
>> and apply_to_page_range gets zero length resulting in triggering :
>>
>> BUG_ON(addr >= end)
>>
>> This is a consequence of changes in module section handling (Rusty CC:ed).
>> This may be triggable only with certain modules and/or gcc versions.
>>
>
> Well, what module are you loading to cause this crash? Why would it be
> passing size == 0 to apply_to_page_range()? Again, that sounds like a
> problem that we _want_ to know about since it is probably the result of
> buggy code and this patch would be covering it up.

Yes, I'm curious too. It's certainly possible, since I expected a
zero-length range to do nothing, but let's make sure we're not papering
over some other screwup of mine.

Thanks,
Rusty.