5.15.92-rc1 review
Subsystems (3)
Greg Kroah-Hartman
maintainercover 5.15.92-rc1 review
This is the start of the stable review cycle for the 5.15.92 release. There are 20 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, 05 Feb 2023 10:09:58 +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/v5.x/stable-review/patch-5.15.92-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-5.15.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 5.15.92-rc1
Jeremy Kerr <[email protected]>
net: mctp: purge receive queues on sk destruction
Yan Zhai <[email protected]>
net: fix NULL pointer in skb_segment_list
Reinette Chatre <[email protected]>
selftests: Provide local define of __cpuid_count()
Shuah Khan <[email protected]>
selftests/vm: remove ARRAY_SIZE define from individual tests
Shuah Khan <[email protected]>
tools: fix ARRAY_SIZE defines in tools and selftests hdrs
Soenke Huster <[email protected]>
Bluetooth: fix null ptr deref on hci_sync_conn_complete_evt
Dave Hansen <[email protected]>
ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel systems
Rong Chen <[email protected]>
extcon: usbc-tusb320: fix kernel-doc warning
Baokun Li <[email protected]>
ext4: fix bad checksum after online resize
Paulo Alcantara <[email protected]>
cifs: fix return of uninitialized rc in dfs_cache_update_tgthint()
Hui Wang <[email protected]>
dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
Roderick Colenbrander <[email protected]>
HID: playstation: sanity check DualSense calibration data.
Yu Kuai <[email protected]>
blk-cgroup: fix missing pd_online_fn() while activating policy
Siddh Raman Pant <[email protected]>
erofs/zmap.c: Fix incorrect offset calculation
Hao Sun <[email protected]>
bpf: Skip task with pid=1 in send_signal_common()
Cristian Marussi <[email protected]>
firmware: arm_scmi: Clear stale xfer->hdr.status
Krzysztof Kozlowski <[email protected]>
arm64: dts: imx8mq-thor96: fix no-mmc property for SDHCI
Geert Uytterhoeven <[email protected]>
arm64: dts: freescale: Fix pca954x i2c-mux node names
Geert Uytterhoeven <[email protected]>
ARM: dts: vf610: Fix pca9548 i2c-mux node names
Geert Uytterhoeven <[email protected]>
ARM: dts: imx: Fix pca9547 i2c-mux node name
-------------
Diffstat:
Makefile | 4 +-- arch/arm/boot/dts/imx53-ppd.dts | 2 +- arch/arm/boot/dts/vf610-zii-dev-rev-b.dts | 2 +- arch/arm/boot/dts/vf610-zii-dev-rev-c.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts | 2 +- .../arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi | 2 +- arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi | 2 +- .../arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi | 2 +- .../boot/dts/freescale/imx8mm-nitrogen-r2.dts | 2 +- arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts | 4 +-- arch/arm64/boot/dts/freescale/imx8mq-thor96.dts | 4 +-- arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 2 +- block/blk-cgroup.c | 4 +++ drivers/acpi/processor_idle.c | 23 ++++++++++++++-- drivers/dma/imx-sdma.c | 4 ++- drivers/extcon/extcon-usbc-tusb320.c | 2 +- drivers/firmware/arm_scmi/driver.c | 2 ++ drivers/hid/hid-playstation.c | 32 ++++++++++++++++++++++ fs/cifs/dfs_cache.c | 6 ++-- fs/erofs/zmap.c | 10 +++++-- fs/ext4/resize.c | 4 +-- kernel/trace/bpf_trace.c | 3 ++ net/bluetooth/hci_event.c | 13 +++++++++ net/core/skbuff.c | 5 ++-- net/mctp/af_mctp.c | 6 ++++ tools/include/linux/kernel.h | 2 ++ tools/testing/selftests/kselftest.h | 19 +++++++++++++ tools/testing/selftests/kselftest_harness.h | 2 ++ tools/testing/selftests/vm/mremap_test.c | 1 - tools/testing/selftests/vm/pkey-helpers.h | 3 +- tools/testing/selftests/vm/va_128TBswitch.c | 2 +- 36 files changed, 144 insertions(+), 39 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/20 ARM: dts: imx: Fix pca9547 i2c-mux node name
From: Geert Uytterhoeven <[email protected]>
[ Upstream commit f78985f9f58380eec37f82c8a2c765aa7670fc29 ]
"make dtbs_check":
arch/arm/boot/dts/imx53-ppd.dtb: i2c-switch@70: $nodename:0: 'i2c-switch@70' does not match '^(i2c-?)?mux'
From schema: Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
arch/arm/boot/dts/imx53-ppd.dtb: i2c-switch@70: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'i2c@0', 'i2c@1', 'i2c@2', 'i2c@3', 'i2c@4', 'i2c@5', 'i2c@6', 'i2c@7' were unexpected)
From schema: Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
Fix this by renaming the PCA9547 node to "i2c-mux", to match the I2C bus multiplexer/switch DT bindings and the Generic Names Recommendation in the Devicetree Specification.
--- arch/arm/boot/dts/imx53-ppd.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/imx53-ppd.dts +1 -1
@@ -488,7 +488,7 @@ &i2c1 { scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; status = "okay"; - i2c-switch@70 { + i2c-mux@70 { compatible = "nxp,pca9547"; #address-cells = <1>; #size-cells = <0>;
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 2/20 ARM: dts: vf610: Fix pca9548 i2c-mux node names
In reply to Greg Kroah-HartmanFrom: Geert Uytterhoeven <[email protected]>
[ Upstream commit 42825d1f269355d63554ab3c3762611e4d8053e9 ]
"make dtbs_check":
arch/arm/boot/dts/vf610-zii-dev-rev-b.dtb: tca9548@70: $nodename:0: 'tca9548@70' does not match '^(i2c-?)?mux'
From schema: Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
arch/arm/boot/dts/vf610-zii-dev-rev-b.dtb: tca9548@70: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'i2c@0', 'i2c@1', 'i2c@2', 'i2c@3', 'i2c@4' were unexpected)
From schema: /scratch/geert/linux/linux-renesas/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
...Fix this by renaming PCA9548 nodes to "i2c-mux", to match the I2C bus multiplexer/switch DT bindings and the Generic Names Recommendation in the Devicetree Specification.
--- arch/arm/boot/dts/vf610-zii-dev-rev-b.dts | 2 +- arch/arm/boot/dts/vf610-zii-dev-rev-c.dts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/boot/dts/vf610-zii-dev-rev-b.dts +1 -1
@@ -343,7 +343,7 @@ gpio6: io-expander@22 { }; &i2c2 { - tca9548@70 { + i2c-mux@70 { compatible = "nxp,pca9548"; pinctrl-0 = <&pinctrl_i2c_mux_reset>; pinctrl-names = "default";
arch/arm/boot/dts/vf610-zii-dev-rev-c.dts +1 -1
@@ -340,7 +340,7 @@ eeprom@50 { }; &i2c2 { - tca9548@70 { + i2c-mux@70 { compatible = "nxp,pca9548"; pinctrl-0 = <&pinctrl_i2c_mux_reset>; pinctrl-names = "default";
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 3/20 arm64: dts: freescale: Fix pca954x i2c-mux node names
In reply to Greg Kroah-HartmanFrom: Geert Uytterhoeven <[email protected]>
[ Upstream commit b025b4f5c288e29bbea421613a5b4eacf9261fbb ]
"make dtbs_check":
arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dtb: pca9547@77: $nodename:0: 'pca9547@77' does not match '^(i2c-?)?mux'
From schema: Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dtb: pca9547@77: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'i2c@4' were unexpected)
From schema: Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
...
Fix this by renaming PCA954x nodes to "i2c-mux", to match the I2C bus multiplexer/switch DT bindings and the Generic Names Recommendation in the Devicetree Specification.
--- arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts | 2 +- arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi | 2 +- arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi | 2 +- arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi | 2 +- arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts | 2 +- arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts | 4 ++-- arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-)
arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts +1 -1
@@ -110,7 +110,7 @@ &esdhc1 { &i2c0 { status = "okay"; - pca9547@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>;
arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts +1 -1
@@ -70,7 +70,7 @@ fpga: board-control@2,0 { &i2c0 { status = "okay"; - pca9547@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>;
arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts +1 -1
@@ -76,7 +76,7 @@ &duart1 { &i2c0 { status = "okay"; - pca9547@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>;
arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts +1 -1
@@ -53,7 +53,7 @@ flash@2 { &i2c0 { status = "okay"; - i2c-switch@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>;
arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts +1 -1
@@ -136,7 +136,7 @@ mdio2_aquantia_phy: ethernet-phy@0 { &i2c0 { status = "okay"; - i2c-switch@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>;
arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts +1 -1
@@ -245,7 +245,7 @@ rx8035: rtc@32 { &i2c3 { status = "okay"; - i2c-switch@70 { + i2c-mux@70 { compatible = "nxp,pca9540"; #address-cells = <1>; #size-cells = <0>;
arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi +1 -1
@@ -44,7 +44,7 @@ cpld@3,0 { &i2c0 { status = "okay"; - pca9547@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>;
arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi +1 -1
@@ -44,7 +44,7 @@ cpld@3,0 { &i2c0 { status = "okay"; - pca9547@75 { + i2c-mux@75 { compatible = "nxp,pca9547"; reg = <0x75>; #address-cells = <1>;
arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi +1 -1
@@ -54,7 +54,7 @@ &esdhc1 { &i2c0 { status = "okay"; - i2c-switch@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; #address-cells = <1>; #size-cells = <0>;
arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts +1 -1
@@ -214,7 +214,7 @@ &i2c3 { pinctrl-0 = <&pinctrl_i2c3>; status = "okay"; - i2cmux@70 { + i2c-mux@70 { compatible = "nxp,pca9540"; reg = <0x70>; #address-cells = <1>;
arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts +2 -2
@@ -133,7 +133,7 @@ &i2c1 { pinctrl-0 = <&pinctrl_i2c1>; status = "okay"; - i2cmux@70 { + i2c-mux@70 { compatible = "nxp,pca9546"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1_pca9546>;
@@ -216,7 +216,7 @@ &i2c4 { pinctrl-0 = <&pinctrl_i2c4>; status = "okay"; - pca9546: i2cmux@70 { + pca9546: i2c-mux@70 { compatible = "nxp,pca9546"; reg = <0x70>; #address-cells = <1>;
arch/arm64/boot/dts/freescale/imx8qxp-mek.dts +1 -1
@@ -61,7 +61,7 @@ &i2c1 { pinctrl-0 = <&pinctrl_lpi2c1 &pinctrl_ioexp_rst>; status = "okay"; - i2c-switch@71 { + i2c-mux@71 { compatible = "nxp,pca9646", "nxp,pca9546"; #address-cells = <1>; #size-cells = <0>;
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 4/20 arm64: dts: imx8mq-thor96: fix no-mmc property for SDHCI
In reply to Greg Kroah-HartmanFrom: Krzysztof Kozlowski <[email protected]>
[ Upstream commit ef10d57936ead5e817ef7cea6a87531085e77773 ]
There is no "no-emmc" property, so intention for SD/SDIO only nodes was to use "no-mmc".
--- arch/arm64/boot/dts/freescale/imx8mq-thor96.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/freescale/imx8mq-thor96.dts +2 -2
@@ -339,7 +339,7 @@ &usdhc1 { bus-width = <4>; non-removable; no-sd; - no-emmc; + no-mmc; status = "okay"; brcmf: wifi@1 {
@@ -359,7 +359,7 @@ &usdhc2 { cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; bus-width = <4>; no-sdio; - no-emmc; + no-mmc; disable-wp; status = "okay"; };
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 5/20 firmware: arm_scmi: Clear stale xfer->hdr.status
In reply to Greg Kroah-HartmanFrom: Cristian Marussi <[email protected]>
[ Upstream commit f6ca5059dc0d6608dc46070f48e396d611f240d6 ]
Stale error status reported from a previous message transaction must be cleared before starting a new transaction to avoid being confusingly reported in the following SCMI message dump traces.
--- drivers/firmware/arm_scmi/driver.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/firmware/arm_scmi/driver.c +2 -0
@@ -783,6 +783,8 @@ static int do_xfer(const struct scmi_protocol_handle *ph, xfer->hdr.protocol_id, xfer->hdr.seq, xfer->hdr.poll_completion); +/* Clear any stale status */ + xfer->hdr.status =SCMI_SUCCESS ; xfer->state =SCMI_XFER_SENT_OK ;/* * Even though spinlocking is not needed here since no race is possible
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 6/20 bpf: Skip task with pid=1 in send_signal_common()
In reply to Greg Kroah-HartmanFrom: Hao Sun <[email protected]>
[ Upstream commit a3d81bc1eaef48e34dd0b9b48eefed9e02a06451 ]
The following kernel panic can be triggered when a task with pid=1 attaches a prog that attempts to send killing signal to itself, also see [1] for more details:
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b CPU: 3 PID: 1 Comm: systemd Not tainted 6.1.0-09652-g59fe41b5255f #148 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x100/0x178 lib/dump_stack.c:106 panic+0x2c4/0x60f kernel/panic.c:275 do_exit.cold+0x63/0xe4 kernel/exit.c:789 do_group_exit+0xd4/0x2a0 kernel/exit.c:950 get_signal+0x2460/0x2600 kernel/signal.c:2858 arch_do_signal_or_restart+0x78/0x5d0 arch/x86/kernel/signal.c:306 exit_to_user_mode_loop kernel/entry/common.c:168 [inline] exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:203 __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline] syscall_exit_to_user_mode+0x1d/0x50 kernel/entry/common.c:296 do_syscall_64+0x44/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x63/0xcd
So skip task with pid=1 in bpf_send_signal_common() to avoid the panic.
[1] https://lore.kernel.org/bpf/[email protected]
--- kernel/trace/bpf_trace.c | 3 +++ 1 file changed, 3 insertions(+)
kernel/trace/bpf_trace.c +3 -0
@@ -793,6 +793,9 @@ static int bpf_send_signal_common(u32 sig, enum pid_type type)return -EPERM ;if (unlikely (!nmi_uaccess_okay ()))return -EPERM ; +/* Task should not be pid=1 to avoid kernel panic. */ +if (unlikely (is_global_init (current))) +return -EPERM ;if (irqs_disabled ()) {/* Do an early check on signal validity. Otherwise,
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 7/20 erofs/zmap.c: Fix incorrect offset calculation
In reply to Greg Kroah-HartmanFrom: Siddh Raman Pant <[email protected]>
[ Upstream commit 6acd87d50998ef0afafc441613aeaf5a8f5c9eff ]
Effective offset to add to length was being incorrectly calculated, which resulted in iomap->length being set to 0, triggering a WARN_ON in iomap_iter_done().
Fix that, and describe it in comments.
This was reported as a crash by syzbot under an issue about a warning encountered in iomap_iter_done(), but unrelated to erofs.
C reproducer: https://syzkaller.appspot.com/text?tag=ReproC&x=1037a6b2880000
Kernel config: https://syzkaller.appspot.com/text?tag=KernelConfig&x=e2021a61197ebe02
Dashboard link: https://syzkaller.appspot.com/bug?extid=a8e049cd3abd342936b6
--- fs/erofs/zmap.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
fs/erofs/zmap.c +7 -3
@@ -700,12 +700,16 @@ static int z_erofs_iomap_begin_report(struct inode *inode, loff_t offset, iomap->type =IOMAP_HOLE ; iomap->addr =IOMAP_NULL_ADDR ;/* -* No strict rule how to describe extents for post EOF, yet -* we need do like below. Otherwise, iomap itself will get +* No strict rule on how to describe extents for post EOF, yet +* we need to do like below. Otherwise, iomap itself will get * into an endless loop on post EOF. +* +* Calculate the effective offset by subtracting extent start +* (map.m_la) from the requested offset, and add it to length. +* (NB: offset >= map.m_la always) */ if (iomap->offset >= inode->i_size) - iomap->length = length + map.m_la - offset; + iomap->length = length + offset - map.m_la; } iomap->flags =0 ;return 0 ;
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 8/20 blk-cgroup: fix missing pd_online_fn() while activating policy
In reply to Greg Kroah-HartmanFrom: Yu Kuai <[email protected]>
[ Upstream commit e3ff8887e7db757360f97634e0d6f4b8e27a8c46 ]
If the policy defines pd_online_fn(), it should be called after pd_init_fn(), like blkg_create().
--- block/blk-cgroup.c | 4 ++++ 1 file changed, 4 insertions(+)
block/blk-cgroup.c +4 -0
@@ -1360,6 +1360,10 @@ int blkcg_activate_policy(struct request_queue *q,list_for_each_entry_reverse (blkg, &q->blkg_list, q_node) pol->pd_init_fn (blkg->pd[pol->plid]); +if (pol->pd_online_fn) +list_for_each_entry_reverse (blkg, &q->blkg_list, q_node) + pol->pd_online_fn (blkg->pd[pol->plid]); +__set_bit (pol->plid, q->blkcg_pols); ret =0 ;
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 9/20 HID: playstation: sanity check DualSense calibration data.
In reply to Greg Kroah-HartmanFrom: Roderick Colenbrander <[email protected]>
[ Upstream commit ccf1e1626d37745d0a697db67407beec9ae9d4b8 ]
Make sure calibration values are defined to prevent potential kernel crashes. This fixes a hypothetical issue for virtual or clone devices inspired by a similar fix for DS4.
--- drivers/hid/hid-playstation.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+)
drivers/hid/hid-playstation.c +32 -0
@@ -626,6 +626,7 @@ static const struct attribute_group ps_device_attribute_group = {static int dualsense_get_calibration_data (struct dualsense *ds) { +struct hid_device *hdev = ds->base.hdev;short gyro_pitch_bias, gyro_pitch_plus, gyro_pitch_minus;short gyro_yaw_bias, gyro_yaw_plus, gyro_yaw_minus;short gyro_roll_bias, gyro_roll_plus, gyro_roll_minus;
@@ -636,6 +637,7 @@ static int dualsense_get_calibration_data(struct dualsense *ds)int speed_2x;int range_2g;int ret =0 ; +int i;uint8_t *buf; buf =kzalloc (DS_FEATURE_REPORT_CALIBRATION_SIZE ,GFP_KERNEL );
@@ -687,6 +689,21 @@ static int dualsense_get_calibration_data(struct dualsense *ds) ds->gyro_calib_data[2 ].sens_numer = speed_2x*DS_GYRO_RES_PER_DEG_S ; ds->gyro_calib_data[2 ].sens_denom = gyro_roll_plus - gyro_roll_minus; +/* +* Sanity check gyro calibration data. This is needed to prevent crashes +* during report handling of virtual, clone or broken devices not implementing +* calibration data properly. +*/ +for (i =0 ; i <ARRAY_SIZE (ds->gyro_calib_data); i++) { +if (ds->gyro_calib_data[i].sens_denom ==0 ) { +hid_warn (hdev,"Invalid gyro calibration data for axis (%d), disabling calibration." , + ds->gyro_calib_data[i].abs_code); + ds->gyro_calib_data[i].bias =0 ; + ds->gyro_calib_data[i].sens_numer =DS_GYRO_RANGE ; + ds->gyro_calib_data[i].sens_denom =S16_MAX ; + } + } +/* * Set accelerometer calibration and normalization parameters. * Data values will be normalized to 1/DS_ACC_RES_PER_G g.
@@ -709,6 +726,21 @@ static int dualsense_get_calibration_data(struct dualsense *ds) ds->accel_calib_data[2 ].sens_numer =2 *DS_ACC_RES_PER_G ; ds->accel_calib_data[2 ].sens_denom = range_2g; +/* +* Sanity check accelerometer calibration data. This is needed to prevent crashes +* during report handling of virtual, clone or broken devices not implementing calibration +* data properly. +*/ +for (i =0 ; i <ARRAY_SIZE (ds->accel_calib_data); i++) { +if (ds->accel_calib_data[i].sens_denom ==0 ) { +hid_warn (hdev,"Invalid accelerometer calibration data for axis (%d), disabling calibration." , + ds->accel_calib_data[i].abs_code); + ds->accel_calib_data[i].bias =0 ; + ds->accel_calib_data[i].sens_numer =DS_ACC_RANGE ; + ds->accel_calib_data[i].sens_denom =S16_MAX ; + } + } + err_free:kfree (buf);return ret;
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 10/20 dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
In reply to Greg Kroah-HartmanFrom: Hui Wang <[email protected]>
[ Upstream commit 1417f59ac0b02130ee56c0c50794b9b257be3d17 ]
If the function sdma_load_context() fails, the sdma_desc will be freed, but the allocated desc->bd is forgot to be freed.
We already met the sdma_load_context() failure case and the log as below:
[ 450.699064] imx-sdma 30bd0000.dma-controller: Timeout waiting for CH0 ready
...
In this case, the desc->bd will not be freed without this change.
--- drivers/dma/imx-sdma.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/dma/imx-sdma.c +3 -1
@@ -1428,10 +1428,12 @@ static struct sdma_desc *sdma_transfer_init(struct sdma_channel *sdmac,sdma_config_ownership (sdmac, false, true, false);if (sdma_load_context (sdmac)) - goto err_desc_out; + goto err_bd_out;return desc; +err_bd_out: +sdma_free_bd (desc); err_desc_out:kfree (desc); err_out:
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 11/20 cifs: fix return of uninitialized rc in dfs_cache_update_tgthint()
In reply to Greg Kroah-HartmanFrom: Paulo Alcantara <[email protected]>
[ Upstream commit d6a49e8c4ca4d399ed65ac219585187fc8c2e2b1 ]
Fix this by initializing rc to 0 as cache_refresh_path() would not set it in case of success.
--- fs/cifs/dfs_cache.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
fs/cifs/dfs_cache.c +3 -3
@@ -1050,10 +1050,10 @@ int dfs_cache_update_tgthint(const unsigned int xid, struct cifs_ses *ses, const struct nls_table *cp, int remap, const char *path, const struct dfs_cache_tgt_iterator *it) { - int rc; -const char *npath; -struct cache_entry *ce; struct cache_dfs_tgt *t; +struct cache_entry *ce; +const char *npath; +int rc =0 ; npath =dfs_cache_canonical_path (path, cp, remap);if (IS_ERR (npath))
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 12/20 ext4: fix bad checksum after online resize
In reply to Greg Kroah-HartmanFrom: Baokun Li <[email protected]>
commit a408f33e895e455f16cf964cb5cd4979b658db7b upstream.
When online resizing is performed twice consecutively, the error message "Superblock checksum does not match superblock" is displayed for the second time. Here's the reproducer:
mkfs.ext4 -F /dev/sdb 100M
mount /dev/sdb /tmp/test
resize2fs /dev/sdb 5G
resize2fs /dev/sdb 6G
To solve this issue, we moved the update of the checksum after the es->s_overhead_clusters is updated.
--- fs/ext4/resize.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
fs/ext4/resize.c +2 -2
@@ -1445,8 +1445,6 @@ static void ext4_update_super(struct super_block *sb,* active. */ ext4_r_blocks_count_set (es,ext4_r_blocks_count (es) + reserved_blocks); -ext4_superblock_csum_set (sb); -unlock_buffer (sbi->s_sbh);/* Update the free space counts */ percpu_counter_add(&sbi->s_freeclusters_counter,
@@ -1474,6 +1472,8 @@ static void ext4_update_super(struct super_block *sb,ext4_calculate_overhead (sb); es->s_overhead_clusters =cpu_to_le32 (sbi->s_overhead); +ext4_superblock_csum_set (sb); +unlock_buffer (sbi->s_sbh);if (test_opt (sb,DEBUG )) printk(KERN_DEBUG "EXT4-fs: added group %u:" "%llu blocks(%llu free %llu reserved)\n", flex_gd->count,
Signature · 1 line
2.39.0
Greg Kroah-Hartman
maintainerPATCH 13/20 extcon: usbc-tusb320: fix kernel-doc warning
In reply to Greg Kroah-HartmanFrom: Rong Chen <[email protected]>
commit 08099ecd9216219f51cc82637f06797cf81890b6 upstream.
Fix the warning:drivers/extcon/extcon-usbc-tusb320.c:19: warning: expecting prototype for drivers/extcon/extcon-tusb320.c(). Prototype was for TUSB320_REG8() instead
--- drivers/extcon/extcon-usbc-tusb320.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/extcon/extcon-usbc-tusb320.c +1 -1
@@ -1,5 +1,5 @@// SPDX-License-Identifier: GPL-2.0 -/** +/* * drivers/extcon/extcon-tusb320.c - TUSB320 extcon driver * * Copyright (C) 2020 National Instruments Corporation
Greg Kroah-Hartman
maintainerPATCH 14/20 ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel systems
In reply to Greg Kroah-HartmanFrom: Dave Hansen <[email protected]>
commit e400ad8b7e6a1b9102123c6240289a811501f7d9 upstream.
Old, circa 2002 chipsets have a bug: they don't go idle when they are supposed to. So, a workaround was added to slow the CPU down and ensure that the CPU waits a bit for the chipset to actually go idle. This workaround is ancient and has been in place in some form since the original kernel ACPI implementation.
But, this workaround is very painful on modern systems. The "inl()" can take thousands of cycles (see Link: for some more detailed numbers and some fun kernel archaeology).
First and foremost, modern systems should not be using this code. Typical Intel systems have not used it in over a decade because it is horribly inferior to MWAIT-based idle.
Despite this, people do seem to be tripping over this workaround on AMD system today.
Limit the "dummy wait" workaround to Intel systems. Keep Modern AMD systems from tripping over the workaround. Remotely modern Intel systems use intel_idle instead of this code and will, in practice, remain unaffected by the dummy wait.
--- drivers/acpi/processor_idle.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-)
drivers/acpi/processor_idle.c +20 -3
@@ -531,10 +531,27 @@ static void wait_for_freeze(void)/* No delay is needed if we are in guest */ if (boot_cpu_has (X86_FEATURE_HYPERVISOR ))return ; +/* +* Modern (>=Nehalem) Intel systems use ACPI via intel_idle, +* not this code. Assume that any Intel systems using this +* are ancient and may need the dummy wait. This also assumes +* that the motivating chipset issue was Intel-only. +*/ +if (boot_cpu_data.x86_vendor !=X86_VENDOR_INTEL ) +return ;#endif -/* Dummy wait op - must do something useless after P_LVL2 read -because chipsets cannot guarantee that STPCLK# signal -gets asserted in time to freeze execution properly. */ +/* +* Dummy wait op - must do something useless after P_LVL2 read +* because chipsets cannot guarantee that STPCLK# signal gets +* asserted in time to freeze execution properly +* +* This workaround has been in place since the original ACPI +* implementation was merged, circa 2002. +* +* If a profile is pointing to this instruction, please first +* consider moving your system to a more modern idle +* mechanism. +*/ inl (acpi_gbl_FADT.xpm_timer_block.address); }
Greg Kroah-Hartman
maintainerPATCH 15/20 Bluetooth: fix null ptr deref on hci_sync_conn_complete_evt
In reply to Greg Kroah-HartmanFrom: Soenke Huster <[email protected]>
commit 3afee2118132e93e5f6fa636dfde86201a860ab3 upstream.
This event is just specified for SCO and eSCO link types.
On the reception of a HCI_Synchronous_Connection_Complete for a BDADDR of an existing LE connection, LE link type and a status that triggers the second case of the packet processing a NULL pointer dereference happens, as conn->link is NULL.
--- net/bluetooth/hci_event.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
net/bluetooth/hci_event.c +13 -0
@@ -4415,6 +4415,19 @@ static void hci_sync_conn_complete_evt(sstruct hci_ev_sync_conn_complete *ev = (void *) skb->data;struct hci_conn *conn; +switch (ev->link_type) { +case SCO_LINK : +case ESCO_LINK : +break ; +default : +/* As per Core 5.3 Vol 4 Part E 7.7.35 (p.2219), Link_Type +* for HCI_Synchronous_Connection_Complete is limited to +* either SCO or eSCO +*/ +bt_dev_err (hdev,"Ignoring connect complete event for invalid link type" ); +return ; + } +BT_DBG ("%s status 0x%2.2x" , hdev->name, ev->status);hci_dev_lock (hdev);
Greg Kroah-Hartman
maintainerPATCH 16/20 tools: fix ARRAY_SIZE defines in tools and selftests hdrs
In reply to Greg Kroah-HartmanFrom: Shuah Khan <[email protected]>
commit 066b34aa5461f6072dbbecb690f4fe446b736ebf upstream.
tools/include/linux/kernel.h and kselftest_harness.h are missing ifndef guard around ARRAY_SIZE define. Fix them to avoid duplicate define errors during compile when another file defines it. This problem was found when compiling selftests that include a header with ARRAY_SIZE define.
ARRAY_SIZE is defined in several selftests. There are about 25+ duplicate defines in various selftests source and header files. Add ARRAY_SIZE to kselftest.h in preparation for removing duplicate ARRAY_SIZE defines from individual test files.
--- tools/include/linux/kernel.h | 2 ++ tools/testing/selftests/kselftest.h | 4 ++++ tools/testing/selftests/kselftest_harness.h | 2 ++ 3 files changed, 8 insertions(+)
tools/include/linux/kernel.h +2 -0
@@ -108,7 +108,9 @@ int vscnprintf(char *buf, size_t size, cint scnprintf (char * buf,size_t size,const char * fmt, ...);int scnprintf_pad (char * buf,size_t size,const char * fmt, ...); +#ifndef ARRAY_SIZE #define ARRAY_SIZE (arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) +#endif /* * This looks more complex than it should be. But we need to
tools/testing/selftests/kselftest.h +4 -0
@@ -48,6 +48,10 @@#include <stdarg.h> #include <stdio.h> +#ifndef ARRAY_SIZE +#define ARRAY_SIZE (arr) (sizeof(arr) / sizeof((arr)[0])) +#endif +/* define kselftest exit codes */ #define KSFT_PASS 0#define KSFT_FAIL 1
tools/testing/selftests/kselftest_harness.h +2 -0
@@ -671,7 +671,9 @@#define EXPECT_STRNE (expected, seen) \ __EXPECT_STR(expected, seen, !=, 0) +#ifndef ARRAY_SIZE #define ARRAY_SIZE (a) (sizeof(a) / sizeof(a[0])) +#endif /* Support an optional handler after and ASSERT_* or EXPECT_*. The approach is * not thread-safe, but it should be fine in most sane test scenarios.
Greg Kroah-Hartman
maintainerPATCH 17/20 selftests/vm: remove ARRAY_SIZE define from individual tests
In reply to Greg Kroah-HartmanFrom: Shuah Khan <[email protected]>
commit e89908201e2509354c40158b517945bf3d645812 upstream.
ARRAY_SIZE is defined in several selftests. Remove definitions from individual test files and include header file for the define instead. ARRAY_SIZE define is added in a separate patch to prepare for this change.
Remove ARRAY_SIZE from vm tests and pickup the one defined in kselftest.h.
--- tools/testing/selftests/vm/mremap_test.c | 1 - tools/testing/selftests/vm/pkey-helpers.h | 3 ++- tools/testing/selftests/vm/va_128TBswitch.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
tools/testing/selftests/vm/mremap_test.c +0 -1
@@ -22,7 +22,6 @@#define VALIDATION_DEFAULT_THRESHOLD 4/* 4MB */ #define VALIDATION_NO_THRESHOLD 0/* Verify the entire region */ -#define ARRAY_SIZE (x) (sizeof(x) / sizeof((x)[0]))#define MIN (X ,Y ) ((X) < (Y) ? (X) : (Y))struct config {
tools/testing/selftests/vm/pkey-helpers.h +2 -1
@@ -13,6 +13,8 @@#include <ucontext.h> #include <sys/mman.h> +#include "../kselftest.h" +/* Define some kernel-like types */ #define u8 __u8#define u16 __u16
@@ -175,7 +177,6 @@ static inline void __pkey_write_allow(indprintf4 ("pkey_reg now: %016llx\n" ,read_pkey_reg ()); } -#define ARRAY_SIZE (x) (sizeof(x) / sizeof(*(x)))#define ALIGN_UP (x, align_to) (((x) + ((align_to)-1)) & ~((align_to)-1))#define ALIGN_DOWN (x, align_to) ((x) & ~((align_to)-1))#define ALIGN_PTR_UP (p, ptr_align_to) \
tools/testing/selftests/vm/va_128TBswitch.c +1 -1
@@ -9,7 +9,7 @@#include <sys/mman.h> #include <string.h> -#define ARRAY_SIZE (arr) (sizeof(arr) / sizeof((arr)[0])) +#include "../kselftest.h" #ifdef __powerpc64__#define PAGE_SIZE (64 << 10)
Greg Kroah-Hartman
maintainerPATCH 18/20 selftests: Provide local define of __cpuid_count()
In reply to Greg Kroah-HartmanFrom: Reinette Chatre <[email protected]>
commit a23039c7306f53416ba35d230201398ea34f4640 upstream.
Some selftests depend on information provided by the CPUID instruction. To support this dependency the selftests implement private wrappers for CPUID.
Duplication of the CPUID wrappers should be avoided.
Both gcc and clang/LLVM provide __cpuid_count() macros but neither the macro nor its header file are available in all the compiler versions that need to be supported by the selftests. __cpuid_count() as provided by gcc is available starting with gcc v4.4, so it is not available if the latest tests need to be run in all the environments required to support kernels v4.9 and v4.14 that have the minimal required gcc v3.2.
Duplicate gcc's __cpuid_count() macro to provide a centrally defined macro for __cpuid_count() to help eliminate the duplicate CPUID wrappers while continuing to compile in older environments.
--- tools/testing/selftests/kselftest.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
tools/testing/selftests/kselftest.h +15 -0
@@ -52,6 +52,21 @@#define ARRAY_SIZE (arr) (sizeof(arr) / sizeof((arr)[0]))#endif +/* +* gcc cpuid.h provides __cpuid_count() since v4.4. +* Clang/LLVM cpuid.h provides __cpuid_count() since v3.4.0. +* +* Provide local define for tests needing __cpuid_count() because +* selftests need to work in older environments that do not yet +* have __cpuid_count(). +*/ +#ifndef __cpuid_count +#define __cpuid_count (level, count, a, b, c, d) \ + __asm__ __volatile__ ("cpuid\n\t" \ + : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \ + : "0" (level), "2" (count)) +#endif +/* define kselftest exit codes */ #define KSFT_PASS 0#define KSFT_FAIL 1
Greg Kroah-Hartman
maintainerPATCH 19/20 net: fix NULL pointer in skb_segment_list
In reply to Greg Kroah-HartmanFrom: Yan Zhai <[email protected]>
commit 876e8ca8366735a604bac86ff7e2732fc9d85d2d upstream.
Commit 3a1296a38d0c ("net: Support GRO/GSO fraglist chaining.") introduced UDP listifyed GRO. The segmentation relies on frag_list being untouched when passing through the network stack. This assumption can be broken sometimes, where frag_list itself gets pulled into linear area, leaving frag_list being NULL. When this happens it can trigger following NULL pointer dereference, and panic the kernel. Reverse the test condition should fix it.
[19185.577801][ C1] BUG: kernel NULL pointer dereference, address: ... [19185.663775][ C1] RIP: 0010:skb_segment_list+0x1cc/0x390 ... [19185.834644][ C1] Call Trace: [19185.841730][ C1] <TASK> [19185.848563][ C1] __udp_gso_segment+0x33e/0x510 [19185.857370][ C1] inet_gso_segment+0x15b/0x3e0 [19185.866059][ C1] skb_mac_gso_segment+0x97/0x110 [19185.874939][ C1] __skb_gso_segment+0xb2/0x160 [19185.883646][ C1] udp_queue_rcv_skb+0xc3/0x1d0 [19185.892319][ C1] udp_unicast_rcv_skb+0x75/0x90 [19185.900979][ C1] ip_protocol_deliver_rcu+0xd2/0x200 [19185.910003][ C1] ip_local_deliver_finish+0x44/0x60 [19185.918757][ C1] __netif_receive_skb_one_core+0x8b/0xa0 [19185.927834][ C1] process_backlog+0x88/0x130 [19185.935840][ C1] __napi_poll+0x27/0x150 [19185.943447][ C1] net_rx_action+0x27e/0x5f0 [19185.951331][ C1] ? mlx5_cq_tasklet_cb+0x70/0x160 [mlx5_core] [19185.960848][ C1] __do_softirq+0xbc/0x25d [19185.968607][ C1] irq_exit_rcu+0x83/0xb0 [19185.976247][ C1] common_interrupt+0x43/0xa0 [19185.984235][ C1] asm_common_interrupt+0x22/0x40 ... [19186.094106][ C1] </TASK>
--- net/core/skbuff.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
net/core/skbuff.c +2 -3
@@ -3884,7 +3884,7 @@ struct sk_buff *skb_segment_list(structskb_shinfo (skb)->frag_list =NULL ; - do { +while (list_skb) { nskb = list_skb; list_skb = list_skb->next;
@@ -3930,8 +3930,7 @@ struct sk_buff *skb_segment_list(structif (skb_needs_linearize (nskb, features) &&__skb_linearize (nskb)) goto err_linearize; - - }while (list_skb); + } skb->truesize = skb->truesize - delta_truesize; skb->data_len = skb->data_len - delta_len;
Greg Kroah-Hartman
maintainerPATCH 20/20 net: mctp: purge receive queues on sk destruction
In reply to Greg Kroah-HartmanFrom: Jeremy Kerr <[email protected]>
commit 60bd1d9008a50cc78c4033a16a6f5d78210d481c upstream.
We may have pending skbs in the receive queue when the sk is being destroyed; add a destructor to purge the queue.
MCTP doesn't use the error queue, so only the receive_queue is purged.
--- net/mctp/af_mctp.c | 6 ++++++ 1 file changed, 6 insertions(+)
net/mctp/af_mctp.c +6 -0
@@ -294,6 +294,11 @@ static void mctp_sk_unhash(struct sock *synchronize_rcu (); } +static void mctp_sk_destruct (struct sock *sk) +{ +skb_queue_purge (&sk->sk_receive_queue); +} +static struct proto mctp_proto = { .name ="MCTP" , .owner =THIS_MODULE ,
@@ -330,6 +335,7 @@ static int mctp_pf_create(struct net *nereturn -ENOMEM ;sock_init_data (sock, sk); + sk->sk_destruct = mctp_sk_destruct; rc =0 ;if (sk->sk_prot->init)
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.92 release. There are 20 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, 05 Feb 2023 10:09:58 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.15.92-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
On ARCH_BRCMSTB using 32-bit and 64-bit, build tested on BMIPS_GENERIC:
Signature · 1 line
Florian
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.92 release. There are 20 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, 05 Feb 2023 10:09:58 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.15.92-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.92 release. There are 20 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, 05 Feb 2023 10:09:58 +0000. Anything received after that time might be too late.
Build results:
total: 155 pass: 155 fail: 0 Qemu test results: total: 492 pass: 492 fail: 0
Guenter
Quoted 5 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.92 release. There are 20 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.
Successfully cross-compiled for arm64 (bcm2711_defconfig, GCC 10.2.0) and powerpc (ps3_defconfig, GCC 12.2.0).
Signature · 1 line
An old man doll... just what I always wanted! - Clara
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.92 release. There are 20 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, 05 Feb 2023 10:09:58 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.15.92-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.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.
NOTE:
Following two commits causing build warnings with gcc-12 on arm64 and i386 while building tools/testing/selftests.
selftests/vm: remove ARRAY_SIZE define from individual tests
commit e89908201e2509354c40158b517945bf3d645812 upstream.
tools: fix ARRAY_SIZE defines in tools and selftests hdrs
commit 066b34aa5461f6072dbbecb690f4fe446b736ebf upstream.
## Build
* kernel: 5.15.92-rc1
* git: https://gitlab.com/Linaro/lkft/mirrors/stable/linux-stable-rc
* git branch: linux-5.15.y
* git commit: c8466dc0f6290e0ea087f808e9b4a29da36e82ca
* git describe: v5.15.91-21-gc8466dc0f629
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.15.y/build/v5.15.91-21-gc8466dc0f629
## Test Regressions (compared to v5.15.90-205-g5605d15db022)
## Metric Regressions (compared to v5.15.90-205-g5605d15db022)
* arm64, build
- gcc-12-lkftconfig-kselftest-warnings
Build warnings:
tools/testing/selftests/arm64/fp:
vec-syscfg.c:24: warning: "ARRAY_SIZE" redefined
24 | #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
|
In file included from vec-syscfg.c:21:
../../kselftest.h:52: note: this is the location of the previous definition
52 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
|
vec-syscfg.c: In function 'get_child_rdvl':
vec-syscfg.c:112:33: warning: too many arguments for format
[-Wformat-extra-args]
112 | fprintf(stderr, "execl(%s) failed: %d\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~
vec-syscfg.c: At top level:
vec-syscfg.c:326:13: warning: 'prctl_set_same' defined but not
used [-Wunused-function]
326 | static void prctl_set_same(struct vec_data *data)
| ^~~~~~~~~~~~~~
vec-syscfg.c: In function 'file_write_integer':
vec-syscfg.c:195:12: warning: 'ret' may be used uninitialized
[-Wmaybe-uninitialized]
195 | if (ret < 0) {
| ^
vec-syscfg.c:183:13: note: 'ret' was declared here
183 | int ret;
| ^~~* i386, build
- gcc-12-lkftconfig-kselftest-warnings
Build warnings:
tools/testing/selftests/vm virtual_address_range.c:43:31: warning: left shift count >= width
of type [-Wshift-count-overflow]
virtual_address_range.c:88:34: warning: left shift count >= width
of type [-Wshift-count-overflow]
virtual_address_range.c:22:26: warning: conversion from 'long long
unsigned int' to 'size_t' {aka 'unsigned int'} changes value from '17179869184' to '0' [-Woverflow]
## Test Fixes (compared to v5.15.90-205-g5605d15db022)
## Metric Fixes (compared to v5.15.90-205-g5605d15db022)
## Test result summary
total: 162736, pass: 133853, fail: 4290, skip: 24262, xfail: 331
## Build Summary
* arc: 5 total, 5 passed, 0 failed
* arm: 149 total, 148 passed, 1 failed
* arm64: 49 total, 47 passed, 2 failed
* i386: 39 total, 35 passed, 4 failed
* mips: 31 total, 29 passed, 2 failed
* parisc: 8 total, 8 passed, 0 failed
* powerpc: 34 total, 32 passed, 2 failed
* riscv: 14 total, 14 passed, 0 failed
* s390: 16 total, 14 passed, 2 failed
* sh: 14 total, 12 passed, 2 failed
* sparc: 8 total, 8 passed, 0 failed
* x86_64: 42 total, 40 passed, 2 failed
## Test suites summary
* boot
* fwts
* kselftest-android
* kselftest-arm64
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-drivers-dma-buf
* kselftest-efivarfs
* kselftest-filesystems
* kselftest-filesystems-binderfs
* kselftest-firmware
* kselftest-fpu
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-ir
* kselftest-kcmp
* kselftest-kexec
* kselftest-kvm
* kselftest-lib
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-memory-hotplug
* kselftest-mincore
* kselftest-mount
* kselftest-mqueue
* kselftest-net
* kselftest-net-forwarding
* kselftest-net-mptcp
* kselftest-netfilter
* kselftest-nsfs
* kselftest-openat2
* kselftest-pid_namespace
* kselftest-pidfd
* kselftest-proc
* kselftest-pstore
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-splice
* kselftest-static_keys
* kselftest-sync
* kselftest-sysctl
* kselftest-tc-testing
* kselftest-timens
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user
* kselftest-vm
* kselftest-x86
* kselftest-zram
* kunit
* kvm-unit-tests
* libgpiod
* libhugetlbfs
* log-parser-boot
* log-parser-test
* ltp-cap_bounds
* ltp-comman[
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-filecaps
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-fsx
* ltp-hugetlb
* ltp-io
* ltp-ipc
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-open-posix-tests
* ltp-pty
* ltp-sched
* ltp-securebits
* ltp-smoke
* ltp-syscalls
* ltp-tracing
* network-basic-tests
* packetdrill
* perf
* rcutorture
* v4l2-compliance
* vdso
--
Linaro LKFT
https://lkft.linaro.org
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.92 release. There are 20 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, 05 Feb 2023 10:09:58 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.15.92-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).
Greg Kroah-Hartman
maintainerQuoted 15 lines · Ron Economos
Quoted 14 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.92 release. There are 20 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, 05 Feb 2023 10:09:58 +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/v5.x/stable-review/patch-5.15.92-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.
Quoted 8 lines
Quoted 3 lines
thanks,
greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).
Tested-by Ron Economos <[email protected]>
Thanks for testing and letting me know,
greg k-h
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.92 release. There are 20 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, 05 Feb 2023 10:09:58 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.15.92-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
All tests passing for Tegra ...
Test results for stable-v5.15:
11 builds: 11 pass, 0 fail
28 boots: 28 pass, 0 fail
114 tests: 114 pass, 0 failLinux version: 5.15.92-rc1-gd8296a906e7a
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000,
tegra20-ventana, tegra210-p2371-2180,
tegra210-p3450-0000, tegra30-cardhu-a04Jon