Re: [PATCH -mm] vmscan: make mapped executable pages the first class citizen

KOSAKI Motohiro
2009-05-10T10:15:20Z

>> >> >> The patch seems reasonable but the changelog and the (non-existent)
>> >> >> design documentation could do with a touch-up.
>> >> >
>> >> > Is it right that I as a user can do things like mmap my database
>> >> > PROT_EXEC to get better database numbers by making other
>> >> > stuff swap first ?
>> >> >
>> >> > You seem to be giving everyone a "nice my process up" hack.
>> >>
>> >> How about this?
>> >
>> > Why it deserves more tricks? PROT_EXEC pages are rare.
>> > If user space is to abuse PROT_EXEC, let them be for it ;-)
>>
>> yes, typicall rare.
>> tha problem is, user program _can_ use PROT_EXEC for get higher priority
>> ahthough non-executable memory.
>
> - abuses should be rare
> - large scale abuses will be even more rare,
> - the resulted vmscan overheads are the *expected* side effect
> - the side effects are still safe

Who expect?
The fact is, application developer decide to use PROT_EXEC, but side-effect
cause end-user, not application developer.

In general, side-effect attack mistaked guy, it's no problem. They can
do it their own risk.
but We know application developer and administrator are often different person.

> So if that's what they want, let them have it to their heart's content.
>
> You know it's normal for many users/apps to care only about the result.
> When they want something but cannot get it from the smarter version of
> PROT_EXEC heuristics, they will go on to devise more complicated tricks.
>
> In the end both sides loose.
>
> If the abused case is important enough, then let's introduce a feature
> to explicitly prioritize the pages. But let's leave the PROT_EXEC case
> simple.

No.
explicit priotize mechanism don't solve problem anyway. application
developer don't know end-user environment.
they can't mark proper page priority.