No description
Find a file
Suren Baghdasaryan 79c70607e5 staging: android: ashmem: Fix lockdep warning for write operation
commit 3e338d3c95 upstream.

syzbot report [1] describes a deadlock when write operation against an
ashmem fd executed at the time when ashmem is shrinking its cache results
in the following lock sequence:

Possible unsafe locking scenario:

        CPU0                    CPU1
        ----                    ----
   lock(fs_reclaim);
                                lock(&sb->s_type->i_mutex_key#13);
                                lock(fs_reclaim);
   lock(&sb->s_type->i_mutex_key#13);

kswapd takes fs_reclaim and then inode_lock while generic_perform_write
takes inode_lock and then fs_reclaim. However ashmem does not support
writing into backing shmem with a write syscall. The only way to change
its content is to mmap it and operate on mapped memory. Therefore the race
that lockdep is warning about is not valid. Resolve this by introducing a
separate lockdep class for the backing shmem inodes.

[1]: https://lkml.kernel.org/lkml/0000000000000b5f9d059aa2037f@google.com/

Reported-by: syzbot+7a0d9d0b26efefe61780@syzkaller.appspotmail.com
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Cc: stable <stable@vger.kernel.org>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Link: https://lore.kernel.org/r/20200730192632.3088194-1-surenb@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-21 09:47:57 +02:00
arch ARM: 8702/1: head-common.S: Clear lr before jumping to start_kernel() 2020-08-07 09:38:42 +02:00
block block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed 2020-06-30 15:37:57 -04:00
certs
crypto crypto: af_alg - fix use-after-free in af_alg_accept() due to bh_lock_sock() 2020-07-09 09:36:30 +02:00
Documentation doc: dt: bindings: usb: dwc3: Update entries for disabling SS instances in park mode 2020-07-22 09:22:23 +02:00
drivers staging: android: ashmem: Fix lockdep warning for write operation 2020-08-21 09:47:57 +02:00
firmware Fix built-in early-load Intel microcode alignment 2020-01-23 08:20:30 +01:00
fs ext4: fix direct I/O read error 2020-08-07 09:38:42 +02:00
include random32: move the pseudo-random 32-bit definitions to prandom.h 2020-08-07 09:38:42 +02:00
init x86: Fix early boot crash on gcc-10, third try 2020-05-20 08:17:15 +02:00
ipc ipc/util.c: sysvipc_find_ipc() incorrectly updates position index 2020-05-20 08:17:07 +02:00
kernel random32: update the net random state on interrupt and activity 2020-08-07 09:38:41 +02:00
lib random32: remove net_rand_state from the latent entropy gcc plugin 2020-08-07 09:38:41 +02:00
mm mm/page_owner.c: remove drain_all_pages from init_early_allocated_pages 2020-07-31 16:44:45 +02:00
net mac80211: mesh: Free pending skb when destroying a mpath 2020-08-05 10:06:51 +02:00
samples samples: bpf: Fix build error 2020-06-03 08:17:55 +02:00
scripts scripts/decode_stacktrace: strip basepath from all paths 2020-07-29 07:42:54 +02:00
security apparmor: don't try to replace stale label in ptraceme check 2020-06-30 15:37:57 -04:00
sound ALSA: seq: oss: Serialize ioctls 2020-08-21 09:47:57 +02:00
tools selftests/net: rxtimestamp: fix clang issues for target arch PowerPC 2020-08-05 10:06:50 +02:00
usr initramfs: restore default compression behavior 2020-04-13 10:34:19 +02:00
virt KVM: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER 2020-05-20 08:16:58 +02:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS MAINTAINERS: Update drm/i915 bug filing URL 2020-02-28 16:36:12 +01:00
Makefile Linux 4.14.193 2020-08-07 09:38:42 +02:00
README

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

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

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.