Re: [PATCH 1/1] mm/madvise: replace ptrace attach requirement for process_madvise
From: Suren Baghdasaryan <surenb@google.com>
Date: 2021-01-11 17:10:24
Also in:
linux-mm, lkml, selinux
On Mon, Jan 11, 2021 at 9:05 AM Suren Baghdasaryan [off-list ref] wrote:
On Mon, Jan 11, 2021 at 2:20 AM Florian Weimer [off-list ref] wrote:quoted
* Suren Baghdasaryan:quoted
diff --git a/mm/madvise.c b/mm/madvise.c index 6a660858784b..c2d600386902 100644 --- a/mm/madvise.c +++ b/mm/madvise.c@@ -1197,12 +1197,22 @@ SYSCALL_DEFINE5(process_madvise, int, pidfd, const struct iovec __user *, vec, goto release_task; } - mm = mm_access(task, PTRACE_MODE_ATTACH_FSCREDS); + /* Require PTRACE_MODE_READ to avoid leaking ASLR metadata. */ + mm = mm_access(task, PTRACE_MODE_READ_FSCREDS); if (IS_ERR_OR_NULL(mm)) { ret = IS_ERR(mm) ? PTR_ERR(mm) : -ESRCH; goto release_task; }Shouldn't this depend on the requested behavior? Several operations directly result in observable changes, and go beyond performance tuning.Thanks for the comment Florian. process_madvise supports only MADV_COLD and MADV_PAGEOUT hints which are both non-destructive (see process_madvise_behavior_valid() function). Maybe you meant something else by "observable changes", if so please clarify. Thanks, Suren.
V2 with Minchan's fix is posted at: https://lore.kernel.org/lkml/20210111170622.2613577-1-surenb@google.com/T/#u (local)
quoted
Thanks, Florian -- Red Hat GmbH, https://de.redhat.com/ , Registered seat: Grasbrunn, Commercial register: Amtsgericht Muenchen, HRB 153243, Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill -- To unsubscribe from this group and stop receiving emails from it, send an email to kernel-team+unsubscribe@android.com.