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

From: Vlastimil Babka
Date: Fri Mar 06 2020 - 06:14:26 EST


On 3/2/20 8:36 PM, Minchan Kim wrote:
> 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);


> @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@xxxxxxxxxxxxx/
>
> Cc: Christian Brauner <christian@xxxxxxxxxx>
> Reviewed-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> Suggested-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx>
> Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx>

Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx>