Skip to content

[ciqlts9_4] Multiple patches tested (11 commits)#1177

Open
ciq-kernel-automation[bot] wants to merge 11 commits intociqlts9_4from
{roxanan}_ciqlts9_4
Open

[ciqlts9_4] Multiple patches tested (11 commits)#1177
ciq-kernel-automation[bot] wants to merge 11 commits intociqlts9_4from
{roxanan}_ciqlts9_4

Conversation

@ciq-kernel-automation
Copy link
Copy Markdown

Summary

This PR has been automatically created after successful completion of all CI stages.

Commit Message(s)

mmc: sdio: fix possible resource leaks in some error paths

jira VULN-35546
cve CVE-2023-52730
commit-author Yang Yingliang <yangyingliang@huawei.com>
commit 605d9fb9556f8f5fb4566f4df1480f280f308ded
rcu-tasks: Avoid pr_info() with spin lock in cblist_init_generic()

jira VULN-157616
cve CVE-2023-53558
commit-author Shigeru Yoshida <syoshida@redhat.com>
commit 5fc8cbe4cf0fd34ded8045c385790c3bf04f6785
ext4: allow ext4_get_group_info() to fail

jira VULN-157086
cve CVE-2023-53503
commit-author Theodore Ts'o <tytso@mit.edu>
commit 5354b2af34064a4579be8bc0e2f15a7b70f14b5f
upstream-diff |
	Added fifth argument in 'mb_regenerate_buddy' call to
	'ext4_mb_generate_buddy' introduced in commit c9b528c35795
	("ext4: regenerate buddy after block freeing failed if under fc replay")
	The function missed the extra argument because the changes were
	added before this change and had to be manually adjusted.
	Now that this commit introduced the fifth argument in ext4_mb_generate_buddy,
	that change is kinda reverted.
ext4: correct grp validation in ext4_mb_good_group

jira VULN-169012
cve CVE-2023-53861
commit-author Kemeng Shi <shikemeng@huaweicloud.com>
commit a9ce5993a0f5c0887c8a1b4ffa3b8046fbcfdc93
ext4: drop the call to ext4_error() from ext4_get_group_info()

jira VULN-157086
cve-bf CVE-2023-53503
commit-author Fabio M. De Francesco <fmdefrancesco@gmail.com>
commit f451fd97dd2b78f286379203a47d9d295c467255
net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()

jira VULN-170949
cve CVE-2023-54114
commit-author Dong Chenchen <dongchenchen2@huawei.com>
commit c83b49383b595be50647f0c764a48c78b5f3c4f8
i2c: core: Run atomic i2c xfer when !preemptible

jira VULN-35813
cve CVE-2023-52791
commit-author Benjamin Bara <benjamin.bara@skidata.com>
commit aa49c90894d06e18a1ee7c095edbd2f37c232d02
i2c: core: Fix atomic xfer check for non-preempt config

jira VULN-35813
cve-bf CVE-2023-52791
commit-author Benjamin Bara <benjamin.bara@skidata.com>
commit a3368e1186e3ce8e38f78cbca019622095b1f331
RDMA/siw: Fix connection failure handling

jira VULN-35016
cve CVE-2023-52513
commit-author Bernard Metzler <bmt@zurich.ibm.com>
commit 53a3f777049771496f791504e7dc8ef017cba590
perf/core: Bail out early if the request AUX area is out of bound

jira VULN-35978
cve CVE-2023-52835
commit-author Shuai Xue <xueshuai@linux.alibaba.com>
commit 54aee5f15b83437f23b2b2469bcf21bdd9823916
atl1c: Work around the DMA RX overflow issue

jira VULN-36010
cve CVE-2023-52834
commit-author Sieng-Piaw Liew <liew.s.piaw@gmail.com>
commit 86565682e9053e5deb128193ea9e88531bbae9cf

Test Results

✅ Build Stage

Architecture Build Time Total Time
x86_64 28m 21s 29m 19s
aarch64 21m 22s 22m 7s

✅ Boot Verification

✅ Kernel Selftests

Architecture Passed Failed Compared Against Status
x86_64 188 29 ciqlts9_4 ✅ No regressions
aarch64 142 33 ciqlts9_4 ✅ No regressions

✅ LTP Results

Architecture Passed Failed Compared Against Status
x86_64 1447 81 ciqlts9_4 ✅ No regressions
aarch64 1418 82 ciqlts9_4 ✅ No regressions

🤖 This PR was automatically generated by GitHub Actions
Run ID: 25315386061

