Re: [PATCH v2] RO/NX protection for loadable kernel modules

From: Siarhei Liakh
Date: Tue Jun 30 2009 - 10:44:59 EST


On Tue, Jun 30, 2009 at 9:29 AM, Arjan van de Ven<arjan@xxxxxxxxxxxxx> wrote:
> On Tue, 30 Jun 2009 09:11:33 -0400
> Siarhei Liakh <sliakh.lkml@xxxxxxxxx> wrote:
>
>> > (and one can still argue that making this an option is not even
>> > worth that, and just always do it unconditional)
>> >
>>
>> I can make NX unconditional. However, it will not reduce the number
>> of #ifdefs. There are two of them in the patch right now: one
>> controls the inclusion of two extra fields (init_ro_size,
>> core_ro_size) in struct module, and the other one controls the
>> inclusion of ALL patch code. The *_ro_size fields are used only for
>> RO, and are not used to set NX. Therefore, this #ifdef will stay even
>> if NX is unconditional. Since the second #ifdef controls ALL of the
>> patch's code it will also stay (to control RO part) when NX becomes
>> unconditional.
>>
>> Given that it will not reduce the number of #ifdefs, do you still
>> think that NX should be made unconditional?
>
> I think that not only NX should be made unconditional, I also think
> that the RO code should be unconditional.

So, the only conditional part would be the page-alignment of each of the
three parts of a module. Is that correct understanding?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/