Messages in this thread | | | Date | Fri, 20 Apr 2012 02:02:01 +0400 | From | Cyrill Gorcunov <> | Subject | Re: + c-r-prctl-add-ability-to-set-new-mm_struct-exe_file-update-after-mm- num_exe_file_vmas-removal.patch added to -mm tree |
| |
On Thu, Apr 19, 2012 at 11:51:09PM +0200, Oleg Nesterov wrote: > On 04/20, Konstantin Khlebnikov wrote: > > > > Oleg Nesterov wrote: > >> > >> You misunderstood. I am not arguing with "one-shot", I do not really > >> care. > >> > >> My question is: unless I missed something "it can't be changed again" > >> is not actually true. A task does PR_SET_MM_EXE_FILE, then it forks > >> the new child. The child can do PR_SET_MM_EXE_FILE again. Is this > >> by design? > >> > >> Oleg. > >> > > > > I found more weird case: child thread (with CLONE_THREAD and without CLONE_VM) > > changes its exe_file... > > No. copy_process() does: > > if ((clone_flags & CLONE_THREAD) && !(clone_flags & CLONE_SIGHAND)) > return ERR_PTR(-EINVAL); > > if ((clone_flags & CLONE_SIGHAND) && !(clone_flags & CLONE_VM)) > return ERR_PTR(-EINVAL); > > IOW, CLONE_THREAD => CLONE_SIGHAND => CLONE_VM
Guys, while I more-less agree with Matt about single-shot behaviour
[ let me copy my and his email
>> With mm->exe_file this prctl option become a one-shot >> only, and while at moment our user-space tool can perfectly >> live with that I thought that there is no strict need to >> limit the option this way from the very beginning. >> > As far as backward compatibility, isn't it better to lift that restriction > later rather than add it? I think the latter would very likely "break" > things whereas the former would not. > > I also prefer that restriction because it establishes a bound on how > frequently the symlink can change. Keeping it a one-shot deal makes the > values that show up in tools like top more reliable for admins. ]
I guess maybe it's time to drop one-shot requirement and as result we can drop MMF_EXE_FILE_CHANGED bit completely, making overall code simplier?
Our tool can live with any behaviour (and one shot and multishot, doesn't matter).
Cyrill
| |