linux/include/uapi
Greg Hackmann ed63bb1d1f dma-buf: give each buffer a full-fledged inode
By traversing /proc/*/fd and /proc/*/map_files, processes with CAP_ADMIN
can get a lot of fine-grained data about how shmem buffers are shared
among processes.  stat(2) on each entry gives the caller a unique
ID (st_ino), the buffer's size (st_size), and even the number of pages
currently charged to the buffer (st_blocks / 512).

In contrast, all dma-bufs share the same anonymous inode.  So while we
can count how many dma-buf fds or mappings a process has, we can't get
the size of the backing buffers or tell if two entries point to the same
dma-buf.  On systems with debugfs, we can get a per-buffer breakdown of
size and reference count, but can't tell which processes are actually
holding the references to each buffer.

Replace the singleton inode with full-fledged inodes allocated by
alloc_anon_inode().  This involves creating and mounting a
mini-pseudo-filesystem for dma-buf, following the example in fs/aio.c.

Signed-off-by: Greg Hackmann <ghackmann@google.com>
Signed-off-by: Chenbo Feng <fengc@google.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190613223408.139221-2-fengc@google.com
2019-06-14 15:00:50 +05:30
..
asm-generic uapi: Wire up the mount API syscalls on non-x86 arches [ver #2] 2019-05-16 12:23:45 -04:00
drm drm: Fix docbook warnings in hdr metadata helper structures 2019-06-04 14:03:53 +02:00
linux dma-buf: give each buffer a full-fledged inode 2019-06-14 15:00:50 +05:30
misc uapi/habanalabs: add missing fields in bmon params 2019-04-21 16:20:46 +03:00
mtd ubi: Expose the bitrot interface 2019-02-24 11:40:45 +01:00
rdma RDMA/core: Change system parameters callback from dumpit to doit 2019-05-13 22:16:48 -03:00
scsi scsi: fc: add FPIN ELS definition 2019-04-08 21:29:16 -04:00
sound Merge branch 'asoc-5.2' into asoc-next 2019-05-06 22:51:54 +09:00
video
xen