On 4/3/18 3:37 PM, Cyrill Gorcunov wrote:
An ability to manipulate mm_struct fields was introduced in
sake of CRIU in first place. Later we provide more suitable
and safe operation PR_SET_MM_MAP where all fields to be modifed
are passed in one structure which allows us to make more detailed
verification.

Still old interface remains present for compatibility reason
though CRIU itself already switched to PR_SET_MM_MAP on its
own long ago.

Googling didn't reveal some other users of this operation
so I think it should be safe to issue deprecation warning
first time and get rid of this interface after a couple
of releases.

CC: Andrey Vagin <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Pavel Emelyanov <[email protected]>
CC: Michael Kerrisk <[email protected]>
CC: Yang Shi <[email protected]>
CC: Michal Hocko <[email protected]>
Signed-off-by: Cyrill Gorcunov <[email protected]>
---
Or we can simply drop it off because PR_SET_MM_MAP covers all needs,
and I would rather prefer to do that asap.

Thanks for making it deprecated. I'd prefer just drop it off if nobody objects. The change will get soaked in linux-next for a while , we will know if it breaks compatibility (it sounds very unlikely).

Yang


  kernel/sys.c |    2 ++
  1 file changed, 2 insertions(+)

Index: linux-ml.git/kernel/sys.c
===================================================================
--- linux-ml.git.orig/kernel/sys.c
+++ linux-ml.git/kernel/sys.c
@@ -2052,6 +2052,8 @@ static int prctl_set_mm(int opt, unsigne
        if (!capable(CAP_SYS_RESOURCE))
                return -EPERM;
+ pr_warn_once("Non PR_SET_MM_MAP operations are deprecated\n");
+
        if (opt == PR_SET_MM_EXE_FILE)
                return prctl_set_mm_exe_file(mm, (unsigned int)addr);

Reply via email to