Re: [PATCH -mm] vmscan: make mapped executable pages the first class citizen
From: KOSAKI Motohiro
Date: Sun May 10 2009 - 06:15:27 EST
>> >> >> 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.
--
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/