Messages in this thread | | | Date | Tue, 8 Mar 2011 21:15:25 -0500 | From | Stephen Wilson <> | Subject | Re: [PATCH 0/6] enable writing to /proc/pid/mem |
| |
On Wed, Mar 09, 2011 at 01:30:17AM +0000, Al Viro wrote: > On Tue, Mar 08, 2011 at 07:42:17PM -0500, Stephen Wilson wrote: > > This patch series enables safe writes to /proc/pid/mem. The principle strategy > > is to get a reference to the target task's mm before the permission check, and > > to hold that reference until after the write completes. > > One note: I'd rather prefer approach similar to mm_for_maps(). IOW, instead > of "check, then get mm, then check _again_ to decide if we are allowed to > use it", just turn check_mm_permissions() into a function that returns > you a safe mm or gives you NULL (or, better yet, ERR_PTR(...)). With all > checks done within that sucker.
OK. That certainly makes a lot of sense. That can easily be added as an additional patch to the series so that it is perfectly clear as to what has been changed and how.
I think we could also remove the intermediate copy in both mem_read() and mem_write() as well, but I think such optimizations could be left for follow on patches.
> Then mem_read() and mem_write() wouldn't need to recheck anything again > and the same helper would be usable for other things as well. I mean > something like this: (*WARNING* - completely untested)
Will work this into the series, test it, etc.
Thanks!
-- steve
| |