From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Alexander Potapenko <glider@google.com>,
Eric Biggers <ebiggers@google.com>
Subject: [PATCH 4.9 05/77] mbcache: initialize entry->e_referenced in mb_cache_entry_create()
Date: Wed, 21 Feb 2018 13:48:14 +0100 [thread overview]
Message-ID: <20180221124432.394552147@linuxfoundation.org> (raw)
In-Reply-To: <20180221124432.172390020@linuxfoundation.org>
4.9-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alexander Potapenko <glider@google.com>
commit 3876bbe27d04b848750d5310a37d6b76b593f648 upstream.
KMSAN reported use of uninitialized |entry->e_referenced| in a condition
in mb_cache_shrink():
==================================================================
BUG: KMSAN: use of uninitialized memory in mb_cache_shrink+0x3b4/0xc50 fs/mbcache.c:287
CPU: 2 PID: 816 Comm: kswapd1 Not tainted 4.11.0-rc5+ #2877
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs
01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:16 [inline]
dump_stack+0x172/0x1c0 lib/dump_stack.c:52
kmsan_report+0x12a/0x180 mm/kmsan/kmsan.c:927
__msan_warning_32+0x61/0xb0 mm/kmsan/kmsan_instr.c:469
mb_cache_shrink+0x3b4/0xc50 fs/mbcache.c:287
mb_cache_scan+0x67/0x80 fs/mbcache.c:321
do_shrink_slab mm/vmscan.c:397 [inline]
shrink_slab+0xc3d/0x12d0 mm/vmscan.c:500
shrink_node+0x208f/0x2fd0 mm/vmscan.c:2603
kswapd_shrink_node mm/vmscan.c:3172 [inline]
balance_pgdat mm/vmscan.c:3289 [inline]
kswapd+0x160f/0x2850 mm/vmscan.c:3478
kthread+0x46c/0x5f0 kernel/kthread.c:230
ret_from_fork+0x29/0x40 arch/x86/entry/entry_64.S:430
chained origin:
save_stack_trace+0x37/0x40 arch/x86/kernel/stacktrace.c:59
kmsan_save_stack_with_flags mm/kmsan/kmsan.c:302 [inline]
kmsan_save_stack mm/kmsan/kmsan.c:317 [inline]
kmsan_internal_chain_origin+0x12a/0x1f0 mm/kmsan/kmsan.c:547
__msan_store_shadow_origin_1+0xac/0x110 mm/kmsan/kmsan_instr.c:257
mb_cache_entry_create+0x3b3/0xc60 fs/mbcache.c:95
ext4_xattr_cache_insert fs/ext4/xattr.c:1647 [inline]
ext4_xattr_block_set+0x4c82/0x5530 fs/ext4/xattr.c:1022
ext4_xattr_set_handle+0x1332/0x20a0 fs/ext4/xattr.c:1252
ext4_xattr_set+0x4d2/0x680 fs/ext4/xattr.c:1306
ext4_xattr_trusted_set+0x8d/0xa0 fs/ext4/xattr_trusted.c:36
__vfs_setxattr+0x703/0x790 fs/xattr.c:149
__vfs_setxattr_noperm+0x27a/0x6f0 fs/xattr.c:180
vfs_setxattr fs/xattr.c:223 [inline]
setxattr+0x6ae/0x790 fs/xattr.c:449
path_setxattr+0x1eb/0x380 fs/xattr.c:468
SYSC_lsetxattr+0x8d/0xb0 fs/xattr.c:490
SyS_lsetxattr+0x77/0xa0 fs/xattr.c:486
entry_SYSCALL_64_fastpath+0x13/0x94
origin:
save_stack_trace+0x37/0x40 arch/x86/kernel/stacktrace.c:59
kmsan_save_stack_with_flags mm/kmsan/kmsan.c:302 [inline]
kmsan_internal_poison_shadow+0xb1/0x1a0 mm/kmsan/kmsan.c:198
kmsan_kmalloc+0x7f/0xe0 mm/kmsan/kmsan.c:337
kmem_cache_alloc+0x1c2/0x1e0 mm/slub.c:2766
mb_cache_entry_create+0x283/0xc60 fs/mbcache.c:86
ext4_xattr_cache_insert fs/ext4/xattr.c:1647 [inline]
ext4_xattr_block_set+0x4c82/0x5530 fs/ext4/xattr.c:1022
ext4_xattr_set_handle+0x1332/0x20a0 fs/ext4/xattr.c:1252
ext4_xattr_set+0x4d2/0x680 fs/ext4/xattr.c:1306
ext4_xattr_trusted_set+0x8d/0xa0 fs/ext4/xattr_trusted.c:36
__vfs_setxattr+0x703/0x790 fs/xattr.c:149
__vfs_setxattr_noperm+0x27a/0x6f0 fs/xattr.c:180
vfs_setxattr fs/xattr.c:223 [inline]
setxattr+0x6ae/0x790 fs/xattr.c:449
path_setxattr+0x1eb/0x380 fs/xattr.c:468
SYSC_lsetxattr+0x8d/0xb0 fs/xattr.c:490
SyS_lsetxattr+0x77/0xa0 fs/xattr.c:486
entry_SYSCALL_64_fastpath+0x13/0x94
==================================================================
Signed-off-by: Alexander Potapenko <glider@google.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Cc: stable@vger.kernel.org # v4.6
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/mbcache.c | 1 +
1 file changed, 1 insertion(+)
--- a/fs/mbcache.c
+++ b/fs/mbcache.c
@@ -93,6 +93,7 @@ int mb_cache_entry_create(struct mb_cach
entry->e_key = key;
entry->e_block = block;
entry->e_reusable = reusable;
+ entry->e_referenced = 0;
head = mb_cache_entry_head(cache, key);
hlist_bl_lock(head);
hlist_bl_for_each_entry(dup, dup_node, head, e_hash_list) {
next prev parent reply other threads:[~2018-02-21 12:48 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-21 12:48 [PATCH 4.9 00/77] 4.9.83-stable review Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 01/77] scsi: smartpqi: allow static build ("built-in") Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 02/77] drm/radeon: Add dpm quirk for Jet PRO (v2) Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 03/77] drm/radeon: adjust tested variable Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 04/77] rtc-opal: Fix handling of firmware error codes, prevent busy loops Greg Kroah-Hartman
2018-02-21 12:48 ` Greg Kroah-Hartman [this message]
2018-02-21 12:48 ` [PATCH 4.9 06/77] jbd2: fix sphinx kernel-doc build warnings Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 07/77] ext4: fix a race in the ext4 shutdown path Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 08/77] ext4: save error to disk in __ext4_grp_locked_error() Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 09/77] ext4: correct documentation for grpid mount option Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 10/77] mm: hide a #warning for COMPILE_TEST Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 11/77] mm: Fix memory size alignment in devm_memremap_pages_release() Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 12/77] MIPS: Fix typo BIG_ENDIAN to CPU_BIG_ENDIAN Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 13/77] PCI: keystone: Fix interrupt-controller-node lookup Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 14/77] video: fbdev: atmel_lcdfb: fix display-timings lookup Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 15/77] console/dummy: leave .con_font_get set to NULL Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 16/77] rtlwifi: rtl8821ae: Fix connection lost problem correctly Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 17/77] target/iscsi: avoid NULL dereference in CHAP auth error path Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 18/77] Btrfs: fix deadlock in run_delalloc_nocow Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 19/77] Btrfs: fix crash due to not cleaning up tree log blocks dirty bits Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 20/77] Btrfs: fix extent state leak from tree log Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 21/77] Btrfs: fix btrfs_evict_inode to handle abnormal inodes correctly Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 22/77] Btrfs: fix unexpected -EEXIST when creating new inode Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 23/77] 9p/trans_virtio: discard zero-length reply Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 24/77] mtd: nand: vf610: set correct ooblayout Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 25/77] ALSA: hda - Fix headset mic detection problem for two Dell machines Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 26/77] ALSA: usb-audio: Fix UAC2 get_ctl request with a RANGE attribute Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 27/77] ALSA: hda/realtek - Enable Thinkpad Dock device for ALC298 platform Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 28/77] ALSA: hda/realtek: PCI quirk for Fujitsu U7x7 Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 29/77] ALSA: usb-audio: add implicit fb quirk for Behringer UFX1204 Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 30/77] ALSA: seq: Fix racy pool initializations Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 31/77] mvpp2: fix multicast address filter Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 32/77] usb: Move USB_UHCI_BIG_ENDIAN_* out of USB_SUPPORT Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 33/77] dm: correctly handle chained bios in dec_pending() Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 34/77] powerpc: fix build errors in stable tree Greg Kroah-Hartman
2018-02-22 1:01 ` Michael Ellerman
2018-02-22 6:57 ` Greg Kroah-Hartman
2018-02-22 9:33 ` Yves-Alexis Perez
2018-02-22 11:08 ` Greg Kroah-Hartman
2018-02-22 12:02 ` Yves-Alexis Perez
2018-02-22 13:59 ` Yves-Alexis Perez
2018-02-22 13:16 ` Michael Ellerman
2018-02-22 13:32 ` Yves-Alexis Perez
2018-02-22 22:31 ` Michael Ellerman
2018-02-21 12:48 ` [PATCH 4.9 35/77] IB/qib: Fix comparison error with qperf compare/swap test Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 36/77] IB/mlx4: Fix incorrectly releasing steerable UD QPs when have only ETH ports Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 37/77] kselftest: fix OOM in memory compaction test Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 38/77] RDMA/rxe: Fix a race condition related to the QP error state Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 39/77] cpufreq: powernv: Dont assume distinct pstate values for nominal and pmin Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 40/77] PM / devfreq: Propagate error from devfreq_add_device() Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 41/77] ocfs2: try a blocking lock before return AOP_TRUNCATED_PAGE Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 42/77] s390: fix handling of -1 in set{,fs}[gu]id16 syscalls Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 43/77] arm64: dts: msm8916: Correct ipc references for smsm Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 44/77] ARM: lpc3250: fix uda1380 gpio numbers Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 45/77] ARM: dts: STi: Add gpio polarity for "hdmi,hpd-gpio" property Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 46/77] ARM: dts: nomadik: add interrupt-parent for clcd Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 47/77] arm: spear600: Add missing interrupt-parent of rtc Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 48/77] arm: spear13xx: Fix dmas cells Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 49/77] arm: spear13xx: Fix spics gpio controllers warning Greg Kroah-Hartman
2018-02-21 12:48 ` [PATCH 4.9 50/77] x86/entry/64/compat: Clear registers for compat syscalls, to reduce speculation attack surface Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 51/77] compiler-gcc.h: Introduce __optimize function attribute Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 52/77] x86/speculation: Update Speculation Control microcode blacklist Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 53/77] x86/speculation: Correct Speculation Control microcode blacklist again Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 54/77] KVM/x86: Reduce retpoline performance impact in slot_handle_level_range(), by always inlining iterator helper methods Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 55/77] X86/nVMX: Properly set spec_ctrl and pred_cmd before merging MSRs Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 56/77] x86/speculation: Clean up various Spectre related details Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 57/77] selftests/x86/pkeys: Remove unused functions Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 58/77] selftests/x86: Do not rely on "int $0x80" in test_mremap_vdso.c Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 59/77] selftests/x86: Do not rely on "int $0x80" in single_step_syscall.c Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 60/77] x86/speculation: Fix up array_index_nospec_mask() asm constraint Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 61/77] nospec: Move array_index_nospec() parameter checking into separate macro Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 62/77] x86/speculation: Add <asm/msr-index.h> dependency Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 63/77] selftests/x86/mpx: Fix incorrect bounds with old _sigfault Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 64/77] x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 65/77] x86/spectre: Fix an error message Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 66/77] x86/cpu: Change type of x86_cache_size variable to unsigned int Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 67/77] x86: fix build warnign with 32-bit PAE Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 68/77] vfs: dont do RCU lookup of empty pathnames Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 69/77] ARM: dts: exynos: fix RTC interrupt for exynos5410 Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 70/77] ARM: pxa/tosa-bt: add MODULE_LICENSE tag Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 71/77] arm64: dts: msm8916: Add missing #phy-cells Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 72/77] ARM: dts: s5pv210: add interrupt-parent for ohci Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 73/77] arm: dts: mt2701: Add reset-cells Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 74/77] ARM: dts: Delete bogus reference to the charlcd Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 75/77] media: r820t: fix r820t_write_reg for KASAN Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 76/77] mmc: sdhci-of-esdhc: fix eMMC couldnt work after kexec Greg Kroah-Hartman
2018-02-21 12:49 ` [PATCH 4.9 77/77] mmc: sdhci-of-esdhc: fix the mmc error after sleep on ls1046ardb Greg Kroah-Hartman
2018-02-21 13:21 ` Naresh Kamboju
2018-02-21 13:42 ` Greg Kroah-Hartman
2018-02-21 18:44 ` [PATCH 4.9 00/77] 4.9.83-stable review Dan Rue
2018-02-21 20:14 ` Shuah Khan
2018-02-22 14:12 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180221124432.394552147@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=ebiggers@google.com \
--cc=glider@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).