From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Trond Myklebust <trondmy@gmail.com>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Chuck Lever <chuck.lever@oracle.com>,
Sasha Levin <sashal@kernel.org>,
linux-nfs@vger.kernel.org
Subject: [PATCH AUTOSEL 4.19 112/206] nfsd: Don't add locks to closed or closing open stateids
Date: Thu, 17 Sep 2020 22:06:28 -0400 [thread overview]
Message-ID: <20200918020802.2065198-112-sashal@kernel.org> (raw)
In-Reply-To: <20200918020802.2065198-1-sashal@kernel.org>
From: Trond Myklebust <trondmy@gmail.com>
[ Upstream commit a451b12311aa8c96c6f6e01c783a86995dc3ec6b ]
In NFSv4, the lock stateids are tied to the lockowner, and the open stateid,
so that the action of closing the file also results in either an automatic
loss of the locks, or an error of the form NFS4ERR_LOCKS_HELD.
In practice this means we must not add new locks to the open stateid
after the close process has been invoked. In fact doing so, can result
in the following panic:
kernel BUG at lib/list_debug.c:51!
invalid opcode: 0000 [#1] SMP NOPTI
CPU: 2 PID: 1085 Comm: nfsd Not tainted 5.6.0-rc3+ #2
Hardware name: VMware, Inc. VMware7,1/440BX Desktop Reference Platform, BIOS VMW71.00V.14410784.B64.1908150010 08/15/2019
RIP: 0010:__list_del_entry_valid.cold+0x31/0x55
Code: 1a 3d 9b e8 74 10 c2 ff 0f 0b 48 c7 c7 f0 1a 3d 9b e8 66 10 c2 ff 0f 0b 48 89 f2 48 89 fe 48 c7 c7 b0 1a 3d 9b e8 52 10 c2 ff <0f> 0b 48 89 fe 4c 89 c2 48 c7 c7 78 1a 3d 9b e8 3e 10 c2 ff 0f 0b
RSP: 0018:ffffb296c1d47d90 EFLAGS: 00010246
RAX: 0000000000000054 RBX: ffff8ba032456ec8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff8ba039e99cc8 RDI: ffff8ba039e99cc8
RBP: ffff8ba032456e60 R08: 0000000000000781 R09: 0000000000000003
R10: 0000000000000000 R11: 0000000000000001 R12: ffff8ba009a4abe0
R13: ffff8ba032456e8c R14: 0000000000000000 R15: ffff8ba00adb01d8
FS: 0000000000000000(0000) GS:ffff8ba039e80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb213f0b008 CR3: 00000001347de006 CR4: 00000000003606e0
Call Trace:
release_lock_stateid+0x2b/0x80 [nfsd]
nfsd4_free_stateid+0x1e9/0x210 [nfsd]
nfsd4_proc_compound+0x414/0x700 [nfsd]
? nfs4svc_decode_compoundargs+0x407/0x4c0 [nfsd]
nfsd_dispatch+0xc1/0x200 [nfsd]
svc_process_common+0x476/0x6f0 [sunrpc]
? svc_sock_secure_port+0x12/0x30 [sunrpc]
? svc_recv+0x313/0x9c0 [sunrpc]
? nfsd_svc+0x2d0/0x2d0 [nfsd]
svc_process+0xd4/0x110 [sunrpc]
nfsd+0xe3/0x140 [nfsd]
kthread+0xf9/0x130
? nfsd_destroy+0x50/0x50 [nfsd]
? kthread_park+0x90/0x90
ret_from_fork+0x1f/0x40
The fix is to ensure that lock creation tests for whether or not the
open stateid is unhashed, and to fail if that is the case.
Fixes: 659aefb68eca ("nfsd: Ensure we don't recognise lock stateids after freeing them")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/nfsd/nfs4state.c | 73 ++++++++++++++++++++++++++-------------------
1 file changed, 43 insertions(+), 30 deletions(-)
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index c24306af9758f..655079ae1dd1f 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -471,6 +471,8 @@ find_any_file(struct nfs4_file *f)
{
struct file *ret;
+ if (!f)
+ return NULL;
spin_lock(&f->fi_lock);
ret = __nfs4_get_fd(f, O_RDWR);
if (!ret) {
@@ -1207,6 +1209,12 @@ static void nfs4_put_stateowner(struct nfs4_stateowner *sop)
nfs4_free_stateowner(sop);
}
+static bool
+nfs4_ol_stateid_unhashed(const struct nfs4_ol_stateid *stp)
+{
+ return list_empty(&stp->st_perfile);
+}
+
static bool unhash_ol_stateid(struct nfs4_ol_stateid *stp)
{
struct nfs4_file *fp = stp->st_stid.sc_file;
@@ -1274,9 +1282,11 @@ static bool unhash_lock_stateid(struct nfs4_ol_stateid *stp)
{
lockdep_assert_held(&stp->st_stid.sc_client->cl_lock);
+ if (!unhash_ol_stateid(stp))
+ return false;
list_del_init(&stp->st_locks);
nfs4_unhash_stid(&stp->st_stid);
- return unhash_ol_stateid(stp);
+ return true;
}
static void release_lock_stateid(struct nfs4_ol_stateid *stp)
@@ -1341,13 +1351,12 @@ static void release_open_stateid_locks(struct nfs4_ol_stateid *open_stp,
static bool unhash_open_stateid(struct nfs4_ol_stateid *stp,
struct list_head *reaplist)
{
- bool unhashed;
-
lockdep_assert_held(&stp->st_stid.sc_client->cl_lock);
- unhashed = unhash_ol_stateid(stp);
+ if (!unhash_ol_stateid(stp))
+ return false;
release_open_stateid_locks(stp, reaplist);
- return unhashed;
+ return true;
}
static void release_open_stateid(struct nfs4_ol_stateid *stp)
@@ -5774,21 +5783,21 @@ alloc_init_lock_stateowner(unsigned int strhashval, struct nfs4_client *clp,
}
static struct nfs4_ol_stateid *
-find_lock_stateid(struct nfs4_lockowner *lo, struct nfs4_file *fp)
+find_lock_stateid(const struct nfs4_lockowner *lo,
+ const struct nfs4_ol_stateid *ost)
{
struct nfs4_ol_stateid *lst;
- struct nfs4_client *clp = lo->lo_owner.so_client;
- lockdep_assert_held(&clp->cl_lock);
+ lockdep_assert_held(&ost->st_stid.sc_client->cl_lock);
- list_for_each_entry(lst, &lo->lo_owner.so_stateids, st_perstateowner) {
- if (lst->st_stid.sc_type != NFS4_LOCK_STID)
- continue;
- if (lst->st_stid.sc_file == fp) {
- refcount_inc(&lst->st_stid.sc_count);
- return lst;
+ /* If ost is not hashed, ost->st_locks will not be valid */
+ if (!nfs4_ol_stateid_unhashed(ost))
+ list_for_each_entry(lst, &ost->st_locks, st_locks) {
+ if (lst->st_stateowner == &lo->lo_owner) {
+ refcount_inc(&lst->st_stid.sc_count);
+ return lst;
+ }
}
- }
return NULL;
}
@@ -5804,11 +5813,11 @@ init_lock_stateid(struct nfs4_ol_stateid *stp, struct nfs4_lockowner *lo,
mutex_lock_nested(&stp->st_mutex, OPEN_STATEID_MUTEX);
retry:
spin_lock(&clp->cl_lock);
- spin_lock(&fp->fi_lock);
- retstp = find_lock_stateid(lo, fp);
+ if (nfs4_ol_stateid_unhashed(open_stp))
+ goto out_close;
+ retstp = find_lock_stateid(lo, open_stp);
if (retstp)
- goto out_unlock;
-
+ goto out_found;
refcount_inc(&stp->st_stid.sc_count);
stp->st_stid.sc_type = NFS4_LOCK_STID;
stp->st_stateowner = nfs4_get_stateowner(&lo->lo_owner);
@@ -5817,22 +5826,26 @@ retry:
stp->st_access_bmap = 0;
stp->st_deny_bmap = open_stp->st_deny_bmap;
stp->st_openstp = open_stp;
+ spin_lock(&fp->fi_lock);
list_add(&stp->st_locks, &open_stp->st_locks);
list_add(&stp->st_perstateowner, &lo->lo_owner.so_stateids);
list_add(&stp->st_perfile, &fp->fi_stateids);
-out_unlock:
spin_unlock(&fp->fi_lock);
spin_unlock(&clp->cl_lock);
- if (retstp) {
- if (nfsd4_lock_ol_stateid(retstp) != nfs_ok) {
- nfs4_put_stid(&retstp->st_stid);
- goto retry;
- }
- /* To keep mutex tracking happy */
- mutex_unlock(&stp->st_mutex);
- stp = retstp;
- }
return stp;
+out_found:
+ spin_unlock(&clp->cl_lock);
+ if (nfsd4_lock_ol_stateid(retstp) != nfs_ok) {
+ nfs4_put_stid(&retstp->st_stid);
+ goto retry;
+ }
+ /* To keep mutex tracking happy */
+ mutex_unlock(&stp->st_mutex);
+ return retstp;
+out_close:
+ spin_unlock(&clp->cl_lock);
+ mutex_unlock(&stp->st_mutex);
+ return NULL;
}
static struct nfs4_ol_stateid *
@@ -5847,7 +5860,7 @@ find_or_create_lock_stateid(struct nfs4_lockowner *lo, struct nfs4_file *fi,
*new = false;
spin_lock(&clp->cl_lock);
- lst = find_lock_stateid(lo, fi);
+ lst = find_lock_stateid(lo, ost);
spin_unlock(&clp->cl_lock);
if (lst != NULL) {
if (nfsd4_lock_ol_stateid(lst) == nfs_ok)
--
2.25.1
next prev parent reply other threads:[~2020-09-18 2:10 UTC|newest]
Thread overview: 209+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-18 2:04 [PATCH AUTOSEL 4.19 001/206] selinux: allow labeling before policy is loaded Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 002/206] media: mc-device.c: fix memleak in media_device_register_entity Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 003/206] dma-fence: Serialise signal enabling (dma_fence_enable_sw_signaling) Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 004/206] ath10k: fix array out-of-bounds access Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 005/206] ath10k: fix memory leak for tpc_stats_final Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 006/206] mm: fix double page fault on arm64 if PTE_AF is cleared Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 007/206] scsi: aacraid: fix illegal IO beyond last LBA Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 008/206] m68k: q40: Fix info-leak in rtc_ioctl Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 009/206] gma/gma500: fix a memory disclosure bug due to uninitialized bytes Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 010/206] ASoC: kirkwood: fix IRQ error handling Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 011/206] media: smiapp: Fix error handling at NVM reading Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 012/206] ata: sata_mv, avoid trigerrable BUG_ON Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 013/206] leds: mlxreg: Fix possible buffer overflow Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 014/206] PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 015/206] scsi: fnic: fix use after free Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 016/206] scsi: lpfc: Fix kernel crash at lpfc_nvme_info_show during remote port bounce Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 017/206] net: silence data-races on sk_backlog.tail Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 018/206] clk/ti/adpll: allocate room for terminating null Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 019/206] drm/amdgpu/powerplay: fix AVFS handling with custom powerplay table Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 020/206] mtd: cfi_cmdset_0002: don't free cfi->cfiq in error path of cfi_amdstd_setup() Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 021/206] mfd: mfd-core: Protect against NULL call-back function pointer Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 022/206] drm/amdgpu/powerplay/smu7: fix AVFS handling with custom powerplay table Sasha Levin
2020-09-18 2:04 ` [PATCH AUTOSEL 4.19 023/206] USB: serial: mos7840: fix probe error handling Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 024/206] tpm_crb: fix fTPM on AMD Zen+ CPUs Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 025/206] tracing: Adding NULL checks for trace_array descriptor pointer Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 026/206] bcache: fix a lost wake-up problem caused by mca_cannibalize_lock Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 027/206] dmaengine: mediatek: hsdma_probe: fixed a memory leak when devm_request_irq fails Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 028/206] RDMA/qedr: Fix potential use after free Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 029/206] RDMA/i40iw: " Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 030/206] fix dget_parent() fastpath race Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 031/206] xfs: fix attr leaf header freemap.size underflow Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 032/206] RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()' Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 033/206] ubi: Fix producing anchor PEBs Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 034/206] mmc: core: Fix size overflow for mmc partitions Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 035/206] gfs2: clean up iopen glock mess in gfs2_create_inode Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 036/206] scsi: pm80xx: Cleanup command when a reset times out Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 037/206] debugfs: Fix !DEBUG_FS debugfs_create_automount Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 038/206] CIFS: Properly process SMB3 lease breaks Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 039/206] ASoC: max98090: remove msleep in PLL unlocked workaround Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 040/206] kernel/sys.c: avoid copying possible padding bytes in copy_to_user Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 041/206] KVM: arm/arm64: vgic: Fix potential double free dist->spis in __kvm_vgic_destroy() Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 042/206] xfs: fix log reservation overflows when allocating large rt extents Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 043/206] neigh_stat_seq_next() should increase position index Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 044/206] rt_cpu_seq_next " Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 045/206] ipv6_route_seq_next " Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 046/206] seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 047/206] media: ti-vpe: cal: Restrict DMA to avoid memory corruption Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 048/206] sctp: move trace_sctp_probe_path into sctp_outq_sack Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 049/206] ACPI: EC: Reference count query handlers under lock Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 050/206] scsi: ufs: Make ufshcd_add_command_trace() easier to read Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 051/206] scsi: ufs: Fix a race condition in the tracing code Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 052/206] efi/arm: Defer probe of PCIe backed efifb on DT systems Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 053/206] dmaengine: zynqmp_dma: fix burst length configuration Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 054/206] s390/cpum_sf: Use kzalloc and minor changes Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 055/206] powerpc/powernv/ioda: Fix ref count for devices with their own PE Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 056/206] powerpc/eeh: Only dump stack once if an MMIO loop is detected Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 057/206] Bluetooth: btrtl: Use kvmalloc for FW allocations Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 058/206] tracing: Set kernel_stack's caller size properly Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 059/206] ext4: make dioread_nolock the default Sasha Levin
2020-09-18 2:58 ` Eric Biggers
2020-09-18 17:18 ` Theodore Y. Ts'o
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 060/206] ARM: 8948/1: Prevent OOB access in stacktrace Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 061/206] ar5523: Add USB ID of SMCWUSBT-G2 wireless adapter Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 062/206] ceph: ensure we have a new cap before continuing in fill_inode Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 063/206] selftests/ftrace: fix glob selftest Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 064/206] tools/power/x86/intel_pstate_tracer: changes for python 3 compatibility Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 065/206] Bluetooth: Fix refcount use-after-free issue Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 066/206] mm/swapfile.c: swap_next should increase position index Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 067/206] mm: pagewalk: fix termination condition in walk_pte_range() Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 068/206] Bluetooth: prefetch channel before killing sock Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 069/206] KVM: fix overflow of zero page refcount with ksm running Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 070/206] ALSA: hda: Clear RIRB status before reading WP Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 071/206] skbuff: fix a data race in skb_queue_len() Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 072/206] audit: CONFIG_CHANGE don't log internal bookkeeping as an event Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 073/206] selinux: sel_avc_get_stat_idx should increase position index Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 074/206] scsi: lpfc: Fix RQ buffer leakage when no IOCBs available Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 075/206] scsi: lpfc: Fix coverity errors in fmdi attribute handling Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 076/206] drm/omap: fix possible object reference leak Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 077/206] clk: stratix10: use do_div() for 64-bit calculation Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 078/206] crypto: chelsio - This fixes the kernel panic which occurs during a libkcapi test Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 079/206] mt76: clear skb pointers from rx aggregation reorder buffer during cleanup Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 080/206] ALSA: usb-audio: Don't create a mixer element with bogus volume range Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 081/206] perf test: Fix test trace+probe_vfs_getname.sh on s390 Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 082/206] RDMA/rxe: Fix configuration of atomic queue pair attributes Sasha Levin
2020-09-18 2:05 ` [PATCH AUTOSEL 4.19 083/206] KVM: x86: fix incorrect comparison in trace event Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 084/206] dmaengine: stm32-mdma: use vchan_terminate_vdesc() in .terminate_all Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 085/206] media: staging/imx: Missing assignment in imx_media_capture_device_register() Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 086/206] x86/pkeys: Add check for pkey "overflow" Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 087/206] bpf: Remove recursion prevention from rcu free callback Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 088/206] dmaengine: stm32-dma: use vchan_terminate_vdesc() in .terminate_all Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 089/206] dmaengine: tegra-apb: Prevent race conditions on channel's freeing Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 090/206] drm/amd/display: dal_ddc_i2c_payloads_create can fail causing panic Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 091/206] firmware: arm_sdei: Use cpus_read_lock() to avoid races with cpuhp Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 092/206] random: fix data races at timer_rand_state Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 093/206] bus: hisi_lpc: Fixup IO ports addresses to avoid use-after-free in host removal Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 094/206] media: go7007: Fix URB type for interrupt handling Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 095/206] Bluetooth: guard against controllers sending zero'd events Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 096/206] timekeeping: Prevent 32bit truncation in scale64_check_overflow() Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 097/206] ext4: fix a data race at inode->i_disksize Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 098/206] perf jevents: Fix leak of mapfile memory Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 099/206] mm: avoid data corruption on CoW fault into PFN-mapped VMA Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 100/206] drm/amdgpu: increase atombios cmd timeout Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 101/206] drm/amd/display: Stop if retimer is not available Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 102/206] ath10k: use kzalloc to read for ath10k_sdio_hif_diag_read Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 103/206] scsi: aacraid: Disabling TM path and only processing IOP reset Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 104/206] Bluetooth: L2CAP: handle l2cap config request during open state Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 105/206] media: tda10071: fix unsigned sign extension overflow Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 106/206] xfs: don't ever return a stale pointer from __xfs_dir3_free_read Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 107/206] xfs: mark dir corrupt when lookup-by-hash fails Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 108/206] ext4: mark block bitmap corrupted when found instead of BUGON Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 109/206] tpm: ibmvtpm: Wait for buffer to be set before proceeding Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 110/206] rtc: sa1100: fix possible race condition Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 111/206] rtc: ds1374: " Sasha Levin
2020-09-18 2:06 ` Sasha Levin [this message]
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 113/206] RDMA/cm: Remove a race freeing timewait_info Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 114/206] KVM: PPC: Book3S HV: Treat TM-related invalid form instructions on P9 like the valid ones Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 115/206] drm/msm: fix leaks if initialization fails Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 116/206] drm/msm/a5xx: Always set an OPP supported hardware value Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 117/206] tracing: Use address-of operator on section symbols Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 118/206] thermal: rcar_thermal: Handle probe error gracefully Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 119/206] perf parse-events: Fix 3 use after frees found with clang ASAN Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 120/206] serial: 8250_port: Don't service RX FIFO if throttled Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 121/206] serial: 8250_omap: Fix sleeping function called from invalid context during probe Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 122/206] serial: 8250: 8250_omap: Terminate DMA before pushing data on RX timeout Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 123/206] perf cpumap: Fix snprintf overflow check Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 124/206] cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 125/206] tools: gpio-hammer: Avoid potential overflow in main Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 126/206] nvme-multipath: do not reset on unknown status Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 127/206] nvme: Fix controller creation races with teardown flow Sasha Levin
2020-09-18 18:46 ` Sagi Grimberg
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 128/206] RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 129/206] scsi: hpsa: correct race condition in offload enabled Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 130/206] SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()' Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 131/206] svcrdma: Fix leak of transport addresses Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 132/206] PCI: Use ioremap(), not phys_to_virt() for platform ROM Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 133/206] ubifs: Fix out-of-bounds memory access caused by abnormal value of node_len Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 134/206] ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 135/206] PCI: pciehp: Fix MSI interrupt race Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 136/206] NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests() Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 137/206] mm/kmemleak.c: use address-of operator on section symbols Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 138/206] mm/filemap.c: clear page error before actual read Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 139/206] mm/vmscan.c: fix data races using kswapd_classzone_idx Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 140/206] nvmet-rdma: fix double free of rdma queue Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 141/206] mm/mmap.c: initialize align_offset explicitly for vm_unmapped_area Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 142/206] scsi: qedi: Fix termination timeouts in session logout Sasha Levin
2020-09-18 2:06 ` [PATCH AUTOSEL 4.19 143/206] serial: uartps: Wait for tx_empty in console setup Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 144/206] KVM: Remove CREATE_IRQCHIP/SET_PIT2 race Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 145/206] perf stat: Force error in fallback on :k events Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 146/206] bdev: Reduce time holding bd_mutex in sync in blkdev_close() Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 147/206] drivers: char: tlclk.c: Avoid data race between init and interrupt handler Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 148/206] KVM: arm64: vgic-its: Fix memory leak on the error path of vgic_add_lpi() Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 149/206] net: openvswitch: use u64 for meter bucket Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 150/206] scsi: aacraid: Fix error handling paths in aac_probe_one() Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 151/206] staging:r8188eu: avoid skb_clone for amsdu to msdu conversion Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 152/206] sparc64: vcc: Fix error return code in vcc_probe() Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 153/206] arm64: cpufeature: Relax checks for AArch32 support at EL[0-2] Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 154/206] dt-bindings: sound: wm8994: Correct required supplies based on actual implementaion Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 155/206] atm: fix a memory leak of vcc->user_back Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 156/206] perf parse-events: Fix memory leaks found on parse_events Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 157/206] perf mem2node: Avoid double free related to realloc Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 158/206] power: supply: max17040: Correct voltage reading Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 159/206] phy: samsung: s5pv210-usb2: Add delay after reset Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 160/206] Bluetooth: Handle Inquiry Cancel error after Inquiry Complete Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 161/206] USB: EHCI: ehci-mv: fix error handling in mv_ehci_probe() Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 162/206] tipc: fix memory leak in service subscripting Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 163/206] tty: serial: samsung: Correct clock selection logic Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 164/206] ALSA: hda: Fix potential race in unsol event handler Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 165/206] powerpc/traps: Make unrecoverable NMIs die instead of panic Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 166/206] fuse: don't check refcount after stealing page Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 167/206] USB: EHCI: ehci-mv: fix less than zero comparison of an unsigned int Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 168/206] scsi: cxlflash: Fix error return code in cxlflash_probe() Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 169/206] arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 170/206] e1000: Do not perform reset in reset_task if we are already down Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 171/206] drm/nouveau/debugfs: fix runtime pm imbalance on error Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 172/206] drm/nouveau: " Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 173/206] drm/nouveau/dispnv50: " Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 174/206] printk: handle blank console arguments passed in Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 175/206] usb: dwc3: Increase timeout for CmdAct cleared by device controller Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 176/206] btrfs: don't force read-only after error in drop snapshot Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 177/206] vfio/pci: fix memory leaks of eventfd ctx Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 178/206] perf parse-events: Fix incorrect conversion of 'if () free()' to 'zfree()' Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 179/206] perf evsel: Fix 2 memory leaks Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 180/206] perf trace: Fix the selection for architectures to generate the errno name tables Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 181/206] perf stat: Fix duration_time value for higher intervals Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 182/206] perf util: Fix memory leak of prefix_if_not_in Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 183/206] perf metricgroup: Free metric_events on error Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 184/206] perf kcore_copy: Fix module map when there are no modules loaded Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 185/206] ASoC: img-i2s-out: Fix runtime PM imbalance on error Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 186/206] wlcore: fix runtime pm imbalance in wl1271_tx_work Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 187/206] wlcore: fix runtime pm imbalance in wlcore_regdomain_config Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 188/206] mtd: rawnand: omap_elm: Fix runtime PM imbalance on error Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 189/206] PCI: tegra: " Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 190/206] ceph: fix potential race in ceph_check_caps Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 191/206] mm/swap_state: fix a data race in swapin_nr_pages Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 192/206] rapidio: avoid data race between file operation callbacks and mport_cdev_add() Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 193/206] mtd: parser: cmdline: Support MTD names containing one or more colons Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 194/206] x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 195/206] vfio/pci: Clear error and request eventfd ctx after releasing Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 196/206] cifs: Fix double add page to memcg when cifs_readpages Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 197/206] nvme: fix possible deadlock when I/O is blocked Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 198/206] scsi: libfc: Handling of extra kref Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 199/206] scsi: libfc: Skip additional kref updating work event Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 200/206] selftests/x86/syscall_nt: Clear weird flags after each test Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 201/206] vfio/pci: fix racy on error and request eventfd ctx Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 202/206] btrfs: qgroup: fix data leak caused by race between writeback and truncate Sasha Levin
2020-09-18 2:07 ` [PATCH AUTOSEL 4.19 203/206] ubi: fastmap: Free unused fastmap anchor peb during detach Sasha Levin
2020-09-18 2:08 ` [PATCH AUTOSEL 4.19 204/206] perf parse-events: Use strcmp() to compare the PMU name Sasha Levin
2020-09-18 2:08 ` [PATCH AUTOSEL 4.19 205/206] net: openvswitch: use div_u64() for 64-by-32 divisions Sasha Levin
2020-09-18 2:08 ` [PATCH AUTOSEL 4.19 206/206] nvme: explicitly update mpath disk capacity on revalidation Sasha Levin
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=20200918020802.2065198-112-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=trond.myklebust@hammerspace.com \
--cc=trondmy@gmail.com \
/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