No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Charan Teja Reddy 46a25b7a25 dma-buf: WARN on dmabuf release with pending attachments
[ Upstream commit f492283b157053e9555787262f058ae33096f568 ]

It is expected from the clients to follow the below steps on an imported
dmabuf fd:
a) dmabuf = dma_buf_get(fd) // Get the dmabuf from fd
b) dma_buf_attach(dmabuf); // Clients attach to the dmabuf
   o Here the kernel does some slab allocations, say for
dma_buf_attachment and may be some other slab allocation in the
dmabuf->ops->attach().
c) Client may need to do dma_buf_map_attachment().
d) Accordingly dma_buf_unmap_attachment() should be called.
e) dma_buf_detach () // Clients detach to the dmabuf.
   o Here the slab allocations made in b) are freed.
f) dma_buf_put(dmabuf) // Can free the dmabuf if it is the last
reference.

Now say an erroneous client failed at step c) above thus it directly
called dma_buf_put(), step f) above. Considering that it may be the last
reference to the dmabuf, buffer will be freed with pending attachments
left to the dmabuf which can show up as the 'memory leak'. This should
at least be reported as the WARN().

Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1627043468-16381-1-git-send-email-charante@codeaurora.org
Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-11-17 09:48:27 +01:00
arch powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found 2021-11-17 09:48:25 +01:00
block
certs
crypto
Documentation xen/balloon: add late_initcall_sync() for initial ballooning done 2021-11-17 09:48:25 +01:00
drivers dma-buf: WARN on dmabuf release with pending attachments 2021-11-17 09:48:27 +01:00
fs quota: correct error number in free_dqentry() 2021-11-17 09:48:26 +01:00
include serial: core: Fix initializing and restoring termios speed 2021-11-17 09:48:25 +01:00
init
ipc
kernel signal: Remove the bogus sigkill_pending in ptrace_stop 2021-11-17 09:48:24 +01:00
lib
LICENSES
mm
net can: j1939: j1939_can_recv(): ignore messages with invalid source address 2021-11-17 09:48:25 +01:00
samples
scripts
security
sound ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume 2021-11-17 09:48:25 +01:00
tools
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.