Go to file
Miklos Szeredi 36cf9ae54b fuse: fix bad inode
[ Upstream commit 5d069dbe8aaf2a197142558b6fb2978189ba3454 ]

Jan Kara's analysis of the syzbot report (edited):

  The reproducer opens a directory on FUSE filesystem, it then attaches
  dnotify mark to the open directory.  After that a fuse_do_getattr() call
  finds that attributes returned by the server are inconsistent, and calls
  make_bad_inode() which, among other things does:

          inode->i_mode = S_IFREG;

  This then confuses dnotify which doesn't tear down its structures
  properly and eventually crashes.

Avoid calling make_bad_inode() on a live inode: switch to a private flag on
the fuse inode.  Also add the test to ops which the bad_inode_ops would
have caught.

This bug goes back to the initial merge of fuse in 2.6.14...

Reported-by: syzbot+f427adf9324b92652ccc@syzkaller.appspotmail.com
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Tested-by: Jan Kara <jack@suse.cz>
Cc: <stable@vger.kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-01-09 13:46:24 +01:00
arch s390: always clear kernel stack backchain before calling functions 2021-01-06 14:56:55 +01:00
block scsi: block: Fix a race in the runtime power management code 2021-01-06 14:56:50 +01:00
certs
crypto crypto: ecdh - avoid unaligned accesses in ecdh_set_secret() 2020-12-30 11:54:10 +01:00
Documentation dt-bindings: rtc: add reset-source property 2021-01-09 13:46:22 +01:00
drivers RDMA/siw,rxe: Make emulated devices virtual in the device tree 2021-01-09 13:46:24 +01:00
fs fuse: fix bad inode 2021-01-09 13:46:24 +01:00
include RDMA/core: remove use of dma_virt_ops 2021-01-09 13:46:24 +01:00
init initramfs: fix clang build failure 2020-12-11 14:02:14 -08:00
ipc
kernel tick/sched: Remove bogus boot "safety" check 2021-01-06 14:56:55 +01:00
lib zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c 2021-01-06 14:56:51 +01:00
LICENSES
mm mm: memmap defer init doesn't work as expected 2021-01-06 14:56:50 +01:00
net Bluetooth: Fix attempting to set RPA timeout when unsupported 2021-01-09 13:46:23 +01:00
samples samples/bpf: Fix possible hang in xdpsock with multiple threads 2020-12-30 11:53:49 +01:00
scripts kconfig: fix return value of do_error_if() 2020-12-30 11:54:01 +01:00
security ima: Don't modify file descriptor mode on the fly 2020-12-30 11:54:17 +01:00
sound ALSA: hda/hdmi: Fix incorrect mutex unlock in silent_stream_disable() 2021-01-09 13:46:23 +01:00
tools tools headers UAPI: Sync linux/const.h with the kernel headers 2021-01-06 14:56:51 +01:00
usr
virt kvm: x86/mmu: Support dirty logging for the TDP MMU 2020-10-23 03:42:13 -04:00
.clang-format RDMA 5.10 pull request 2020-10-17 11:18:18 -07:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap mailmap: add two more addresses of Uwe Kleine-König 2020-12-06 10:19:07 -08:00
COPYING
CREDITS MAINTAINERS: Move Jason Cooper to CREDITS 2020-11-30 10:20:34 +01:00
Kbuild
Kconfig
MAINTAINERS Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-10 15:30:13 -08:00
Makefile Linux 5.10.5 2021-01-06 14:56:56 +01:00
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.