This is the start of the stable review cycle for the 4.14.178 release.
There are 117 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, 03 May 2020 13:12:02 +0000.
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.14.178-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.14.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 4.14.178-rc1
Ritesh Harjani <[email protected]>
ext4: check for non-zero journal inum in ext4_calculate_overhead
Yuval Basson <[email protected]>
qed: Fix use after free in qed_chain_free
Colin Ian King <[email protected]>
ext4: unsigned int compared against zero
Theodore Ts'o <[email protected]>
ext4: fix block validity checks for journal inodes using indirect blocks
Theodore Ts'o <[email protected]>
ext4: don't perform block validity checks on the journal inode
Theodore Ts'o <[email protected]>
ext4: protect journal inode's blocks using block_validity
Theodore Ts'o <[email protected]>
ext4: avoid declaring fs inconsistent due to invalid file handles
Sascha Hauer <[email protected]>
hwmon: (jc42) Fix name to have no illegal characters
Frank Rowand <[email protected]>
of: unittest: kmemleak on changeset destroy
Theodore Ts'o <[email protected]>
ext4: convert BUG_ON's to WARN_ON's in mballoc.c
Theodore Ts'o <[email protected]>
ext4: increase wait time needed before reuse of deleted inode numbers
yangerkun <[email protected]>
ext4: use matching invalidatepage in ext4_writepage
Fangrui Song <[email protected]>
arm64: Delete the space separator in __emit_inst
Juergen Gross <[email protected]>
xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status
Josh Poimboeuf <[email protected]>
objtool: Support Clang non-section symbols in ORC dump
Josh Poimboeuf <[email protected]>
objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings
Bodo Stroesser <[email protected]>
scsi: target: fix PR IN / READ FULL STATUS for FC
Darrick J. Wong <[email protected]>
xfs: fix partially uninitialized structure in xfs_reflink_remap_extent
Olaf Hering <[email protected]>
x86: hyperv: report value of misc_features
Luke Nelson <[email protected]>
bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B
Yang Shi <[email protected]>
mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path
Ian Rogers <[email protected]>
perf/core: fix parent pid/tid in task exit events
Nicolas Saenz Julienne <[email protected]>
ARM: dts: bcm283x: Disable dsi0 node
Jason Gunthorpe <[email protected]>
net/cxgb4: Check the return from t4_query_params properly
Wolfram Sang <[email protected]>
i2c: altera: use proper variable to hold errno
Vasily Averin <[email protected]>
nfsd: memory corruption in nfsd4_lock()
YueHaibing <[email protected]>
iio:ad7797: Use correct attribute_group
Nathan Chancellor <[email protected]>
usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete
Thinh Nguyen <[email protected]>
usb: dwc3: gadget: Do link recovery for SS and SSP
Tyler Hicks <[email protected]>
binder: take read mode of mmap_sem in binder_alloc_free_page()
Christian Borntraeger <[email protected]>
include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for swap
Liu Jian <[email protected]>
mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer
Clement Leger <[email protected]>
remoteproc: Fix wrong rvring index computation
kaixuxia <[email protected]>
xfs: Fix deadlock between AGI and AGF with RENAME_WHITEOUT
Darrick J. Wong <[email protected]>
xfs: validate sb_logsunit is a multiple of the fs blocksize
Kazuhiro Fujita <[email protected]>
serial: sh-sci: Make sure status register SCxSR is read in correct sequence
Udipto Goswami <[email protected]>
usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset()
Oliver Neukum <[email protected]>
UAS: fix deadlock in error handling and PM flushing work
Oliver Neukum <[email protected]>
UAS: no use logging any details in case of ENODEV
Oliver Neukum <[email protected]>
cdc-acm: introduce a cool down
Oliver Neukum <[email protected]>
cdc-acm: close race betrween suspend() and acm_softint
Malcolm Priestley <[email protected]>
staging: vt6656: Power save stop wake_up_count wrap around.
Malcolm Priestley <[email protected]>
staging: vt6656: Fix pairwise key entry save.
Malcolm Priestley <[email protected]>
staging: vt6656: Fix drivers TBTT timing counter.
Malcolm Priestley <[email protected]>
staging: vt6656: Fix calling conditions of vnt_set_bss_mode
Malcolm Priestley <[email protected]>
staging: vt6656: Don't set RCR_MULTICAST or RCR_BROADCAST by default.
Nicolas Pitre <[email protected]>
vt: don't hardcode the mem allocation upper bound
Xiyu Yang <[email protected]>
staging: comedi: Fix comedi_device refcnt leak in comedi_open
Ian Abbott <[email protected]>
staging: comedi: dt2815: fix writing hi byte of analog output
Chris Packham <[email protected]>
powerpc/setup_64: Set cache-line-size based on cache-block-size
Ahmad Fatoum <[email protected]>
ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y
Johannes Berg <[email protected]>
iwlwifi: pcie: actually release queue memory in TVQM
Gyeongtaek Lee <[email protected]>
ASoC: dapm: fixup dapm kcontrol widget
Paul Moore <[email protected]>
audit: check the length of userspace generated audit records
Alan Stern <[email protected]>
usb-storage: Add unusual_devs entry for JMicron JMS566
Jiri Slaby <[email protected]>
tty: rocket, avoid OOB access
Andrew Melnychenko <[email protected]>
tty: hvc: fix buffer overflow during hvc_alloc().
Uros Bizjak <[email protected]>
KVM: VMX: Enable machine check support for 32bit targets
Sean Christopherson <[email protected]>
KVM: Check validity of resolved slot when searching memslots
George Wilson <[email protected]>
tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send()
Jarkko Sakkinen <[email protected]>
tpm/tpm_tis: Free IRQ if probing fails
Alexander Tsoy <[email protected]>
ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices
Xiyu Yang <[email protected]>
ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif
Kailang Yang <[email protected]>
ALSA: hda/realtek - Add new codec supported for ALC245
Takashi Iwai <[email protected]>
ALSA: usx2y: Fix potential NULL dereference
Lucas Stach <[email protected]>
tools/vm: fix cross-compile build
Muchun Song <[email protected]>
mm/ksm: fix NULL pointer dereference when KSM zero page is enabled
Longpeng <[email protected]>
mm/hugetlb: fix a addressing exception caused by huge_pte_offset
Jann Horn <[email protected]>
vmalloc: fix remap_vmalloc_range() bounds checks
Jason Gunthorpe <[email protected]>
overflow.h: Add arithmetic shift helper
Alan Stern <[email protected]>
USB: hub: Fix handling of connect changes during sleep
Alan Stern <[email protected]>
USB: core: Fix free-while-in-use bug in the USB S-Glibrary
Jann Horn <[email protected]>
USB: early: Handle AMD's spec-compliant identifiers, too
Jonathan Cox <[email protected]>
USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE
Changming Liu <[email protected]>
USB: sisusbvga: Change port variable from signed to unsigned
Piotr Krysiuk <[email protected]>
fs/namespace.c: fix mountpoint reference counter race
Lars-Peter Clausen <[email protected]>
iio: xilinx-xadc: Fix sequencer configuration for aux channels in simultaneous mode
Lars-Peter Clausen <[email protected]>
iio: xilinx-xadc: Fix clearing interrupt when enabling trigger
Lars-Peter Clausen <[email protected]>
iio: xilinx-xadc: Fix ADC-B powerdown
Olivier Moysan <[email protected]>
iio: adc: stm32-adc: fix sleep in atomic context
Takashi Iwai <[email protected]>
ALSA: hda: Remove ASUS ROG Zenith from the blacklist
Waiman Long <[email protected]>
KEYS: Avoid false positive ENOMEM error on key read
David Ahern <[email protected]>
vrf: Check skb for XFRM_TRANSFORMED flag
David Ahern <[email protected]>
xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish
Florian Fainelli <[email protected]>
net: dsa: b53: Fix ARL register definitions
Taehee Yoo <[email protected]>
team: fix hang in team_mode_get()
Eric Dumazet <[email protected]>
tcp: cache line align MAX_TCP_HEADER
Xiyu Yang <[email protected]>
net/x25: Fix x25_neigh refcnt leak when receiving frame
Xiyu Yang <[email protected]>
net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node
Doug Berger <[email protected]>
net: bcmgenet: correct per TX/RX ring statistics
Taehee Yoo <[email protected]>
macvlan: fix null dereference in macvlan_device_event()
Taehee Yoo <[email protected]>
macsec: avoid to set wrong mtu
John Haxby <[email protected]>
ipv6: fix restrict IPV6_ADDRFORM operation
Rahul Lakkireddy <[email protected]>
cxgb4: fix large delays in PTP synchronization
Vlastimil Babka <[email protected]>
mm, slub: restore the original intention of prefetch_freepointer()
Heiner Kallweit <[email protected]>
PCI/ASPM: Allow re-enabling Clock PM
Jiri Olsa <[email protected]>
perf/core: Disable page faults when getting phys address
Florian Fainelli <[email protected]>
pwm: bcm2835: Dynamically allocate base
Geert Uytterhoeven <[email protected]>
pwm: renesas-tpu: Fix late Runtime PM enablement
Cornelia Huck <[email protected]>
s390/cio: avoid duplicated 'ADD' uevents
Vasily Averin <[email protected]>
ipc/util.c: sysvipc_find_ipc() should increase position index
Eric Biggers <[email protected]>
selftests: kmod: fix handling test numbers above 9
Vasily Averin <[email protected]>
kernel/gcov/fs.c: gcov_seq_next() should increase position index
Hans de Goede <[email protected]>
ASoC: Intel: atom: Take the drv->lock mutex before calling sst_send_slot_map()
Wu Bo <[email protected]>
scsi: iscsi: Report unbind session event when the target has been removed
Geert Uytterhoeven <[email protected]>
pwm: rcar: Fix late Runtime PM enablement
Yan, Zheng <[email protected]>
ceph: don't skip updating wanted caps when cap is stale
Qiujun Huang <[email protected]>
ceph: return ceph_mdsc_do_request() errors from __get_parent()
James Smart <[email protected]>
scsi: lpfc: Fix kasan slab-out-of-bounds error in lpfc_unreg_login
Tero Kristo <[email protected]>
watchdog: reset last_hw_keepalive time at start
Jeremy Sowden <[email protected]>
vti4: removed duplicate log message.
Wei Yongjun <[email protected]>
crypto: mxs-dcp - make symbols 'sha1_null_hash' and 'sha256_null_hash' static
Rob Clark <[email protected]>
drm/msm: Use the correct dma_sync calls harder
David Howells <[email protected]>
keys: Fix the use of the C++ keyword "private" in uapi/linux/keyctl.h
Arnd Bergmann <[email protected]>
net: ipv4: avoid unused variable warning for sysctl
Nicolai Stange <[email protected]>
net: ipv4: emulate READ_ONCE() on ->hdrincl bit-field in raw_sendmsg()
Dmitry Monakhov <[email protected]>
ext4: fix extent_status fragmentation for plain files
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/bcm283x.dtsi | 1 +
arch/arm/mach-imx/Makefile | 2 +
arch/arm64/include/asm/sysreg.h | 4 +-
arch/powerpc/kernel/setup_64.c | 2 +
arch/x86/kernel/cpu/mshyperv.c | 4 +-
arch/x86/kvm/vmx.c | 2 +-
arch/x86/net/bpf_jit_comp.c | 18 ++-
drivers/android/binder_alloc.c | 8 +-
drivers/char/tpm/tpm_ibmvtpm.c | 136 ++++++++++++----------
drivers/char/tpm/tpm_tis_core.c | 8 +-
drivers/crypto/mxs-dcp.c | 4 +-
drivers/gpu/drm/msm/msm_gem.c | 4 +-
drivers/hwmon/jc42.c | 2 +-
drivers/i2c/busses/i2c-altera.c | 9 +-
drivers/iio/adc/ad7793.c | 2 +-
drivers/iio/adc/stm32-adc.c | 31 ++++-
drivers/iio/adc/xilinx-xadc-core.c | 17 ++-
drivers/mtd/chips/cfi_cmdset_0002.c | 6 +-
drivers/net/dsa/b53/b53_regs.h | 4 +-
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 3 +
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c | 27 +----
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 2 +-
drivers/net/ethernet/chelsio/cxgb4/t4_regs.h | 3 +
drivers/net/ethernet/qlogic/qed/qed_dev.c | 38 +++---
drivers/net/macsec.c | 12 +-
drivers/net/macvlan.c | 2 +-
drivers/net/team/team.c | 4 +
drivers/net/vrf.c | 6 +-
drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c | 3 +
drivers/of/unittest.c | 4 +
drivers/pci/pcie/aspm.c | 18 +--
drivers/pwm/pwm-bcm2835.c | 1 +
drivers/pwm/pwm-rcar.c | 10 +-
drivers/pwm/pwm-renesas-tpu.c | 9 +-
drivers/remoteproc/remoteproc_core.c | 2 +-
drivers/s390/cio/device.c | 13 ++-
drivers/scsi/lpfc/lpfc_sli.c | 2 +
drivers/scsi/scsi_transport_iscsi.c | 4 +-
drivers/staging/comedi/comedi_fops.c | 4 +-
drivers/staging/comedi/drivers/dt2815.c | 3 +
drivers/staging/vt6656/int.c | 3 +-
drivers/staging/vt6656/key.c | 14 +--
drivers/staging/vt6656/main_usb.c | 31 ++---
drivers/target/target_core_fabric_lib.c | 2 +-
drivers/tty/hvc/hvc_console.c | 23 ++--
drivers/tty/rocket.c | 25 ++--
drivers/tty/serial/sh-sci.c | 13 ++-
drivers/tty/vt/vt.c | 2 +-
drivers/usb/class/cdc-acm.c | 36 +++++-
drivers/usb/class/cdc-acm.h | 5 +-
drivers/usb/core/hub.c | 14 +++
drivers/usb/core/message.c | 9 +-
drivers/usb/core/quirks.c | 4 +
drivers/usb/dwc3/gadget.c | 8 +-
drivers/usb/early/xhci-dbc.c | 8 +-
drivers/usb/early/xhci-dbc.h | 18 ++-
drivers/usb/gadget/function/f_fs.c | 4 +
drivers/usb/gadget/udc/bdc/bdc_ep.c | 2 +-
drivers/usb/misc/sisusbvga/sisusb.c | 20 ++--
drivers/usb/misc/sisusbvga/sisusb_init.h | 14 +--
drivers/usb/storage/uas.c | 46 +++++++-
drivers/usb/storage/unusual_devs.h | 7 ++
drivers/watchdog/watchdog_dev.c | 1 +
drivers/xen/xenbus/xenbus_client.c | 9 +-
fs/ceph/caps.c | 8 +-
fs/ceph/export.c | 5 +
fs/ext4/block_validity.c | 54 +++++++++
fs/ext4/ext4.h | 15 ++-
fs/ext4/extents.c | 59 ++++++----
fs/ext4/ialloc.c | 4 +-
fs/ext4/inode.c | 55 ++++++---
fs/ext4/ioctl.c | 2 +-
fs/ext4/mballoc.c | 6 +-
fs/ext4/namei.c | 4 +-
fs/ext4/resize.c | 5 +-
fs/ext4/super.c | 22 ++--
fs/ext4/xattr.c | 5 +-
fs/namespace.c | 2 +-
fs/nfsd/nfs4state.c | 2 +
fs/proc/vmcore.c | 2 +-
fs/xfs/xfs_inode.c | 85 +++++++-------
fs/xfs/xfs_log.c | 14 ++-
fs/xfs/xfs_reflink.c | 1 +
include/linux/kvm_host.h | 2 +-
include/linux/overflow.h | 31 +++++
include/linux/qed/qed_chain.h | 24 ++--
include/linux/vmalloc.h | 2 +-
include/net/tcp.h | 2 +-
include/uapi/linux/keyctl.h | 7 +-
include/uapi/linux/swab.h | 4 +-
ipc/util.c | 2 +-
kernel/audit.c | 3 +
kernel/events/core.c | 22 +++-
kernel/gcov/fs.c | 2 +-
mm/hugetlb.c | 14 ++-
mm/ksm.c | 12 +-
mm/shmem.c | 4 +-
mm/slub.c | 3 +-
mm/vmalloc.c | 16 ++-
net/ipv4/ip_vti.c | 4 +-
net/ipv4/raw.c | 4 +-
net/ipv4/route.c | 3 +-
net/ipv4/xfrm4_output.c | 2 -
net/ipv6/ipv6_sockglue.c | 13 +--
net/ipv6/xfrm6_output.c | 2 -
net/netrom/nr_route.c | 1 +
net/x25/x25_dev.c | 4 +-
security/keys/internal.h | 12 ++
security/keys/keyctl.c | 58 ++++++---
sound/pci/hda/hda_intel.c | 1 -
sound/pci/hda/patch_realtek.c | 3 +
sound/soc/intel/atom/sst-atom-controls.c | 2 +
sound/soc/soc-dapm.c | 20 +++-
sound/usb/format.c | 52 +++++++++
sound/usb/mixer_quirks.c | 12 +-
sound/usb/usx2y/usbusx2yaudio.c | 2 +
tools/objtool/check.c | 17 ++-
tools/objtool/orc_dump.c | 44 ++++---
tools/testing/selftests/kmod/kmod.sh | 13 ++-
tools/vm/Makefile | 2 +
121 files changed, 1047 insertions(+), 480 deletions(-)
From: Geert Uytterhoeven <[email protected]>
[ Upstream commit d5a3c7a4536e1329a758e14340efd0e65252bd3d ]
Runtime PM should be enabled before calling pwmchip_add(), as PWM users
can appear immediately after the PWM chip has been added.
Likewise, Runtime PM should always be disabled after the removal of the
PWM chip, even if the latter failed.
Fixes: 99b82abb0a35b073 ("pwm: Add Renesas TPU PWM driver")
Signed-off-by: Geert Uytterhoeven <[email protected]>
Signed-off-by: Thierry Reding <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/pwm/pwm-renesas-tpu.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/pwm/pwm-renesas-tpu.c b/drivers/pwm/pwm-renesas-tpu.c
index 29267d12fb4c9..9c7962f2f0aa4 100644
--- a/drivers/pwm/pwm-renesas-tpu.c
+++ b/drivers/pwm/pwm-renesas-tpu.c
@@ -423,16 +423,17 @@ static int tpu_probe(struct platform_device *pdev)
tpu->chip.base = -1;
tpu->chip.npwm = TPU_CHANNEL_MAX;
+ pm_runtime_enable(&pdev->dev);
+
ret = pwmchip_add(&tpu->chip);
if (ret < 0) {
dev_err(&pdev->dev, "failed to register PWM chip\n");
+ pm_runtime_disable(&pdev->dev);
return ret;
}
dev_info(&pdev->dev, "TPU PWM %d registered\n", tpu->pdev->id);
- pm_runtime_enable(&pdev->dev);
-
return 0;
}
@@ -442,12 +443,10 @@ static int tpu_remove(struct platform_device *pdev)
int ret;
ret = pwmchip_remove(&tpu->chip);
- if (ret)
- return ret;
pm_runtime_disable(&pdev->dev);
- return 0;
+ return ret;
}
#ifdef CONFIG_OF
--
2.20.1
From: Eric Dumazet <[email protected]>
[ Upstream commit 9bacd256f1354883d3c1402655153367982bba49 ]
TCP stack is dumb in how it cooks its output packets.
Depending on MAX_HEADER value, we might chose a bad ending point
for the headers.
If we align the end of TCP headers to cache line boundary, we
make sure to always use the smallest number of cache lines,
which always help.
Signed-off-by: Eric Dumazet <[email protected]>
Cc: Soheil Hassas Yeganeh <[email protected]>
Acked-by: Soheil Hassas Yeganeh <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
include/net/tcp.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -55,7 +55,7 @@ extern struct inet_hashinfo tcp_hashinfo
extern struct percpu_counter tcp_orphan_count;
void tcp_time_wait(struct sock *sk, int state, int timeo);
-#define MAX_TCP_HEADER (128 + MAX_HEADER)
+#define MAX_TCP_HEADER L1_CACHE_ALIGN(128 + MAX_HEADER)
#define MAX_TCP_OPTION_SPACE 40
#define TCP_MIN_SND_MSS 48
#define TCP_MIN_GSO_SIZE (TCP_MIN_SND_MSS - MAX_TCP_OPTION_SPACE)
From: Lars-Peter Clausen <[email protected]>
commit f954b098fbac4d183219ce5b42d76d6df2aed50a upstream.
When enabling the trigger and unmasking the end-of-sequence (EOS) interrupt
the EOS interrupt should be cleared from the status register. Otherwise it
is possible that it was still set from a previous capture. If that is the
case the interrupt would fire immediately even though no conversion has
been done yet and stale data is being read from the device.
The old code only clears the interrupt if the interrupt was previously
unmasked. Which does not make much sense since the interrupt is always
masked at this point and in addition masking the interrupt does not clear
the interrupt from the status register. So the clearing needs to be done
unconditionally.
Signed-off-by: Lars-Peter Clausen <[email protected]>
Fixes: bdc8cda1d010 ("iio:adc: Add Xilinx XADC driver")
Cc: <[email protected]>
Signed-off-by: Jonathan Cameron <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/iio/adc/xilinx-xadc-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/iio/adc/xilinx-xadc-core.c
+++ b/drivers/iio/adc/xilinx-xadc-core.c
@@ -660,7 +660,7 @@ static int xadc_trigger_set_state(struct
spin_lock_irqsave(&xadc->lock, flags);
xadc_read_reg(xadc, XADC_AXI_REG_IPIER, &val);
- xadc_write_reg(xadc, XADC_AXI_REG_IPISR, val & XADC_AXI_INT_EOS);
+ xadc_write_reg(xadc, XADC_AXI_REG_IPISR, XADC_AXI_INT_EOS);
if (state)
val |= XADC_AXI_INT_EOS;
else
From: John Haxby <[email protected]>
[ Upstream commit 82c9ae440857840c56e05d4fb1427ee032531346 ]
Commit b6f6118901d1 ("ipv6: restrict IPV6_ADDRFORM operation") fixed a
problem found by syzbot an unfortunate logic error meant that it
also broke IPV6_ADDRFORM.
Rearrange the checks so that the earlier test is just one of the series
of checks made before moving the socket from IPv6 to IPv4.
Fixes: b6f6118901d1 ("ipv6: restrict IPV6_ADDRFORM operation")
Signed-off-by: John Haxby <[email protected]>
Cc: [email protected]
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
net/ipv6/ipv6_sockglue.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
--- a/net/ipv6/ipv6_sockglue.c
+++ b/net/ipv6/ipv6_sockglue.c
@@ -185,15 +185,14 @@ static int do_ipv6_setsockopt(struct soc
retv = -EBUSY;
break;
}
- } else if (sk->sk_protocol == IPPROTO_TCP) {
- if (sk->sk_prot != &tcpv6_prot) {
- retv = -EBUSY;
- break;
- }
- break;
- } else {
+ }
+ if (sk->sk_protocol == IPPROTO_TCP &&
+ sk->sk_prot != &tcpv6_prot) {
+ retv = -EBUSY;
break;
}
+ if (sk->sk_protocol != IPPROTO_TCP)
+ break;
if (sk->sk_state != TCP_ESTABLISHED) {
retv = -ENOTCONN;
break;
From: Rahul Lakkireddy <[email protected]>
[ Upstream commit bd019427bf3623ee3c7d2845cf921bbf4c14846c ]
Fetching PTP sync information from mailbox is slow and can take
up to 10 milliseconds. Reduce this unnecessary delay by directly
reading the information from the corresponding registers.
Fixes: 9c33e4208bce ("cxgb4: Add PTP Hardware Clock (PHC) support")
Signed-off-by: Manoj Malviya <[email protected]>
Signed-off-by: Rahul Lakkireddy <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c | 27 +++++--------------------
drivers/net/ethernet/chelsio/cxgb4/t4_regs.h | 3 ++
2 files changed, 9 insertions(+), 21 deletions(-)
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.c
@@ -311,32 +311,17 @@ static int cxgb4_ptp_adjtime(struct ptp_
*/
static int cxgb4_ptp_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts)
{
- struct adapter *adapter = (struct adapter *)container_of(ptp,
- struct adapter, ptp_clock_info);
- struct fw_ptp_cmd c;
+ struct adapter *adapter = container_of(ptp, struct adapter,
+ ptp_clock_info);
u64 ns;
- int err;
- memset(&c, 0, sizeof(c));
- c.op_to_portid = cpu_to_be32(FW_CMD_OP_V(FW_PTP_CMD) |
- FW_CMD_REQUEST_F |
- FW_CMD_READ_F |
- FW_PTP_CMD_PORTID_V(0));
- c.retval_len16 = cpu_to_be32(FW_CMD_LEN16_V(sizeof(c) / 16));
- c.u.ts.sc = FW_PTP_SC_GET_TIME;
-
- err = t4_wr_mbox(adapter, adapter->mbox, &c, sizeof(c), &c);
- if (err < 0) {
- dev_err(adapter->pdev_dev,
- "PTP: %s error %d\n", __func__, -err);
- return err;
- }
+ ns = t4_read_reg(adapter, T5_PORT_REG(0, MAC_PORT_PTP_SUM_LO_A));
+ ns |= (u64)t4_read_reg(adapter,
+ T5_PORT_REG(0, MAC_PORT_PTP_SUM_HI_A)) << 32;
/* convert to timespec*/
- ns = be64_to_cpu(c.u.ts.tm);
*ts = ns_to_timespec64(ns);
-
- return err;
+ return 0;
}
/**
--- a/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
+++ b/drivers/net/ethernet/chelsio/cxgb4/t4_regs.h
@@ -1810,6 +1810,9 @@
#define MAC_PORT_CFG2_A 0x818
+#define MAC_PORT_PTP_SUM_LO_A 0x990
+#define MAC_PORT_PTP_SUM_HI_A 0x994
+
#define MPS_CMN_CTL_A 0x9000
#define COUNTPAUSEMCRX_S 5
From: Doug Berger <[email protected]>
[ Upstream commit a6d0b83f25073bdf08b8547aeff961a62c6ab229 ]
The change to track net_device_stats per ring to better support SMP
missed updating the rx_dropped member.
The ndo_get_stats method is also needed to combine the results for
ethtool statistics (-S) before filling in the ethtool structure.
Fixes: 37a30b435b92 ("net: bcmgenet: Track per TX/RX rings statistics")
Signed-off-by: Doug Berger <[email protected]>
Acked-by: Florian Fainelli <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 3 +++
1 file changed, 3 insertions(+)
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -973,6 +973,8 @@ static void bcmgenet_get_ethtool_stats(s
if (netif_running(dev))
bcmgenet_update_mib_counters(priv);
+ dev->netdev_ops->ndo_get_stats(dev);
+
for (i = 0; i < BCMGENET_STATS_LEN; i++) {
const struct bcmgenet_stats *s;
char *p;
@@ -3215,6 +3217,7 @@ static struct net_device_stats *bcmgenet
dev->stats.rx_packets = rx_packets;
dev->stats.rx_errors = rx_errors;
dev->stats.rx_missed_errors = rx_errors;
+ dev->stats.rx_dropped = rx_dropped;
return &dev->stats;
}
From: James Smart <[email protected]>
[ Upstream commit 38503943c89f0bafd9e3742f63f872301d44cbea ]
The following kasan bug was called out:
BUG: KASAN: slab-out-of-bounds in lpfc_unreg_login+0x7c/0xc0 [lpfc]
Read of size 2 at addr ffff889fc7c50a22 by task lpfc_worker_3/6676
...
Call Trace:
dump_stack+0x96/0xe0
? lpfc_unreg_login+0x7c/0xc0 [lpfc]
print_address_description.constprop.6+0x1b/0x220
? lpfc_unreg_login+0x7c/0xc0 [lpfc]
? lpfc_unreg_login+0x7c/0xc0 [lpfc]
__kasan_report.cold.9+0x37/0x7c
? lpfc_unreg_login+0x7c/0xc0 [lpfc]
kasan_report+0xe/0x20
lpfc_unreg_login+0x7c/0xc0 [lpfc]
lpfc_sli_def_mbox_cmpl+0x334/0x430 [lpfc]
...
When processing the completion of a "Reg Rpi" login mailbox command in
lpfc_sli_def_mbox_cmpl, a call may be made to lpfc_unreg_login. The vpi is
extracted from the completing mailbox context and passed as an input for
the next. However, the vpi stored in the mailbox command context is an
absolute vpi, which for SLI4 represents both base + offset. When used with
a non-zero base component, (function id > 0) this results in an
out-of-range access beyond the allocated phba->vpi_ids array.
Fix by subtracting the function's base value to get an accurate vpi number.
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: James Smart <[email protected]>
Signed-off-by: Dick Kennedy <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/scsi/lpfc/lpfc_sli.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index d8e0ba68879c3..480d2d467f7a6 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -2271,6 +2271,8 @@ lpfc_sli_def_mbox_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb)
!pmb->u.mb.mbxStatus) {
rpi = pmb->u.mb.un.varWords[0];
vpi = pmb->u.mb.un.varRegLogin.vpi;
+ if (phba->sli_rev == LPFC_SLI_REV4)
+ vpi -= phba->sli4_hba.max_cfg_param.vpi_base;
lpfc_unreg_login(phba, vpi, rpi, pmb);
pmb->vport = vport;
pmb->mbox_cmpl = lpfc_sli_def_mbox_cmpl;
--
2.20.1
From: Tero Kristo <[email protected]>
[ Upstream commit 982bb70517aef2225bad1d802887b733db492cc0 ]
Currently the watchdog core does not initialize the last_hw_keepalive
time during watchdog startup. This will cause the watchdog to be pinged
immediately if enough time has passed from the system boot-up time, and
some types of watchdogs like K3 RTI does not like this.
To avoid the issue, setup the last_hw_keepalive time during watchdog
startup.
Signed-off-by: Tero Kristo <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Guenter Roeck <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/watchdog/watchdog_dev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c
index b30fb637ae947..52e03f1c76e38 100644
--- a/drivers/watchdog/watchdog_dev.c
+++ b/drivers/watchdog/watchdog_dev.c
@@ -245,6 +245,7 @@ static int watchdog_start(struct watchdog_device *wdd)
if (err == 0) {
set_bit(WDOG_ACTIVE, &wdd->status);
wd_data->last_keepalive = started_at;
+ wd_data->last_hw_keepalive = started_at;
watchdog_update_worker(wdd);
}
--
2.20.1
From: Rob Clark <[email protected]>
commit 9f614197c744002f9968e82c649fdf7fe778e1e7 upstream.
Looks like the dma_sync calls don't do what we want on armv7 either.
Fixes:
Unable to handle kernel paging request at virtual address 50001000
pgd = (ptrval)
[50001000] *pgd=00000000
Internal error: Oops: 805 [#1] SMP ARM
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.3.0-rc6-00271-g9f159ae07f07 #4
Hardware name: Freescale i.MX53 (Device Tree Support)
PC is at v7_dma_clean_range+0x20/0x38
LR is at __dma_page_cpu_to_dev+0x28/0x90
pc : [<c011c76c>] lr : [<c01181c4>] psr: 20000013
sp : d80b5a88 ip : de96c000 fp : d840ce6c
r10: 00000000 r9 : 00000001 r8 : d843e010
r7 : 00000000 r6 : 00008000 r5 : ddb6c000 r4 : 00000000
r3 : 0000003f r2 : 00000040 r1 : 50008000 r0 : 50001000
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
Control: 10c5387d Table: 70004019 DAC: 00000051
Process swapper/0 (pid: 1, stack limit = 0x(ptrval))
Signed-off-by: Rob Clark <[email protected]>
Fixes: 3de433c5b38a ("drm/msm: Use the correct dma_sync calls in msm_gem")
Tested-by: Fabio Estevam <[email protected]>
Cc: Guenter Roeck <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/gpu/drm/msm/msm_gem.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/gpu/drm/msm/msm_gem.c
+++ b/drivers/gpu/drm/msm/msm_gem.c
@@ -61,7 +61,7 @@ static void sync_for_device(struct msm_g
{
struct device *dev = msm_obj->base.dev->dev;
- if (get_dma_ops(dev)) {
+ if (get_dma_ops(dev) && IS_ENABLED(CONFIG_ARM64)) {
dma_sync_sg_for_device(dev, msm_obj->sgt->sgl,
msm_obj->sgt->nents, DMA_BIDIRECTIONAL);
} else {
@@ -74,7 +74,7 @@ static void sync_for_cpu(struct msm_gem_
{
struct device *dev = msm_obj->base.dev->dev;
- if (get_dma_ops(dev)) {
+ if (get_dma_ops(dev) && IS_ENABLED(CONFIG_ARM64)) {
dma_sync_sg_for_cpu(dev, msm_obj->sgt->sgl,
msm_obj->sgt->nents, DMA_BIDIRECTIONAL);
} else {
On 01/05/2020 14:20, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.178 release.
> There are 117 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, 03 May 2020 13:12:02 +0000.
> 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.14.178-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.14.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
All tests are passing for Tegra ...
Test results for stable-v4.14:
8 builds: 8 pass, 0 fail
16 boots: 16 pass, 0 fail
24 tests: 24 pass, 0 fail
Linux version: 4.14.178-rc1-gb24d32661fe1
Boards tested: tegra124-jetson-tk1, tegra20-ventana,
tegra210-p2371-2180, tegra30-cardhu-a04
Cheers
Jon
--
nvpublic
On Fri, May 01, 2020 at 03:20:36PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.178 release.
> There are 117 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, 03 May 2020 13:12:02 +0000.
> Anything received after that time might be too late.
>
Build results:
total: 171 pass: 171 fail: 0
Qemu test results:
total: 405 pass: 394 fail: 11
Failed tests:
ppc64:mac99:ppc64_book3s_defconfig:smp:initrd
ppc64:mac99:ppc64_book3s_defconfig:smp:ide:rootfs
ppc64:mac99:ppc64_book3s_defconfig:smp:sdhci:mmc:rootfs
ppc64:mac99:ppc64_book3s_defconfig:smp:nvme:rootfs
ppc64:mac99:ppc64_book3s_defconfig:smp:scsi[DC395]:rootfs
ppc64:pseries:pseries_defconfig:initrd
ppc64:pseries:pseries_defconfig:scsi:rootfs
ppc64:pseries:pseries_defconfig:usb:rootfs
ppc64:pseries:pseries_defconfig:sdhci:mmc:rootfs
ppc64:pseries:pseries_defconfig:nvme:rootfs
ppc64:pseries:pseries_defconfig:sata-sii3112:rootfs
Again, please drop "of: unittest: kmemleak on changeset destroy".
Guenter
On Fri, 1 May 2020 at 19:01, Greg Kroah-Hartman
<[email protected]> wrote:
>
> This is the start of the stable review cycle for the 4.14.178 release.
> There are 117 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, 03 May 2020 13:12:02 +0000.
> 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.14.178-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.14.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.
Summary
------------------------------------------------------------------------
kernel: 4.14.178-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-4.14.y
git commit: b24d32661fe15b71ca1f5f6913749d2c8be9e0ae
git describe: v4.14.177-118-gb24d32661fe1
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-4.14-oe/build/v4.14.177-118-gb24d32661fe1
No regressions (compared to build v4.14.177)
No fixes (compared to build v4.14.177)
Ran 26220 total tests in the following environments and test suites.
Environments
--------------
- dragonboard-410c - arm64
- hi6220-hikey - arm64
- i386
- juno-r2 - arm64
- juno-r2-compat
- juno-r2-kasan
- qemu_arm
- qemu_arm64
- qemu_i386
- qemu_x86_64
- x15 - arm
- x86_64
- x86-kasan
Test Suites
-----------
* build
* install-android-platform-tools-r2600
* install-android-platform-tools-r2800
* kselftest
* kselftest/drivers
* kselftest/filesystems
* kselftest/net
* kselftest/networking
* linux-log-parser
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-cpuhotplug-tests
* ltp-crypto-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-sched-tests
* perf
* v4l2-compliance
* libhugetlbfs
* ltp-nptl-tests
* ltp-pty-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* network-basic-tests
* ltp-cve-tests
* ltp-open-posix-tests
* kvm-unit-tests
* kselftest-vsyscall-mode-native
* kselftest-vsyscall-mode-native/drivers
* kselftest-vsyscall-mode-native/filesystems
* kselftest-vsyscall-mode-native/net
* kselftest-vsyscall-mode-native/networking
* kselftest-vsyscall-mode-none
* kselftest-vsyscall-mode-none/drivers
* kselftest-vsyscall-mode-none/filesystems
* kselftest-vsyscall-mode-none/net
* kselftest-vsyscall-mode-none/networking
--
Linaro LKFT
https://lkft.linaro.org
On Fri, May 01, 2020 at 02:59:36PM -0700, Guenter Roeck wrote:
> On Fri, May 01, 2020 at 03:20:36PM +0200, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 4.14.178 release.
> > There are 117 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, 03 May 2020 13:12:02 +0000.
> > Anything received after that time might be too late.
> >
> Build results:
> total: 171 pass: 171 fail: 0
> Qemu test results:
> total: 405 pass: 394 fail: 11
> Failed tests:
> ppc64:mac99:ppc64_book3s_defconfig:smp:initrd
> ppc64:mac99:ppc64_book3s_defconfig:smp:ide:rootfs
> ppc64:mac99:ppc64_book3s_defconfig:smp:sdhci:mmc:rootfs
> ppc64:mac99:ppc64_book3s_defconfig:smp:nvme:rootfs
> ppc64:mac99:ppc64_book3s_defconfig:smp:scsi[DC395]:rootfs
> ppc64:pseries:pseries_defconfig:initrd
> ppc64:pseries:pseries_defconfig:scsi:rootfs
> ppc64:pseries:pseries_defconfig:usb:rootfs
> ppc64:pseries:pseries_defconfig:sdhci:mmc:rootfs
> ppc64:pseries:pseries_defconfig:nvme:rootfs
> ppc64:pseries:pseries_defconfig:sata-sii3112:rootfs
>
> Again, please drop "of: unittest: kmemleak on changeset destroy".
Now dropped from all trees, thanks.
greg k-h
On 5/1/20 7:20 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.14.178 release.
> There are 117 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, 03 May 2020 13:12:02 +0000.
> 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.14.178-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.14.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah