This is the start of the stable review cycle for the 4.19.318 release.
There are 65 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 Fri, 19 Jul 2024 06:37:32 +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.19.318-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.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.19.318-rc2
Wolfram Sang <wsa+renesas(a)sang-engineering.com>
i2c: rcar: bring hardware to known state when probing
Ryusuke Konishi <konishi.ryusuke(a)gmail.com>
nilfs2: fix kernel bug on rename operation of broken directory
felix <fuzhen5(a)huawei.com>
SUNRPC: Fix RPC client cleaned up the freed pipefs dentries
Eric Dumazet <edumazet(a)google.com>
tcp: avoid too many retransmit packets
Eric Dumazet <edumazet(a)google.com>
tcp: use signed arithmetic in tcp_rtx_probe0_timed_out()
Menglong Dong <imagedong(a)tencent.com>
net: tcp: fix unexcepted socket die when snd_wnd is 0
Eric Dumazet <edumazet(a)google.com>
tcp: refactor tcp_retransmit_timer()
Ilya Dryomov <idryomov(a)gmail.com>
libceph: fix race between delayed_work() and ceph_monc_stop()
He Zhe <zhe.he(a)windriver.com>
hpet: Support 32-bit userspace
Alan Stern <stern(a)rowland.harvard.edu>
USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor
Lee Jones <lee(a)kernel.org>
usb: gadget: configfs: Prevent OOB read/write in usb_string_copy()
WangYuli <wangyuli(a)uniontech.com>
USB: Add USB_QUIRK_NO_SET_INTF quirk for START BP-850k
Vanillan Wang <vanillanwang(a)163.com>
USB: serial: option: add Rolling RW350-GL variants
Mank Wang <mank.wang(a)netprisma.us>
USB: serial: option: add Netprisma LCUK54 series modules
Slark Xiao <slark_xiao(a)163.com>
USB: serial: option: add support for Foxconn T99W651
Bjørn Mork <bjorn(a)mork.no>
USB: serial: option: add Fibocom FM350-GL
Daniele Palmas <dnlplm(a)gmail.com>
USB: serial: option: add Telit FN912 rmnet compositions
Daniele Palmas <dnlplm(a)gmail.com>
USB: serial: option: add Telit generic core-dump composition
Chen Ni <nichen(a)iscas.ac.cn>
ARM: davinci: Convert comma to semicolon
Dmitry Antipov <dmantipov(a)yandex.ru>
ppp: reject claimed-as-LCP but actually malformed packets
Aleksander Jan Bajkowski <olek2(a)wp.pl>
net: ethernet: lantiq_etop: fix double free in detach
Aleksander Jan Bajkowski <olek2(a)wp.pl>
net: lantiq_etop: add blank line after declaration
Neal Cardwell <ncardwell(a)google.com>
tcp: fix incorrect undo caused by DSACK of TLP retransmit
Daniele Ceraolo Spurio <daniele.ceraolospurio(a)intel.com>
drm/i915: make find_fw_domain work on intel_uncore
Ryusuke Konishi <konishi.ryusuke(a)gmail.com>
nilfs2: fix incorrect inode allocation from reserved inodes
Piotr Wojtaszczyk <piotr.wojtaszczyk(a)timesys.com>
i2c: pnx: Fix potential deadlock warning from del_timer_sync() call in isr
Mauro Carvalho Chehab <mchehab(a)kernel.org>
media: dw2102: fix a potential buffer overflow
Ghadi Elie Rahme <ghadi.rahme(a)canonical.com>
bnx2x: Fix multiple UBSAN array-index-out-of-bounds
Alex Deucher <alexander.deucher(a)amd.com>
drm/amdgpu/atomfirmware: silence UBSAN warning
Ma Ke <make24(a)iscas.ac.cn>
drm/nouveau: fix null pointer dereference in nouveau_connector_get_modes
Jan Kara <jack(a)suse.cz>
Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again"
Jan Kara <jack(a)suse.cz>
fsnotify: Do not generate events for O_PATH file descriptors
Jimmy Assarsson <extja(a)kvaser.com>
can: kvaser_usb: Explicitly initialize family in leafimx driver_info struct
Jaganath Kanakkassery <jaganath.k.os(a)gmail.com>
Bluetooth: Fix incorrect pointer arithmatic in ext_adv_report_evt
Jinliang Zheng <alexjlzheng(a)tencent.com>
mm: optimize the redundant loop of mm_update_owner_next()
Ryusuke Konishi <konishi.ryusuke(a)gmail.com>
nilfs2: add missing check for inode numbers on directory entries
Ryusuke Konishi <konishi.ryusuke(a)gmail.com>
nilfs2: fix inode number range checks
Shigeru Yoshida <syoshida(a)redhat.com>
inet_diag: Initialize pad field in struct inet_diag_req_v2
Zijian Zhang <zijianzhang(a)bytedance.com>
selftests: make order checking verbose in msg_zerocopy selftest
Zijian Zhang <zijianzhang(a)bytedance.com>
selftests: fix OOM in msg_zerocopy selftest
Sam Sun <samsun1006219(a)gmail.com>
bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set()
Jakub Kicinski <kuba(a)kernel.org>
tcp_metrics: validate source addr length
Neal Cardwell <ncardwell(a)google.com>
UPSTREAM: tcp: fix DSACK undo in fast recovery to call tcp_try_to_open()
Yuchung Cheng <ycheng(a)google.com>
net: tcp better handling of reordering then loss cases
Yousuk Seung <ysseung(a)google.com>
tcp: add ece_ack flag to reno sack functions
zhang kai <zhangkaiheb(a)126.com>
tcp: tcp_mark_head_lost is only valid for sack-tcp
Eric Dumazet <edumazet(a)google.com>
tcp: take care of compressed acks in tcp_add_reno_sack()
Holger Dengler <dengler(a)linux.ibm.com>
s390/pkey: Wipe sensitive data on failure
Wang Yong <wang.yong12(a)zte.com.cn>
jffs2: Fix potential illegal address access in jffs2_free_inode
Greg Kurz <groug(a)kaod.org>
powerpc/xmon: Check cpu id in commands "c#", "dp#" and "dx#"
Mike Marshall <hubcap(a)omnibond.com>
orangefs: fix out-of-bounds fsid access
Michael Ellerman <mpe(a)ellerman.id.au>
powerpc/64: Set _IO_BASE to POISON_POINTER_DELTA not 0 for CONFIG_PCI=n
Heiner Kallweit <hkallweit1(a)gmail.com>
i2c: i801: Annotate apanel_addr as __ro_after_init
Ricardo Ribalda <ribalda(a)chromium.org>
media: dvb-frontends: tda10048: Fix integer overflow
Ricardo Ribalda <ribalda(a)chromium.org>
media: s2255: Use refcount_t instead of atomic_t for num_channels
Ricardo Ribalda <ribalda(a)chromium.org>
media: dvb-frontends: tda18271c2dd: Remove casting during div
Simon Horman <horms(a)kernel.org>
net: dsa: mv88e6xxx: Correct check for empty list
Erick Archer <erick.archer(a)outlook.com>
Input: ff-core - prefer struct_size over open coded arithmetic
Jean Delvare <jdelvare(a)suse.de>
firmware: dmi: Stop decoding on broken entry
Erick Archer <erick.archer(a)outlook.com>
sctp: prefer struct_size over open coded arithmetic
Michael Bunk <micha(a)freedict.org>
media: dw2102: Don't translate i2c read into write
Alex Hung <alex.hung(a)amd.com>
drm/amd/display: Skip finding free audio for unknown engine_id
Michael Guralnik <michaelgur(a)nvidia.com>
IB/core: Implement a limit on UMAD receive List
Ricardo Ribalda <ribalda(a)chromium.org>
media: dvb-usb: dib0700_devices: Add missing release_firmware()
Ricardo Ribalda <ribalda(a)chromium.org>
media: dvb: as102-fe: Fix as10x_register_addr packing
-------------
Diffstat:
Makefile | 4 +-
arch/arm/mach-davinci/pm.c | 2 +-
arch/powerpc/include/asm/io.h | 2 +-
arch/powerpc/xmon/xmon.c | 6 +-
drivers/char/hpet.c | 34 ++++-
drivers/firmware/dmi_scan.c | 11 ++
drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 3 +
drivers/gpu/drm/amd/include/atomfirmware.h | 2 +-
drivers/gpu/drm/i915/intel_uncore.c | 20 +--
drivers/gpu/drm/nouveau/nouveau_connector.c | 3 +
drivers/i2c/busses/i2c-i801.c | 2 +-
drivers/i2c/busses/i2c-pnx.c | 48 ++-----
drivers/i2c/busses/i2c-rcar.c | 17 ++-
drivers/infiniband/core/user_mad.c | 21 ++-
drivers/input/ff-core.c | 7 +-
drivers/media/dvb-frontends/as102_fe_types.h | 2 +-
drivers/media/dvb-frontends/tda10048.c | 9 +-
drivers/media/dvb-frontends/tda18271c2dd.c | 4 +-
drivers/media/usb/dvb-usb/dib0700_devices.c | 18 ++-
drivers/media/usb/dvb-usb/dw2102.c | 120 +++++++++-------
drivers/media/usb/s2255/s2255drv.c | 20 +--
drivers/net/bonding/bond_options.c | 6 +-
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c | 1 +
drivers/net/dsa/mv88e6xxx/chip.c | 4 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 2 +-
drivers/net/ethernet/lantiq_etop.c | 5 +-
drivers/net/ppp/ppp_generic.c | 15 ++
drivers/s390/crypto/pkey_api.c | 4 +-
drivers/usb/core/config.c | 18 ++-
drivers/usb/core/quirks.c | 3 +
drivers/usb/gadget/configfs.c | 3 +
drivers/usb/serial/option.c | 38 ++++++
fs/jffs2/super.c | 1 +
fs/nilfs2/alloc.c | 18 ++-
fs/nilfs2/alloc.h | 4 +-
fs/nilfs2/dat.c | 2 +-
fs/nilfs2/dir.c | 38 +++++-
fs/nilfs2/ifile.c | 7 +-
fs/nilfs2/nilfs.h | 10 +-
fs/nilfs2/the_nilfs.c | 6 +
fs/nilfs2/the_nilfs.h | 2 +-
fs/orangefs/super.c | 3 +-
include/linux/fsnotify.h | 8 +-
include/linux/sunrpc/clnt.h | 1 +
kernel/exit.c | 2 +
mm/page-writeback.c | 2 +-
net/bluetooth/hci_event.c | 2 +-
net/ceph/mon_client.c | 14 +-
net/ipv4/inet_diag.c | 2 +
net/ipv4/tcp_input.c | 158 ++++++++++++----------
net/ipv4/tcp_metrics.c | 1 +
net/ipv4/tcp_timer.c | 45 +++++-
net/sctp/socket.c | 7 +-
net/sunrpc/clnt.c | 5 +-
tools/testing/selftests/net/msg_zerocopy.c | 14 +-
55 files changed, 543 insertions(+), 263 deletions(-)
Calling ioctl TIOCSSERIAL with an invalid baud_base can
result in uartclk being zero, which will result in a
divide by zero error in uart_get_divisor(). The check for
uartclk being zero in uart_set_info() needs to be done
before other settings are made as subsequent calls to
ioctl TIOCSSERIAL for the same port would be impacted if
the uartclk check was done where uartclk gets set.
Oops: divide error: 0000 PREEMPT SMP KASAN PTI
RIP: 0010:uart_get_divisor (drivers/tty/serial/serial_core.c:580)
Call Trace:
<TASK>
serial8250_get_divisor (drivers/tty/serial/8250/8250_port.c:2576
drivers/tty/serial/8250/8250_port.c:2589)
serial8250_do_set_termios (drivers/tty/serial/8250/8250_port.c:502
drivers/tty/serial/8250/8250_port.c:2741)
serial8250_set_termios (drivers/tty/serial/8250/8250_port.c:2862)
uart_change_line_settings (./include/linux/spinlock.h:376
./include/linux/serial_core.h:608 drivers/tty/serial/serial_core.c:222)
uart_port_startup (drivers/tty/serial/serial_core.c:342)
uart_startup (drivers/tty/serial/serial_core.c:368)
uart_set_info (drivers/tty/serial/serial_core.c:1034)
uart_set_info_user (drivers/tty/serial/serial_core.c:1059)
tty_set_serial (drivers/tty/tty_io.c:2637)
tty_ioctl (drivers/tty/tty_io.c:2647 drivers/tty/tty_io.c:2791)
__x64_sys_ioctl (fs/ioctl.c:52 fs/ioctl.c:907
fs/ioctl.c:893 fs/ioctl.c:893)
do_syscall_64 (arch/x86/entry/common.c:52
(discriminator 1) arch/x86/entry/common.c:83 (discriminator 1))
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)
Reported-by: syzkaller <syzkaller(a)googlegroups.com>
Signed-off-by: George Kennedy <george.kennedy(a)oracle.com>
---
serial_struct baud_base=0x30000000 will cause the crash.
drivers/tty/serial/serial_core.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index 2a8006e3d687..9967444eae10 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -881,6 +881,14 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
new_flags = (__force upf_t)new_info->flags;
old_custom_divisor = uport->custom_divisor;
+ if (!(uport->flags & UPF_FIXED_PORT)) {
+ unsigned int uartclk = new_info->baud_base * 16;
+ /* check needs to be done here before other settings made */
+ if (uartclk == 0) {
+ retval = -EINVAL;
+ goto exit;
+ }
+ }
if (!capable(CAP_SYS_ADMIN)) {
retval = -EPERM;
if (change_irq || change_port ||
--
2.39.3
From: Uwe Kleine-König <u.kleine-koenig(a)pengutronix.de>
[ Upstream commit ce1dac560a74220f2e53845ec0723b562288aed4 ]
While in commit 2dd33f9cec90 ("spi: imx: support DMA for imx35") it was
claimed that DMA works on i.MX25, i.MX31 and i.MX35 the respective
device trees don't add DMA channels. The Reference manuals of i.MX31 and
i.MX25 also don't mention the CSPI core being DMA capable. (I didn't
check the others.)
Since commit e267a5b3ec59 ("spi: spi-imx: Use dev_err_probe for failed
DMA channel requests") this results in an error message
spi_imx 43fa4000.spi: error -ENODEV: can't get the TX DMA channel!
during boot. However that isn't fatal and the driver gets loaded just
fine, just without using DMA.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig(a)pengutronix.de>
Link: https://patch.msgid.link/20240508095610.2146640-2-u.kleine-koenig@pengutron…
Signed-off-by: Mark Brown <broonie(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
---
drivers/spi/spi-imx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
index 0078cb365d8c2..adcd519c70b19 100644
--- a/drivers/spi/spi-imx.c
+++ b/drivers/spi/spi-imx.c
@@ -968,7 +968,7 @@ static struct spi_imx_devtype_data imx35_cspi_devtype_data = {
.rx_available = mx31_rx_available,
.reset = mx31_reset,
.fifo_size = 8,
- .has_dmamode = true,
+ .has_dmamode = false,
.dynamic_burst = false,
.has_slavemode = false,
.devtype = IMX35_CSPI,
--
2.43.0
From: Uwe Kleine-König <u.kleine-koenig(a)pengutronix.de>
[ Upstream commit ce1dac560a74220f2e53845ec0723b562288aed4 ]
While in commit 2dd33f9cec90 ("spi: imx: support DMA for imx35") it was
claimed that DMA works on i.MX25, i.MX31 and i.MX35 the respective
device trees don't add DMA channels. The Reference manuals of i.MX31 and
i.MX25 also don't mention the CSPI core being DMA capable. (I didn't
check the others.)
Since commit e267a5b3ec59 ("spi: spi-imx: Use dev_err_probe for failed
DMA channel requests") this results in an error message
spi_imx 43fa4000.spi: error -ENODEV: can't get the TX DMA channel!
during boot. However that isn't fatal and the driver gets loaded just
fine, just without using DMA.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig(a)pengutronix.de>
Link: https://patch.msgid.link/20240508095610.2146640-2-u.kleine-koenig@pengutron…
Signed-off-by: Mark Brown <broonie(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
---
drivers/spi/spi-imx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
index 67f31183c1180..8c9bafee58f9f 100644
--- a/drivers/spi/spi-imx.c
+++ b/drivers/spi/spi-imx.c
@@ -993,7 +993,7 @@ static struct spi_imx_devtype_data imx35_cspi_devtype_data = {
.rx_available = mx31_rx_available,
.reset = mx31_reset,
.fifo_size = 8,
- .has_dmamode = true,
+ .has_dmamode = false,
.dynamic_burst = false,
.has_slavemode = false,
.devtype = IMX35_CSPI,
--
2.43.0