This is the start of the stable review cycle for the 4.9.146 release.
There are 51 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Sun Dec 16 11:56:52 UTC 2018.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.146-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.9.146-rc1
Guenter Roeck <linux(a)roeck-us.net>
staging: speakup: Replace strncpy with memcpy
Namhyung Kim <namhyung(a)kernel.org>
pstore: Convert console write to use ->write_buf
Pan Bian <bianpan2016(a)163.com>
ocfs2: fix potential use after free
Qian Cai <cai(a)gmx.us>
debugobjects: avoid recursive calls with kmemleak
Pan Bian <bianpan2016(a)163.com>
hfsplus: do not free node before using
Pan Bian <bianpan2016(a)163.com>
hfs: do not free node before using
Larry Chen <lchen(a)suse.com>
ocfs2: fix deadlock caused by ocfs2_defrag_extent()
Colin Ian King <colin.king(a)canonical.com>
fscache, cachefiles: remove redundant variable 'cache'
NeilBrown <neilb(a)suse.com>
fscache: fix race between enablement and dropping of object
Srikanth Boddepalli <boddepalli.srikanth(a)gmail.com>
xen: xlate_mmu: add missing header to fix 'W=1' warning
Y.C. Chen <yc_chen(a)aspeedtech.com>
drm/ast: fixed reading monitor EDID not stable issue
Pan Bian <bianpan2016(a)163.com>
net: hisilicon: remove unexpected free_netdev
Josh Elsasser <jelsasser(a)appneta.com>
ixgbe: recognize 1000BaseLX SFP modules as 1Gbps
Yunjian Wang <wangyunjian(a)huawei.com>
igb: fix uninitialized variables
Kiran Kumar Modukuri <kiran.modukuri(a)gmail.com>
cachefiles: Fix page leak in cachefiles_read_backing_file while vmscan is active
Lorenzo Bianconi <lorenzo.bianconi(a)redhat.com>
net: thunderx: fix NULL pointer dereference in nic_remove
Yi Wang <wang.yi59(a)zte.com.cn>
x86/kvm/vmx: fix old-style function declaration
Yi Wang <wang.yi59(a)zte.com.cn>
KVM: x86: fix empty-body warnings
Aaro Koskinen <aaro.koskinen(a)iki.fi>
USB: omap_udc: fix USB gadget functionality on Palm Tungsten E
Aaro Koskinen <aaro.koskinen(a)iki.fi>
USB: omap_udc: fix omap_udc_start() on 15xx machines
Aaro Koskinen <aaro.koskinen(a)iki.fi>
USB: omap_udc: fix crashes on probe error and module removal
Aaro Koskinen <aaro.koskinen(a)iki.fi>
USB: omap_udc: use devm_request_irq()
Xin Long <lucien.xin(a)gmail.com>
ipvs: call ip_vs_dst_notifier earlier than ipv6_dev_notf
Martynas Pumputis <m(a)lambda.lt>
bpf: fix check of allowed specifiers in bpf_trace_printk
Pan Bian <bianpan2016(a)163.com>
exportfs: do not read dentry after free
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ASoC: omap-dmic: Add pm_qos handling to avoid overruns with CPU_IDLE
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ASoC: omap-mcpdm: Add pm_qos handling to avoid under/overruns with CPU_IDLE
Majd Dibbiny <majd(a)mellanox.com>
RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR
Robbie Ko <robbieko(a)synology.com>
Btrfs: send, fix infinite loop due to directory rename dependencies
Artem Savkov <asavkov(a)redhat.com>
objtool: Fix segfault in .cold detection with -ffunction-sections
Artem Savkov <asavkov(a)redhat.com>
objtool: Fix double-free in .cold detection error path
Huacai Chen <chenhc(a)lemote.com>
hwmon: (w83795) temp4_type has writable permission
Tzung-Bi Shih <tzungbi(a)google.com>
ASoC: dapm: Recalculate audio map forcely when card instantiated
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ASoC: omap-abe-twl6040: Fix missing audio card caused by deferred probing
Nicolin Chen <nicoleotsuka(a)gmail.com>
hwmon: (ina2xx) Fix current value calculation
Thomas Richter <tmricht(a)linux.ibm.com>
s390/cpum_cf: Reject request for sampling in event initialization
Florian Westphal <fw(a)strlen.de>
selftests: add script to stress-test nft packet path vs. control plane
YueHaibing <yuehaibing(a)huawei.com>
sysv: return 'err' instead of 0 in __sysv_write_inode
Janusz Krzysztofik <jmkrzyszt(a)gmail.com>
ARM: OMAP1: ams-delta: Fix possible use of uninitialized field
Adam Ford <aford173(a)gmail.com>
ARM: dts: logicpd-somlv: Fix interrupt on mmc3_dat1
Nathan Chancellor <natechancellor(a)gmail.com>
ARM: OMAP2+: prm44xx: Fix section annotation on omap44xx_prm_enable_io_wakeup
Stefano Brivio <sbrivio(a)redhat.com>
neighbour: Avoid writing before skb->head in neigh_hh_output()
Nicolas Dichtel <nicolas.dichtel(a)6wind.com>
tun: forbid iface creation with rtnl ops
Yuchung Cheng <ycheng(a)google.com>
tcp: fix NULL ref in tail loss probe
Eric Dumazet <edumazet(a)google.com>
rtnetlink: ndo_dflt_fdb_dump() only work for ARPHRD_ETHER devices
Christoph Paasch <cpaasch(a)apple.com>
net: Prevent invalid access to skb->prev in __qdisc_drop_all
Heiner Kallweit <hkallweit1(a)gmail.com>
net: phy: don't allow __set_phy_supported to add unsupported modes
Tarick Bedeir <tarick(a)google.com>
net/mlx4_core: Correctly set PFC param if global pause is turned off.
Su Yanjun <suyj.fnst(a)cn.fujitsu.com>
net: 8139cp: fix a BUG triggered by changing mtu with network traffic
Stefano Brivio <sbrivio(a)redhat.com>
ipv6: Check available headroom in ip6_xmit() even without options
Jiri Wiesner <jwiesner(a)suse.com>
ipv4: ipv6: netfilter: Adjust the frag mem limit when truesize changes
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/logicpd-som-lv.dtsi | 2 +-
arch/arm/mach-omap1/board-ams-delta.c | 3 +
arch/arm/mach-omap2/prm44xx.c | 2 +-
arch/s390/kernel/perf_cpum_cf.c | 2 +
arch/x86/kvm/lapic.c | 2 +-
arch/x86/kvm/vmx.c | 8 +-
drivers/gpu/drm/ast/ast_mode.c | 36 +++++++--
drivers/hwmon/ina2xx.c | 2 +-
drivers/hwmon/w83795.c | 2 +-
drivers/infiniband/hw/mlx5/qp.c | 19 ++---
drivers/net/ethernet/cavium/thunder/nic_main.c | 3 +
drivers/net/ethernet/hisilicon/hip04_eth.c | 4 +-
drivers/net/ethernet/intel/igb/e1000_i210.c | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 4 +-
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 4 +-
drivers/net/ethernet/realtek/8139cp.c | 5 ++
drivers/net/phy/phy_device.c | 19 ++---
drivers/net/tun.c | 6 +-
drivers/staging/speakup/kobjects.c | 4 +-
drivers/usb/gadget/udc/omap_udc.c | 87 ++++++++--------------
drivers/xen/xlate_mmu.c | 1 +
fs/btrfs/send.c | 11 ++-
fs/cachefiles/rdwr.c | 9 ++-
fs/exportfs/expfs.c | 2 +-
fs/fscache/object.c | 3 +
fs/hfs/btree.c | 3 +-
fs/hfsplus/btree.c | 3 +-
fs/ocfs2/export.c | 2 +-
fs/ocfs2/move_extents.c | 47 ++++++------
fs/pstore/platform.c | 4 +-
fs/sysv/inode.c | 2 +-
include/net/neighbour.h | 28 +++++--
kernel/trace/bpf_trace.c | 8 +-
lib/debugobjects.c | 3 +-
net/core/rtnetlink.c | 3 +
net/ipv4/ip_fragment.c | 7 ++
net/ipv4/tcp_output.c | 12 ++-
net/ipv6/ip6_output.c | 42 +++++------
net/ipv6/netfilter/nf_conntrack_reasm.c | 8 +-
net/ipv6/reassembly.c | 8 +-
net/netfilter/ipvs/ip_vs_ctl.c | 3 +
net/sched/sch_netem.c | 3 +
sound/soc/omap/omap-abe-twl6040.c | 67 ++++++++---------
sound/soc/omap/omap-dmic.c | 9 +++
sound/soc/omap/omap-mcpdm.c | 43 ++++++++++-
sound/soc/soc-core.c | 1 +
tools/objtool/elf.c | 19 ++++-
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/netfilter/Makefile | 6 ++
tools/testing/selftests/netfilter/config | 2 +
.../selftests/netfilter/nft_trans_stress.sh | 78 +++++++++++++++++++
52 files changed, 439 insertions(+), 218 deletions(-)
Mr Gleixner,
I was upset when I compiled 4.14.87 found that SCHED_SMT had been
forced on. At the time, I just reported it to my blog, and posted a
question about it to a couple of forums, and stayed with an earlier
kernel.
However, when 4.14.88 came out, and still the same situation, alarm
bells went off, and I looked through the kernel changelog. Found it,
4.14.86:
"x86/Kconfig: Select SCHED_SMT if SMP enabled"
Then:
"CONFIG_SCHED_SMT is enabled by all distros, so there is not a real point to
have it configurable. ..."
...that is a lie. It would be correct to state that is true of the
distros you use, and presumably also for all of you guys who signed
off on it.
Puppy Linux is an example of a distro that has mostly not had
SCHED_SMT enabled. Ditto for most of the forks of Puppy. Two distros
that I currently maintain, Quirky and EasyOS (easyos.org) have SMP
enabled but not SCHED_SMT.
The difference between them is important, they should remain
independently settable. I am so surprised that all of you guys went
along with forcing it on.
For the record, my blog post:
http://bkhome.org/news/201812/kernel-41487-compiled.html
Regards,
Barry Kauler
Now MTD emulated by UBI volumn doesn't allocate wbuf_verify in
jffs2_ubivol_setup(), because UBI can do the verifcation itself,
so when CONFIG_JFFS2_FS_WBUF_VERIFY is enabled and a MTD device
emulated by UBI volumn is used, a Oops will occur as show in the
following trace:
general protection fault: 0000 [#1] SMP KASAN PTI
CPU: 6 PID: 404 Comm: kworker/6:1 Not tainted 4.19.0-rc8
Workqueue: events_long delayed_wbuf_sync
RIP: 0010:ubi_io_read+0x156/0x650
Call Trace:
ubi_eba_read_leb+0x57d/0xba0
ubi_leb_read+0xe5/0x1b0
gluebi_read+0x10c/0x1a0
mtd_read+0x112/0x340
jffs2_verify_write+0xef/0x440
__jffs2_flush_wbuf+0x3fa/0x3540
jffs2_flush_wbuf_gc+0x1b1/0x2e0
process_one_work+0x58b/0x11e0
worker_thread+0x8f/0xfe0
kthread+0x2ae/0x3a0
ret_from_fork+0x35/0x40
Fix the problem by checking the validity of wbuf_verify before
using it in jffs2_verify_write().
Cc: stable(a)vger.kernel.org
Fixes: 0029da3bf430 ("JFFS2: add UBI support")
Signed-off-by: Hou Tao <houtao1(a)huawei.com>
---
fs/jffs2/wbuf.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/fs/jffs2/wbuf.c b/fs/jffs2/wbuf.c
index c6821a509481..3de45f4559d1 100644
--- a/fs/jffs2/wbuf.c
+++ b/fs/jffs2/wbuf.c
@@ -234,6 +234,13 @@ static int jffs2_verify_write(struct jffs2_sb_info *c, unsigned char *buf,
size_t retlen;
char *eccstr;
+ /*
+ * MTD emulated by UBI volume doesn't allocate wbuf_verify,
+ * because it can do the verification itself.
+ */
+ if (!c->wbuf_verify)
+ return 0;
+
ret = mtd_read(c->mtd, ofs, c->wbuf_pagesize, &retlen, c->wbuf_verify);
if (ret && ret != -EUCLEAN && ret != -EBADMSG) {
pr_warn("%s(): Read back of page at %08x failed: %d\n",
--
2.16.2.dirty
commit 1f82de10d6 ("PCI/x86: don't assume prefetchable ranges are
64bit") added probing of bridge support for 64 bit memory
each time bridge is re-enumerated.
Unfortunately this probing is destructive if any device behind
the bridge is in use at this time.
There's no real need to re-probe the bridge features as the
regiters in question never change - detect that using
the memory flag being set and skip the probing.
Avoiding repeated calls to pci_bridge_check_ranges might be even nicer
would be a bigger patch and probably not appropriate on stable.
Reported-by: xuyandong <xuyandong2(a)huawei.com>
Cc: stable(a)vger.kernel.org
Cc: Yinghai Lu <yinghai(a)kernel.org>
Cc: Jesse Barnes <jbarnes(a)virtuousgeek.org>
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
---
This issue has been reported on upstream Linux and Centos.
drivers/pci/setup-bus.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index ed960436df5e..7ab42f76579e 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -741,6 +741,13 @@ static void pci_bridge_check_ranges(struct pci_bus *bus)
struct resource *b_res;
b_res = &bridge->resource[PCI_BRIDGE_RESOURCES];
+
+ /* Don't re-check after this was called once already:
+ * important since bridge might be in use.
+ */
+ if (b_res[1].flags & IORESOURCE_MEM)
+ return;
+
b_res[1].flags |= IORESOURCE_MEM;
pci_read_config_word(bridge, PCI_IO_BASE, &io);
--
MST