- Apr 11, 2025
-
-
Max Wang authored
This reverts commit 15b453db. Fix missing struct hrtimer_cpu_base initialize in CPU hotplug Online process when the device is awakened from a deep state by reverting hrtimer referenced modifies in android13-5.15-2025-03_r1. Bug:407861080 Change-Id: I8eebcdc59c1ae2a61a5032e07da98326a9484189 Signed-off-by:
Max Wang <max.wang@unisoc.com>
-
- Apr 08, 2025
-
-
Jianan Huang authored
When testing the atomic write fix patches, the f2fs_bug_on was triggered as below: ------------[ cut here ]------------ kernel BUG at fs/f2fs/inode.c:935! Oops: invalid opcode: 0000 [#1] PREEMPT SMP PTI CPU: 3 UID: 0 PID: 257 Comm: bash Not tainted 6.13.0-rc1-00033-gc283a70d3497 #5 RIP: 0010:f2fs_evict_inode+0x50f/0x520 Call Trace: <TASK> ? __die_body+0x65/0xb0 ? die+0x9f/0xc0 ? do_trap+0xa1/0x170 ? f2fs_evict_inode+0x50f/0x520 ? f2fs_evict_inode+0x50f/0x520 ? handle_invalid_op+0x65/0x80 ? f2fs_evict_inode+0x50f/0x520 ? exc_invalid_op+0x39/0x50 ? asm_exc_invalid_op+0x1a/0x20 ? __pfx_f2fs_get_dquots+0x10/0x10 ? f2fs_evict_inode+0x50f/0x520 ? f2fs_evict_inode+0x2e5/0x520 evict+0x186/0x2f0 prune_icache_sb+0x75/0xb0 super_cache_scan+0x1a8/0x200 do_shrink_slab+0x163/0x320 shrink_slab+0x2fc/0x470 drop_slab+0x82/0xf0 drop_caches_sysctl_handler+0x4e/0xb0 proc_sys_call_handler+0x183/0x280 vfs_write+0x36d/0x450 ksys_write+0x68/0xd0 do_syscall_64+0xc8/0x1a0 ? arch_exit_to_user_mode_prepare+0x11/0x60 ? irqentry_exit_to_user_mode+0x7e/0xa0 The root cause is: f2fs uses FI_ATOMIC_DIRTIED to indicate dirty atomic files during commit. If the inode is dirtied during commit, such as by f2fs_i_pino_write, the vfs inode keeps clean and the f2fs inode is set to FI_DIRTY_INODE. The FI_DIRTY_INODE flag cann't be cleared by write_inode later due to the clean vfs inode. Finally, f2fs_bug_on is triggered due to this inconsistent state when evict. To reproduce this situation: - fd = open("/mnt/test.db", O_WRONLY) - ioctl(fd, F2FS_IOC_START_ATOMIC_WRITE) - mv /mnt/test.db /mnt/test1.db - ioctl(fd, F2FS_IOC_COMMIT_ATOMIC_WRITE) - echo 3 > /proc/sys/vm/drop_caches To fix this problem, clear FI_DIRTY_INODE after commit, then f2fs_mark_inode_dirty_sync will ensure a consistent dirty state. Bug: 395196420 Fixes: fccaa81d ("f2fs: prevent atomic file from being dirtied before commit") Change-Id: I2c637b4bc544453b07ab124527efb694da9b757f Signed-off-by:
Yunlei He <heyunlei@xiaomi.com> Signed-off-by:
Jianan Huang <huangjianan@xiaomi.com> Reviewed-by:
Chao Yu <chao@kernel.org> Signed-off-by:
Jaegeuk Kim <jaegeuk@kernel.org> (cherry picked from commit 03511e93) (cherry picked from commit 0e0c5304) (cherry picked from commit 88c87bc8) Bug: 397805264 Signed-off-by:
Xiuhong Wang <xiuhong.wang@unisoc.com> (cherry picked from commit 4b5c82cf) Bug: 409148924
-
- Mar 27, 2025
-
-
Add required symbols for mtkott. Bug: 406598943 Change-Id: Ie510267eaf3e0f05db1bd1c99bb4772b26564375 Signed-off-by:
Isaac J. Manjarres <isaacmanjarres@google.com>
-
- Mar 18, 2025
-
-
Quang Le authored
commit 647cef20 upstream. Expected behaviour: In case we reach scheduler's limit, pfifo_tail_enqueue() will drop a packet in scheduler's queue and decrease scheduler's qlen by one. Then, pfifo_tail_enqueue() enqueue new packet and increase scheduler's qlen by one. Finally, pfifo_tail_enqueue() return `NET_XMIT_CN` status code. Weird behaviour: In case we set `sch->limit == 0` and trigger pfifo_tail_enqueue() on a scheduler that has no packet, the 'drop a packet' step will do nothing. This means the scheduler's qlen still has value equal 0. Then, we continue to enqueue new packet and increase scheduler's qlen by one. In summary, we can leverage pfifo_tail_enqueue() to increase qlen by one and return `NET_XMIT_CN` status code. The problem is: Let's say we have two qdiscs: Qdisc_A and Qdisc_B. - Qdisc_A's type must have '->graft()' function to create parent/child relationship. Let's say Qdisc_A's type is `hfsc`. Enqueue packet to this qdisc will trigger `hfsc_enqueue`. - Qdisc_B's type is pfifo_head_drop. Enqueue packet to this qdisc will trigger `pfifo_tail_enqueue`. - Qdisc_B is configured to have `sch->limit == 0`. - Qdisc_A is configured to route the enqueued's packet to Qdisc_B. Enqueue packet through Qdisc_A will lead to: - hfsc_enqueue(Qdisc_A) -> pfifo_tail_enqueue(Qdisc_B) - Qdisc_B->q.qlen += 1 - pfifo_tail_enqueue() return `NET_XMIT_CN` - hfsc_enqueue() check for `NET_XMIT_SUCCESS` and see `NET_XMIT_CN` => hfsc_enqueue() don't increase qlen of Qdisc_A. The whole process lead to a situation where Qdisc_A->q.qlen == 0 and Qdisc_B->q.qlen == 1. Replace 'hfsc' with other type (for example: 'drr') still lead to the same problem. This violate the design where parent's qlen should equal to the sum of its childrens'qlen. Bug impact: This issue can be used for user->kernel privilege escalation when it is reachable. Bug: 395539871 Fixes: 57dbb2d8 ("sched: add head drop fifo queue") Reported-by:
Quang Le <quanglex97@gmail.com> Signed-off-by:
Quang Le <quanglex97@gmail.com> Signed-off-by:
Cong Wang <cong.wang@bytedance.com> Link: https://patch.msgid.link/20250204005841.223511-2-xiyou.wangcong@gmail.com Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 79a955ea) Signed-off-by:
Lee Jones <joneslee@google.com> Change-Id: I94a3851190671bc98666cb659e8419ab2767fb03
-
Jamal Hadi Salim authored
[ Upstream commit bc50835e ] Lion Ackermann was able to create a UAF which can be abused for privilege escalation with the following script Step 1. create root qdisc tc qdisc add dev lo root handle 1:0 drr step2. a class for packet aggregation do demonstrate uaf tc class add dev lo classid 1:1 drr step3. a class for nesting tc class add dev lo classid 1:2 drr step4. a class to graft qdisc to tc class add dev lo classid 1:3 drr step5. tc qdisc add dev lo parent 1:1 handle 2:0 plug limit 1024 step6. tc qdisc add dev lo parent 1:2 handle 3:0 drr step7. tc class add dev lo classid 3:1 drr step 8. tc qdisc add dev lo parent 3:1 handle 4:0 pfifo step 9. Display the class/qdisc layout tc class ls dev lo class drr 1:1 root leaf 2: quantum 64Kb class drr 1:2 root leaf 3: quantum 64Kb class drr 3:1 root leaf 4: quantum 64Kb tc qdisc ls qdisc drr 1: dev lo root refcnt 2 qdisc plug 2: dev lo parent 1:1 qdisc pfifo 4: dev lo parent 3:1 limit 1000p qdisc drr 3: dev lo parent 1:2 step10. trigger the bug <=== prevented by this patch tc qdisc replace dev lo parent 1:3 handle 4:0 step 11. Redisplay again the qdiscs/classes tc class ls dev lo class drr 1:1 root leaf 2: quantum 64Kb class drr 1:2 root leaf 3: quantum 64Kb class drr 1:3 root leaf 4: quantum 64Kb class drr 3:1 root leaf 4: quantum 64Kb tc qdisc ls qdisc drr 1: dev lo root refcnt 2 qdisc plug 2: dev lo parent 1:1 qdisc pfifo 4: dev lo parent 3:1 refcnt 2 limit 1000p qdisc drr 3: dev lo parent 1:2 Observe that a) parent for 4:0 does not change despite the replace request. There can only be one parent. b) refcount has gone up by two for 4:0 and c) both class 1:3 and 3:1 are pointing to it. Step 12. send one packet to plug echo "" | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888,priority=$((0x10001)) step13. send one packet to the grafted fifo echo "" | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888,priority=$((0x10003)) step14. lets trigger the uaf tc class delete dev lo classid 1:3 tc class delete dev lo classid 1:1 The semantics of "replace" is for a del/add _on the same node_ and not a delete from one node(3:1) and add to another node (1:3) as in step10. While we could "fix" with a more complex approach there could be consequences to expectations so the patch takes the preventive approach of "disallow such config". Bug: 393266309 Joint work with Lion Ackermann <nnamrec@gmail.com> Fixes: 1da177e4 ("Linux-2.6.12-rc2") Signed-off-by:
Jamal Hadi Salim <jhs@mojatatu.com> Reviewed-by:
Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/20250116013713.900000-1-kuba@kernel.org Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Signed-off-by:
Sasha Levin <sashal@kernel.org> (cherry picked from commit deda09c0) Signed-off-by:
Lee Jones <joneslee@google.com> Change-Id: Id94e8dfb543643e489e33f79af990f23580b9121
-
Antoine Tenart authored
[ Upstream commit 12e070eb ] The following trace can be seen if a device is being unregistered while its number of channels are being modified. DEBUG_LOCKS_WARN_ON(lock->magic != lock) WARNING: CPU: 3 PID: 3754 at kernel/locking/mutex.c:564 __mutex_lock+0xc8a/0x1120 CPU: 3 UID: 0 PID: 3754 Comm: ethtool Not tainted 6.13.0-rc6+ #771 RIP: 0010:__mutex_lock+0xc8a/0x1120 Call Trace: <TASK> ethtool_check_max_channel+0x1ea/0x880 ethnl_set_channels+0x3c3/0xb10 ethnl_default_set_doit+0x306/0x650 genl_family_rcv_msg_doit+0x1e3/0x2c0 genl_rcv_msg+0x432/0x6f0 netlink_rcv_skb+0x13d/0x3b0 genl_rcv+0x28/0x40 netlink_unicast+0x42e/0x720 netlink_sendmsg+0x765/0xc20 __sys_sendto+0x3ac/0x420 __x64_sys_sendto+0xe0/0x1c0 do_syscall_64+0x95/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e This is because unregister_netdevice_many_notify might run before the rtnl lock section of ethnl operations, eg. set_channels in the above example. In this example the rss lock would be destroyed by the device unregistration path before being used again, but in general running ethnl operations while dismantle has started is not a good idea. Fix this by denying any operation on devices being unregistered. A check was already there in ethnl_ops_begin, but not wide enough. Note that the same issue cannot be seen on the ioctl version (__dev_ethtool) because the device reference is retrieved from within the rtnl lock section there. Once dismantle started, the net device is unlisted and no reference will be found. Bug: 392852041 Fixes: dde91ccf ("ethtool: do not perform operations on net devices being unregistered") Signed-off-by:
Antoine Tenart <atenart@kernel.org> Reviewed-by:
Przemek Kitszel <przemyslaw.kitszel@intel.com> Reviewed-by:
Edward Cree <ecree.xilinx@gmail.com> Link: https://patch.msgid.link/20250116092159.50890-1-atenart@kernel.org Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Signed-off-by:
Sasha Levin <sashal@kernel.org> (cherry picked from commit b1cb37a3) Signed-off-by:
Lee Jones <joneslee@google.com> Change-Id: I56dbd897bb6db194d1eab1d5370796d2e3142fe2
-
- Mar 17, 2025
-
-
Michal Luczaj authored
commit 78dafe1c upstream. During socket release, sock_orphan() is called without considering that it sets sk->sk_wq to NULL. Later, if SO_LINGER is enabled, this leads to a null pointer dereferenced in virtio_transport_wait_close(). Orphan the socket only after transport release. Partially reverts the 'Fixes:' commit. KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f] lock_acquire+0x19e/0x500 _raw_spin_lock_irqsave+0x47/0x70 add_wait_queue+0x46/0x230 virtio_transport_release+0x4e7/0x7f0 __vsock_release+0xfd/0x490 vsock_release+0x90/0x120 __sock_release+0xa3/0x250 sock_close+0x14/0x20 __fput+0x35e/0xa90 __x64_sys_close+0x78/0xd0 do_syscall_64+0x93/0x1b0 entry_SYSCALL_64_after_hwframe+0x76/0x7e Bug: 396331793 Reported-by:
<syzbot+9d55b199192a4be7d02c@syzkaller.appspotmail.com> Closes: https://syzkaller.appspot.com/bug?extid=9d55b199192a4be7d02c Fixes: fcdd2242 ("vsock: Keep the binding until socket destruction") Tested-by:
Luigi Leonardi <leonardi@redhat.com> Reviewed-by:
Luigi Leonardi <leonardi@redhat.com> Signed-off-by:
Michal Luczaj <mhal@rbox.co> Link: https://patch.msgid.link/20250210-vsock-linger-nullderef-v3-1-ef6244d02b54@rbox.co Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Signed-off-by:
Luigi Leonardi <leonardi@redhat.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 631e00fd) Signed-off-by:
Lee Jones <joneslee@google.com> Change-Id: I61ef914e5f706ee1c9dd2b9f95cbc69020fe8f00
-
Michal Luczaj authored
commit fcdd2242 upstream. Preserve sockets bindings; this includes both resulting from an explicit bind() and those implicitly bound through autobind during connect(). Prevents socket unbinding during a transport reassignment, which fixes a use-after-free: 1. vsock_create() (refcnt=1) calls vsock_insert_unbound() (refcnt=2) 2. transport->release() calls vsock_remove_bound() without checking if sk was bound and moved to bound list (refcnt=1) 3. vsock_bind() assumes sk is in unbound list and before __vsock_insert_bound(vsock_bound_sockets()) calls __vsock_remove_bound() which does: list_del_init(&vsk->bound_table); // nop sock_put(&vsk->sk); // refcnt=0 BUG: KASAN: slab-use-after-free in __vsock_bind+0x62e/0x730 Read of size 4 at addr ffff88816b46a74c by task a.out/2057 dump_stack_lvl+0x68/0x90 print_report+0x174/0x4f6 kasan_report+0xb9/0x190 __vsock_bind+0x62e/0x730 vsock_bind+0x97/0xe0 __sys_bind+0x154/0x1f0 __x64_sys_bind+0x6e/0xb0 do_syscall_64+0x93/0x1b0 entry_SYSCALL_64_after_hwframe+0x76/0x7e Allocated by task 2057: kasan_save_stack+0x1e/0x40 kasan_save_track+0x10/0x30 __kasan_slab_alloc+0x85/0x90 kmem_cache_alloc_noprof+0x131/0x450 sk_prot_alloc+0x5b/0x220 sk_alloc+0x2c/0x870 __vsock_create.constprop.0+0x2e/0xb60 vsock_create+0xe4/0x420 __sock_create+0x241/0x650 __sys_socket+0xf2/0x1a0 __x64_sys_socket+0x6e/0xb0 do_syscall_64+0x93/0x1b0 entry_SYSCALL_64_after_hwframe+0x76/0x7e Freed by task 2057: kasan_save_stack+0x1e/0x40 kasan_save_track+0x10/0x30 kasan_save_free_info+0x37/0x60 __kasan_slab_free+0x4b/0x70 kmem_cache_free+0x1a1/0x590 __sk_destruct+0x388/0x5a0 __vsock_bind+0x5e1/0x730 vsock_bind+0x97/0xe0 __sys_bind+0x154/0x1f0 __x64_sys_bind+0x6e/0xb0 do_syscall_64+0x93/0x1b0 entry_SYSCALL_64_after_hwframe+0x76/0x7e refcount_t: addition on 0; use-after-free. WARNING: CPU: 7 PID: 2057 at lib/refcount.c:25 refcount_warn_saturate+0xce/0x150 RIP: 0010:refcount_warn_saturate+0xce/0x150 __vsock_bind+0x66d/0x730 vsock_bind+0x97/0xe0 __sys_bind+0x154/0x1f0 __x64_sys_bind+0x6e/0xb0 do_syscall_64+0x93/0x1b0 entry_SYSCALL_64_after_hwframe+0x76/0x7e refcount_t: underflow; use-after-free. WARNING: CPU: 7 PID: 2057 at lib/refcount.c:28 refcount_warn_saturate+0xee/0x150 RIP: 0010:refcount_warn_saturate+0xee/0x150 vsock_remove_bound+0x187/0x1e0 __vsock_release+0x383/0x4a0 vsock_release+0x90/0x120 __sock_release+0xa3/0x250 sock_close+0x14/0x20 __fput+0x359/0xa80 task_work_run+0x107/0x1d0 do_exit+0x847/0x2560 do_group_exit+0xb8/0x250 __x64_sys_exit_group+0x3a/0x50 x64_sys_call+0xfec/0x14f0 do_syscall_64+0x93/0x1b0 entry_SYSCALL_64_after_hwframe+0x76/0x7e Bug: 396331793 Fixes: c0cfa2d8 ("vsock: add multi-transports support") Reviewed-by:
Stefano Garzarella <sgarzare@redhat.com> Signed-off-by:
Michal Luczaj <mhal@rbox.co> Link: https://patch.msgid.link/20250128-vsock-transport-vs-autobind-v3-1-1cf57065b770@rbox.co Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Signed-off-by:
Luigi Leonardi <leonardi@redhat.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 42b33381) Signed-off-by:
Lee Jones <joneslee@google.com> Change-Id: Ia6e19299e44641fcd178000349e0da94012f659e
-
Michal Luczaj authored
commit 135ffc7b upstream. vsock defines a BPF callback to be invoked when close() is called. However, this callback is never actually executed. As a result, a closed vsock socket is not automatically removed from the sockmap/sockhash. Introduce a dummy vsock_close() and make vsock_release() call proto::close. Note: changes in __vsock_release() look messy, but it's only due to indent level reduction and variables xmas tree reorder. Bug: 396331793 Fixes: 634f1a71 ("vsock: support sockmap") Signed-off-by:
Michal Luczaj <mhal@rbox.co> Reviewed-by:
Stefano Garzarella <sgarzare@redhat.com> Reviewed-by:
Luigi Leonardi <leonardi@redhat.com> Link: https://lore.kernel.org/r/20241118-vsock-bpf-poll-close-v1-3-f1b9669cacdc@rbox.co Signed-off-by:
Alexei Starovoitov <ast@kernel.org> Acked-by:
John Fastabend <john.fastabend@gmail.com> [LL: There is no sockmap support for this kernel version. This patch has been backported because it helps reduce conflicts on future backports] Signed-off-by:
Luigi Leonardi <leonardi@redhat.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 857428f4) Signed-off-by:
Lee Jones <joneslee@google.com> Change-Id: I8aefa411aa1ef317743deb600aaa4a9cdd52abd3
-
- Mar 13, 2025
-
-
Qi Han authored
BACKPORT: f2fs: compress: fix inconsistent update of i_blocks in release_compress_blocks and reserve_compress_blocks After release a file and subsequently reserve it, the FSCK flag is set when the file is deleted, as shown in the following backtrace: F2FS-fs (dm-48): Inconsistent i_blocks, ino:401231, iblocks:1448, sectors:1472 fs_rec_info_write_type+0x58/0x274 f2fs_rec_info_write+0x1c/0x2c set_sbi_flag+0x74/0x98 dec_valid_block_count+0x150/0x190 f2fs_truncate_data_blocks_range+0x2d4/0x3cc f2fs_do_truncate_blocks+0x2fc/0x5f0 f2fs_truncate_blocks+0x68/0x100 f2fs_truncate+0x80/0x128 f2fs_evict_inode+0x1a4/0x794 evict+0xd4/0x280 iput+0x238/0x284 do_unlinkat+0x1ac/0x298 __arm64_sys_unlinkat+0x48/0x68 invoke_syscall+0x58/0x11c For clusters of the following type, i_blocks are decremented by 1 and i_compr_blocks are incremented by 7 in release_compress_blocks, while updates to i_blocks and i_compr_blocks are skipped in reserve_compress_blocks. raw node: D D D D D D D D after compress: C D D D D D D D after reserve: C D D D D D D D Let's update i_blocks and i_compr_blocks properly in reserve_compress_blocks. Bug: 403145794 Fixes: eb8fbaa5 ("f2fs: compress: fix to check unreleased compressed cluster") Change-Id: I596af62bbd54941bfc77f30e182db94e81cba59b Signed-off-by:
Qi Han <hanqi@vivo.com> Reviewed-by:
Chao Yu <chao@kernel.org> Signed-off-by:
Jaegeuk Kim <jaegeuk@kernel.org> (cherry picked from commit 26413ce1) (cherry picked from commit 90d49524)
-
- Mar 10, 2025
-
-
Kalesh Singh authored
pte_unmap_same() and pte_offset_map_lock() in do_swap_page() do not check that the original faulting pmd_t is still the same before attempting to take the ptl lock for the page table, nor do they check the mm_struct’s sequence number. This is problematic if a concurrent fast-mremap happens where the pmd_t entry has been moved as now the vmf->pmd is pointing to the wrong page table. This incorrect page table may not be allocated which will cause the kernel to panic when attempting to take the ptl lock on it. Reinstate the vma refcount trylock since this will prevent a concurrent mremap on the VMA on which the speculative fault is happening. Note fast-mremap still needs to take the page table ptl lock (pte level) to avoid SPF races due to VMA splitting. Bug: 398054290 Bug: 400153677 Change-Id: I447f6f1b57bf1e7dd677e3aec47721702c6e6b88 Signed-off-by:
Kalesh Singh <kaleshsingh@google.com>
-
- Mar 06, 2025
-
-
yenchia.chen authored
1 function symbol(s) added 'int __traceiter_android_vh_printk_console_unlock' 1 variable symbol(s) added 'struct tracepoint __tracepoint_android_vh_printk_console_unlock' Bug: 400833332 Change-Id: I2b5aaa04adf953bdcf382bc3523956c58091d97c Signed-off-by:
yenchia.chen <yenchia.chen@mediatek.com>
-
- Feb 25, 2025
-
-
qinglin.li authored
3 function symbol(s) added 'void drain_workqueue(struct workqueue_struct *wq)' 'struct device_node *of_find_all_nodes(struct device_node *prev)' 'int __phy_resume(struct phy_device *phydev)' Bug: 398885381 Signed-off-by:
Qinglin Li <qinglin.li@amlogic.com> Change-Id: Ie359ff3b3457d3104574dacb372b39bd3e045df8
-
- Feb 22, 2025
-
-
Greg Kroah-Hartman authored
This merges the android14-5.15.178_r00 tag into the android14-5.15 branch, catching it up with the latest LTS releases. It contains the following commits: * 6ad827953874 Merge 5.15.178 into android14-5.15-lts |\ | * c16c81c81336 Linux 5.15.178 | * 6cfafcad46e9 drm/v3d: Assign job pointer to NULL before signaling the fence | * 8b74aa1e1c08 Input: xpad - add support for wooting two he (arm) | * c9d4d5785f2d Input: xpad - add unofficial Xbox 360 wireless receiver clone | * 1475c07bf30f Input: atkbd - map F23 key to support default copilot shortcut | * 66453ea6ed0a ALSA: usb-audio: Add delay quirk for USB Audio Device | * 20ce02f2f73a Revert "usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null" | * 6068dcff7f19 USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb() | * 091a023cf2ae wifi: iwlwifi: add a few rate index validity checks | * 81d4dd05c412 scsi: storvsc: Ratelimit warning logs to prevent VM denial of service | * 6ac5dfa57513 ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_find() | * 84adb88c8027 platform/chrome: cros_ec_typec: Check for EC driver | * 542532afe249 fs/ntfs3: Additional check in ntfs_file_release | * 00767fbd67af Bluetooth: RFCOMM: Fix not validating setsockopt user input | * 2c2dc87cdebe Bluetooth: SCO: Fix not validating setsockopt user input | * 92340e6c5122 vfio/platform: check the bounds of read/write syscalls | * bcf0d815e728 net: sched: fix ets qdisc OOB Indexing | * 4e3ded34f3f3 gfs2: Truncate address space when flipping GFS2_DIF_JDATA flag | * 322948a57582 mptcp: don't always assume copied data in mptcp_cleanup_rbuf() | * 2c3524a308b2 regmap: detach regmap from dev on regmap_exit | * df560e90a4d6 ASoC: samsung: Add missing depends on I2C | * 72370a2bc2e6 irqchip/sunxi-nmi: Add missing SKIP_WAKE flag | * 46bdd737a16b scsi: iscsi: Fix redundant response for ISCSI_UEVENT_GET_HOST_STATS request | * 318ebf851143 seccomp: Stub for !CONFIG_SECCOMP | * 42b4b670bd23 ASoC: samsung: Add missing selects for MFD_WM8994 | * 0783cd485b4a ASoC: wm8994: Add depends on MFD core * | f90b598b35aa ANDROID: GKI: update abi due to internal struct of_bus change * | 1c6edccede3d Revert "fs: fix missing declaration of init_files" * | 89d8a05f92c2 Revert "net: add exit_batch_rtnl() method" * | 39c2fdc4e4c4 Revert "gtp: use exit_batch_rtnl() method" * | 30b21c9d99ca Revert "gtp: Use for_each_netdev_rcu() in gtp_genl_dump_pdp()." * | 49f62e2fffe0 Revert "gtp: Destroy device along with udp socket's netns dismantle." * | 52fa24d5c5a1 Merge 5.15.177 into android14-5.15-lts |\| | * 003148680b79 Linux 5.15.177 | * 448fe5a1a4b5 Partial revert of xhci: use pm_ptr() instead #ifdef for CONFIG_PM conditionals | * 0bd4efe3226d xhci: use pm_ptr() instead of #ifdef for CONFIG_PM conditionals | * c3d052cae566 net: fix data-races around sk->sk_forward_alloc | * 198b89dd5a59 scsi: sg: Fix slab-use-after-free read in sg_release() | * 9a4d196e8a5e x86/xen: fix SLS mitigation in xen_hypercall_iret() | * 167cbd3e5268 nfsd: add list_head nf_gc to struct nfsd_file | * e43dd28405e6 ipv6: avoid possible NULL deref in rt6_uncached_list_flush_dev() | * 6486915fa661 vsock/virtio: discard packets if the transport changes | * 8a07350fe070 blk-cgroup: Fix UAF in blkcg_unpin_online() | * e667d5d566a2 Revert "regmap: detach regmap from dev on regmap_exit" | * d8ebb991790f Revert "drm/amdgpu: rework resume handling for display (v2)" | * 7a07fb80ea88 iio: adc: rockchip_saradc: fix information leak in triggered buffer | * b5c2c988cb6a iio: imu: inv_icm42600: fix timestamps after suspend if sensor is on | * 96ac1454f343 iio: imu: inv_icm42600: fix spi burst write not supported | * 39f320df3537 Revert "PCI: Use preserve_config in place of pci_flags" | * ac3dd2497e6e drm/i915/fb: Relax clear color alignment to 64 bytes | * 15b453db41d3 hrtimers: Handle CPU state correctly on hotplug | * 59472bf85a3c irqchip/gic-v3: Handle CPU_PM_ENTER_FAILED correctly | * 2d008d4961b0 gpiolib: cdev: Fix use after free in lineinfo_changed_notify | * 649b266606bc fs/proc: fix softlockup in __read_vmcore (part 2) | * 64e5fd96330d filemap: avoid truncating 64-bit offset to 32 bits | * 9e5fed46ccd2 vsock: prevent null-ptr-deref in vsock_*[has_data|has_space] | * a4606b774de2 vsock: reset socket state when de-assigning the transport | * 048dbd2b5b85 vsock/virtio: cancel close work in the destructor | * 92f1b7930f13 net: ethernet: xgbe: re-add aneg to supported features in PHY quirks | * aba13043e628 x86/asm: Make serialize() always_inline | * 612269eb3f8f nvmet: propagate npwg topology | * 7df94f7f9e22 poll_wait: add mb() to fix theoretical race between waitqueue_active() and .poll() | * 1c878c5527e1 ACPI: resource: acpi_dev_irq_override(): Check DMI match last | * a592ce58ca78 kheaders: Ignore silly-rename files | * 2d1a5a595bf2 fs: fix missing declaration of init_files | * 87e207b6aa93 hfs: Sanity check the root record | * 80aee0bc0dbe mac802154: check local interfaces before deleting sdata list | * c5f1bc1d2324 i2c: rcar: fix NACK handling when being a target | * 6c6e0961ccfd i2c: mux: demux-pinctrl: check initial mux selection, too | * 37c63955ca68 Revert "mtd: spi-nor: core: replace dummy buswidth from addr to data" | * 2f176c0ec9f5 hwmon: (tmp513) Fix division of negative numbers | * 14e0a874488e drm/v3d: Ensure job pointer is set to NULL after job completion | * 83775c9a9a65 net/mlx5: Fix RDMA TX steering prio | * a04effa1b79f net/mlx5: Refactor mlx5_get_flow_namespace | * ef6bb594598b net/mlx5: Add priorities for counters in RDMA namespaces | * 3cc3575223c6 net: xilinx: axienet: Fix IRQ coalescing packet count overflow | * fdfe7ef525ad nfp: bpf: prevent integer overflow in nfp_bpf_event_output() | * 036f8d814a2c gtp: Destroy device along with udp socket's netns dismantle. | * ed8be92df48d gtp: Use for_each_netdev_rcu() in gtp_genl_dump_pdp(). | * a111a7487f65 gtp: use exit_batch_rtnl() method | * 041325b73abc net: add exit_batch_rtnl() method | * 3450092cc2d1 pktgen: Avoid out-of-bounds access in get_imix_entries | * 0ab52a8ca6e1 bpf: Fix bpf_sk_select_reuseport() memory leak | * 9bb26176fba5 net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field() | * 9f15cd4174d0 phy: usb: Fix clock imbalance for suspend/resume | * 795537eb2af1 phy: usb: Use slow clock for wake enabled suspend | * 88b01048f286 mptcp: fix TCP options overflow. | * 05ba00d97bb4 mptcp: drop port parameter of mptcp_pm_add_addr_signal | * f44e6d70c100 ocfs2: fix slab-use-after-free due to dangling pointer dqi_priv | * 86f8046aa649 ocfs2: correct return value of ocfs2_local_free_info() | * 0552befaccd8 phy: usb: Toggle the PHY power during init | * d0178cb2ccea phy: usb: Add "wake on" functionality for newer Synopsis XHCI controllers | * b2cec0d8f676 of: address: Preserve the flags portion on 1:1 dma-ranges mapping | * 6a7832e332d9 of: address: Store number of bus flag cells rather than bool | * 1b868ff7950b of: address: Remove duplicated functions | * 19ec883a51bd of: address: Fix address translation when address-size is greater than 2 | * b3f6bed9bf61 of/address: Add support for 3 address cell bus | * bce3629a9e53 of: unittest: Add bus address range parsing tests | * 437b875e7389 arm64: dts: rockchip: add hevc power domain clock to rk3328 | * f587c1ac6895 block, bfq: fix waker_bfqq UAF after bfq_split_bfqq() | * e43dfc4a9c15 iio: adc: ad7124: Disable all channels at probe time | * d83ccca9e17e iio: inkern: call iio_device_put() only on mapped devices | * 028a1ba8e3ba iio: adc: at91: call input_free_device() on allocated iio_dev | * 060214459b63 iio: adc: ti-ads124s08: Use gpiod_set_value_cansleep() | * c31009d2bd49 iio: gyro: fxas21002c: Fix missing data update in trigger handler | * aae967380068 iio: adc: ti-ads8688: fix information leak in triggered buffer | * a07f69808441 iio: imu: kmx61: fix information leak in triggered buffer | * cb488706cdec iio: light: vcnl4035: fix information leak in triggered buffer | * 006073761888 iio: dummy: iio_simply_dummy_buffer: fix information leak in triggered buffer | * 64a989aa7475 iio: pressure: zpa2326: fix information leak in triggered buffer | * 19fc1c83454c usb: gadget: f_fs: Remove WARN_ON in functionfs_bind | * d9d18e2011c1 usb: gadget: f_uac2: Fix incorrect setting of bNumEndpoints | * 7cdb2d0f1af9 usb: fix reference leak in usb_new_device() | * 162428a00a0c USB: core: Disable LPM only for non-suspended ports | * 8309c947b208 USB: usblp: return error when setting unsupported protocol | * d2de56cc45ee usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null | * 1c7818e2746e topology: Keep the cpumask unchanged when printing cpumap | * 85b8a1a3176d usb: dwc3: gadget: fix writing NYET threshold | * 7f626e8e148c USB: serial: cp210x: add Phoenix Contact UPS Device | * 2165ef034891 usb-storage: Add max sectors quirk for Nokia 208 | * 2748a203e098 staging: iio: ad9832: Correct phase range check | * e299dcbfc039 staging: iio: ad9834: Correct phase range check | * 98645eac8ed4 USB: serial: option: add Neoway N723-EA support | * f072315c5d41 USB: serial: option: add MeiG Smart SRM815 | * 203f38eb72f2 md/raid5: fix atomicity violation in raid5_cache_count | * 3b930badf88d scripts/sorttable: fix orc_sort_cmp() to maintain symmetry and transitivity | * 1e5cc8d5b121 drm/amd/display: increase MAX_SURFACES to the value supported by hw | * dd3f23919b4d ACPI: resource: Add Asus Vivobook X1504VAP to irq1_level_low_skip_override[] | * 21db38809fb8 ACPI: resource: Add TongFang GM5HG0A to irq1_edge_low_force_override[] | * 10c24df2e303 riscv: Fix sleeping in invalid context in die() | * 95793f9684e5 drm/amd/display: Add check for granularity in dml ceil/floor helpers | * 1dc5da6c4178 sctp: sysctl: plpmtud_probe_interval: avoid using current->nsproxy | * 0a0966312ac3 sctp: sysctl: udp_port: avoid using current->nsproxy | * bd2a29394235 sctp: sysctl: auth_enable: avoid using current->nsproxy | * 0f78f0946674 sctp: sysctl: rto_min/max: avoid using current->nsproxy | * 86ddf8118123 sctp: sysctl: cookie_hmac_alg: avoid using current->nsproxy | * e52a55ec2d1f dm-ebs: don't set the flag DM_TARGET_PASSES_INTEGRITY | * 802666a40c71 dm thin: make get_first_thin use rcu-safe list first function | * 7cb3e77e9b4e afs: Fix the maximum cell name length | * 781c743e18bf ksmbd: fix a missing return value check bug | * e719611285cd drm/mediatek: Add support for 180-degree rotation in the display driver | * b1b2353d768f netfilter: conntrack: clamp maximum hashtable size to INT_MAX | * 2f2c1ce86708 netfilter: nf_tables: imbalance in flowtable binding | * 6d6ce5f75d0e tls: Fix tls_sw_sendmsg error handling | * 8fe5fcf25438 cxgb4: Avoid removal of uninserted tid | * 0cfe1297df07 bnxt_en: Fix possible memory leak when hwrm_req_replace fails | * a313d6e6d5f3 net_sched: cls_flow: validate TCA_FLOW_RSHIFT attribute | * 10923508eb77 tcp/dccp: allow a connection when sk_max_ack_backlog is zero | * bcd1557f1d38 tcp/dccp: complete lockless accesses to sk->sk_max_ack_backlog | * e67fff8fd12c net: 802: LLC+SNAP OID:PID lookup on start of skb data | * 8cc8bdfbe065 ieee802154: ca8210: Add missing check for kfifo_alloc() in ca8210_probe() | * 294b9826da0e ASoC: mediatek: disable buffer pre-allocation | * 1f94fe692b7e exfat: fix the infinite loop in __exfat_free_cluster() | * 28c21f0ac529 exfat: fix the infinite loop in exfat_readdir() | * 3995b25d000c dm array: fix cursor index when skipping across block boundaries | * c850ddd1e1d8 dm array: fix unreleased btree blocks on closing a faulty array cursor | * 738994872d77 dm array: fix releasing a faulty array block twice in dm_array_cursor_end | * 6029c4240529 jbd2: flush filesystem device before updating tail sequence | * d42ad3f161a5 ceph: give up on paths longer than PATH_MAX * d0c0d12b9278 Merge branch 'android14-5.15' into android14-5.15-lts Change-Id: Icea9d4979c22c95cda72307fed9433622cf8c8cb Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
-
- Feb 21, 2025
-
-
Takashi.Toida authored
1 function symbol(s) added 'int __traceiter_android_vh_printk_console_unlock' 2 variable symbol(s) added 'struct tracepoint __tracepoint_android_vh_printk_console_unlock' Bug: 396580116 Change-Id: I9b5611a65673d3e70a2ab940ed670885812a7f51 Signed-off-by:
"Takashi.Toida" <Takashi.Toida@sony.com>
-
- Feb 20, 2025
-
-
Takashi.Toida authored
Usually, we use the console-ramoops in pstore to check printk logs during a reboot issue. However, enabling the printk log level for the console to investigate kernel and/or driver reboot issues sometimes delays real-time processing. As a result, the software behavior changes, and other problems may occur instead. To address this, we add a hook that allows us to send printk logs to pstore while ignoring the log level. We might be able to avoid using a vendorhook here if upstream has the capability to record all levels of printk logs into pstore, even if it is no longer called console-ramoops. Bug: 396580116 Change-Id: I3ad0a0bed4069fd741ebfb47c16ee7400dc2086c Signed-off-by:
"Takashi.Toida" <Takashi.Toida@sony.com>
-
- Feb 14, 2025
-
-
Terry Tritton authored
This reverts commit c1a1393f which is commit 7246a452 upstream. This patch causes a regression in cuttlefish/crossvm boot on arm64. The patch was part of a series that when applied will not cause a regression but this patch was backported to the 5.15 branch by itself. The other patches do not apply cleanly to the 5.15 branch. Change-Id: Ic43827b09479ce94cba23f9621f1afefa743cf91 Signed-off-by:
Terry Tritton <terry.tritton@linaro.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit 39f320df)
-
- Feb 10, 2025
-
-
Carlos Llamas authored
When a transaction fails, log the 'tr->code' to help indentify the problematic userspace call path. This additional information will simplify debugging efforts. Cc: Steven Moreland <smoreland@google.com> Signed-off-by:
Carlos Llamas <cmllamas@google.com> Reviewed-by:
Alice Ryhl <aliceryhl@google.com> Link: https://lore.kernel.org/r/20250110175051.2656975-1-cmllamas@google.com Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Bug: 388902813 (cherry picked from commit 48dc1c36) Change-Id: Icd0364386e28b28fe6b32d1cf4f3c76a66215853 Signed-off-by:
Carlos Llamas <cmllamas@google.com>
-
Carlos Llamas authored
Make sure we log relevant information about failed transactions such as the target proc/thread, call type and transaction id. These details are particularly important when debugging userspace issues. Acked-by:
Christian Brauner (Microsoft) <brauner@kernel.org> Acked-by:
Todd Kjos <tkjos@google.com> Signed-off-by:
Carlos Llamas <cmllamas@google.com> Link: https://lore.kernel.org/r/20220429235644.697372-2-cmllamas@google.com Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Bug: 388902813 (cherry picked from commit 9474be34) Change-Id: Id2d65baefae0edf11b8cb544b21a983433578c47 Signed-off-by:
Carlos Llamas <cmllamas@google.com>
-
- Feb 07, 2025
-
-
Greg Kroah-Hartman authored
Changes in 5.15.178 ASoC: wm8994: Add depends on MFD core ASoC: samsung: Add missing selects for MFD_WM8994 seccomp: Stub for !CONFIG_SECCOMP scsi: iscsi: Fix redundant response for ISCSI_UEVENT_GET_HOST_STATS request irqchip/sunxi-nmi: Add missing SKIP_WAKE flag ASoC: samsung: Add missing depends on I2C regmap: detach regmap from dev on regmap_exit mptcp: don't always assume copied data in mptcp_cleanup_rbuf() gfs2: Truncate address space when flipping GFS2_DIF_JDATA flag net: sched: fix ets qdisc OOB Indexing vfio/platform: check the bounds of read/write syscalls Bluetooth: SCO: Fix not validating setsockopt user input Bluetooth: RFCOMM: Fix not validating setsockopt user input fs/ntfs3: Additional check in ntfs_file_release platform/chrome: cros_ec_typec: Check for EC driver ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_find() scsi: storvsc: Ratelimit warning logs to prevent VM denial of service wifi: iwlwifi: add a few rate index validity checks USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb() Revert "usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null" ALSA: usb-audio: Add delay quirk for USB Audio Device Input: atkbd - map F23 key to support default copilot shortcut Input: xpad - add unofficial Xbox 360 wireless receiver clone Input: xpad - add support for wooting two he (arm) drm/v3d: Assign job pointer to NULL before signaling the fence Linux 5.15.178 Change-Id: Ic6dee55bddba7baf0ea8b7b382a0cdf6f3de475e Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
-
Greg Kroah-Hartman authored
In commit 6a7832e3 ("of: address: Store number of bus flag cells rather than bool"), the internal-to-the-of-core struct "struct of_bus" changed some fields. This is allowed as this structure does not go outside of the OF core code. Fixes: 6a7832e3 ("of: address: Store number of bus flag cells rather than bool") Change-Id: Ic24736a1d6307f9d8493ceaf3ccee500478406d7 Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
-
Greg Kroah-Hartman authored
This reverts commit 2d1a5a59 which is commit 2b2fc0be upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: I714b7bdf89fa2033f8d3b05edce3cbf6222ee8df Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
-
Greg Kroah-Hartman authored
This reverts commit 041325b7 which is commit fd4f101e upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: Id0012b92edfa9cd162c757e0b35b1bb70473c140 Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
-
Greg Kroah-Hartman authored
This reverts commit a111a748 which is commit 6eedda01 upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: Ide4de81bedb34df80d246245b09bcb402cd92c57 Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
-
Greg Kroah-Hartman authored
This reverts commit ed8be92d which is commit 46841c70 upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: Icd674fdee5592d5461d4e118201a3c61e56f63ed Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
-
Greg Kroah-Hartman authored
This reverts commit 036f8d81 which is commit eb28fd76 upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: Iba39eb18a9bbb97d865f1a93dc28807e4191ee0e Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
-
- Feb 06, 2025
-
-
Greg Kroah-Hartman authored
Changes in 5.15.177 ceph: give up on paths longer than PATH_MAX jbd2: flush filesystem device before updating tail sequence dm array: fix releasing a faulty array block twice in dm_array_cursor_end dm array: fix unreleased btree blocks on closing a faulty array cursor dm array: fix cursor index when skipping across block boundaries exfat: fix the infinite loop in exfat_readdir() exfat: fix the infinite loop in __exfat_free_cluster() ASoC: mediatek: disable buffer pre-allocation ieee802154: ca8210: Add missing check for kfifo_alloc() in ca8210_probe() net: 802: LLC+SNAP OID:PID lookup on start of skb data tcp/dccp: complete lockless accesses to sk->sk_max_ack_backlog tcp/dccp: allow a connection when sk_max_ack_backlog is zero net_sched: cls_flow: validate TCA_FLOW_RSHIFT attribute bnxt_en: Fix possible memory leak when hwrm_req_replace fails cxgb4: Avoid removal of uninserted tid tls: Fix tls_sw_sendmsg error handling netfilter: nf_tables: imbalance in flowtable binding netfilter: conntrack: clamp maximum hashtable size to INT_MAX drm/mediatek: Add support for 180-degree rotation in the display driver ksmbd: fix a missing return value check bug afs: Fix the maximum cell name length dm thin: make get_first_thin use rcu-safe list first function dm-ebs: don't set the flag DM_TARGET_PASSES_INTEGRITY sctp: sysctl: cookie_hmac_alg: avoid using current->nsproxy sctp: sysctl: rto_min/max: avoid using current->nsproxy sctp: sysctl: auth_enable: avoid using current->nsproxy sctp: sysctl: udp_port: avoid using current->nsproxy sctp: sysctl: plpmtud_probe_interval: avoid using current->nsproxy drm/amd/display: Add check for granularity in dml ceil/floor helpers riscv: Fix sleeping in invalid context in die() ACPI: resource: Add TongFang GM5HG0A to irq1_edge_low_force_override[] ACPI: resource: Add Asus Vivobook X1504VAP to irq1_level_low_skip_override[] drm/amd/display: increase MAX_SURFACES to the value supported by hw scripts/sorttable: fix orc_sort_cmp() to maintain symmetry and transitivity md/raid5: fix atomicity violation in raid5_cache_count USB: serial: option: add MeiG Smart SRM815 USB: serial: option: add Neoway N723-EA support staging: iio: ad9834: Correct phase range check staging: iio: ad9832: Correct phase range check usb-storage: Add max sectors quirk for Nokia 208 USB: serial: cp210x: add Phoenix Contact UPS Device usb: dwc3: gadget: fix writing NYET threshold topology: Keep the cpumask unchanged when printing cpumap usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null USB: usblp: return error when setting unsupported protocol USB: core: Disable LPM only for non-suspended ports usb: fix reference leak in usb_new_device() usb: gadget: f_uac2: Fix incorrect setting of bNumEndpoints usb: gadget: f_fs: Remove WARN_ON in functionfs_bind iio: pressure: zpa2326: fix information leak in triggered buffer iio: dummy: iio_simply_dummy_buffer: fix information leak in triggered buffer iio: light: vcnl4035: fix information leak in triggered buffer iio: imu: kmx61: fix information leak in triggered buffer iio: adc: ti-ads8688: fix information leak in triggered buffer iio: gyro: fxas21002c: Fix missing data update in trigger handler iio: adc: ti-ads124s08: Use gpiod_set_value_cansleep() iio: adc: at91: call input_free_device() on allocated iio_dev iio: inkern: call iio_device_put() only on mapped devices iio: adc: ad7124: Disable all channels at probe time block, bfq: fix waker_bfqq UAF after bfq_split_bfqq() arm64: dts: rockchip: add hevc power domain clock to rk3328 of: unittest: Add bus address range parsing tests of/address: Add support for 3 address cell bus of: address: Fix address translation when address-size is greater than 2 of: address: Remove duplicated functions of: address: Store number of bus flag cells rather than bool of: address: Preserve the flags portion on 1:1 dma-ranges mapping phy: usb: Add "wake on" functionality for newer Synopsis XHCI controllers phy: usb: Toggle the PHY power during init ocfs2: correct return value of ocfs2_local_free_info() ocfs2: fix slab-use-after-free due to dangling pointer dqi_priv mptcp: drop port parameter of mptcp_pm_add_addr_signal mptcp: fix TCP options overflow. phy: usb: Use slow clock for wake enabled suspend phy: usb: Fix clock imbalance for suspend/resume net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field() bpf: Fix bpf_sk_select_reuseport() memory leak pktgen: Avoid out-of-bounds access in get_imix_entries net: add exit_batch_rtnl() method gtp: use exit_batch_rtnl() method gtp: Use for_each_netdev_rcu() in gtp_genl_dump_pdp(). gtp: Destroy device along with udp socket's netns dismantle. nfp: bpf: prevent integer overflow in nfp_bpf_event_output() net: xilinx: axienet: Fix IRQ coalescing packet count overflow net/mlx5: Add priorities for counters in RDMA namespaces net/mlx5: Refactor mlx5_get_flow_namespace net/mlx5: Fix RDMA TX steering prio drm/v3d: Ensure job pointer is set to NULL after job completion hwmon: (tmp513) Fix division of negative numbers Revert "mtd: spi-nor: core: replace dummy buswidth from addr to data" i2c: mux: demux-pinctrl: check initial mux selection, too i2c: rcar: fix NACK handling when being a target mac802154: check local interfaces before deleting sdata list hfs: Sanity check the root record fs: fix missing declaration of init_files kheaders: Ignore silly-rename files ACPI: resource: acpi_dev_irq_override(): Check DMI match last poll_wait: add mb() to fix theoretical race between waitqueue_active() and .poll() nvmet: propagate npwg topology x86/asm: Make serialize() always_inline net: ethernet: xgbe: re-add aneg to supported features in PHY quirks vsock/virtio: cancel close work in the destructor vsock: reset socket state when de-assigning the transport vsock: prevent null-ptr-deref in vsock_*[has_data|has_space] filemap: avoid truncating 64-bit offset to 32 bits fs/proc: fix softlockup in __read_vmcore (part 2) gpiolib: cdev: Fix use after free in lineinfo_changed_notify irqchip/gic-v3: Handle CPU_PM_ENTER_FAILED correctly hrtimers: Handle CPU state correctly on hotplug drm/i915/fb: Relax clear color alignment to 64 bytes Revert "PCI: Use preserve_config in place of pci_flags" iio: imu: inv_icm42600: fix spi burst write not supported iio: imu: inv_icm42600: fix timestamps after suspend if sensor is on iio: adc: rockchip_saradc: fix information leak in triggered buffer Revert "drm/amdgpu: rework resume handling for display (v2)" Revert "regmap: detach regmap from dev on regmap_exit" blk-cgroup: Fix UAF in blkcg_unpin_online() vsock/virtio: discard packets if the transport changes ipv6: avoid possible NULL deref in rt6_uncached_list_flush_dev() nfsd: add list_head nf_gc to struct nfsd_file x86/xen: fix SLS mitigation in xen_hypercall_iret() scsi: sg: Fix slab-use-after-free read in sg_release() net: fix data-races around sk->sk_forward_alloc xhci: use pm_ptr() instead of #ifdef for CONFIG_PM conditionals Partial revert of xhci: use pm_ptr() instead #ifdef for CONFIG_PM conditionals Linux 5.15.177 Change-Id: I6dc0872727ed313c248c5a37d6ed236c83efa2d7 Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
-
- Feb 01, 2025
-
-
Greg Kroah-Hartman authored
Link: https://lore.kernel.org/r/20250130140127.295114276@linuxfoundation.org Tested-by:
Mark Brown <broonie@kernel.org> Tested-by:
Florian Fainelli <florian.fainelli@broadcom.com> Tested-by:
Jon Hunter <jonathanh@nvidia.com> Tested-by:
Ron Economos <re@w6rz.net> Tested-by:
Linux Kernel Functional Testing <lkft@linaro.org> Tested-by:
kernelci.org bot <bot@kernelci.org> Tested-by:
Vijayendra Suman <vijayendra.suman@oracle.com> Tested-by:
Hardik Garg <hargar@linux.microsoft.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Maíra Canal authored
commit 6e64d6b3 upstream. In commit e4b5ccd3 ("drm/v3d: Ensure job pointer is set to NULL after job completion"), we introduced a change to assign the job pointer to NULL after completing a job, indicating job completion. However, this approach created a race condition between the DRM scheduler workqueue and the IRQ execution thread. As soon as the fence is signaled in the IRQ execution thread, a new job starts to be executed. This results in a race condition where the IRQ execution thread sets the job pointer to NULL simultaneously as the `run_job()` function assigns a new job to the pointer. This race condition can lead to a NULL pointer dereference if the IRQ execution thread sets the job pointer to NULL after `run_job()` assigns it to the new job. When the new job completes and the GPU emits an interrupt, `v3d_irq()` is triggered, potentially causing a crash. [ 466.310099] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000c0 [ 466.318928] Mem abort info: [ 466.321723] ESR = 0x0000000096000005 [ 466.325479] EC = 0x25: DABT (current EL), IL = 32 bits [ 466.330807] SET = 0, FnV = 0 [ 466.333864] EA = 0, S1PTW = 0 [ 466.337010] FSC = 0x05: level 1 translation fault [ 466.341900] Data abort info: [ 466.344783] ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000 [ 466.350285] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 466.355350] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 466.360677] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000089772000 [ 466.367140] [00000000000000c0] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000 [ 466.375875] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP [ 466.382163] Modules linked in: rfcomm snd_seq_dummy snd_hrtimer snd_seq snd_seq_device algif_hash algif_skcipher af_alg bnep binfmt_misc vc4 snd_soc_hdmi_codec drm_display_helper cec brcmfmac_wcc spidev rpivid_hevc(C) drm_client_lib brcmfmac hci_uart drm_dma_helper pisp_be btbcm brcmutil snd_soc_core aes_ce_blk v4l2_mem2mem bluetooth aes_ce_cipher snd_compress videobuf2_dma_contig ghash_ce cfg80211 gf128mul snd_pcm_dmaengine videobuf2_memops ecdh_generic sha2_ce ecc videobuf2_v4l2 snd_pcm v3d sha256_arm64 rfkill videodev snd_timer sha1_ce libaes gpu_sched snd videobuf2_common sha1_generic drm_shmem_helper mc rp1_pio drm_kms_helper raspberrypi_hwmon spi_bcm2835 gpio_keys i2c_brcmstb rp1 raspberrypi_gpiomem rp1_mailbox rp1_adc nvmem_rmem uio_pdrv_genirq uio i2c_dev drm ledtrig_pattern drm_panel_orientation_quirks backlight fuse dm_mod ip_tables x_tables ipv6 [ 466.458429] CPU: 0 UID: 1000 PID: 2008 Comm: chromium Tainted: G C 6.13.0-v8+ #18 [ 466.467336] Tainted: [C]=CRAP [ 466.470306] Hardware name: Raspberry Pi 5 Model B Rev 1.0 (DT) [ 466.476157] pstate: 404000c9 (nZcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 466.483143] pc : v3d_irq+0x118/0x2e0 [v3d] [ 466.487258] lr : __handle_irq_event_percpu+0x60/0x228 [ 466.492327] sp : ffffffc080003ea0 [ 466.495646] x29: ffffffc080003ea0 x28: ffffff80c0c94200 x27: 0000000000000000 [ 466.502807] x26: ffffffd08dd81d7b x25: ffffff80c0c94200 x24: ffffff8003bdc200 [ 466.509969] x23: 0000000000000001 x22: 00000000000000a7 x21: 0000000000000000 [ 466.517130] x20: ffffff8041bb0000 x19: 0000000000000001 x18: 0000000000000000 [ 466.524291] x17: ffffffafadfb0000 x16: ffffffc080000000 x15: 0000000000000000 [ 466.531452] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [ 466.538613] x11: 0000000000000000 x10: 0000000000000000 x9 : ffffffd08c527eb0 [ 466.545777] x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000 [ 466.552941] x5 : ffffffd08c4100d0 x4 : ffffffafadfb0000 x3 : ffffffc080003f70 [ 466.560102] x2 : ffffffc0829e8058 x1 : 0000000000000001 x0 : 0000000000000000 [ 466.567263] Call trace: [ 466.569711] v3d_irq+0x118/0x2e0 [v3d] (P) [ 466.573826] __handle_irq_event_percpu+0x60/0x228 [ 466.578546] handle_irq_event+0x54/0xb8 [ 466.582391] handle_fasteoi_irq+0xac/0x240 [ 466.586498] generic_handle_domain_irq+0x34/0x58 [ 466.591128] gic_handle_irq+0x48/0xd8 [ 466.594798] call_on_irq_stack+0x24/0x58 [ 466.598730] do_interrupt_handler+0x88/0x98 [ 466.602923] el0_interrupt+0x44/0xc0 [ 466.606508] __el0_irq_handler_common+0x18/0x28 [ 466.611050] el0t_64_irq_handler+0x10/0x20 [ 466.615156] el0t_64_irq+0x198/0x1a0 [ 466.618740] Code: 52800035 3607faf3 f9442e80 52800021 (f9406018) [ 466.624853] ---[ end trace 0000000000000000 ]--- [ 466.629483] Kernel panic - not syncing: Oops: Fatal exception in interrupt [ 466.636384] SMP: stopping secondary CPUs [ 466.640320] Kernel Offset: 0x100c400000 from 0xffffffc080000000 [ 466.646259] PHYS_OFFSET: 0x0 [ 466.649141] CPU features: 0x100,00000170,00901250,0200720b [ 466.654644] Memory Limit: none [ 466.657706] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]--- Fix the crash by assigning the job pointer to NULL before signaling the fence. This ensures that the job pointer is cleared before any new job starts execution, preventing the race condition and the NULL pointer dereference crash. Cc: stable@vger.kernel.org Fixes: e4b5ccd3 ("drm/v3d: Ensure job pointer is set to NULL after job completion") Signed-off-by:
Maíra Canal <mcanal@igalia.com> Reviewed-by:
Jose Maria Casanova Crespo <jmcasanova@igalia.com> Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> Tested-by:
Phil Elwell <phil@raspberrypi.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250123012403.20447-1-mcanal@igalia.com Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Jack Greiner authored
commit 222f3390 upstream. Add Wooting Two HE (ARM) to the list of supported devices. Signed-off-by:
Jack Greiner <jack@emoss.org> Signed-off-by:
Pavel Rojtberg <rojtberg@gmail.com> Link: https://lore.kernel.org/r/20250107192830.414709-3-rojtberg@gmail.com Cc: stable@vger.kernel.org Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Nilton Perim Neto authored
commit e4940fe6 upstream. Although it mimics the Microsoft's VendorID, it is in fact a clone. Taking into account that the original Microsoft Receiver is not being manufactured anymore, this drive can solve dpad issues encontered by those who still use the original 360 Wireless controller but are using a receiver clone. Signed-off-by:
Nilton Perim Neto <niltonperimneto@gmail.com> Signed-off-by:
Pavel Rojtberg <rojtberg@gmail.com> Link: https://lore.kernel.org/r/20250107192830.414709-12-rojtberg@gmail.com Cc: stable@vger.kernel.org Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Mark Pearson authored
commit 907bc926 upstream. Microsoft defined Meta+Shift+F23 as the Copilot shortcut instead of a dedicated keycode, and multiple vendors have their keyboards emit this sequence in response to users pressing a dedicated "Copilot" key. Unfortunately the default keymap table in atkbd does not map scancode 0x6e (F23) and so the key combination does not work even if userspace is ready to handle it. Because this behavior is common between multiple vendors and the scancode is currently unused map 0x6e to keycode 193 (KEY_F23) so that key sequence is generated properly. MS documentation for the scan code: https://learn.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input#scan-codes Confirmed on Lenovo, HP and Dell machines by Canonical. Tested on Lenovo T14s G6 AMD. Signed-off-by:
Mark Pearson <mpearson-lenovo@squebb.ca> Link: https://lore.kernel.org/r/20250107034554.25843-1-mpearson-lenovo@squebb.ca Cc: stable@vger.kernel.org Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Lianqin Hu authored
commit ad5b205f upstream. Audio control requests that sets sampling frequency sometimes fail on this card. Adding delay between control messages eliminates that problem. usb 1-1: New USB device found, idVendor=0d8c, idProduct=0014 usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 1-1: Product: USB Audio Device usb 1-1: Manufacturer: C-Media Electronics Inc. Signed-off-by:
Lianqin Hu <hulianqin@vivo.com> Cc: <stable@vger.kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de> Link: https://patch.msgid.link/TYUPR06MB6217E94D922B9BF422A73F32D2192@TYUPR06MB6217.apcprd06.prod.outlook.com Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Greg Kroah-Hartman authored
Revert "usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null" commit 086fd062 upstream. This reverts commit 13014969. It is reported to cause crashes on Tegra systems, so revert it for now. Link: https://lore.kernel.org/r/1037c1ad-9230-4181-b9c3-167dbaa47644@nvidia.com Reported-by:
Jon Hunter <jonathanh@nvidia.com> Cc: stable <stable@kernel.org> Cc: Lianqin Hu <hulianqin@vivo.com> Link: https://lore.kernel.org/r/2025011711-yippee-fever-a737@gregkh Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Qasim Ijaz authored
commit 575a5adf upstream. This patch addresses a null-ptr-deref in qt2_process_read_urb() due to an incorrect bounds check in the following: if (newport > serial->num_ports) { dev_err(&port->dev, "%s - port change to invalid port: %i\n", __func__, newport); break; } The condition doesn't account for the valid range of the serial->port buffer, which is from 0 to serial->num_ports - 1. When newport is equal to serial->num_ports, the assignment of "port" in the following code is out-of-bounds and NULL: serial_priv->current_port = newport; port = serial->port[serial_priv->current_port]; The fix checks if newport is greater than or equal to serial->num_ports indicating it is out-of-bounds. Reported-by:
syzbot <syzbot+506479ebf12fe435d01a@syzkaller.appspotmail.com> Closes: https://syzkaller.appspot.com/bug?extid=506479ebf12fe435d01a Fixes: f7a33e60 ("USB: serial: add quatech2 usb to serial driver") Cc: <stable@vger.kernel.org> # 3.5 Signed-off-by:
Qasim Ijaz <qasdev00@gmail.com> Reviewed-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Johan Hovold <johan@kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Anjaneyulu authored
commit efbe8f81 upstream. Validate index before access iwl_rate_mcs to keep rate->index inside the valid boundaries. Use MCS_0_INDEX if index is less than MCS_0_INDEX and MCS_9_INDEX if index is greater then MCS_9_INDEX. Signed-off-by:
Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com> Signed-off-by:
Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230614123447.79f16b3aef32.If1137f894775d6d07b78cbf3a6163ffce6399507@changeid Signed-off-by:
Johannes Berg <johannes.berg@intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Easwar Hariharan authored
commit d2138eab upstream. If there's a persistent error in the hypervisor, the SCSI warning for failed I/O can flood the kernel log and max out CPU utilization, preventing troubleshooting from the VM side. Ratelimit the warning so it doesn't DoS the VM. Closes: https://github.com/microsoft/WSL/issues/9173 Signed-off-by:
Easwar Hariharan <eahariha@linux.microsoft.com> Link: https://lore.kernel.org/r/20250107-eahariha-ratelimit-storvsc-v1-1-7fc193d1f2b0@linux.microsoft.com Reviewed-by:
Michael Kelley <mhklinux@outlook.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ido Schimmel authored
commit 90e0569d upstream. The per-netns IP tunnel hash table is protected by the RTNL mutex and ip_tunnel_find() is only called from the control path where the mutex is taken. Add a lockdep expression to hlist_for_each_entry_rcu() in ip_tunnel_find() in order to validate that the mutex is held and to silence the suspicious RCU usage warning [1]. [1] WARNING: suspicious RCU usage 6.12.0-rc3-custom-gd95d9a31aceb #139 Not tainted ----------------------------- net/ipv4/ip_tunnel.c:221 RCU-list traversed in non-reader section!! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 1 lock held by ip/362: #0: ffffffff86fc7cb0 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x377/0xf60 stack backtrace: CPU: 12 UID: 0 PID: 362 Comm: ip Not tainted 6.12.0-rc3-custom-gd95d9a31aceb #139 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 Call Trace: <TASK> dump_stack_lvl+0xba/0x110 lockdep_rcu_suspicious.cold+0x4f/0xd6 ip_tunnel_find+0x435/0x4d0 ip_tunnel_newlink+0x517/0x7a0 ipgre_newlink+0x14c/0x170 __rtnl_newlink+0x1173/0x19c0 rtnl_newlink+0x6c/0xa0 rtnetlink_rcv_msg+0x3cc/0xf60 netlink_rcv_skb+0x171/0x450 netlink_unicast+0x539/0x7f0 netlink_sendmsg+0x8c1/0xd80 ____sys_sendmsg+0x8f9/0xc20 ___sys_sendmsg+0x197/0x1e0 __sys_sendmsg+0x122/0x1f0 do_syscall_64+0xbb/0x1d0 entry_SYSCALL_64_after_hwframe+0x77/0x7f Fixes: c5441932 ("GRE: Refactor GRE tunneling code.") Suggested-by:
Eric Dumazet <edumazet@google.com> Signed-off-by:
Ido Schimmel <idosch@nvidia.com> Reviewed-by:
Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20241023123009.749764-1-idosch@nvidia.com Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Signed-off-by:
Alva Lan <alvalan9@foxmail.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Akihiko Odaki authored
commit 7464ff8b upstream. The EC driver may not be initialized when cros_typec_probe is called, particulary when CONFIG_CROS_EC_CHARDEV=m. Signed-off-by:
Akihiko Odaki <akihiko.odaki@gmail.com> Reviewed-by:
Guenter Roeck <groeck@chromium.org> Link: https://lore.kernel.org/r/20220404041101.6276-1-akihiko.odaki@gmail.com Signed-off-by:
Prashant Malani <pmalani@chromium.org> Signed-off-by:
Laura Nao <laura.nao@collabora.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Konstantin Komarov authored
commit 031d6f60 upstream. Reported-by:
<syzbot+8c652f14a0fde76ff11d@syzkaller.appspotmail.com> Signed-off-by:
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> Signed-off-by:
Bin Lan <bin.lan.cn@windriver.com> Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
Suraj Jitindar Singh <surajjs@amazon.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-