# Re: \[PATCH v7 5/7\] mm: support both pid and pidfd for process\_madvise

- From: Minchan Kim \<minchan@kernel.org\>
- Date: 2020-03-11 00:42:57 
- List: linux-api
- Page: https://ratatoskr.run/linux-api/2020/03/5891293
- Thread: https://ratatoskr.run/linux-mm/2020/03/5881613/t.md

```text
On Fri, Mar 06, 2020 at 12:14:19PM +0100, Vlastimil Babka wrote:
> 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);

Yub.

> 
> 
> > @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/
> > 
> > Cc: Christian Brauner <christian@brauner.io>
> > Reviewed-by: Suren Baghdasaryan <surenb@google.com>
> > Suggested-by: Kirill Tkhai <redacted>
> > Signed-off-by: Minchan Kim <minchan@kernel.org>
> 
> Reviewed-by: Vlastimil Babka <redacted>

Thanks!
```
