Re: [PATCH v7 5/7] mm: support both pid and pidfd for process_madvise

From
Minchan Kim <minchan@kernel.org>
Date
2020-05-08 18:36:58
Also in
linux-mm, lkml
Reply to
Minchan Kim, 2020-03-11
On Tue, Mar 10, 2020 at 05:42:51PM -0700, Minchan Kim wrote:
On Fri, Mar 06, 2020 at 12:14:19PM +0100, Vlastimil Babka wrote:
quoted
On 3/2/20 8:36 PM, Minchan Kim wrote:
quoted
There is a demand[1] to support pid as well pidfd for process_madvise
to reduce unnecessary syscall to get pidfd if the user has control of
the target process(ie, they could guarantee the process is not gone
or pid is not reused).

This patch aims for supporting both options like waitid(2). So, the
syscall is currently,

	int process_madvise(int which, pid_t pid, void *addr,
		size_t length, int advise, unsigned long flag);
This is again halfway between kernel and userspace description, so if we stick
to userspace then it's:

 	int process_madvise(idtype_t idtype, id_t id, void *addr,
 		size_t length, int advice, unsigned long flags);
Yub.
Hi Andrew,

Per Vlastimil's request, I changed "which and advise" with "idtype and
advice" in function prototype of description.
Could you replace the part in the description? Code is never changed.

Thanks.

From f11cfd023746ae67b89f2d84d960706ba6c5c911 Mon Sep 17 00:00:00 2001
From: Minchan Kim <minchan@kernel.org>
Date: Wed, 6 May 2020 13:54:40 +0000
Subject: [PATCH] mm/madvise: support both pid and pidfd for process_madvise

There is a demand[1] to support pid as well pidfd for process_madvise to
reduce unnecessary syscall to get pidfd if the user has control of the
target process(ie, they could guarantee the process is not gone or pid is
not reused).

This patch aims for supporting both options like waitid(2).  So, the
syscall is currently,

        int process_madvise(idtype_t idtype, id_t id, void *addr,
                size_t length, int advice, unsigned long flags);

@which is actually idtype_t for userspace libray and currently, it
supports P_PID and P_PIDFD.

[1]  https://lore.kernel.org/linux-mm/9d849087-3359-c4ab-fbec-859e8186c509@virtuozzo.com/ (local)

Link: http://lkml.kernel.org/r/20200302193630.68771-6-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan@kernel.org>
Suggested-by: Kirill Tkhai <redacted>
Reviewed-by: Suren Baghdasaryan <surenb@google.com>
Reviewed-by: Vlastimil Babka <redacted>
Cc: Christian Brauner <christian@brauner.io>
Cc: Alexander Duyck <redacted>
Cc: Brian Geffon <redacted>
Cc: Daniel Colascione <redacted>
Cc: Jann Horn <jannh@google.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Joel Fernandes <redacted>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: John Dias <redacted>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Oleksandr Natalenko <redacted>
Cc: Sandeep Patil <redacted>
Cc: SeongJae Park <redacted>
Cc: SeongJae Park <redacted>
Cc: Shakeel Butt <redacted>
Cc: Sonny Rao <redacted>
Cc: Tim Murray <redacted>
Cc: <redacted>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Thread (43 messages) 43 messages, 8 authors, last reply 2020-06-11
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help