On Tue, Sep 29, 2020 at 11:40:18AM +0900, Sergey Senozhatsky wrote: > On (20/09/29 11:05), Sergey Senozhatsky wrote: > > One of our unprivileged daemon process needs process PSS info. That > > info is usually available in /proc/PID/smaps on per-vma basis, on > > in /proc/PID/smaps_rollup as a bunch of accumulated per-vma values. > > The latter one is much faster and simpler to get, but, unlike smaps, > > smaps_rollup requires PTRACE_MODE_READ, which we don't want to > > grant to our unprivileged daemon. > > > > So the question is - can we get, somehow, accumulated PSS info from > > a non-privileged process? (Iterating through all process' smaps > > vma-s consumes quite a bit of CPU time). This is related to another > > question - why do smaps and smaps_rollup have different permission > > requirements? > > Hold on, seems that I misread something, /proc/PID/smaps is also > unavailable. So the question is, then, how do we get PSS info of > a random user-space process from an unprivileged daemon? smaps contains a lot of sensitive information, but perhaps smaps_rollup could be allowed without ptrace rights if the range information is masked. I've posted a patch here: https://lore.kernel.org/linux-mm/20220908093919.843346-1-vincent.whitchurch@xxxxxxxx/