CIQ Kernel Automation added 11 commits May 4, 2026 07:17
jira VULN-35546
cve CVE-2023-52730
commit-author Yang Yingliang <yangyingliang@huawei.com>
commit 605d9fb

If sdio_add_func() or sdio_init_func() fails, sdio_remove_func() can
not release the resources, because the sdio function is not presented
in these two cases, it won't call of_node_put() or put_device().

To fix these leaks, make sdio_func_present() only control whether
device_del() needs to be called or not, then always call of_node_put()
and put_device().

In error case in sdio_init_func(), the reference of 'card->dev' is
not get, to avoid redundant put in sdio_free_func_cis(), move the
get_device() to sdio_alloc_func() and put_device() to sdio_release_func(),
it can keep the get/put function be balanced.

Without this patch, while doing fault inject test, it can get the
following leak reports, after this fix, the leak is gone.

unreferenced object 0xffff888112514000 (size 2048):
  comm "kworker/3:2", pid 65, jiffies 4294741614 (age 124.774s)
  hex dump (first 32 bytes):
    00 e0 6f 12 81 88 ff ff 60 58 8d 06 81 88 ff ff  ..o.....`X......
    10 40 51 12 81 88 ff ff 10 40 51 12 81 88 ff ff  .@q......@q.....
  backtrace:
    [<000000009e5931da>] kmalloc_trace+0x21/0x110
    [<000000002f839ccb>] mmc_alloc_card+0x38/0xb0 [mmc_core]
    [<0000000004adcbf6>] mmc_sdio_init_card+0xde/0x170 [mmc_core]
    [<000000007538fea0>] mmc_attach_sdio+0xcb/0x1b0 [mmc_core]
    [<00000000d4fdeba7>] mmc_rescan+0x54a/0x640 [mmc_core]

unreferenced object 0xffff888112511000 (size 2048):
  comm "kworker/3:2", pid 65, jiffies 4294741623 (age 124.766s)
  hex dump (first 32 bytes):
    00 40 51 12 81 88 ff ff e0 58 8d 06 81 88 ff ff  .@q......X......
    10 10 51 12 81 88 ff ff 10 10 51 12 81 88 ff ff  ..Q.......Q.....
  backtrace:
    [<000000009e5931da>] kmalloc_trace+0x21/0x110
    [<00000000fcbe706c>] sdio_alloc_func+0x35/0x100 [mmc_core]
    [<00000000c68f4b50>] mmc_attach_sdio.cold.18+0xb1/0x395 [mmc_core]
    [<00000000d4fdeba7>] mmc_rescan+0x54a/0x640 [mmc_core]

Fixes: 3d10a1b ("sdio: fix reference counting in sdio_remove_func()")
	Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
	Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20230130125808.3471254-1-yangyingliang@huawei.com
	Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 605d9fb)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-157616
cve CVE-2023-53558
commit-author Shigeru Yoshida <syoshida@redhat.com>
commit 5fc8cbe

pr_info() is called with rtp->cbs_gbl_lock spin lock locked.  Because
pr_info() calls printk() that might sleep, this will result in BUG
like below:

[    0.206455] cblist_init_generic: Setting adjustable number of callback queues.
[    0.206463]
[    0.206464] =============================
[    0.206464] [ BUG: Invalid wait context ]
[    0.206465] 5.19.0-00428-g9de1f9c8ca51 #5 Not tainted
[    0.206466] -----------------------------
[    0.206466] swapper/0/1 is trying to lock:
[    0.206467] ffffffffa0167a58 (&port_lock_key){....}-{3:3}, at: serial8250_console_write+0x327/0x4a0
[    0.206473] other info that might help us debug this:
[    0.206473] context-{5:5}
[    0.206474] 3 locks held by swapper/0/1:
[    0.206474]  #0: ffffffff9eb597e0 (rcu_tasks.cbs_gbl_lock){....}-{2:2}, at: cblist_init_generic.constprop.0+0x14/0x1f0
[    0.206478]  #1: ffffffff9eb579c0 (console_lock){+.+.}-{0:0}, at: _printk+0x63/0x7e
[    0.206482]  #2: ffffffff9ea77780 (console_owner){....}-{0:0}, at: console_emit_next_record.constprop.0+0x111/0x330
[    0.206485] stack backtrace:
[    0.206486] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.19.0-00428-g9de1f9c8ca51 #5
[    0.206488] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.0-1.fc36 04/01/2014
[    0.206489] Call Trace:
[    0.206490]  <TASK>
[    0.206491]  dump_stack_lvl+0x6a/0x9f
[    0.206493]  __lock_acquire.cold+0x2d7/0x2fe
[    0.206496]  ? stack_trace_save+0x46/0x70
[    0.206497]  lock_acquire+0xd1/0x2f0
[    0.206499]  ? serial8250_console_write+0x327/0x4a0
[    0.206500]  ? __lock_acquire+0x5c7/0x2720
[    0.206502]  _raw_spin_lock_irqsave+0x3d/0x90
[    0.206504]  ? serial8250_console_write+0x327/0x4a0
[    0.206506]  serial8250_console_write+0x327/0x4a0
[    0.206508]  console_emit_next_record.constprop.0+0x180/0x330
[    0.206511]  console_unlock+0xf7/0x1f0
[    0.206512]  vprintk_emit+0xf7/0x330
[    0.206514]  _printk+0x63/0x7e
[    0.206516]  cblist_init_generic.constprop.0.cold+0x24/0x32
[    0.206518]  rcu_init_tasks_generic+0x5/0xd9
[    0.206522]  kernel_init_freeable+0x15b/0x2a2
[    0.206523]  ? rest_init+0x160/0x160
[    0.206526]  kernel_init+0x11/0x120
[    0.206527]  ret_from_fork+0x1f/0x30
[    0.206530]  </TASK>
[    0.207018] cblist_init_generic: Setting shift to 1 and lim to 1.

This patch moves pr_info() so that it is called without
rtp->cbs_gbl_lock locked.

	Signed-off-by: Shigeru Yoshida <syoshida@redhat.com>
	Tested-by: "Zhang, Qiang1" <qiang1.zhang@intel.com>
	Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
(cherry picked from commit 5fc8cbe)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-157086
cve CVE-2023-53503
commit-author Theodore Ts'o <tytso@mit.edu>
commit 5354b2a
upstream-diff |
	Added fifth argument in 'mb_regenerate_buddy' call to
	'ext4_mb_generate_buddy' introduced in commit c9b528c
	("ext4: regenerate buddy after block freeing failed if under fc replay")
	The function missed the extra argument because the changes were
	added before this change and had to be manually adjusted.
	Now that this commit introduced the fifth argument in ext4_mb_generate_buddy,
	that change is kinda reverted.

Previously, ext4_get_group_info() would treat an invalid group number
as BUG(), since in theory it should never happen.  However, if a
malicious attaker (or fuzzer) modifies the superblock via the block
device while it is the file system is mounted, it is possible for
s_first_data_block to get set to a very large number.  In that case,
when calculating the block group of some block number (such as the
starting block of a preallocation region), could result in an
underflow and very large block group number.  Then the BUG_ON check in
ext4_get_group_info() would fire, resutling in a denial of service
attack that can be triggered by root or someone with write access to
the block device.

For a quality of implementation perspective, it's best that even if
the system administrator does something that they shouldn't, that it
will not trigger a BUG.  So instead of BUG'ing, ext4_get_group_info()
will call ext4_error and return NULL.  We also add fallback code in
all of the callers of ext4_get_group_info() that it might NULL.

Also, since ext4_get_group_info() was already borderline to be an
inline function, un-inline it.  The results in a next reduction of the
compiled text size of ext4 by roughly 2k.

	Cc: stable@kernel.org
Link: https://lore.kernel.org/r/20230430154311.579720-2-tytso@mit.edu
	Reported-by: syzbot+e2efa3efc15a1c9e95c3@syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?id=69b28112e098b070f639efb356393af3ffec4220
	Signed-off-by: Theodore Ts'o <tytso@mit.edu>
	Reviewed-by: Jan Kara <jack@suse.cz>
(cherry picked from commit 5354b2a)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
	Signed-off-by: Roxana Nicolescu <rnicolescu@ciq.com>
jira VULN-169012
cve CVE-2023-53861
commit-author Kemeng Shi <shikemeng@huaweicloud.com>
commit a9ce599

Group corruption check will access memory of grp and will trigger kernel
crash if grp is NULL. So do NULL check before corruption check.

Fixes: 5354b2a ("ext4: allow ext4_get_group_info() to fail")
	Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
	Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Link: https://lore.kernel.org/r/20230801143204.2284343-2-shikemeng@huaweicloud.com
	Signed-off-by: Theodore Ts'o <tytso@mit.edu>
(cherry picked from commit a9ce599)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-157086
cve-bf CVE-2023-53503
commit-author Fabio M. De Francesco <fmdefrancesco@gmail.com>
commit f451fd9

A recent patch added a call to ext4_error() which is problematic since
some callers of the ext4_get_group_info() function may be holding a
spinlock, whereas ext4_error() must never be called in atomic context.

This triggered a report from Syzbot: "BUG: sleeping function called from
invalid context in ext4_update_super" (see the link below).

Therefore, drop the call to ext4_error() from ext4_get_group_info(). In
the meantime use eight characters tabs instead of nine characters ones.

	Reported-by: syzbot+4acc7d910e617b360859@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/00000000000070575805fdc6cdb2@google.com/
Fixes: 5354b2a ("ext4: allow ext4_get_group_info() to fail")
	Suggested-by: Theodore Ts'o <tytso@mit.edu>
	Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Link: https://lore.kernel.org/r/20230614100446.14337-1-fmdefrancesco@gmail.com
(cherry picked from commit f451fd9)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-170949
cve CVE-2023-54114
commit-author Dong Chenchen <dongchenchen2@huawei.com>
commit c83b493

As the call trace shows, skb_panic was caused by wrong skb->mac_header
in nsh_gso_segment():

invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 3 PID: 2737 Comm: syz Not tainted 6.3.0-next-20230505 #1
RIP: 0010:skb_panic+0xda/0xe0
call Trace:
 skb_push+0x91/0xa0
 nsh_gso_segment+0x4f3/0x570
 skb_mac_gso_segment+0x19e/0x270
 __skb_gso_segment+0x1e8/0x3c0
 validate_xmit_skb+0x452/0x890
 validate_xmit_skb_list+0x99/0xd0
 sch_direct_xmit+0x294/0x7c0
 __dev_queue_xmit+0x16f0/0x1d70
 packet_xmit+0x185/0x210
 packet_snd+0xc15/0x1170
 packet_sendmsg+0x7b/0xa0
 sock_sendmsg+0x14f/0x160

The root cause is:
nsh_gso_segment() use skb->network_header - nhoff to reset mac_header
in skb_gso_error_unwind() if inner-layer protocol gso fails.
However, skb->network_header may be reset by inner-layer protocol
gso function e.g. mpls_gso_segment. skb->mac_header reset by the
inaccurate network_header will be larger than skb headroom.

nsh_gso_segment
    nhoff = skb->network_header - skb->mac_header;
    __skb_pull(skb,nsh_len)
    skb_mac_gso_segment
        mpls_gso_segment
            skb_reset_network_header(skb);//skb->network_header+=nsh_len
            return -EINVAL;
    skb_gso_error_unwind
        skb_push(skb, nsh_len);
        skb->mac_header = skb->network_header - nhoff;
        // skb->mac_header > skb->headroom, cause skb_push panic

Use correct mac_offset to restore mac_header and get rid of nhoff.

Fixes: c411ed8 ("nsh: add GSO support")
	Reported-by: syzbot+632b5d9964208bfef8c0@syzkaller.appspotmail.com
	Suggested-by: Eric Dumazet <edumazet@google.com>
	Signed-off-by: Dong Chenchen <dongchenchen2@huawei.com>
	Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit c83b493)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-35813
cve CVE-2023-52791
commit-author Benjamin Bara <benjamin.bara@skidata.com>
commit aa49c90

Since bae1d3a, i2c transfers are non-atomic if preemption is
disabled. However, non-atomic i2c transfers require preemption (e.g. in
wait_for_completion() while waiting for the DMA).

panic() calls preempt_disable_notrace() before calling
emergency_restart(). Therefore, if an i2c device is used for the
restart, the xfer should be atomic. This avoids warnings like:

[   12.667612] WARNING: CPU: 1 PID: 1 at kernel/rcu/tree_plugin.h:318 rcu_note_context_switch+0x33c/0x6b0
[   12.676926] Voluntary context switch within RCU read-side critical section!
...
[   12.742376]  schedule_timeout from wait_for_completion_timeout+0x90/0x114
[   12.749179]  wait_for_completion_timeout from tegra_i2c_wait_completion+0x40/0x70
...
[   12.994527]  atomic_notifier_call_chain from machine_restart+0x34/0x58
[   13.001050]  machine_restart from panic+0x2a8/0x32c

Use !preemptible() instead, which is basically the same check as
pre-v5.2.

Fixes: bae1d3a ("i2c: core: remove use of in_atomic()")
	Cc: stable@vger.kernel.org # v5.2+
	Suggested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
	Acked-by: Wolfram Sang <wsa@kernel.org>
	Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
	Tested-by: Nishanth Menon <nm@ti.com>
	Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
Link: https://lore.kernel.org/r/20230327-tegra-pmic-reboot-v7-2-18699d5dcd76@skidata.com
	Signed-off-by: Lee Jones <lee@kernel.org>
(cherry picked from commit aa49c90)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-35813
cve-bf CVE-2023-52791
commit-author Benjamin Bara <benjamin.bara@skidata.com>
commit a3368e1

Since commit aa49c90 ("i2c: core: Run atomic i2c xfer when
!preemptible"), the whole reboot/power off sequence on non-preempt kernels
is using atomic i2c xfer, as !preemptible() always results to 1.

During device_shutdown(), the i2c might be used a lot and not all busses
have implemented an atomic xfer handler. This results in a lot of
avoidable noise, like:

[   12.687169] No atomic I2C transfer handler for 'i2c-0'
[   12.692313] WARNING: CPU: 6 PID: 275 at drivers/i2c/i2c-core.h:40 i2c_smbus_xfer+0x100/0x118
...

Fix this by allowing non-atomic xfer when the interrupts are enabled, as
it was before.

Link: https://lore.kernel.org/r/20231222230106.73f030a5@yea
Link: https://lore.kernel.org/r/20240102150350.3180741-1-mwalle@kernel.org
Link: https://lore.kernel.org/linux-i2c/13271b9b-4132-46ef-abf8-2c311967bb46@mailbox.org/
Fixes: aa49c90 ("i2c: core: Run atomic i2c xfer when !preemptible")
	Cc: stable@vger.kernel.org # v5.2+
	Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
	Tested-by: Michael Walle <mwalle@kernel.org>
	Tested-by: Tor Vic <torvic9@mailbox.org>
[wsa: removed a comment which needs more work, code is ok]
	Signed-off-by: Wolfram Sang <wsa@kernel.org>
(cherry picked from commit a3368e1)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-35016
cve CVE-2023-52513
commit-author Bernard Metzler <bmt@zurich.ibm.com>
commit 53a3f77

In case immediate MPA request processing fails, the newly
created endpoint unlinks the listening endpoint and is
ready to be dropped. This special case was not handled
correctly by the code handling the later TCP socket close,
causing a NULL dereference crash in siw_cm_work_handler()
when dereferencing a NULL listener. We now also cancel
the useless MPA timeout, if immediate MPA request
processing fails.

This patch furthermore simplifies MPA processing in general:
Scheduling a useless TCP socket read in sk_data_ready() upcall
is now surpressed, if the socket is already moved out of
TCP_ESTABLISHED state.

Fixes: 6c52fdc ("rdma/siw: connection management")
	Signed-off-by: Bernard Metzler <bmt@zurich.ibm.com>
Link: https://lore.kernel.org/r/20230905145822.446263-1-bmt@zurich.ibm.com
	Signed-off-by: Leon Romanovsky <leon@kernel.org>
(cherry picked from commit 53a3f77)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-35978
cve CVE-2023-52835
commit-author Shuai Xue <xueshuai@linux.alibaba.com>
commit 54aee5f

When perf-record with a large AUX area, e.g 4GB, it fails with:

    #perf record -C 0 -m ,4G -e arm_spe_0// -- sleep 1
    failed to mmap with 12 (Cannot allocate memory)

and it reveals a WARNING with __alloc_pages():

	------------[ cut here ]------------
	WARNING: CPU: 44 PID: 17573 at mm/page_alloc.c:5568 __alloc_pages+0x1ec/0x248
	Call trace:
	 __alloc_pages+0x1ec/0x248
	 __kmalloc_large_node+0xc0/0x1f8
	 __kmalloc_node+0x134/0x1e8
	 rb_alloc_aux+0xe0/0x298
	 perf_mmap+0x440/0x660
	 mmap_region+0x308/0x8a8
	 do_mmap+0x3c0/0x528
	 vm_mmap_pgoff+0xf4/0x1b8
	 ksys_mmap_pgoff+0x18c/0x218
	 __arm64_sys_mmap+0x38/0x58
	 invoke_syscall+0x50/0x128
	 el0_svc_common.constprop.0+0x58/0x188
	 do_el0_svc+0x34/0x50
	 el0_svc+0x34/0x108
	 el0t_64_sync_handler+0xb8/0xc0
	 el0t_64_sync+0x1a4/0x1a8

'rb->aux_pages' allocated by kcalloc() is a pointer array which is used to
maintains AUX trace pages. The allocated page for this array is physically
contiguous (and virtually contiguous) with an order of 0..MAX_ORDER. If the
size of pointer array crosses the limitation set by MAX_ORDER, it reveals a
WARNING.

So bail out early with -ENOMEM if the request AUX area is out of bound,
e.g.:

    #perf record -C 0 -m ,4G -e arm_spe_0// -- sleep 1
    failed to mmap with 12 (Cannot allocate memory)

	Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com>
	Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
	Signed-off-by: Ingo Molnar <mingo@kernel.org>
(cherry picked from commit 54aee5f)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
jira VULN-36010
cve CVE-2023-52834
commit-author Sieng-Piaw Liew <liew.s.piaw@gmail.com>
commit 8656568

This is based on alx driver commit 881d032 ("net: alx: Work around
the DMA RX overflow issue").

The alx and atl1c drivers had RX overflow error which was why a custom
allocator was created to avoid certain addresses. The simpler workaround
then created for alx driver, but not for atl1c due to lack of tester.

Instead of using a custom allocator, check the allocated skb address and
use skb_reserve() to move away from problematic 0x...fc0 address.

Tested on AR8131 on Acer 4540.

	Signed-off-by: Sieng-Piaw Liew <liew.s.piaw@gmail.com>
Link: https://lore.kernel.org/r/20230912010711.12036-1-liew.s.piaw@gmail.com
	Signed-off-by: Paolo Abeni <pabeni@redhat.com>
(cherry picked from commit 8656568)
	Signed-off-by: CIQ Kernel Automation <ciq_kernel_automation@ciq.com>
@ciq-kernel-automation ciq-kernel-automation Bot added the created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI) label May 4, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

🤖 Validation Checks In Progress Workflow run: https://github.com/ctrliq/kernel-src-tree/actions/runs/25327272812

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

🔍 Interdiff Analysis

  • ⚠️ PR commit 3e22df1c6a6 (mmc: sdio: fix possible resource leaks in some error paths) → upstream 605d9fb9556f
    Differences found:
================================================================================
*    CONTEXT DIFFERENCES - surrounding code differences between the patches    *
================================================================================

--- b/drivers/mmc/core/sdio_bus.c
+++ b/drivers/mmc/core/sdio_bus.c
@@ -289,5 +289,5 @@
-
-	sdio_free_func_cis(func);
+	if (!(func->card->quirks & MMC_QUIRK_NONSTD_SDIO))
+		sdio_free_func_cis(func);
 
 	kfree(func->info);
 	kfree(func->tmpbuf);
  • ⚠️ PR commit ec7f17dcb66 (ext4: allow ext4_get_group_info() to fail) → upstream 5354b2af3406
    Differences found:
================================================================================
*    DELTA DIFFERENCES - code changes that differ between the patches          *
================================================================================

--- b/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -1131,7 +1131,7 @@
 		(e4b->bd_sb->s_blocksize_bits + 2));
 
 	ext4_mb_generate_buddy(e4b->bd_sb, e4b->bd_buddy,
-		e4b->bd_bitmap, e4b->bd_group, e4b->bd_info);
+		e4b->bd_bitmap, e4b->bd_group);
 }
 
 /* The buddy information is attached the buddy cache inode
  • ⚠️ PR commit a12f95adb9b (ext4: correct grp validation in ext4_mb_good_group) → upstream a9ce5993a0f5
    Differences found:
================================================================================
*    CONTEXT DIFFERENCES - surrounding code differences between the patches    *
================================================================================

--- b/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -2436,5 +2436,5 @@
 
-	BUG_ON(cr < 0 || cr >= 4);
+	BUG_ON(cr < CR_POWER2_ALIGNED || cr >= EXT4_MB_NUM_CRS);
 
 	if (unlikely(EXT4_MB_GRP_BBITMAP_CORRUPT(grp) || !grp))
 		return false;

This is an automated interdiff check for backported commits.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

Validation checks completed successfully View full results: https://github.com/ctrliq/kernel-src-tree/actions/runs/25327272812

Comment thread fs/ext4/mballoc.c

grp = ext4_get_group_info(sb, e4b->bd_group);
if (!grp)
return NULL;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function has a return type as int so returning NULL here will cause warnings. Maybe they missed it when upstreaming this patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI)

Development

Successfully merging this pull request may close these issues.

1 participant