From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Xing Gaopeng <xingaopeng@huawei.com>,
Hou Tao <houtao1@huawei.com>,
Dominique Martinet <dominique.martinet@cea.fr>
Subject: [PATCH 4.14 001/183] 9p: use inode->i_lock to protect i_size_write() under 32-bit
Date: Fri, 22 Mar 2019 12:13:49 +0100 [thread overview]
Message-ID: <20190322111241.911325578@linuxfoundation.org> (raw)
In-Reply-To: <20190322111241.819468003@linuxfoundation.org>
4.14-stable review patch. If anyone has any objections, please let me know.
------------------
From: Hou Tao <houtao1@huawei.com>
commit 5e3cc1ee1405a7eb3487ed24f786dec01b4cbe1f upstream.
Use inode->i_lock to protect i_size_write(), else i_size_read() in
generic_fillattr() may loop infinitely in read_seqcount_begin() when
multiple processes invoke v9fs_vfs_getattr() or v9fs_vfs_getattr_dotl()
simultaneously under 32-bit SMP environment, and a soft lockup will be
triggered as show below:
watchdog: BUG: soft lockup - CPU#5 stuck for 22s! [stat:2217]
Modules linked in:
CPU: 5 PID: 2217 Comm: stat Not tainted 5.0.0-rc1-00005-g7f702faf5a9e #4
Hardware name: Generic DT based system
PC is at generic_fillattr+0x104/0x108
LR is at 0xec497f00
pc : [<802b8898>] lr : [<ec497f00>] psr: 200c0013
sp : ec497e20 ip : ed608030 fp : ec497e3c
r10: 00000000 r9 : ec497f00 r8 : ed608030
r7 : ec497ebc r6 : ec497f00 r5 : ee5c1550 r4 : ee005780
r3 : 0000052d r2 : 00000000 r1 : ec497f00 r0 : ed608030
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 10c5387d Table: ac48006a DAC: 00000051
CPU: 5 PID: 2217 Comm: stat Not tainted 5.0.0-rc1-00005-g7f702faf5a9e #4
Hardware name: Generic DT based system
Backtrace:
[<8010d974>] (dump_backtrace) from [<8010dc88>] (show_stack+0x20/0x24)
[<8010dc68>] (show_stack) from [<80a1d194>] (dump_stack+0xb0/0xdc)
[<80a1d0e4>] (dump_stack) from [<80109f34>] (show_regs+0x1c/0x20)
[<80109f18>] (show_regs) from [<801d0a80>] (watchdog_timer_fn+0x280/0x2f8)
[<801d0800>] (watchdog_timer_fn) from [<80198658>] (__hrtimer_run_queues+0x18c/0x380)
[<801984cc>] (__hrtimer_run_queues) from [<80198e60>] (hrtimer_run_queues+0xb8/0xf0)
[<80198da8>] (hrtimer_run_queues) from [<801973e8>] (run_local_timers+0x28/0x64)
[<801973c0>] (run_local_timers) from [<80197460>] (update_process_times+0x3c/0x6c)
[<80197424>] (update_process_times) from [<801ab2b8>] (tick_nohz_handler+0xe0/0x1bc)
[<801ab1d8>] (tick_nohz_handler) from [<80843050>] (arch_timer_handler_virt+0x38/0x48)
[<80843018>] (arch_timer_handler_virt) from [<80180a64>] (handle_percpu_devid_irq+0x8c/0x240)
[<801809d8>] (handle_percpu_devid_irq) from [<8017ac20>] (generic_handle_irq+0x34/0x44)
[<8017abec>] (generic_handle_irq) from [<8017b344>] (__handle_domain_irq+0x6c/0xc4)
[<8017b2d8>] (__handle_domain_irq) from [<801022e0>] (gic_handle_irq+0x4c/0x88)
[<80102294>] (gic_handle_irq) from [<80101a30>] (__irq_svc+0x70/0x98)
[<802b8794>] (generic_fillattr) from [<8056b284>] (v9fs_vfs_getattr_dotl+0x74/0xa4)
[<8056b210>] (v9fs_vfs_getattr_dotl) from [<802b8904>] (vfs_getattr_nosec+0x68/0x7c)
[<802b889c>] (vfs_getattr_nosec) from [<802b895c>] (vfs_getattr+0x44/0x48)
[<802b8918>] (vfs_getattr) from [<802b8a74>] (vfs_statx+0x9c/0xec)
[<802b89d8>] (vfs_statx) from [<802b9428>] (sys_lstat64+0x48/0x78)
[<802b93e0>] (sys_lstat64) from [<80101000>] (ret_fast_syscall+0x0/0x28)
[dominique.martinet@cea.fr: updated comment to not refer to a function
in another subsystem]
Link: http://lkml.kernel.org/r/20190124063514.8571-2-houtao1@huawei.com
Cc: stable@vger.kernel.org
Fixes: 7549ae3e81cc ("9p: Use the i_size_[read, write]() macros instead of using inode->i_size directly.")
Reported-by: Xing Gaopeng <xingaopeng@huawei.com>
Signed-off-by: Hou Tao <houtao1@huawei.com>
Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/9p/v9fs_vfs.h | 23 +++++++++++++++++++++--
fs/9p/vfs_file.c | 6 +++++-
fs/9p/vfs_inode.c | 23 +++++++++++------------
fs/9p/vfs_inode_dotl.c | 27 ++++++++++++++-------------
fs/9p/vfs_super.c | 4 ++--
5 files changed, 53 insertions(+), 30 deletions(-)
--- a/fs/9p/v9fs_vfs.h
+++ b/fs/9p/v9fs_vfs.h
@@ -40,6 +40,9 @@
*/
#define P9_LOCK_TIMEOUT (30*HZ)
+/* flags for v9fs_stat2inode() & v9fs_stat2inode_dotl() */
+#define V9FS_STAT2INODE_KEEP_ISIZE 1
+
extern struct file_system_type v9fs_fs_type;
extern const struct address_space_operations v9fs_addr_operations;
extern const struct file_operations v9fs_file_operations;
@@ -61,8 +64,10 @@ int v9fs_init_inode(struct v9fs_session_
struct inode *inode, umode_t mode, dev_t);
void v9fs_evict_inode(struct inode *inode);
ino_t v9fs_qid2ino(struct p9_qid *qid);
-void v9fs_stat2inode(struct p9_wstat *, struct inode *, struct super_block *);
-void v9fs_stat2inode_dotl(struct p9_stat_dotl *, struct inode *);
+void v9fs_stat2inode(struct p9_wstat *stat, struct inode *inode,
+ struct super_block *sb, unsigned int flags);
+void v9fs_stat2inode_dotl(struct p9_stat_dotl *stat, struct inode *inode,
+ unsigned int flags);
int v9fs_dir_release(struct inode *inode, struct file *filp);
int v9fs_file_open(struct inode *inode, struct file *file);
void v9fs_inode2stat(struct inode *inode, struct p9_wstat *stat);
@@ -83,4 +88,18 @@ static inline void v9fs_invalidate_inode
}
int v9fs_open_to_dotl_flags(int flags);
+
+static inline void v9fs_i_size_write(struct inode *inode, loff_t i_size)
+{
+ /*
+ * 32-bit need the lock, concurrent updates could break the
+ * sequences and make i_size_read() loop forever.
+ * 64-bit updates are atomic and can skip the locking.
+ */
+ if (sizeof(i_size) > sizeof(long))
+ spin_lock(&inode->i_lock);
+ i_size_write(inode, i_size);
+ if (sizeof(i_size) > sizeof(long))
+ spin_unlock(&inode->i_lock);
+}
#endif
--- a/fs/9p/vfs_file.c
+++ b/fs/9p/vfs_file.c
@@ -442,7 +442,11 @@ v9fs_file_write_iter(struct kiocb *iocb,
i_size = i_size_read(inode);
if (iocb->ki_pos > i_size) {
inode_add_bytes(inode, iocb->ki_pos - i_size);
- i_size_write(inode, iocb->ki_pos);
+ /*
+ * Need to serialize against i_size_write() in
+ * v9fs_stat2inode()
+ */
+ v9fs_i_size_write(inode, iocb->ki_pos);
}
return retval;
}
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -538,7 +538,7 @@ static struct inode *v9fs_qid_iget(struc
if (retval)
goto error;
- v9fs_stat2inode(st, inode, sb);
+ v9fs_stat2inode(st, inode, sb, 0);
v9fs_cache_inode_get_cookie(inode);
unlock_new_inode(inode);
return inode;
@@ -1080,7 +1080,7 @@ v9fs_vfs_getattr(const struct path *path
if (IS_ERR(st))
return PTR_ERR(st);
- v9fs_stat2inode(st, d_inode(dentry), dentry->d_sb);
+ v9fs_stat2inode(st, d_inode(dentry), dentry->d_sb, 0);
generic_fillattr(d_inode(dentry), stat);
p9stat_free(st);
@@ -1158,12 +1158,13 @@ static int v9fs_vfs_setattr(struct dentr
* @stat: Plan 9 metadata (mistat) structure
* @inode: inode to populate
* @sb: superblock of filesystem
+ * @flags: control flags (e.g. V9FS_STAT2INODE_KEEP_ISIZE)
*
*/
void
v9fs_stat2inode(struct p9_wstat *stat, struct inode *inode,
- struct super_block *sb)
+ struct super_block *sb, unsigned int flags)
{
umode_t mode;
char ext[32];
@@ -1204,10 +1205,11 @@ v9fs_stat2inode(struct p9_wstat *stat, s
mode = p9mode2perm(v9ses, stat);
mode |= inode->i_mode & ~S_IALLUGO;
inode->i_mode = mode;
- i_size_write(inode, stat->length);
+ if (!(flags & V9FS_STAT2INODE_KEEP_ISIZE))
+ v9fs_i_size_write(inode, stat->length);
/* not real number of blocks, but 512 byte ones ... */
- inode->i_blocks = (i_size_read(inode) + 512 - 1) >> 9;
+ inode->i_blocks = (stat->length + 512 - 1) >> 9;
v9inode->cache_validity &= ~V9FS_INO_INVALID_ATTR;
}
@@ -1404,9 +1406,9 @@ int v9fs_refresh_inode(struct p9_fid *fi
{
int umode;
dev_t rdev;
- loff_t i_size;
struct p9_wstat *st;
struct v9fs_session_info *v9ses;
+ unsigned int flags;
v9ses = v9fs_inode2v9ses(inode);
st = p9_client_stat(fid);
@@ -1419,16 +1421,13 @@ int v9fs_refresh_inode(struct p9_fid *fi
if ((inode->i_mode & S_IFMT) != (umode & S_IFMT))
goto out;
- spin_lock(&inode->i_lock);
/*
* We don't want to refresh inode->i_size,
* because we may have cached data
*/
- i_size = inode->i_size;
- v9fs_stat2inode(st, inode, inode->i_sb);
- if (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE)
- inode->i_size = i_size;
- spin_unlock(&inode->i_lock);
+ flags = (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) ?
+ V9FS_STAT2INODE_KEEP_ISIZE : 0;
+ v9fs_stat2inode(st, inode, inode->i_sb, flags);
out:
p9stat_free(st);
kfree(st);
--- a/fs/9p/vfs_inode_dotl.c
+++ b/fs/9p/vfs_inode_dotl.c
@@ -143,7 +143,7 @@ static struct inode *v9fs_qid_iget_dotl(
if (retval)
goto error;
- v9fs_stat2inode_dotl(st, inode);
+ v9fs_stat2inode_dotl(st, inode, 0);
v9fs_cache_inode_get_cookie(inode);
retval = v9fs_get_acl(inode, fid);
if (retval)
@@ -497,7 +497,7 @@ v9fs_vfs_getattr_dotl(const struct path
if (IS_ERR(st))
return PTR_ERR(st);
- v9fs_stat2inode_dotl(st, d_inode(dentry));
+ v9fs_stat2inode_dotl(st, d_inode(dentry), 0);
generic_fillattr(d_inode(dentry), stat);
/* Change block size to what the server returned */
stat->blksize = st->st_blksize;
@@ -608,11 +608,13 @@ int v9fs_vfs_setattr_dotl(struct dentry
* v9fs_stat2inode_dotl - populate an inode structure with stat info
* @stat: stat structure
* @inode: inode to populate
+ * @flags: ctrl flags (e.g. V9FS_STAT2INODE_KEEP_ISIZE)
*
*/
void
-v9fs_stat2inode_dotl(struct p9_stat_dotl *stat, struct inode *inode)
+v9fs_stat2inode_dotl(struct p9_stat_dotl *stat, struct inode *inode,
+ unsigned int flags)
{
umode_t mode;
struct v9fs_inode *v9inode = V9FS_I(inode);
@@ -632,7 +634,8 @@ v9fs_stat2inode_dotl(struct p9_stat_dotl
mode |= inode->i_mode & ~S_IALLUGO;
inode->i_mode = mode;
- i_size_write(inode, stat->st_size);
+ if (!(flags & V9FS_STAT2INODE_KEEP_ISIZE))
+ v9fs_i_size_write(inode, stat->st_size);
inode->i_blocks = stat->st_blocks;
} else {
if (stat->st_result_mask & P9_STATS_ATIME) {
@@ -662,8 +665,9 @@ v9fs_stat2inode_dotl(struct p9_stat_dotl
}
if (stat->st_result_mask & P9_STATS_RDEV)
inode->i_rdev = new_decode_dev(stat->st_rdev);
- if (stat->st_result_mask & P9_STATS_SIZE)
- i_size_write(inode, stat->st_size);
+ if (!(flags & V9FS_STAT2INODE_KEEP_ISIZE) &&
+ stat->st_result_mask & P9_STATS_SIZE)
+ v9fs_i_size_write(inode, stat->st_size);
if (stat->st_result_mask & P9_STATS_BLOCKS)
inode->i_blocks = stat->st_blocks;
}
@@ -929,9 +933,9 @@ v9fs_vfs_get_link_dotl(struct dentry *de
int v9fs_refresh_inode_dotl(struct p9_fid *fid, struct inode *inode)
{
- loff_t i_size;
struct p9_stat_dotl *st;
struct v9fs_session_info *v9ses;
+ unsigned int flags;
v9ses = v9fs_inode2v9ses(inode);
st = p9_client_getattr_dotl(fid, P9_STATS_ALL);
@@ -943,16 +947,13 @@ int v9fs_refresh_inode_dotl(struct p9_fi
if ((inode->i_mode & S_IFMT) != (st->st_mode & S_IFMT))
goto out;
- spin_lock(&inode->i_lock);
/*
* We don't want to refresh inode->i_size,
* because we may have cached data
*/
- i_size = inode->i_size;
- v9fs_stat2inode_dotl(st, inode);
- if (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE)
- inode->i_size = i_size;
- spin_unlock(&inode->i_lock);
+ flags = (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) ?
+ V9FS_STAT2INODE_KEEP_ISIZE : 0;
+ v9fs_stat2inode_dotl(st, inode, flags);
out:
kfree(st);
return 0;
--- a/fs/9p/vfs_super.c
+++ b/fs/9p/vfs_super.c
@@ -172,7 +172,7 @@ static struct dentry *v9fs_mount(struct
goto release_sb;
}
d_inode(root)->i_ino = v9fs_qid2ino(&st->qid);
- v9fs_stat2inode_dotl(st, d_inode(root));
+ v9fs_stat2inode_dotl(st, d_inode(root), 0);
kfree(st);
} else {
struct p9_wstat *st = NULL;
@@ -183,7 +183,7 @@ static struct dentry *v9fs_mount(struct
}
d_inode(root)->i_ino = v9fs_qid2ino(&st->qid);
- v9fs_stat2inode(st, d_inode(root), sb);
+ v9fs_stat2inode(st, d_inode(root), sb, 0);
p9stat_free(st);
kfree(st);
next prev parent reply other threads:[~2019-03-22 11:46 UTC|newest]
Thread overview: 188+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-22 11:13 [PATCH 4.14 000/183] 4.14.108-stable review Greg Kroah-Hartman
2019-03-22 11:13 ` Greg Kroah-Hartman [this message]
2019-03-22 11:13 ` [PATCH 4.14 002/183] 9p/net: fix memory leak in p9_client_create Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.14 003/183] ASoC: fsl_esai: fix register setting issue in RIGHT_J mode Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.14 004/183] iio: adc: exynos-adc: Fix NULL pointer exception on unbind Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.14 005/183] stm class: Fix an endless loop in channel allocation Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.14 006/183] crypto: caam - fixed handling of sg list Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.14 007/183] crypto: ahash - fix another early termination in hash walk Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.14 008/183] crypto: rockchip - fix scatterlist nents error Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.14 009/183] crypto: rockchip - update new iv to device in multiple operations Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.14 010/183] drm/imx: ignore plane updates on disabled crtcs Greg Kroah-Hartman
2019-03-22 11:13 ` [PATCH 4.14 011/183] gpu: ipu-v3: Fix i.MX51 CSI control registers offset Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 012/183] drm/imx: imx-ldb: add missing of_node_puts Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 013/183] gpu: ipu-v3: Fix CSI offsets for imx53 Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 014/183] s390/dasd: fix using offset into zero size array error Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 015/183] Input: pwm-vibra - prevent unbalanced regulator Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 016/183] Input: pwm-vibra - stop regulator after disabling pwm, not before Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 017/183] ARM: OMAP2+: Variable "reg" in function omap4_dsi_mux_pads() could be uninitialized Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 018/183] ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 019/183] ASoC: rsnd: fixup rsnd_ssi_master_clk_start() user count check Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 020/183] KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 021/183] ARM: OMAP2+: fix lack of timer interrupts on CPU1 after hotplug Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 022/183] Input: cap11xx - switch to using set_brightness_blocking() Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 023/183] Input: ps2-gpio - flush TX work when closing port Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 024/183] Input: matrix_keypad - use flush_delayed_work() Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 025/183] mac80211: Fix Tx aggregation session tear down with ITXQs Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 026/183] ipvs: fix dependency on nf_defrag_ipv6 Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 027/183] floppy: check_events callback should not return a negative number Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 028/183] NFS: Dont use page_file_mapping after removing the page Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 029/183] mm/gup: fix gup_pmd_range() for dax Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 030/183] Revert "mm: use early_pfn_to_nid in page_ext_init" Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 031/183] mm: page_alloc: fix ref bias in page_frag_alloc() for 1-byte allocs Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 032/183] net: hns: Fix object reference leaks in hns_dsaf_roce_reset() Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 033/183] i2c: cadence: Fix the hold bit setting Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 034/183] i2c: bcm2835: Clear current buffer pointers and counts after a transfer Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 035/183] auxdisplay: ht16k33: fix potential user-after-free on module unload Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 036/183] Input: st-keyscan - fix potential zalloc NULL dereference Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 037/183] clk: sunxi-ng: v3s: Fix TCON reset de-assert bit Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 038/183] clk: sunxi: A31: Fix wrong AHB gate number Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 039/183] esp: Skip TX bytes accounting when sending from a request socket Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 040/183] ARM: 8824/1: fix a migrating irq bug when hotplug cpu Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 041/183] af_key: unconditionally clone on broadcast Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 042/183] assoc_array: Fix shortcut creation Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 043/183] keys: Fix dependency loop between construction record and auth key Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 044/183] scsi: libiscsi: Fix race between iscsi_xmit_task and iscsi_complete_task Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 045/183] net: systemport: Fix reception of BPDUs Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 046/183] pinctrl: meson: meson8b: fix the sdxc_a data 1..3 pins Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 047/183] qmi_wwan: apply SET_DTR quirk to Sierra WP7607 Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 048/183] net: mv643xx_eth: disable clk on error path in mv643xx_eth_shared_probe() Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 049/183] mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush timeout issue Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 050/183] ASoC: topology: free created components in tplg load error Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 051/183] qed: Fix iWARP syn packet mac address validation Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 052/183] arm64: Relax GIC version check during early boot Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 053/183] net: marvell: mvneta: fix DMA debug warning Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 054/183] tmpfs: fix link accounting when a tmpfile is linked in Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 055/183] ixgbe: fix older devices that do not support IXGBE_MRQC_L3L4TXSWEN Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 056/183] ARCv2: lib: memcpy: fix doing prefetchw outside of buffer Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 057/183] ARC: uacces: remove lp_start, lp_end from clobber list Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 058/183] ARCv2: support manual regfile save on interrupts Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 059/183] phonet: fix building with clang Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 060/183] mac80211_hwsim: propagate genlmsg_reply return code Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 061/183] net: thunderx: make CFG_DONE message to run through generic send-ack sequence Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 062/183] nfp: bpf: fix code-gen bug on BPF_ALU | BPF_XOR | BPF_K Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 063/183] nfp: bpf: fix ALU32 high bits clearance bug Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 064/183] net: set static variable an initial value in atl2_probe() Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 065/183] tmpfs: fix uninitialized return value in shmem_link Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 066/183] media: videobuf2-v4l2: drop WARN_ON in vb2_warn_zero_bytesused() Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 067/183] stm class: Prevent division by zero Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 068/183] libnvdimm/label: Clear updating flag after label-set update Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 069/183] libnvdimm, pfn: Fix over-trim in trim_pfn_device() Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 070/183] libnvdimm/pmem: Honor force_raw for legacy pmem regions Greg Kroah-Hartman
2019-03-22 11:14 ` [PATCH 4.14 071/183] libnvdimm: Fix altmap reservation size calculation Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 072/183] fix cgroup_do_mount() handling of failure exits Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 073/183] crypto: arm/crct10dif - revert to C code for short inputs Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 074/183] crypto: arm64/crct10dif " Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 075/183] crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 076/183] crypto: testmgr - skip crc32c context test for ahash algorithms Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 077/183] crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 078/183] crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 079/183] CIFS: Do not reset lease state to NONE on lease break Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 080/183] CIFS: Fix read after write for files with read caching Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 081/183] tracing: Use strncpy instead of memcpy for string keys in hist triggers Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 082/183] tracing: Do not free iter->trace in fail path of tracing_open_pipe() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 083/183] xen: fix dom0 boot on huge systems Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 084/183] ACPI / device_sysfs: Avoid OF modalias creation for removed device Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 085/183] mmc: sdhci-esdhc-imx: fix HS400 timing issue Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 086/183] spi: ti-qspi: Fix mmap read when more than one CS in use Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 087/183] spi: pxa2xx: Setup maximum supported DMA transfer length Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 088/183] regulator: s2mps11: Fix steps for buck7, buck8 and LDO35 Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 089/183] regulator: max77620: Initialize values for DT properties Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 090/183] regulator: s2mpa01: Fix step values for some LDOs Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 091/183] clocksource/drivers/exynos_mct: Move one-shot check from tick clear to ISR Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 092/183] clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 093/183] s390/setup: fix early warning messages Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 094/183] s390/virtio: handle find on invalid queue gracefully Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 095/183] scsi: virtio_scsi: dont send sc payload with tmfs Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 096/183] scsi: aacraid: Fix performance issue on logical drives Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 097/183] scsi: sd: Optimal I/O size should be a multiple of physical block size Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 098/183] scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 099/183] fs/devpts: always delete dcache dentry-s in dput() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 100/183] splice: dont merge into linked buffers Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 101/183] m68k: Add -ffreestanding to CFLAGS Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 102/183] Btrfs: setup a nofs context for memory allocation at __btrfs_set_acl Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 103/183] btrfs: ensure that a DUP or RAID1 block group has exactly two stripes Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 104/183] Btrfs: fix corruption reading shared and compressed extents after hole punching Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 105/183] crypto: pcbc - remove bogus memcpy()s with src == dest Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 106/183] libertas_tf: dont set URB_ZERO_PACKET on IN USB transfer Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 107/183] irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 108/183] x86/kprobes: Prohibit probing on optprobe template code Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 109/183] cpufreq: tegra124: add missing of_node_put() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 110/183] cpufreq: pxa2xx: remove incorrect __init annotation Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 111/183] ext4: add mask of ext4 flags to swap Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 112/183] ext4: fix crash during online resizing Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 113/183] IB/hfi1: Close race condition on user context disable and close Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 114/183] cxl: Wrap iterations over afu slices inside afu_list_lock Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 115/183] ext2: Fix underflow in ext2_max_size() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 116/183] clk: uniphier: Fix update register for CPU-gear Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 117/183] clk: clk-twl6040: Fix imprecise external abort for pdmclk Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 118/183] clk: ingenic: Fix round_rate misbehaving with non-integer dividers Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 119/183] clk: ingenic: Fix doc of ingenic_cgu_div_info Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 120/183] usb: chipidea: tegra: Fix missed ci_hdrc_remove_device() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 121/183] nfit: acpi_nfit_ctl(): Check out_obj->type in the right place Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 122/183] mm: hwpoison: fix thp split handing in soft_offline_in_use_page() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 123/183] mm/vmalloc: fix size check for remap_vmalloc_range_partial() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 124/183] kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 125/183] device property: Fix the length used in PROPERTY_ENTRY_STRING() Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 126/183] intel_th: Dont reference unassigned outputs Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 127/183] parport_pc: fix find_superio io compare code, should use equal test Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 128/183] i2c: tegra: fix maximum transfer size Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 129/183] crypto: arm64/aes-neonbs - fix returning final keystream block Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 130/183] drm/i915: Relax mmap VMA check Greg Kroah-Hartman
2019-03-22 11:15 ` [PATCH 4.14 131/183] serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 132/183] serial: 8250_of: assume reg-shift of 2 for mrvl,mmp-uart Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 133/183] serial: 8250_pci: Fix number of ports for ACCES serial cards Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 134/183] serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 chip use the pci_pericom_setup() Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 135/183] jbd2: clear dirty flag when revoking a buffer from an older transaction Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 136/183] jbd2: fix compile warning when using JBUFFER_TRACE Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 137/183] security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 138/183] powerpc/32: Clear on-stack exception marker upon exception return Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 139/183] powerpc/wii: properly disable use of BATs when requested Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 140/183] powerpc/powernv: Make opal log only readable by root Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 141/183] powerpc/83xx: Also save/restore SPRG4-7 during suspend Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 142/183] powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 143/183] powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 144/183] powerpc/hugetlb: Dont do runtime allocation of 16G pages in LPAR configuration Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 145/183] powerpc/traps: fix recoverability of machine check handling on book3s/32 Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 146/183] powerpc/traps: Fix the message printed when stack overflows Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 147/183] ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 148/183] arm64: Fix HCR.TGE status for NMI contexts Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 149/183] arm64: debug: Ensure debug handlers check triggering exception level Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 150/183] arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2 Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 151/183] dm: fix to_sector() for 32bit Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 152/183] dm integrity: limit the rate of error messages Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 153/183] cpcap-charger: generate events for userspace Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 154/183] NFS: Fix I/O request leakages Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 155/183] NFS: Fix an I/O request leakage in nfs_do_recoalesce Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 156/183] NFS: Dont recoalesce on error in nfs_pageio_complete_mirror() Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 157/183] nfsd: fix memory corruption caused by readdir Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 158/183] nfsd: fix wrong check in write_v4_end_grace() Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 159/183] NFSv4.1: Reinitialise sequence results before retransmitting a request Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 160/183] PM / wakeup: Rework wakeup source timer cancellation Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 161/183] bcache: never writeback a discard operation Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 162/183] x86/unwind/orc: Fix ORC unwind table alignment Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 163/183] perf intel-pt: Fix CYC timestamp calculation after OVF Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 164/183] perf auxtrace: Define auxtrace record alignment Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 165/183] perf intel-pt: Fix overlap calculation for padding Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 166/183] perf intel-pt: Fix divide by zero when TSC is not available Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 167/183] md: Fix failed allocation of md_register_thread Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 168/183] tpm/tpm_crb: Avoid unaligned reads in crb_recv() Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 169/183] tpm: Unify the send callback behaviour Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 170/183] rcu: Do RCU GP kthread self-wakeup from softirq and interrupt Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 171/183] media: imx: prpencvf: Stop upstream before disabling IDMA channel Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 172/183] media: uvcvideo: Avoid NULL pointer dereference at the end of streaming Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 173/183] media: vimc: Add vimc-streamer for stream control Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 174/183] media: imx: csi: Disable CSI immediately after last EOF Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 175/183] media: imx: csi: Stop upstream before disabling IDMA channel Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 176/183] drm/radeon/evergreen_cs: fix missing break in switch statement Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 177/183] KVM: Call kvm_arch_memslots_updated() before updating memslots Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 178/183] KVM: x86/mmu: Detect MMIO generation wrap in any address space Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 179/183] KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 180/183] KVM: nVMX: Sign extend displacements of VMX instrs mem operands Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 181/183] KVM: nVMX: Apply addr size mask to effective address for VMX instructions Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 182/183] KVM: nVMX: Ignore limit checks on VMX instructions using flat segments Greg Kroah-Hartman
2019-03-22 11:16 ` [PATCH 4.14 183/183] s390/setup: fix boot crash for machine without EDAT-1 Greg Kroah-Hartman
2019-03-22 22:42 ` [PATCH 4.14 000/183] 4.14.108-stable review kernelci.org bot
2019-03-23 4:45 ` Guenter Roeck
2019-03-23 5:33 ` Naresh Kamboju
2019-03-24 11:57 ` Jon Hunter
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=20190322111241.911325578@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=dominique.martinet@cea.fr \
--cc=houtao1@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=xingaopeng@huawei.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;
as well as URLs for NNTP newsgroup(s).