Commit Graph

997133 Commits

Author SHA1 Message Date
Lin Ma
ad067abfe1 BACKPORT: net: nfc: Fix use-after-free caused by nfc_llcp_find_local
[ Upstream commit 6709d4b7bc2e079241fdef15d1160581c5261c10 ]

This commit fixes several use-after-free that caused by function
nfc_llcp_find_local(). For example, one UAF can happen when below buggy
time window occurs.

// nfc_genl_llc_get_params   | // nfc_unregister_device
                             |
dev = nfc_get_device(idx);   | device_lock(...)
if (!dev)                    | dev->shutting_down = true;
    return -ENODEV;          | device_unlock(...);
                             |
device_lock(...);            |   // nfc_llcp_unregister_device
                             |   nfc_llcp_find_local()
nfc_llcp_find_local(...);    |
                             |   local_cleanup()
if (!local) {                |
    rc = -ENODEV;            |     // nfc_llcp_local_put
    goto exit;               |     kref_put(.., local_release)
}                            |
                             |       // local_release
                             |       list_del(&local->list)
  // nfc_genl_send_params    |       kfree()
  local->dev->idx !!!UAF!!!  |
                             |

and the crash trace for the one of the discussed UAF like:

BUG: KASAN: slab-use-after-free in nfc_genl_llc_get_params+0x72f/0x780  net/nfc/netlink.c:1045
Read of size 8 at addr ffff888105b0e410 by task 20114

Call Trace:
 <TASK>
 __dump_stack  lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x72/0xa0  lib/dump_stack.c:106
 print_address_description  mm/kasan/report.c:319 [inline]
 print_report+0xcc/0x620  mm/kasan/report.c:430
 kasan_report+0xb2/0xe0  mm/kasan/report.c:536
 nfc_genl_send_params  net/nfc/netlink.c:999 [inline]
 nfc_genl_llc_get_params+0x72f/0x780  net/nfc/netlink.c:1045
 genl_family_rcv_msg_doit.isra.0+0x1ee/0x2e0  net/netlink/genetlink.c:968
 genl_family_rcv_msg  net/netlink/genetlink.c:1048 [inline]
 genl_rcv_msg+0x503/0x7d0  net/netlink/genetlink.c:1065
 netlink_rcv_skb+0x161/0x430  net/netlink/af_netlink.c:2548
 genl_rcv+0x28/0x40  net/netlink/genetlink.c:1076
 netlink_unicast_kernel  net/netlink/af_netlink.c:1339 [inline]
 netlink_unicast+0x644/0x900  net/netlink/af_netlink.c:1365
 netlink_sendmsg+0x934/0xe70  net/netlink/af_netlink.c:1913
 sock_sendmsg_nosec  net/socket.c:724 [inline]
 sock_sendmsg+0x1b6/0x200  net/socket.c:747
 ____sys_sendmsg+0x6e9/0x890  net/socket.c:2501
 ___sys_sendmsg+0x110/0x1b0  net/socket.c:2555
 __sys_sendmsg+0xf7/0x1d0  net/socket.c:2584
 do_syscall_x64  arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3f/0x90  arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x72/0xdc
RIP: 0033:0x7f34640a2389
RSP: 002b:00007f3463415168 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007f34641c1f80 RCX: 00007f34640a2389
RDX: 0000000000000000 RSI: 0000000020000240 RDI: 0000000000000006
RBP: 00007f34640ed493 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffe38449ecf R14: 00007f3463415300 R15: 0000000000022000
 </TASK>

Allocated by task 20116:
 kasan_save_stack+0x22/0x50  mm/kasan/common.c:45
 kasan_set_track+0x25/0x30  mm/kasan/common.c:52
 ____kasan_kmalloc  mm/kasan/common.c:374 [inline]
 __kasan_kmalloc+0x7f/0x90  mm/kasan/common.c:383
 kmalloc  include/linux/slab.h:580 [inline]
 kzalloc  include/linux/slab.h:720 [inline]
 nfc_llcp_register_device+0x49/0xa40  net/nfc/llcp_core.c:1567
 nfc_register_device+0x61/0x260  net/nfc/core.c:1124
 nci_register_device+0x776/0xb20  net/nfc/nci/core.c:1257
 virtual_ncidev_open+0x147/0x230  drivers/nfc/virtual_ncidev.c:148
 misc_open+0x379/0x4a0  drivers/char/misc.c:165
 chrdev_open+0x26c/0x780  fs/char_dev.c:414
 do_dentry_open+0x6c4/0x12a0  fs/open.c:920
 do_open  fs/namei.c:3560 [inline]
 path_openat+0x24fe/0x37e0  fs/namei.c:3715
 do_filp_open+0x1ba/0x410  fs/namei.c:3742
 do_sys_openat2+0x171/0x4c0  fs/open.c:1356
 do_sys_open  fs/open.c:1372 [inline]
 __do_sys_openat  fs/open.c:1388 [inline]
 __se_sys_openat  fs/open.c:1383 [inline]
 __x64_sys_openat+0x143/0x200  fs/open.c:1383
 do_syscall_x64  arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3f/0x90  arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x72/0xdc

Freed by task 20115:
 kasan_save_stack+0x22/0x50  mm/kasan/common.c:45
 kasan_set_track+0x25/0x30  mm/kasan/common.c:52
 kasan_save_free_info+0x2e/0x50  mm/kasan/generic.c:521
 ____kasan_slab_free  mm/kasan/common.c:236 [inline]
 ____kasan_slab_free  mm/kasan/common.c:200 [inline]
 __kasan_slab_free+0x10a/0x190  mm/kasan/common.c:244
 kasan_slab_free  include/linux/kasan.h:162 [inline]
 slab_free_hook  mm/slub.c:1781 [inline]
 slab_free_freelist_hook  mm/slub.c:1807 [inline]
 slab_free  mm/slub.c:3787 [inline]
 __kmem_cache_free+0x7a/0x190  mm/slub.c:3800
 local_release  net/nfc/llcp_core.c:174 [inline]
 kref_put  include/linux/kref.h:65 [inline]
 nfc_llcp_local_put  net/nfc/llcp_core.c:182 [inline]
 nfc_llcp_local_put  net/nfc/llcp_core.c:177 [inline]
 nfc_llcp_unregister_device+0x206/0x290  net/nfc/llcp_core.c:1620
 nfc_unregister_device+0x160/0x1d0  net/nfc/core.c:1179
 virtual_ncidev_close+0x52/0xa0  drivers/nfc/virtual_ncidev.c:163
 __fput+0x252/0xa20  fs/file_table.c:321
 task_work_run+0x174/0x270  kernel/task_work.c:179
 resume_user_mode_work  include/linux/resume_user_mode.h:49 [inline]
 exit_to_user_mode_loop  kernel/entry/common.c:171 [inline]
 exit_to_user_mode_prepare+0x108/0x110  kernel/entry/common.c:204
 __syscall_exit_to_user_mode_work  kernel/entry/common.c:286 [inline]
 syscall_exit_to_user_mode+0x21/0x50  kernel/entry/common.c:297
 do_syscall_64+0x4c/0x90  arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x72/0xdc

Last potentially related work creation:
 kasan_save_stack+0x22/0x50  mm/kasan/common.c:45
 __kasan_record_aux_stack+0x95/0xb0  mm/kasan/generic.c:491
 kvfree_call_rcu+0x29/0xa80  kernel/rcu/tree.c:3328
 drop_sysctl_table+0x3be/0x4e0  fs/proc/proc_sysctl.c:1735
 unregister_sysctl_table.part.0+0x9c/0x190  fs/proc/proc_sysctl.c:1773
 unregister_sysctl_table+0x24/0x30  fs/proc/proc_sysctl.c:1753
 neigh_sysctl_unregister+0x5f/0x80  net/core/neighbour.c:3895
 addrconf_notify+0x140/0x17b0  net/ipv6/addrconf.c:3684
 notifier_call_chain+0xbe/0x210  kernel/notifier.c:87
 call_netdevice_notifiers_info+0xb5/0x150  net/core/dev.c:1937
 call_netdevice_notifiers_extack  net/core/dev.c:1975 [inline]
 call_netdevice_notifiers  net/core/dev.c:1989 [inline]
 dev_change_name+0x3c3/0x870  net/core/dev.c:1211
 dev_ifsioc+0x800/0xf70  net/core/dev_ioctl.c:376
 dev_ioctl+0x3d9/0xf80  net/core/dev_ioctl.c:542
 sock_do_ioctl+0x160/0x260  net/socket.c:1213
 sock_ioctl+0x3f9/0x670  net/socket.c:1316
 vfs_ioctl  fs/ioctl.c:51 [inline]
 __do_sys_ioctl  fs/ioctl.c:870 [inline]
 __se_sys_ioctl  fs/ioctl.c:856 [inline]
 __x64_sys_ioctl+0x19e/0x210  fs/ioctl.c:856
 do_syscall_x64  arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3f/0x90  arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x72/0xdc

The buggy address belongs to the object at ffff888105b0e400
 which belongs to the cache kmalloc-1k of size 1024
The buggy address is located 16 bytes inside of
 freed 1024-byte region [ffff888105b0e400, ffff888105b0e800)

The buggy address belongs to the physical page:
head:ffffea000416c200 order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0
flags: 0x200000000010200(slab|head|node=0|zone=2)
raw: 0200000000010200 ffff8881000430c0 ffffea00044c7010 ffffea0004510e10
raw: 0000000000000000 00000000000a000a 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff888105b0e300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff888105b0e380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff888105b0e400: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                         ^
 ffff888105b0e480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff888105b0e500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb

In summary, this patch solves those use-after-free by

1. Re-implement the nfc_llcp_find_local(). The current version does not
grab the reference when getting the local from the linked list.  For
example, the llcp_sock_bind() gets the reference like below:

// llcp_sock_bind()

    local = nfc_llcp_find_local(dev); // A
    ..... \
           | raceable
    ..... /
    llcp_sock->local = nfc_llcp_local_get(local); // B

There is an apparent race window that one can  drop the reference
and free the local object fetched in (A) before (B) gets the reference.

2. Some callers of the nfc_llcp_find_local() do not grab the reference
at all. For example, the nfc_genl_llc_{{get/set}_params/sdreq} functions.
We add the nfc_llcp_local_put() for them. Moreover, we add the necessary
error handling function to put the reference.

3. Add the nfc_llcp_remove_local() helper. The local object is removed
from the linked list in local_release() when all reference is gone. This
patch removes it when nfc_llcp_unregister_device() is called.

Therefore, every caller of nfc_llcp_find_local() will get a reference
even when the nfc_llcp_unregister_device() is called. This promises no
use-after-free for the local object is ever possible.

Bug: 294167961
Fixes: 52feb444a9 ("NFC: Extend netlink interface for LTO, RW, and MIUX parameters support")
Fixes: c7aa12252f ("NFC: Take a reference on the LLCP local pointer when creating a socket")
Signed-off-by: Lin Ma <linma@zju.edu.cn>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 425d9d3a92df7d96b3cfb7ee5c240293a21cbde3)
[Lee: Fix merge conflict - patch should render the same resulting diff added]
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I8e7e7101ce0d5c81da9b8febd4ad78dd1affc4a5
2023-09-04 12:44:21 +01:00
wangyongqiang
00c7bec87c ANDROID: ABI: Update oplus symbol list
ashmem: is_ashmem_file
Export is_ashmem_file function which will be used
by the minidump module to get ashmem info.

Bug: 193397560
Change-Id: I5a54fba62dc28b04ae5c93f359709297c39ebbaa
Signed-off-by: wangyongqiang1@oppo.com
2023-09-01 12:27:10 +00:00
Pratyush Brahma
300d1ff660 ANDROID: GKI: Update abi_gki_aarch64_qcom for page_owner symbols
Update abi_gki_aarch64_qcom to include __set_page_owner
and page_owner_inited symbols.

Bug: 296348400
Change-Id: I3dec65fb596764e51897dd0251aada539a34feca
Signed-off-by: Pratyush Brahma <quic_pbrahma@quicinc.com>
2023-08-29 23:10:07 +00:00
Pratyush Brahma
a9c0f62260 ANDROID: mm: Export page_owner_inited and __set_page_owner
Export page_owner_inited and __set_page_owner symbol
for loadable vendor modules.

Bug: 296348400
Change-Id: I220ec1b94326ca3c6cc809d54646c51194645197
Signed-off-by: Pratyush Brahma <quic_pbrahma@quicinc.com>
2023-08-29 23:09:59 +00:00
Enlin Mu
d26e92d681 FROMGIT: pstore/ram: Check start of empty przs during init
After commit 30696378f6 ("pstore/ram: Do not treat empty buffers as
valid"), initialization would assume a prz was valid after seeing that
the buffer_size is zero (regardless of the buffer start position). This
unchecked start value means it could be outside the bounds of the buffer,
leading to future access panics when written to:

 sysdump_panic_event+0x3b4/0x5b8
 atomic_notifier_call_chain+0x54/0x90
 panic+0x1c8/0x42c
 die+0x29c/0x2a8
 die_kernel_fault+0x68/0x78
 __do_kernel_fault+0x1c4/0x1e0
 do_bad_area+0x40/0x100
 do_translation_fault+0x68/0x80
 do_mem_abort+0x68/0xf8
 el1_da+0x1c/0xc0
 __raw_writeb+0x38/0x174
 __memcpy_toio+0x40/0xac
 persistent_ram_update+0x44/0x12c
 persistent_ram_write+0x1a8/0x1b8
 ramoops_pstore_write+0x198/0x1e8
 pstore_console_write+0x94/0xe0
 ...

To avoid this, also check if the prz start is 0 during the initialization
phase. If not, the next prz sanity check case will discover it (start >
size) and zap the buffer back to a sane state.

Bug: 293538531
Fixes: 30696378f6 ("pstore/ram: Do not treat empty buffers as valid")
Cc: Yunlong Xing <yunlong.xing@unisoc.com>
Cc: stable@vger.kernel.org
Change-Id: I6ff3a11b8b21f6f5ab37d8432751e5d33a441d8c
Signed-off-by: Enlin Mu <enlin.mu@unisoc.com>
Link: https://lore.kernel.org/r/20230801060432.1307717-1-yunlong.xing@unisoc.com
[kees: update commit log with backtrace and clarifications]
(cherry picked from commit fe8c3623ab06603eb760444a032d426542212021
https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/pstore)
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Chunhui Li <chunhui.li@mediatek.com>
(cherry picked from commit cd018c99fa2f79262262a2698455f9ee3e5f5076)
2023-08-29 21:43:07 +00:00
Namjae Jeon
966df87a17 UPSTREAM: exfat: check if filename entries exceeds max filename length
[ Upstream commit d42334578eba1390859012ebb91e1e556d51db49 ]

exfat_extract_uni_name copies characters from a given file name entry into
the 'uniname' variable. This variable is actually defined on the stack of
the exfat_readdir() function. According to the definition of
the 'exfat_uni_name' type, the file name should be limited 255 characters
(+ null teminator space), but the exfat_get_uniname_from_ext_entry()
function can write more characters because there is no check if filename
entries exceeds max filename length. This patch add the check not to copy
filename characters when exceeding max filename length.

Bug: 296393077
Cc: stable@vger.kernel.org
Cc: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reported-by: Maxim Suhanov <dfirblog@gmail.com>
Reviewed-by: Sungjong Seo <sj1557.seo@samsung.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit c2fdf827f8fc6a571e1b7cc38a61041f0321adf5)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I57a9ab007a5eac9c3415aa460df324c9044908c0
2023-08-29 16:03:13 +01:00
Maciej Żenczykowski
dcb17f36f3 BACKPORT: FROMGIT: netfilter: nfnetlink_log: always add a timestamp
Compared to all the other work we're already doing to deliver
an skb to userspace this is very cheap - at worse an extra
call to ktime_get_real() - and very useful.

(and indeed it may even be cheaper if we're running from other hooks)

(background: Android occasionally logs packets which
caused wake from sleep/suspend and we'd like to have
timestamps reliably associated with these events)

Cc: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: Martin KaFai Lau <kafai@fb.com>
Cc: Florian Westphal <fw@strlen.de>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
(cherry picked from commit 1d85594fd3e7e39e63b53b1bdc2d89db43b6ecd5 https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git main)
Bug: 276360178
Change-Id: I254a8d39cb7a232d47865a04cd6e0279606fa40e
2023-08-25 22:46:59 +00:00
Amit Pundir
a8b58500cb FROMGIT: arm64: dts: qcom: sdm845-db845c: Mark cont splash memory region as reserved
Adding a reserved memory region for the framebuffer memory
(the splash memory region set up by the bootloader).

It fixes a kernel panic (arm-smmu: Unhandled context fault
at this particular memory region) reported on DB845c running
v5.10.y.

Cc: stable@vger.kernel.org # v5.10+
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230726132719.2117369-2-amit.pundir@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>

Bug: 146449535
(cherry picked from commit 110e70fccce4 https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git tags/qcom-arm64-for-6.6)
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Change-Id: Ib369b94c3bacc694a4ecf70a9bc4b85355d4c32a
2023-08-25 19:13:34 +00:00
Duoming Zhou
8001debfc1 UPSTREAM: media: usb: siano: Fix warning due to null work_func_t function pointer
[ Upstream commit 6f489a966fbeb0da63d45c2c66a8957eab604bf6 ]

The previous commit ebad8e731c1c ("media: usb: siano: Fix use after
free bugs caused by do_submit_urb") adds cancel_work_sync() in
smsusb_stop_streaming(). But smsusb_stop_streaming() may be called,
even if the work_struct surb->wq has not been initialized. As a result,
the warning will occur. One of the processes that could lead to warning
is shown below:

smsusb_probe()
  smsusb_init_device()
    if (!dev->in_ep || !dev->out_ep || align < 0) {
         smsusb_term_device(intf);
           smsusb_stop_streaming()
             cancel_work_sync(&dev->surbs[i].wq);
               __cancel_work_timer()
                 __flush_work()
                   if (WARN_ON(!work->func)) // work->func is null

The log reported by syzbot is shown below:

WARNING: CPU: 0 PID: 897 at kernel/workqueue.c:3066 __flush_work+0x798/0xa80 kernel/workqueue.c:3063
Modules linked in:
CPU: 0 PID: 897 Comm: kworker/0:2 Not tainted 6.2.0-rc1-syzkaller #0
RIP: 0010:__flush_work+0x798/0xa80 kernel/workqueue.c:3066
...
RSP: 0018:ffffc9000464ebf8 EFLAGS: 00010246
RAX: 1ffff11002dbb420 RBX: 0000000000000021 RCX: 1ffffffff204fa4e
RDX: dffffc0000000000 RSI: 0000000000000001 RDI: ffff888016dda0e8
RBP: ffffc9000464ed98 R08: 0000000000000001 R09: ffffffff90253b2f
R10: 0000000000000001 R11: 0000000000000000 R12: ffff888016dda0e8
R13: ffff888016dda0e8 R14: ffff888016dda100 R15: 0000000000000001
FS:  0000000000000000(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd4331efe8 CR3: 000000000b48e000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 __cancel_work_timer+0x315/0x460 kernel/workqueue.c:3160
 smsusb_stop_streaming drivers/media/usb/siano/smsusb.c:182 [inline]
 smsusb_term_device+0xda/0x2d0 drivers/media/usb/siano/smsusb.c:344
 smsusb_init_device+0x400/0x9ce drivers/media/usb/siano/smsusb.c:419
 smsusb_probe+0xbbd/0xc55 drivers/media/usb/siano/smsusb.c:567
...

This patch adds check before cancel_work_sync(). If surb->wq has not
been initialized, the cancel_work_sync() will not be executed.

Bug: 295075980
Reported-by: syzbot+27b0b464864741b18b99@syzkaller.appspotmail.com
Fixes: ebad8e731c1c ("media: usb: siano: Fix use after free bugs caused by do_submit_urb")
Signed-off-by: Duoming Zhou <duoming@zju.edu.cn>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 8abb53c5167cfb5bb275512a3da4ec2468478626)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Ie2946408cfde466d0138c23093ec6738b7e51161
2023-08-23 16:53:01 +00:00
Sungwoo Kim
8e682bb18a UPSTREAM: Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
commit 1728137b33c00d5a2b5110ed7aafb42e7c32e4a1 upstream.

l2cap_sock_release(sk) frees sk. However, sk's children are still alive
and point to the already free'd sk's address.
To fix this, l2cap_sock_release(sk) also cleans sk's children.

==================================================================
BUG: KASAN: use-after-free in l2cap_sock_ready_cb+0xb7/0x100 net/bluetooth/l2cap_sock.c:1650
Read of size 8 at addr ffff888104617aa8 by task kworker/u3:0/276

CPU: 0 PID: 276 Comm: kworker/u3:0 Not tainted 6.2.0-00001-gef397bd4d5fb-dirty #59
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
Workqueue: hci2 hci_rx_work
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x72/0x95 lib/dump_stack.c:106
 print_address_description mm/kasan/report.c:306 [inline]
 print_report+0x175/0x478 mm/kasan/report.c:417
 kasan_report+0xb1/0x130 mm/kasan/report.c:517
 l2cap_sock_ready_cb+0xb7/0x100 net/bluetooth/l2cap_sock.c:1650
 l2cap_chan_ready+0x10e/0x1e0 net/bluetooth/l2cap_core.c:1386
 l2cap_config_req+0x753/0x9f0 net/bluetooth/l2cap_core.c:4480
 l2cap_bredr_sig_cmd net/bluetooth/l2cap_core.c:5739 [inline]
 l2cap_sig_channel net/bluetooth/l2cap_core.c:6509 [inline]
 l2cap_recv_frame+0xe2e/0x43c0 net/bluetooth/l2cap_core.c:7788
 l2cap_recv_acldata+0x6ed/0x7e0 net/bluetooth/l2cap_core.c:8506
 hci_acldata_packet net/bluetooth/hci_core.c:3813 [inline]
 hci_rx_work+0x66e/0xbc0 net/bluetooth/hci_core.c:4048
 process_one_work+0x4ea/0x8e0 kernel/workqueue.c:2289
 worker_thread+0x364/0x8e0 kernel/workqueue.c:2436
 kthread+0x1b9/0x200 kernel/kthread.c:376
 ret_from_fork+0x2c/0x50 arch/x86/entry/entry_64.S:308
 </TASK>

Allocated by task 288:
 kasan_save_stack+0x22/0x50 mm/kasan/common.c:45
 kasan_set_track+0x25/0x30 mm/kasan/common.c:52
 ____kasan_kmalloc mm/kasan/common.c:374 [inline]
 __kasan_kmalloc+0x82/0x90 mm/kasan/common.c:383
 kasan_kmalloc include/linux/kasan.h:211 [inline]
 __do_kmalloc_node mm/slab_common.c:968 [inline]
 __kmalloc+0x5a/0x140 mm/slab_common.c:981
 kmalloc include/linux/slab.h:584 [inline]
 sk_prot_alloc+0x113/0x1f0 net/core/sock.c:2040
 sk_alloc+0x36/0x3c0 net/core/sock.c:2093
 l2cap_sock_alloc.constprop.0+0x39/0x1c0 net/bluetooth/l2cap_sock.c:1852
 l2cap_sock_create+0x10d/0x220 net/bluetooth/l2cap_sock.c:1898
 bt_sock_create+0x183/0x290 net/bluetooth/af_bluetooth.c:132
 __sock_create+0x226/0x380 net/socket.c:1518
 sock_create net/socket.c:1569 [inline]
 __sys_socket_create net/socket.c:1606 [inline]
 __sys_socket_create net/socket.c:1591 [inline]
 __sys_socket+0x112/0x200 net/socket.c:1639
 __do_sys_socket net/socket.c:1652 [inline]
 __se_sys_socket net/socket.c:1650 [inline]
 __x64_sys_socket+0x40/0x50 net/socket.c:1650
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3f/0x90 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x72/0xdc

Freed by task 288:
 kasan_save_stack+0x22/0x50 mm/kasan/common.c:45
 kasan_set_track+0x25/0x30 mm/kasan/common.c:52
 kasan_save_free_info+0x2e/0x50 mm/kasan/generic.c:523
 ____kasan_slab_free mm/kasan/common.c:236 [inline]
 ____kasan_slab_free mm/kasan/common.c:200 [inline]
 __kasan_slab_free+0x10a/0x190 mm/kasan/common.c:244
 kasan_slab_free include/linux/kasan.h:177 [inline]
 slab_free_hook mm/slub.c:1781 [inline]
 slab_free_freelist_hook mm/slub.c:1807 [inline]
 slab_free mm/slub.c:3787 [inline]
 __kmem_cache_free+0x88/0x1f0 mm/slub.c:3800
 sk_prot_free net/core/sock.c:2076 [inline]
 __sk_destruct+0x347/0x430 net/core/sock.c:2168
 sk_destruct+0x9c/0xb0 net/core/sock.c:2183
 __sk_free+0x82/0x220 net/core/sock.c:2194
 sk_free+0x7c/0xa0 net/core/sock.c:2205
 sock_put include/net/sock.h:1991 [inline]
 l2cap_sock_kill+0x256/0x2b0 net/bluetooth/l2cap_sock.c:1257
 l2cap_sock_release+0x1a7/0x220 net/bluetooth/l2cap_sock.c:1428
 __sock_release+0x80/0x150 net/socket.c:650
 sock_close+0x19/0x30 net/socket.c:1368
 __fput+0x17a/0x5c0 fs/file_table.c:320
 task_work_run+0x132/0x1c0 kernel/task_work.c:179
 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:171 [inline]
 exit_to_user_mode_prepare+0x113/0x120 kernel/entry/common.c:203
 __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]
 syscall_exit_to_user_mode+0x21/0x50 kernel/entry/common.c:296
 do_syscall_64+0x4c/0x90 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x72/0xdc

The buggy address belongs to the object at ffff888104617800
 which belongs to the cache kmalloc-1k of size 1024
The buggy address is located 680 bytes inside of
 1024-byte region [ffff888104617800, ffff888104617c00)

The buggy address belongs to the physical page:
page:00000000dbca6a80 refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888104614000 pfn:0x104614
head:00000000dbca6a80 order:2 compound_mapcount:0 subpages_mapcount:0 compound_pincount:0
flags: 0x200000000010200(slab|head|node=0|zone=2)
raw: 0200000000010200 ffff888100041dc0 ffffea0004212c10 ffffea0004234b10
raw: ffff888104614000 0000000000080002 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff888104617980: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff888104617a00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff888104617a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                  ^
 ffff888104617b00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff888104617b80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Bug: 297025149
Ack: This bug is found by FuzzBT with a modified Syzkaller. Other
contributors are Ruoyu Wu and Hui Peng.
Signed-off-by: Sungwoo Kim <iam@sung-woo.kim>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 29fac18499332211b2615ade356e2bd8b3269f98)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I1f4cf5a928b4825c63488bde0d5589517cc84ef8
2023-08-23 14:41:47 +01:00
Zichun Zheng
14ce45e3c7 ANDROID: ABI: Update oplus symbol list
Leaf changes summary: 4 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 3 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

3 Added functions:

  [A] 'function void __mod_lruvec_state(lruvec*, node_stat_item, int)'
  [A] 'function void mem_cgroup_update_lru_size(lruvec*, lru_list, int, int)'
  [A] 'function int page_referenced(page*, int, mem_cgroup*, unsigned long int*)'

1 Added variable:

  [A] 'mem_cgroup* root_mem_cgroup'

Bug: 296526618
Change-Id: I519edbc96555a7156863c5f4507cf8335fa5cb96
Signed-off-by: Zichun Zheng <zhengzichun@oppo.com>
2023-08-23 12:33:26 +00:00
Zichun Zheng
98a66e87c1 ANDROID: Export symbols to do reverse mapping within memcg in kernel modules.
Export the symbols below to do reverse mapping within memcg:
  root_mem_cgroup
  page_referenced

Bug: 296526618
Change-Id: Ia9c5876bd97d3f13c92b28af2ca5e74b3f91bd5a
Signed-off-by: Zichun Zheng <zhengzichun@oppo.com>
2023-08-23 12:33:26 +00:00
Zichun Zheng
8af1bc5622 ANDROID: GKI: export symbols to modify lru stats
Export the symbols below to modify LRU state:
  __mod_lruvec_state
  mem_cgroup_update_lru_size

Bug: 296526618
Change-Id: Ie05a2d21fa6ad400877b1c41d732346232452f78
Signed-off-by: Lianjun Huang <huanglianjun@xiaomi.corp-partner.google.com>
(cherry picked from commit I7804b30282b865a004f5a7193537aea688901043)
Signed-off-by: Zichun Zheng <zhengzichun@oppo.com>
2023-08-23 12:33:26 +00:00
Laszlo Ersek
b019a989a2 UPSTREAM: net: tap_open(): set sk_uid from current_fsuid()
commit 5c9241f3ceab3257abe2923a59950db0dc8bb737 upstream.

Commit 66b2c338adce initializes the "sk_uid" field in the protocol socket
(struct sock) from the "/dev/tapX" device node's owner UID. Per original
commit 86741ec254 ("net: core: Add a UID field to struct sock.",
2016-11-04), that's wrong: the idea is to cache the UID of the userspace
process that creates the socket. Commit 86741ec254 mentions socket() and
accept(); with "tap", the action that creates the socket is
open("/dev/tapX").

Therefore the device node's owner UID is irrelevant. In most cases,
"/dev/tapX" will be owned by root, so in practice, commit 66b2c338adce has
no observable effect:

- before, "sk_uid" would be zero, due to undefined behavior
  (CVE-2023-1076),

- after, "sk_uid" would be zero, due to "/dev/tapX" being owned by root.

What matters is the (fs)UID of the process performing the open(), so cache
that in "sk_uid".

Bug: 295995961
Cc: Eric Dumazet <edumazet@google.com>
Cc: Lorenzo Colitti <lorenzo@google.com>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Pietro Borrello <borrello@diag.uniroma1.it>
Cc: netdev@vger.kernel.org
Cc: stable@vger.kernel.org
Fixes: 66b2c338adce ("tap: tap_open(): correctly initialize socket uid")
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2173435
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 767800fc402deac438c5aed9c82f0e71a70c86fd)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Ib5f80015e5c0280acf9f35124d3ff267ff0420f0
2023-08-22 16:28:24 +00:00
Laszlo Ersek
169c9f103f UPSTREAM: net: tun_chr_open(): set sk_uid from current_fsuid()
commit 9bc3047374d5bec163e83e743709e23753376f0c upstream.

Commit a096ccca6e50 initializes the "sk_uid" field in the protocol socket
(struct sock) from the "/dev/net/tun" device node's owner UID. Per
original commit 86741ec254 ("net: core: Add a UID field to struct
sock.", 2016-11-04), that's wrong: the idea is to cache the UID of the
userspace process that creates the socket. Commit 86741ec254 mentions
socket() and accept(); with "tun", the action that creates the socket is
open("/dev/net/tun").

Therefore the device node's owner UID is irrelevant. In most cases,
"/dev/net/tun" will be owned by root, so in practice, commit a096ccca6e50
has no observable effect:

- before, "sk_uid" would be zero, due to undefined behavior
  (CVE-2023-1076),

- after, "sk_uid" would be zero, due to "/dev/net/tun" being owned by root.

What matters is the (fs)UID of the process performing the open(), so cache
that in "sk_uid".

Bug: 295995961
Cc: Eric Dumazet <edumazet@google.com>
Cc: Lorenzo Colitti <lorenzo@google.com>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Pietro Borrello <borrello@diag.uniroma1.it>
Cc: netdev@vger.kernel.org
Cc: stable@vger.kernel.org
Fixes: a096ccca6e50 ("tun: tun_chr_open(): correctly initialize socket uid")
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2173435
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b6846d7c408b33e4701f4f5ca28932e2a08e0a2e)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I2540ac5876ca7dad39e1b867a5e09a5c9c69bb86
2023-08-22 16:21:04 +00:00
Pablo Neira Ayuso
819a8605da UPSTREAM: netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID
[ Upstream commit 0ebc1064e4874d5987722a2ddbc18f94aa53b211 ]

Bail out with EOPNOTSUPP when adding rule to bound chain via
NFTA_RULE_CHAIN_ID. The following warning splat is shown when
adding a rule to a deleted bound chain:

 WARNING: CPU: 2 PID: 13692 at net/netfilter/nf_tables_api.c:2013 nf_tables_chain_destroy+0x1f7/0x210 [nf_tables]
 CPU: 2 PID: 13692 Comm: chain-bound-rul Not tainted 6.1.39 #1
 RIP: 0010:nf_tables_chain_destroy+0x1f7/0x210 [nf_tables]

Bug: 296128351
Fixes: d0e2c7de92 ("netfilter: nf_tables: add NFT_CHAIN_BINDING")
Reported-by: Kevin Rich <kevinrich1337@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 268cb07ef3ee17b5454a7c4b23376802c5b00c79)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Icf97f57d18bb2b30ed28a3de6cdd18661d7f1c3d
2023-08-22 16:07:05 +00:00
Krishna Kurapati
f2545eebf0 BACKPORT: UPSTREAM: usb: dwc3: gadget: Execute gadget stop after halting the controller
Do not call gadget stop until the poll for controller halt is
completed.  DEVTEN is cleared as part of gadget stop, so the intention to
allow ep0 events to continue while waiting for controller halt is not
happening.

Fixes: c96683798e27 ("usb: dwc3: ep0: Don't prepare beyond Setup stage")
Cc: stable@vger.kernel.org
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Link: https://lore.kernel.org/r/20230420212759.29429-2-quic_wcheng@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 280741172
Bug: 277690231
Bug: 296168017
[ugoswami: Modified the function dwc3_gadget_run_stop to remove dependency from cleanup patch.]
(cherry picked from commit 39674be56fba1cd3a03bf4617f523a35f85fd2c1 usb-linus)

Change-Id: I2a8a42e938a680cefc0d1a56274caf155a4f99cd
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
(cherry picked from commit 45902380021d3fe742f9e6d49337ad3746f00d64)
(cherry picked from commit 1ce1603175dafecd3e19ed7b8422c16b538a849b)
2023-08-21 21:36:43 +00:00
Wesley Cheng
6d38ae2f4c UPSTREAM: usb: dwc3: gadget: Stall and restart EP0 if host is unresponsive
It was observed that there are hosts that may complete pending SETUP
transactions before the stop active transfers and controller halt occurs,
leading to lingering endxfer commands on DEPs on subsequent pullup/gadget
start iterations.

  dwc3_gadget_ep_disable   name=ep8in flags=0x3009  direction=1
  dwc3_gadget_ep_disable   name=ep4in flags=1  direction=1
  dwc3_gadget_ep_disable   name=ep3out flags=1  direction=0
  usb_gadget_disconnect   deactivated=0  connected=0  ret=0

The sequence shows that the USB gadget disconnect (dwc3_gadget_pullup(0))
routine completed successfully, allowing for the USB gadget to proceed with
a USB gadget connect.  However, if this occurs the system runs into an
issue where:

  BUG: spinlock already unlocked on CPU
  spin_bug+0x0
  dwc3_remove_requests+0x278
  dwc3_ep0_out_start+0xb0
  __dwc3_gadget_start+0x25c

This is due to the pending endxfers, leading to gadget start (w/o lock
held) to execute the remove requests, which will unlock the dwc3
spinlock as part of giveback.

To mitigate this, resolve the pending endxfers on the pullup disable
path by re-locating the SETUP phase check after stop active transfers, since
that is where the DWC3_EP_DELAY_STOP is potentially set.  This also allows
for handling of a host that may be unresponsive by using the completion
timeout to trigger the stall and restart for EP0.

Fixes: c96683798e27 ("usb: dwc3: ep0: Don't prepare beyond Setup stage")
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>

Fixes: c96683798e27 ("usb: dwc3: ep0: Don't prepare beyond Setup stage")
Cc: stable@vger.kernel.org
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Link: https://lore.kernel.org/r/20230413195742.11821-2-quic_wcheng@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 280741172
Bug: 277690231
Bug: 296168017
(cherry picked from commit 02435a739b81ae24aff5d6e930efef9458e2af3c usb-linus)

Change-Id: Ifa9aeab01a4f45feaae59c2d393e6712f5370f08
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
(cherry picked from commit 5dd4405fee1bf7505d4211c083c695a2cf7adaea)
(cherry picked from commit 82aad30f43743df34ce5b31be89ba8fc64233fa0)
2023-08-21 20:14:28 +00:00
valis
6f01e099d8 UPSTREAM: net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
[ Upstream commit b80b829e9e2c1b3f7aae34855e04d8f6ecaf13c8 ]

When route4_change() is called on an existing filter, the whole
tcf_result struct is always copied into the new instance of the filter.

This causes a problem when updating a filter bound to a class,
as tcf_unbind_filter() is always called on the old instance in the
success path, decreasing filter_cnt of the still referenced class
and allowing it to be deleted, leading to a use-after-free.

Fix this by no longer copying the tcf_result struct from the old filter.

Bug: 296347075
Fixes: 1109c00547 ("net: sched: RCU cls_route")
Reported-by: valis <sec@valis.email>
Reported-by: Bing-Jhong Billy Jheng <billy@starlabs.sg>
Signed-off-by: valis <sec@valis.email>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Reviewed-by: Victor Nogueira <victor@mojatatu.com>
Reviewed-by: Pedro Tammela <pctammela@mojatatu.com>
Reviewed-by: M A Ramdhan <ramdhan@starlabs.sg>
Link: https://lore.kernel.org/r/20230729123202.72406-4-jhs@mojatatu.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit d4d3b53a4c66004e8e864fea744b3a2b86a73b62)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Iefbd201b92847ec1349f92c107d7ef5aec3fb359
2023-08-21 13:08:03 +01:00
valis
0ebe76176b UPSTREAM: net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after-free
[ Upstream commit 76e42ae831991c828cffa8c37736ebfb831ad5ec ]

When fw_change() is called on an existing filter, the whole
tcf_result struct is always copied into the new instance of the filter.

This causes a problem when updating a filter bound to a class,
as tcf_unbind_filter() is always called on the old instance in the
success path, decreasing filter_cnt of the still referenced class
and allowing it to be deleted, leading to a use-after-free.

Fix this by no longer copying the tcf_result struct from the old filter.

Bug: 296347075
Fixes: e35a8ee599 ("net: sched: fw use RCU")
Reported-by: valis <sec@valis.email>
Reported-by: Bing-Jhong Billy Jheng <billy@starlabs.sg>
Signed-off-by: valis <sec@valis.email>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Reviewed-by: Victor Nogueira <victor@mojatatu.com>
Reviewed-by: Pedro Tammela <pctammela@mojatatu.com>
Reviewed-by: M A Ramdhan <ramdhan@starlabs.sg>
Link: https://lore.kernel.org/r/20230729123202.72406-3-jhs@mojatatu.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 7f691439b29be0aae68f83ad5eecfddc11007724)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I33c91c83d1cd8e889a7261adfa3779ca6c141088
2023-08-21 13:07:53 +01:00
valis
45edbf4058 UPSTREAM: net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
[ Upstream commit 3044b16e7c6fe5d24b1cdbcf1bd0a9d92d1ebd81 ]

When u32_change() is called on an existing filter, the whole
tcf_result struct is always copied into the new instance of the filter.

This causes a problem when updating a filter bound to a class,
as tcf_unbind_filter() is always called on the old instance in the
success path, decreasing filter_cnt of the still referenced class
and allowing it to be deleted, leading to a use-after-free.

Fix this by no longer copying the tcf_result struct from the old filter.

Bug: 296347075
Fixes: de5df63228 ("net: sched: cls_u32 changes to knode must appear atomic to readers")
Reported-by: valis <sec@valis.email>
Reported-by: M A Ramdhan <ramdhan@starlabs.sg>
Signed-off-by: valis <sec@valis.email>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Reviewed-by: Victor Nogueira <victor@mojatatu.com>
Reviewed-by: Pedro Tammela <pctammela@mojatatu.com>
Reviewed-by: M A Ramdhan <ramdhan@starlabs.sg>
Link: https://lore.kernel.org/r/20230729123202.72406-2-jhs@mojatatu.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit aab2d095ce4dd8d01ca484c0cc641fb497bf74db)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I1a8381c308cc97cf61d6f95a02992d2c553455c5
2023-08-21 13:05:32 +01:00
wangshuai12
e172f5cfc0 ANDROID: GKI: update xiaomi symbol list
Add symbols required by mq-deadline module:
  blk_mq_debugfs_rq_show
  seq_list_start
  seq_list_next
  __blk_mq_debugfs_rq_show

Bug: 295968464
Change-Id: I14bad6ff43c9a43a9bd1f854302d833d828996e5
Signed-off-by: wangshuai12 <wangshuai12@xiaomi.corp-partner.google.com>
Signed-off-by: Aleksei Vetrov <vvvvvv@google.com>
2023-08-18 15:02:35 +00:00
Pablo Neira Ayuso
28b82089b2 UPSTREAM: netfilter: nf_tables: skip bound chain on rule flush
[ Upstream commit 6eaf41e87a223ae6f8e7a28d6e78384ad7e407f8 ]

Skip bound chain when flushing table rules, the rule that owns this
chain releases these objects.

Otherwise, the following warning is triggered:

  WARNING: CPU: 2 PID: 1217 at net/netfilter/nf_tables_api.c:2013 nf_tables_chain_destroy+0x1f7/0x210 [nf_tables]
  CPU: 2 PID: 1217 Comm: chain-flush Not tainted 6.1.39 #1
  RIP: 0010:nf_tables_chain_destroy+0x1f7/0x210 [nf_tables]

Bug: 294357305
Fixes: d0e2c7de92 ("netfilter: nf_tables: add NFT_CHAIN_BINDING")
Reported-by: Kevin Rich <kevinrich1337@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit e18922ce3e3169eb97838d1dcba2d679bcca446c)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I48f43d0ce3410efec2513479a1f4c7708a097b01
2023-08-15 16:20:07 +00:00
M A Ramdhan
bad8adda41 UPSTREAM: net/sched: cls_fw: Fix improper refcount update leads to use-after-free
[ Upstream commit 0323bce598eea038714f941ce2b22541c46d488f ]

In the event of a failure in tcf_change_indev(), fw_set_parms() will
immediately return an error after incrementing or decrementing
reference counter in tcf_bind_filter().  If attacker can control
reference counter to zero and make reference freed, leading to
use after free.

In order to prevent this, move the point of possible failure above the
point where the TC_FW_CLASSID is handled.

Bug: 292252062
Bug: 290783303
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Reported-by: M A Ramdhan <ramdhan@starlabs.sg>
Signed-off-by: M A Ramdhan <ramdhan@starlabs.sg>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Reviewed-by: Pedro Tammela <pctammela@mojatatu.com>
Message-ID: <20230705161530.52003-1-ramdhan@starlabs.sg>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit c91fb29bb07ee4dd40aabd1e41f19c0f92ac3199)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I9bf6f540b4eb23ea5641fb3efe6f3e621d7b6151
2023-08-15 16:19:57 +00:00
Chaoyuan Peng
84f8556570 UPSTREAM: tty: n_gsm: fix UAF in gsm_cleanup_mux
commit 9b9c8195f3f0d74a826077fc1c01b9ee74907239 upstream.

In gsm_cleanup_mux() the 'gsm->dlci' pointer was not cleaned properly,
leaving it a dangling pointer after gsm_dlci_release.
This leads to use-after-free where 'gsm->dlci[0]' are freed and accessed
by the subsequent gsm_cleanup_mux().

Such is the case in the following call trace:

 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
 print_address_description+0x63/0x3b0 mm/kasan/report.c:248
 __kasan_report mm/kasan/report.c:434 [inline]
 kasan_report+0x16b/0x1c0 mm/kasan/report.c:451
 gsm_cleanup_mux+0x76a/0x850 drivers/tty/n_gsm.c:2397
 gsm_config drivers/tty/n_gsm.c:2653 [inline]
 gsmld_ioctl+0xaae/0x15b0 drivers/tty/n_gsm.c:2986
 tty_ioctl+0x8ff/0xc50 drivers/tty/tty_io.c:2816
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:874 [inline]
 __se_sys_ioctl+0xf1/0x160 fs/ioctl.c:860
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x61/0xcb
 </TASK>

Allocated by task 3501:
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track mm/kasan/common.c:46 [inline]
 set_alloc_info mm/kasan/common.c:434 [inline]
 ____kasan_kmalloc+0xba/0xf0 mm/kasan/common.c:513
 kasan_kmalloc include/linux/kasan.h:264 [inline]
 kmem_cache_alloc_trace+0x143/0x290 mm/slub.c:3247
 kmalloc include/linux/slab.h:591 [inline]
 kzalloc include/linux/slab.h:721 [inline]
 gsm_dlci_alloc+0x53/0x3a0 drivers/tty/n_gsm.c:1932
 gsm_activate_mux+0x1c/0x330 drivers/tty/n_gsm.c:2438
 gsm_config drivers/tty/n_gsm.c:2677 [inline]
 gsmld_ioctl+0xd46/0x15b0 drivers/tty/n_gsm.c:2986
 tty_ioctl+0x8ff/0xc50 drivers/tty/tty_io.c:2816
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:874 [inline]
 __se_sys_ioctl+0xf1/0x160 fs/ioctl.c:860
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x61/0xcb

Freed by task 3501:
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track+0x4b/0x80 mm/kasan/common.c:46
 kasan_set_free_info+0x1f/0x40 mm/kasan/generic.c:360
 ____kasan_slab_free+0xd8/0x120 mm/kasan/common.c:366
 kasan_slab_free include/linux/kasan.h:230 [inline]
 slab_free_hook mm/slub.c:1705 [inline]
 slab_free_freelist_hook+0xdd/0x160 mm/slub.c:1731
 slab_free mm/slub.c:3499 [inline]
 kfree+0xf1/0x270 mm/slub.c:4559
 dlci_put drivers/tty/n_gsm.c:1988 [inline]
 gsm_dlci_release drivers/tty/n_gsm.c:2021 [inline]
 gsm_cleanup_mux+0x574/0x850 drivers/tty/n_gsm.c:2415
 gsm_config drivers/tty/n_gsm.c:2653 [inline]
 gsmld_ioctl+0xaae/0x15b0 drivers/tty/n_gsm.c:2986
 tty_ioctl+0x8ff/0xc50 drivers/tty/tty_io.c:2816
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:874 [inline]
 __se_sys_ioctl+0xf1/0x160 fs/ioctl.c:860
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x61/0xcb

Bug: 291178675
Fixes: aa371e96f05d ("tty: n_gsm: fix restart handling via CLD command")
Signed-off-by: Chaoyuan Peng <hedonistsmith@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 9615ca54bc138e35353a001e8b5d4824dce72188)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I947cad0e8080378b40d4098add48992ade5fe638
2023-08-15 16:17:47 +00:00
Florian Westphal
0fa8d8cd99 UPSTREAM: netfilter: nft_set_pipapo: fix improper element removal
[ Upstream commit 87b5a5c209405cb6b57424cdfa226a6dbd349232 ]

end key should be equal to start unless NFT_SET_EXT_KEY_END is present.

Its possible to add elements that only have a start key
("{ 1.0.0.0 . 2.0.0.0 }") without an internval end.

Insertion treats this via:

if (nft_set_ext_exists(ext, NFT_SET_EXT_KEY_END))
   end = (const u8 *)nft_set_ext_key_end(ext)->data;
else
   end = start;

but removal side always uses nft_set_ext_key_end().
This is wrong and leads to garbage remaining in the set after removal
next lookup/insert attempt will give:

BUG: KASAN: slab-use-after-free in pipapo_get+0x8eb/0xb90
Read of size 1 at addr ffff888100d50586 by task nft-pipapo_uaf_/1399
Call Trace:
 kasan_report+0x105/0x140
 pipapo_get+0x8eb/0xb90
 nft_pipapo_insert+0x1dc/0x1710
 nf_tables_newsetelem+0x31f5/0x4e00
 ..

Bug: 293587745
Fixes: 3c4287f620 ("nf_tables: Add set type for arbitrary concatenation of ranges")
Reported-by: lonial con <kongln9170@gmail.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 90c3955beb858bb52a9e5c4380ed0e520e3730d1)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I51a423aaa2c31c4df89776505b602aa2c1523b82
2023-08-15 11:56:51 +01:00
Lorenzo Pieralisi
6efa28db9a BACKPORT: FROMGIT: irqchip/gic-v3: Workaround for GIC-700 erratum 2941627
GIC700 erratum 2941627 may cause GIC-700 missing SPIs wake
requests when SPIs are deactivated while targeting a
sleeping CPU - ie a CPU for which the redistributor:

GICR_WAKER.ProcessorSleep == 1

This runtime situation can happen if an SPI that has been
activated on a core is retargeted to a different core, it
becomes pending and the target core subsequently enters a
power state quiescing the respective redistributor.

When this situation is hit, the de-activation carried out
on the core that activated the SPI (through either ICC_EOIR1_EL1
or ICC_DIR_EL1 register writes) does not trigger a wake
requests for the sleeping GIC redistributor even if the SPI
is pending.

Work around the erratum by de-activating the SPI using the
redistributor GICD_ICACTIVER register if the runtime
conditions require it (ie the IRQ was retargeted between
activation and de-activation).

Bug: 292459437
Change-Id: Ide915b8c925a631a7fc9ccebca19d9175def162e
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230704155034.148262-1-lpieralisi@kernel.org
(cherry picked from commit 6fe5c68ee6a1aae0ef291a56001e7888de547fa2 https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/irqchip-fixes)
[Defined CPUIF_MAP for ICC_EOIR1_EL1 register]
Signed-off-by: Carlos Galo <carlosgalo@google.com>
2023-08-11 23:10:10 +00:00
xieliujie
ec3f57af0a ANDROID: vendor_hook: fix the error record position of mutex
Make sure vendorhook trace_android_vh_record_mutex_lock_starttime woking both in fastpath unlock and slowpath unlock.

Fixes: 57750518de5b ("ANDROID: vendor_hook: Avoid clearing protect-flag before waking waiters")
Bug: 286024926
Change-Id: Ib91c1b88d27aaa4ef872d44102969ffc3c9adb58
Signed-off-by: xieliujie <xieliujie@oppo.com>
2023-08-11 05:18:00 +00:00
Andrew Yang
028e0fb3a4 FROMGIT: fs: drop_caches: draining pages before dropping caches
We expect a file page access after dropping caches should be a major
fault, but sometimes it's still a minor fault.  That's because a file page
can't be dropped if it's in a per-cpu pagevec.  Draining all pages from
per-cpu pagevec to lru list before trying to drop caches.

Link: https://lkml.kernel.org/r/20230630092203.16080-1-andrew.yang@mediatek.com
Change-Id: I9b03c53e39b87134d5ddd0c40ac9b36cf4d190cd
Signed-off-by: Andrew Yang <andrew.yang@mediatek.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Bug: 285794522
(cherry picked from commit a481c6fdf3e4fdf31bda91098dfbf46098037e76
 https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable)
2023-08-10 11:28:35 +00:00
Author Name
67f65c7764 ANDROID: GKI: Update symbols to symbol list
Leaf changes summary: 1 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function

1 Added function:

      [A] 'function int tty_termios_hw_change(const struct*, const struct*)'

Bug: 295132162
Change-Id: I2e9b0d77260e20e9e2d6f907d96eedc76663fba0
Signed-off-by: Aravindh Senthilkumar <aravindh.senthilkumar@zebra.com>
2023-08-09 11:57:13 +00:00
Vatsal Parasrampuria
8e164a95fb ANDROID: GKI: Update symbols to symbol list
Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

1 Added function:

  [A] 'function int __traceiter_android_vh_wakeup_bypass(void*, int*)'

1 Added variable:

  [A] 'tracepoint __tracepoint_android_vh_wakeup_bypass'

Bug: 225120081
Change-Id: Ica87e21b53ab0736c4d1f9e8b44443ea881c5f2a
Signed-off-by: Vatsal Parasrampuria <vp9924@zebra.com>
2023-08-03 12:49:24 +00:00
Xiaojun Ji
c4191be802 ANDROID: GKI: add symbol list file for moto
Leaf changes summary: 0 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

Bug: 289423315
Change-Id: I2f12145513148dced06d9d0ac3bf01dd92863662
Signed-off-by: Xiaojun Ji <jixj@motorola.com>
2023-07-26 15:18:52 +00:00
Bob Peterson
2427afff1e UPSTREAM: gfs2: Don't deref jdesc in evict
[ Upstream commit 504a10d9e46bc37b23d0a1ae2f28973c8516e636 ]

On corrupt gfs2 file systems the evict code can try to reference the
journal descriptor structure, jdesc, after it has been freed and set to
NULL. The sequence of events is:

init_journal()
...
fail_jindex:
   gfs2_jindex_free(sdp); <------frees journals, sets jdesc = NULL
      if (gfs2_holder_initialized(&ji_gh))
         gfs2_glock_dq_uninit(&ji_gh);
fail:
   iput(sdp->sd_jindex); <--references jdesc in evict_linked_inode
      evict()
         gfs2_evict_inode()
            evict_linked_inode()
               ret = gfs2_trans_begin(sdp, 0, sdp->sd_jdesc->jd_blocks);
<------references the now freed/zeroed sd_jdesc pointer.

The call to gfs2_trans_begin is done because the truncate_inode_pages
call can cause gfs2 events that require a transaction, such as removing
journaled data (jdata) blocks from the journal.

This patch fixes the problem by adding a check for sdp->sd_jdesc to
function gfs2_evict_inode. In theory, this should only happen to corrupt
gfs2 file systems, when gfs2 detects the problem, reports it, then tries
to evict all the system inodes it has read in up to that point.

Bug: 289870854
Reported-by: Yang Lan <lanyang0908@gmail.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 5ae4a618a1558d2b536fdd5d42e53d3e2d73870c)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I501e8631e1b60479023f5e6ad957540f9e10bcd5
2023-07-25 12:54:37 +00:00
Takashi Iwai
e933b7be1c UPSTREAM: media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
[ Upstream commit b8c75e4a1b325ea0a9433fa8834be97b5836b946 ]

Using a semaphore in the wait_event*() condition is no good idea.
It hits a kernel WARN_ON() at prepare_to_wait_event() like:
  do not call blocking ops when !TASK_RUNNING; state=1 set at
  prepare_to_wait_event+0x6d/0x690

For avoiding the potential deadlock, rewrite to an open-coded loop
instead.  Unlike the loop in wait_event*(), this uses wait_woken()
after the condition check, hence the task state stays consistent.

CVE-2023-31084 was assigned to this bug.

Link: https://lore.kernel.org/r/CA+UBctCu7fXn4q41O_3=id1+OdyQ85tZY1x+TkT-6OVBL6KAUw@mail.gmail.com/

Bug: 290204413
Link: https://lore.kernel.org/linux-media/20230512151800.1874-1-tiwai@suse.de
Reported-by: Yu Hao <yhao016@ucr.edu>
Closes: https://nvd.nist.gov/vuln/detail/CVE-2023-31084
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit d0088ea444e676a0c75551efe183bee4a3d2cfc8)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I1e715f6f1994e30781c1896c880b5491080f04da
2023-07-25 12:40:33 +00:00
Treehugger Robot
383607d234 Merge "Merge tag 'android12-5.10.185_r00' into android12-5.10" into android12-5.10 2023-07-24 17:05:05 +00:00
Vatsal Parasrampuria
b4b7d22830 ANDROID: wakeupbypass: Add vendor hook for batteryswap
Implemented a hook to check if battery swap is enabled in
alarm timer suspend routine. During a battery swap, it is
crucial to ensure that the device remains in a suspended
state, relying on a limited backup power source. It is
essential to prevent any unintended awakenings in this
state, as they could potentially lead to sudden surges
in the power consumption, ultimately resulting in a
device shutdown. Hence, we disable alarmtimer IRQs when
in batteryswap mode.

Bug: 290881352
Change-Id: I31dc30d9a3168bb1356cccba49f0a70fd6b73782
Signed-off-by: Vatsal Parasrampuria <vp9924@zebra.com>
2023-07-20 00:34:49 +00:00
shenjiangjiang
1dc5772322 ANDROID: GKI: Update symbols to symbol list
Leaf changes summary: 4 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 2 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 2 Added variables

2 Added functions:

  [A] 'function int __traceiter_android_vh_compact_finished(void*, bool*)'
  [A] 'function int __traceiter_android_vh_madvise_cold_or_pageout_abort(void*, vm_area_struct*, bool*)'

2 Added variables:

  [A] 'tracepoint __tracepoint_android_vh_compact_finished'
  [A] 'tracepoint __tracepoint_android_vh_madvise_cold_or_pageout_abort'

Bug: 288216516
Change-Id: I182b925aec69655ad6c17e5452d387c158e563ef
Signed-off-by: shenjiangjiang <shenjiangjiang@oppo.com>
2023-07-18 17:31:55 +00:00
shenjiangjiang
28f1c8e015 ANDROID: vendor_hook: Add hook to abort reclaim and compaction
We need to abort the reclaim/compaction by sending
signal(such as SIGUSR2) to the reclaim thread, or
just abort when cpu-usage is too-high or free-mem is enough.

Bug: 289987875
Change-Id: I4b637cbd2b37235eec27a985a9b5b95598247c59
Signed-off-by: shenjiangjiang <shenjiangjiang@oppo.com>
(cherry picked from commit 024628cc9203cbd4f8471d98435b3a3d6f85764d)
2023-07-18 17:31:55 +00:00
Martin Willi
adad2dab31 UPSTREAM: Revert "Fix XFRM-I support for nested ESP tunnels"
[ Upstream commit 5fc46f94219d1d103ffb5f0832be9da674d85a73 ]

This reverts commit b0355dbbf13c0052931dd14c38c789efed64d3de.

The reverted commit clears the secpath on packets received via xfrm interfaces
to support nested IPsec tunnels. This breaks Netfilter policy matching using
xt_policy in the FORWARD chain, as the secpath is missing during forwarding.
Additionally, Benedict Wong reports that it breaks Transport-in-Tunnel mode.

Fix this regression by reverting the commit until we have a better approach
for nested IPsec tunnels.

Fixes: b0355dbbf13c ("Fix XFRM-I support for nested ESP tunnels")
Link: https://lore.kernel.org/netdev/20230412085615.124791-1-martin@strongswan.org/
Signed-off-by: Martin Willi <martin@strongswan.org>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>

Bug: 288489934
(cherry picked from commit c5449195f8)
Change-Id: Iefaed6d21a641fefb02e0fd0067086a9ae3a802a
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2023-07-18 16:48:03 +00:00
Lee Jones
f48a4c3b29 ANDROID: Incremental fs: Allocate data buffer based on input request size
Presently the data buffer used to return the per-UID timeout description
is created based on information provided by the user.  It is expected
that the user populates a variable called 'timeouts_array_size' which is
heavily scrutinised to ensure the value provided is appropriate i.e.
smaller than the largest possible value but large enough to contain all
of the data we wish to pass back.

The issue is that the aforementioned scrutiny is imposed on a different
variable to the one expected.  Contrary to expectation, the data buffer
is actually being allocated to the size specified in a variable named
'timeouts_array_size_out'.  A variable originally designed to only
contain the output information i.e. the size of the data actually copied
to the user for consumption.  This value is also user provided and is
not given the same level of scrutiny as the former.

The fix in this case is simple.  Ignore 'timeouts_array_size_out' until
it is time to populate (over-write) it ourselves and use
'timeouts_array_size' to shape the buffer as intended.

Bug: 281547360
Change-Id: I95e12879a33a2355f9e4bc0ce2bfc3f229141aa8
Signed-off-by: Lee Jones <joneslee@google.com>
(cherry picked from commit 5a4d20a3eb4e651f88ed2f1f08cee066639ca801)
2023-07-17 14:53:51 +01:00
Kyongho Cho
4def2dd180 ANDROID: ABI: update symbol list for Xclipse GPU
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 Added function:

  [A] 'function void ttm_tt_unpopulate(ttm_bo_device*, ttm_tt*)'

Xclipse GPU driver depends on TTM for graphics buffer allocation and management. It is required by customers to add graphics memory swap to improve overall memory efficiency. However TTM's swap feature can't be used since it selects victim buffer by LRU and we can't choose a specific buffer to swap.
Xclipse GPU driver implements its own swap feature by means of APIs of TTM. But the problem is TTM's buffer allocations statistics in ttm_tt.c which are local to that file. Whenever a graphic buffer is swapped out, the size of total page allocation should be decreased but it is not possible from the outside of ttm_tt.c. If the statistics is not maintained well, TTM ends up swapping out TTM buffers globally which is unexpected.

Bug: 291100620

Change-Id: I0edc4b5e8ae6d9e41e99750eb5f0e62fa78ec1fb
Signed-off-by: Kyongho Cho <pullip.cho@samsung.com>
2023-07-14 17:00:14 +00:00
Liujie Xie
bff06d6020 ANDROID: vendor_hooks: Supplement the missing hook call point.
As a supplement to commit eed2741ae6
("ANDROID: vendor_hook: add hooks to protect locking-tsk in cpu scheduler").
In rwsem read, we missed a lock-holding scenario, add it now.

Bug: 290868674

Change-Id: I718dd942b24b330a79283fc241dcbf47cc34c0c5
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
2023-07-12 17:50:14 +08:00
Dylan Chang
de4dc1c15c ANDROID: GKI: Add symbol list for Nothing
Add symbol list for Nothing at the first time

2 function symbol(s) added
  'struct file_system_type* get_fs_type(const char*)'
  'void iterate_supers_type(struct file_system_type*, void(*)(struct super_block*, void*), void*)'

Bug: 290756100
Change-Id: I3cdf16cf21bf04df2c0ab10358e7e7dd4e82c2d1
Signed-off-by: Dylan Chang <dylan.chang@nothing.tech>
Signed-off-by: Giuliano Procida <gprocida@google.com>
2023-07-11 21:15:34 +01:00
Greg Kroah-Hartman
e424229872 Merge tag 'android12-5.10.185_r00' into android12-5.10
This is the merge of the upstream LTS release of 5.10.185 into the
android12-5.10 branch.

It contains the following commits:

* c4f52f22c7 Revert "net: Remove DECnet leftovers from flow.h."
*   c6ac900e26 Merge 5.10.185 into android12-5.10-lts
|\
| * ef0d5feb32 Linux 5.10.185
| * ed2bf5cee6 um: Fix build w/o CONFIG_PM_SLEEP
| * f73ec12dc7 drm/i915/gen11+: Only load DRAM information from pcode
| * 27458487c8 drm/i915/dg1: Wait for pcode/uncore handshake at startup
| * 2d1c19597d media: dvb-core: Fix use-after-free due to race at dvb_register_device()
| * 5c61c3945a media: dvbdev: fix error logic at dvb_register_device()
| * a1b26dac8b media: dvbdev: Fix memleak in dvb_register_device
| * a13dee47fa nilfs2: reject devices with insufficient block count
| * c374552b54 mm/memory_hotplug: extend offline_and_remove_memory() to handle more than one memory block
| * e6dc6a9d0a mmc: block: ensure error propagation for non-blk
| * 7ce0e8b287 batman-adv: Switch to kstrtox.h for kstrtou64
| * e6104284c4 neighbour: delete neigh_lookup_nodev as not used
| * bf82668eb9 net: Remove DECnet leftovers from flow.h.
| * 7d07fd03f5 net: Remove unused inline function dst_hold_and_use()
| * 53076071fb neighbour: Remove unused inline function neigh_key_eq16()
| * 7230a9e599 rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period
| * a261589621 cgroup: always put cset in cgroup_css_set_put_fork
| * 4c10843863 afs: Fix vlserver probe RTT handling
| * 49b6607ded selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
| * 08899e8d5a net: tipc: resize nlattr array to correct size
| * 5fd696b404 net: lapbether: only support ethernet devices
| * 6ee3728ae8 net/sched: cls_api: Fix lockup on flushing explicitly created chain
| * efed5b50f3 ext4: drop the call to ext4_error() from ext4_get_group_info()
| * 6ab91d1adb drm/nouveau: add nv_encoder pointer check for NULL
| * 5d43bb9b3e drm/nouveau/dp: check for NULL nv_connector->native_mode
| * edb970e03d drm/nouveau: don't detect DSM for non-NVIDIA device
| * 8c3446ab59 igb: fix nvm.ops.read() error handling
| * 221281d60c sctp: fix an error code in sctp_sf_eat_auth()
| * 5c47ed7f25 ipvlan: fix bound dev checking for IPv6 l3s mode
| * 3c97f2c9ec IB/isert: Fix incorrect release of isert connection
| * da6ae4aab5 IB/isert: Fix possible list corruption in CMA handler
| * 2b6f8817ca IB/isert: Fix dead lock in ib_isert
| * 2f9d26345c IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
| * 6cccdbc9f0 RDMA/cma: Always set static rate to 0 for RoCE
| * f49abbb274 RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions
| * aa277d5cd4 octeontx2-af: fixed resource availability check
| * 0fb48a2a6a iavf: remove mask from iavf_irq_enable_queues()
| * 079a9591ee RDMA/rxe: Fix the use-before-initialization error of resp_pkts
| * 089a0e831f RDMA/rxe: Removed unused name from rxe_task struct
| * 6205c0d9ff RDMA/rxe: Remove the unused variable obj
| * af6eaa5798 net/sched: cls_u32: Fix reference counter leak leading to overflow
| * 5852d17aaa ping6: Fix send to link-local addresses with VRF.
| * 9e666a77f0 net: enetc: correct the indexes of highest and 2nd highest TCs
| * 1200af82cf netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
| * af42c4fd82 spi: fsl-dspi: avoid SCK glitches with continuous transfers
| * cb6ec51ddd RDMA/rtrs: Fix the last iu->buf leak in err path
| * 26293251ab usb: dwc3: gadget: Reset num TRBs before giving back the request
| * f4bc416942 serial: lantiq: add missing interrupt ack
| * 0b6e65016c USB: serial: option: add Quectel EM061KGL series
| * 1c004b379b Remove DECnet support from kernel
| * e9d384983f ALSA: hda/realtek: Add a quirk for Compaq N14JP6
| * 1148d4ca30 net: usb: qmi_wwan: add support for Compal RXM-G1
| * d7acfd5225 RDMA/uverbs: Restrict usage of privileged QKEYs
| * 96e14c91c5 nouveau: fix client work fence deletion race
| * f1f7117b22 powerpc/purgatory: remove PGO flags
| * 26c80741ce x86/purgatory: remove PGO flags
| * f368aed482 kexec: support purgatories with .text.hot sections
| * 7e78b9142f nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
| * 902fcec052 nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
| * d59293f082 nios2: dts: Fix tse_mac "max-frame-size" property
| * 2847d9eed4 ocfs2: check new file size on fallocate call
| * e73b135f54 ocfs2: fix use-after-free when unmounting read-only filesystem
| * 370f5d98ff epoll: ep_autoremove_wake_function should use list_del_init_careful
| * 4716c73b18 io_uring: hold uring mutex around poll removal
| * 93a68acc49 irqchip/gic: Correctly validate OF quirk descriptors
| * 2a2641a842 drm:amd:amdgpu: Fix missing buffer object unlock in failure path
| * 7c0b17679b xen/blkfront: Only check REQ_FUA for writes
| * 8e45fb70f4 ASoC: dwc: move DMA init to snd_soc_dai_driver probe()
| * d47b5a6d23 mips: Move initrd_start check after initrd address sanitisation.
| * 619672bf2d MIPS: Alchemy: fix dbdma2
| * 0ca73b45b7 parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory()
| * 3f7625e086 parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
| * 73102fdb5b ASoC: soc-pcm: test if a BE can be prepared
| * 3bc883132d btrfs: handle memory allocation failure in btrfs_csum_one_bio
| * 142fbad314 btrfs: scrub: try harder to mark RAID56 block groups read-only
| * 35d32d8415 power: supply: Fix logic checking if system is running from battery
| * 8b7a2207ee irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues
| * dbf6109972 regulator: Fix error checking for debugfs_create_dir
| * 37bcc48e7d platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0
| * 88d1c1365f power: supply: Ratelimit no data debug output
| * 6be7a4bef9 tools: gpio: fix debounce_period_us output of lsgpio
| * 39eb9eb9ea ARM: dts: vexpress: add missing cache properties
| * b2856c3cd3 power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
| * ce2b5f24ca power: supply: sc27xx: Fix external_power_changed race
| * 9e9e150fa8 power: supply: ab8500: Fix external_power_changed race
| * 539c387f0b test_firmware: fix a memory leak with reqs buffer
| * af36f35074 test_firmware: prevent race conditions by a correct implementation of locking
| * 682ca60251 test_firmware: Use kstrtobool() instead of strtobool()
| * 6e2e551e39 kernel.h: split out kstrtox() and simple_strtox() to a separate header
| * c2def5578b lib: cleanup kstrto*() usage
* | 2f2122a869 Revert "neighbour: fix unaligned access to pneigh_entry"
* | b7321283a9 Merge 5.10.184 into android12-5.10-lts
|\|
| * a1f0beb13d Linux 5.10.184
| * 7f896130ef Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE"
| * b60e862e13 btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
| * 6f371623f3 btrfs: check return value of btrfs_commit_transaction in relocation
| * ea0d413094 drm/atomic: Don't pollute crtc_state->mode_blob with error pointers
| * 1659268d1a MIPS: locking/atomic: Fix atomic{_64,}_sub_if_positive
| * 0e98a97f77 xfs: verify buffer contents when we skip log replay
| * 58e8cf94de tcp: fix tcp_min_tso_segs sysctl
| * 1b4b335096 ext4: only check dquot_initialize_needed() when debugging
| * fd6cb51719 Revert "ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled"
| * cfa91c0573 vhost: support PACKED when setting-getting vring_base
| * 461c88caa8 riscv: fix kprobe __user string arg print fault issue
| * c6b9050874 eeprom: at24: also select REGMAP
| * 10e376a7c3 i2c: sprd: Delete i2c adapter in .remove's error path
| * c4aeef5602 ASoC: codecs: wsa881x: do not set can_multi_write flag
| * b6f309e9d2 staging: vc04_services: fix gcc-13 build warning
| * 0d3c75a693 usb: usbfs: Use consistent mmap functions
| * 143f405721 usb: usbfs: Enforce page requirements for mmap
| * bcd474d183 pinctrl: meson-axg: add missing GPIOA_18 gpio group
| * 1981d37b1d rbd: get snapshot context after exclusive lock is ensured to be held
| * 76ae4a7bc9 rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting
| * 841d3b5a84 tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta'
| * a94024991d Bluetooth: hci_qca: fix debugfs registration
| * 2270e32bd1 Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk
| * 76b40319a1 s390/dasd: Use correct lock while counting channel queue length
| * e715c86e92 ceph: fix use-after-free bug for inodes when flushing capsnaps
| * 6714873158 can: j1939: avoid possible use-after-free when j1939_can_rx_register fails
| * cc834f4d97 can: j1939: change j1939_netdev_lock type to mutex
| * 0268005076 can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in J1939 Socket
| * 0038055135 drm/amdgpu: fix xclk freq on CHIP_STONEY
| * ef95f987be ALSA: hda/realtek: Add Lenovo P3 Tower platform
| * 95520b3fba ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01
| * ca26d00828 Input: psmouse - fix OOB access in Elantech protocol
| * 86efc409f2 Input: xpad - delete a Razer DeathAdder mouse VID/PID entry
| * 9ece26ff08 batman-adv: Broken sync while rescheduling delayed work
| * 3f6dfff5fe bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks
| * deead0d872 bnxt_en: Query default VLAN before VNIC setup on a VF
| * 84dbd27ad5 bnxt_en: Don't issue AP reset during ethtool's reset operation
| * dedd47977a lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
| * 27b8d6931f bpf: Add extra path pointer check to d_path helper
| * 36d07046c2 net: sched: fix possible refcount leak in tc_chain_tmplt_add()
| * 54acac57fe net: sched: move rtm_tca_policy declaration to include file
| * dad7417db7 rfs: annotate lockless accesses to RFS sock flow table
| * c62ca9d037 rfs: annotate lockless accesses to sk->sk_rxhash
| * 86e3981ff1 ipv6: rpl: Fix Route of Death.
| * b4be099c5f netfilter: ipset: Add schedule point in call_ad().
| * 35c89cfcac netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper
| * c4ba90ae35 qed/qede: Fix scheduling while atomic
| * 0fee54fa33 Bluetooth: L2CAP: Add missing checks for invalid DCID
| * 0066598012 Bluetooth: Fix l2cap_disconnect_req deadlock
| * 83cfac5851 net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values
| * 8ab2bec9e1 net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT
| * 47ef881f1c net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods
| * 9fcc3c3d26 neighbour: fix unaligned access to pneigh_entry
| * 99883d4a0b wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll
| * 2d3e4c5b3e afs: Fix setting of mtime when creating a file/dir/symlink
| * 1ed651e234 spi: qup: Request DMA before enabling clocks
| * e7c61c39d6 staging: vchiq_core: drop vchiq_status from vchiq_initialise
| * fa30327060 i40e: fix build warning in ice_fltr_add_mac_to_list()
| * 15ca8d584c i40e: fix build warnings in i40e_alloc.h
| * f7e208d1c5 i40iw: fix build warning in i40iw_manage_apbvt()
| * 318e2c18da block/blk-iocost (gcc13): keep large values in a new enum
| * b6d652f7fb blk-iocost: avoid 64-bit division in ioc_timer_fn
| * 9214a5484e f2fs: fix iostat lock protection
| * d3b74c288d bonding (gcc13): synchronize bond_{a,t}lb_xmit() types
| * f122e55174 remove the sx8 block driver
| * 9236470a1d sfc (gcc13): synchronize ef100_enqueue_skb()'s return type
| * 02ce3cf222 gcc-plugins: Reorganize gimple includes for GCC 13
| * 4c3ddc06ce ata: ahci: fix enum constants for gcc-13
* | 0c0856714e Revert "tcp: deny tcp_disconnect() when threads are waiting"
* | 848ca335c1 Merge 5.10.183 into android12-5.10-lts
|\|
| * 7356714b95 Linux 5.10.183
| * 842156dc0a ARM: defconfig: drop CONFIG_DRM_RCAR_LVDS
| * 2c0ea7a06d ext4: enable the lazy init thread when remounting read/write
| * 92450a1eaa selftests: mptcp: join: skip if MPTCP is not supported
| * 1a6db1f927 selftests: mptcp: simult flows: skip if MPTCP is not supported
| * 4f8356ab74 selftests: mptcp: diag: skip if MPTCP is not supported
| * 81df7153f0 crypto: ccp: Play nice with vmalloc'd memory for SEV command structs
| * 1f988ce6e4 crypto: ccp: Reject SEV commands with mismatching command buffer
| * d21a20f442 scsi: dpt_i2o: Do not process completions with invalid addresses
| * a2cd7599b5 scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
| * 6d6612f7f9 drm/rcar: stop using 'imply' for dependencies
| * c759c9e4bf media: ti-vpe: cal: avoid FIELD_GET assertion
| * d21e955de9 tpm, tpm_tis: Request threaded interrupt handler
| * 608c1f2083 regmap: Account for register length when chunking
| * cb1cbe430e KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()
| * 3295dc04af KVM: x86: Account fastpath-only VM-Exits in vCPU stats
| * 21bb3cd2e1 test_firmware: fix the memory leak of the allocated firmware buffer
| * 510e015b90 serial: 8250_tegra: Fix an error handling path in tegra_uart_probe()
| * b02ae50c7f fbcon: Fix null-ptr-deref in soft_cursor
| * c94228a5ae ext4: add lockdep annotations for i_data_sem for ea_inode's
| * ef70012ab5 ext4: disallow ea_inodes with extended attributes
| * 6f4fa43757 ext4: set lockdep subclass for the ea_inode in ext4_xattr_inode_cache_find()
| * 6d67d4966c ext4: add EA_INODE checking to ext4_iget()
| * 6d0adaa90d selftests: mptcp: pm nl: skip if MPTCP is not supported
| * 54dea0aa6b selftests: mptcp: connect: skip if MPTCP is not supported
| * 57eb824b8c tracing/probe: trace_probe_primary_from_call(): checked list_first_entry
| * 122ba1d40b selinux: don't use make's grouped targets feature yet
| * e0b8664c2f btrfs: fix csum_tree_block page iteration to avoid tripping on -Werror=array-bounds
| * 6c859764f4 tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
| * 6127e956c3 mmc: vub300: fix invalid response handling
| * 99cb5ed15d eth: sun: cassini: remove dead code
| * 1d8693376a gcc-12: disable '-Wdangling-pointer' warning for now
| * 7c602f540b ath6kl: Use struct_group() to avoid size-mismatched casting
| * c92ea38a77 ACPI: thermal: drop an always true check
| * 93e28b66c1 x86/boot: Wrap literal addresses in absolute_pointer()
| * 3442be8f30 ata: libata-scsi: Use correct device no in ata_find_dev()
| * ae0d7613e0 scsi: stex: Fix gcc 13 warnings
| * 86b2d292c2 misc: fastrpc: reject new invocations during device removal
| * dacb7c103c misc: fastrpc: return -EPIPE to invocations on device removal
| * a4f88cb043 usb: gadget: f_fs: Add unbind event before functionfs_unbind
| * 90f581eb74 net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
| * e18b0009dd iio: dac: build ad5758 driver when AD5758 is selected
| * a869ab6987 iio: adc: ad7192: Change "shorted" channels to differential
| * 143dbb313a iio: dac: mcp4725: Fix i2c_master_send() return value handling
| * 81c70f4bea iio: light: vcnl4035: fixed chip ID check
| * ff864a92d9 iio: imu: inv_icm42600: fix timestamp reset
| * 954bd5a44b HID: wacom: avoid integer overflow in wacom_intuos_inout()
| * adac1c22f5 HID: google: add jewel USB id
| * 55c507a34e iio: adc: mxs-lradc: fix the order of two cleanup operations
| * 5a445c2bf6 mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
| * c05ac53bb0 atm: hide unused procfs functions
| * ab33230458 drm/msm: Be more shouty if per-process pgtables aren't working
| * 93a61212db ALSA: oss: avoid missing-prototype warnings
| * 4987bf0446 netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
| * 1c2537291e wifi: b43: fix incorrect __packed annotation
| * ea478186ea scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
| * 05226a8f22 arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
| * 32f86763c2 ARM: dts: stm32: add pin map for CAN controller on stm32f7
| * 01c76cb5e5 wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
| * 0467212806 s390/pkey: zeroize key blobs
| * 76169f7490 media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
| * ca2d171fd1 media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
| * 2ea7d26ed8 media: dvb-core: Fix use-after-free due on race condition at dvb_net
| * 415651c8f4 media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
| * eb37fef417 media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
| * 1995e71472 media: dvb_ca_en50221: fix a size write bug
| * b85233ab53 media: netup_unidvb: fix irq init by register it at the end of probe
| * 74c80d2024 media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
| * fcbb72b041 media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
| * 7945c13c9b media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
| * 2d47867a6b media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
| * 647da51e4d media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
| * 084e43d9a4 media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
| * a81280cf33 media: dvb_demux: fix a bug for the continuity counter
| * 204e9082f6 ASoC: ssm2602: Add workaround for playback distortions
| * beee708ccc ASoC: dt-bindings: Adjust #sound-dai-cells on TI's single-DAI codecs
| * bd99da6472 xfrm: Check if_id in inbound policy/secpath match
| * 5ee83fef0c ASoC: dwc: limit the number of overrun messages
| * 32f6f1bf1b block/rnbd: replace REQ_OP_FLUSH with REQ_OP_WRITE
| * 01c3d30649 nbd: Fix debugfs_create_dir error checking
| * 29f6b42a73 fbdev: stifb: Fix info entry in sti_struct on error path
| * 742dab42d7 fbdev: modedb: Add 1920x1080 at 60 Hz video mode
| * d03d31d3a2 gfs2: Don't deref jdesc in evict
| * fe4f6e159b media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
| * 16ee4562c7 ARM: 9295/1: unwind:fix unwind abort for uleb128 case
| * a3393eb6fb btrfs: abort transaction when sibling keys check fails for leaves
| * c12c288f1e mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
| * 0dcf021af4 ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs.
| * d5fcccfc50 watchdog: menz069_wdt: fix watchdog initialisation
| * 9823ac6e7a mtd: rawnand: marvell: don't set the NAND frequency select
| * e4666d793a mtd: rawnand: marvell: ensure timing values are written
| * a437d3d25a net: dsa: mv88e6xxx: Increase wait after reset deactivation
| * 7c5c67aa29 net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
| * f5c29a9e91 net/mlx5: Read embedded cpu after init bit cleared
| * f03bc01360 udp6: Fix race condition in udp6_sendmsg & connect
| * 57e6c54034 net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
| * ae7e941f4d net: sched: fix NULL pointer dereference in mq_attach
| * a8ad1303b9 net/sched: Prohibit regrafting ingress or clsact Qdiscs
| * 676f203803 net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
| * 18c76349af net/sched: sch_clsact: Only create under TC_H_CLSACT
| * 1b0163b2dc net/sched: sch_ingress: Only create under TC_H_INGRESS
| * dfb80ebc3b tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
| * cccc620970 tcp: deny tcp_disconnect() when threads are waiting
| * 8f0365a3e2 af_packet: do not use READ_ONCE() in packet_bind()
| * 4de3c2c43c mtd: rawnand: ingenic: fix empty stub helper definitions
| * 11a1f2561b amd-xgbe: fix the false linkup in xgbe_phy_status
| * fa909b1384 af_packet: Fix data-races of pkt_sk(sk)->num.
| * 616da05ff8 netrom: fix info-leak in nr_write_internal()
| * d1b224cb78 net/mlx5: fw_tracer, Fix event handling
| * a864a8543c dmaengine: pl330: rename _start to prevent build error
| * 33d7035dc2 iommu/amd: Don't block updates to GATag if guest mode is on
| * bd9e61ee3e iommu/rockchip: Fix unwind goto issue
| * 75c60dacf0 RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx
| * 861868b063 RDMA/bnxt_re: Fix a possible memory leak
| * ff296fcceb dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved()
| * 6b32ed353f dmaengine: at_xdmac: Move the free desc to the tail of the desc list
| * 3041b768cc dmaengine: at_xdmac: Fix race for the tx desc callback
| * 127afc87bb dmaengine: at_xdmac: Fix concurrency over chan's completed_cookie
| * 958226b3a6 RDMA/efa: Fix unsupported page sizes in device
| * 7d6662e4a4 RDMA/bnxt_re: Fix the page_size used during the MR creation
| * b51c896285 RDMA/bnxt_re: Code refactor while populating user MRs
* | 04a55bbb7f Revert "regulator: Add regmap helper for ramp-delay setting"
* | 5e8d66e06a Revert "regulator: pca9450: Convert to use regulator_set_ramp_delay_regmap"
* | 4d5a15daae Revert "regulator: pca9450: Fix BUCK2 enable_mask"
* | 06f0c366cb Merge 5.10.182 into android12-5.10-lts
|\|
| * c7992b6c7f Linux 5.10.182
| * 468bebc426 netfilter: ctnetlink: Support offloaded conntrack entry deletion
| * 18c14d3028 ipv{4,6}/raw: fix output xfrm lookup wrt protocol
| * 2218752325 binder: fix UAF caused by faulty buffer cleanup
| * e4d2e6c305 bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
| * 6a0712d9fe net: phy: mscc: enable VSC8501/2 RGMII RX clock
| * b556990235 net/mlx5: Devcom, serialize devcom registration
| * 57dc3c124e net/mlx5: devcom only supports 2 ports
| * 860ad704e4 regulator: pca9450: Fix BUCK2 enable_mask
| * b3a9c4081d regulator: pca9450: Convert to use regulator_set_ramp_delay_regmap
| * 12cb97ed85 regulator: Add regmap helper for ramp-delay setting
| * b557220d31 power: supply: bq24190: Call power_supply_changed() after updating input current
| * 224f7bbf57 power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
| * 277b489ad0 power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
| * 0949c572d4 power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes
| * 6ed541254f power: supply: bq27xxx: Move bq27xxx_battery_update() down
| * ed78797a26 power: supply: bq27xxx: expose battery data when CI=1
| * 7ff807d68b power: supply: bq27xxx: Add cache parameter to bq27xxx_battery_current_and_status()
| * 432f98c559 power: supply: bq27xxx: make status more robust
| * 659094e405 power: supply: bq27xxx: fix sign of current_now for newer ICs
| * 14e1a958d9 power: supply: bq27xxx: fix polarity of current_now
| * 18c9cf4633 x86/cpu: Drop spurious underscore from RAPTOR_LAKE #define
| * 4a8980cb2a x86/cpu: Add Raptor Lake to Intel family
* | f8e9848656 Revert "tipc: add tipc_bearer_min_mtu to calculate min mtu"
* | 7ae5626406 Revert "tipc: do not update mtu if msg_max is too small in mtu negotiation"
* | 4a7c41b710 Revert "tipc: check the bearer min mtu properly when setting it by netlink"
* | f015c92c49 Revert "ipv4/tcp: do not use per netns ctl sockets"
* | 8231b54cd2 ANDROID: GKI: preserve CRC generation for some bluetooth symbols
* | a4be51e26a Revert "net: Find dst with sk's xfrm policy not ctl_sk"
* | c86beaeed1 Revert "tcp: fix possible sk_priority leak in tcp_v4_send_reset()"
* | 7c491aaf07 Revert "firmware: arm_sdei: Fix sleep from invalid context BUG"
* | 6d62ca19a7 Merge 5.10.181 into android12-5.10-lts
|\|
| * 272d4b8a5b Linux 5.10.181
| * cf7ee4b158 net: phy: mscc: add VSC8502 to MODULE_DEVICE_TABLE
| * 98cedb9910 3c589_cs: Fix an error handling path in tc589_probe()
| * 6f449e409b arm64: dts: imx8mn-var-som: fix PHY detection bug by adding deassert delay
| * d4d10a6df1 net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device
| * 8b9c561b9f net/mlx5: Fix error message when failing to allocate device memory
| * c21862232f net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs
| * 058fd18e74 net/mlx5e: do as little as possible in napi poll when budget is 0
| * 5afd5fb8a9 forcedeth: Fix an error handling path in nv_probe()
| * 80a4b9ad42 ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
| * c966b58c85 x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
| * 0de80163de xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
| * b663696c06 coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
| * a52d2019ec fs: fix undefined behavior in bit shift for SB_NOUSER
| * 52967bbb93 power: supply: sbs-charger: Fix INHIBITED bit for Status reg
| * e85757da90 power: supply: bq27xxx: Fix poll_interval handling and races on remove
| * 1da9a4b55a power: supply: bq27xxx: Fix I2C IRQ race on remove
| * ac1ab21394 power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
| * 2de6eb7c40 power: supply: leds: Fix blink to LED on transition
| * e5f82688ae ipv6: Fix out-of-bounds access in ipv6_find_tlv()
| * a61d5c13c7 bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
| * 72971f4071 octeontx2-pf: Fix TSOv6 offload
| * 1c8a016822 selftests: fib_tests: mute cleanup error message
| * a594382ec6 net: fix skb leak in __skb_tstamp_tx()
| * 8a30dce9d7 media: radio-shark: Add endpoint checks
| * ccef03c511 USB: sisusbvga: Add endpoint checks
| * 4c260bbf35 USB: core: Add routines for endpoint checks in old drivers
| * 5014b64e36 udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
| * 4bb955c4d2 net: fix stack overflow when LRO is disabled for virtual interfaces
| * 58ecc165ab fbdev: udlfb: Fix endpoint check
| * fd67307974 debugobjects: Don't wake up kswapd from fill_pool()
| * a12ce786be x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms
| * 518c39fc1e parisc: Fix flush_dcache_page() for usage from irq context
| * 2d78438c31 selftests/memfd: Fix unknown type name build failure
| * d4a5e6ae99 x86/mm: Avoid incomplete Global INVLPG flushes
| * 628d7e4941 dt-binding: cdns,usb3: Fix cdns,on-chip-buff-size type
| * 139f84c80d btrfs: use nofs when cleaning up aborted transactions
| * ea50ee0ef9 gpio: mockup: Fix mode of debugfs files
| * c570dbf279 parisc: Allow to reboot machine after system halt
| * de0d7dd5ef parisc: Handle kgdb breakpoints only in kernel context
| * 89eba5586a m68k: Move signal frame following exception on 68020/030
| * 42b78c8cc7 net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
| * 798c1c62cf ALSA: hda/realtek: Enable headset onLenovo M70/M90
| * 1f57a1b979 ALSA: hda: Fix unhandled register update during auto-suspend period
| * b0d7e62fd1 ALSA: hda/ca0132: add quirk for EVGA X299 DARK
| * c41324385a ocfs2: Switch to security_inode_init_security()
| * 60afe299bb spi: fsl-cpm: Use 16 bit mode for large transfers with even size
| * e3674788a8 spi: fsl-spi: Re-organise transfer bits_per_word adaptation
| * 5324510378 act_mirred: use the backlog for nested calls to mirred ingress
| * f5bf8e3ca1 net/sched: act_mirred: better wording on protection against excessive stack growth
| * bba7ebe10b net/sched: act_mirred: refactor the handle of xmit
| * 047f618d19 writeback, cgroup: remove extra percpu_ref_exit()
| * 84fbe6ad0f ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15
| * dbcc95bb51 watchdog: sp5100_tco: Immediately trigger upon starting.
| * 75258f0838 s390/qdio: fix do_sqbs() inline assembly constraint
| * 3681a0287a s390/qdio: get rid of register asm
| * 9c9f253fc6 serial: 8250_exar: Add support for USR298x PCI Modems
| * 1ffa0b8ba9 serial: exar: Add support for Sealevel 7xxxC serial cards
| * fb3c5714f5 serial: 8250_exar: derive nr_ports from PCI ID for Acces I/O cards
| * 18fbf8cfbb KVM: arm64: Link position-independent string routines into .hyp.text
| * e266da1656 HID: wacom: add three styli to wacom_intuos_get_tool_type
| * dfd419db03 HID: wacom: Add new Intuos Pro Small (PTH-460) device IDs
| * 05b1703797 HID: wacom: Force pen out of prox if no events have been received in a while
| * 6b4205ea97 nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
| * 710dee5701 powerpc/64s/radix: Fix soft dirty tracking
| * ae149cdaef tpm/tpm_tis: Disable interrupts for more Lenovo devices
| * 8c0109d762 ceph: force updating the msg pointer in non-split case
| * 11dddfbb7a vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF
| * ea3d5de90b serial: Add support for Advantech PCI-1611U card
| * ba061afa06 statfs: enforce statfs[64] structure initialization
| * 845f98af6a can: kvaser_pciefd: Disable interrupts in probe error path
| * 7a7ec807fe can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt
| * 65e85232ff can: kvaser_pciefd: Clear listen-only bit if not explicitly requested
| * 0babb3fabf can: kvaser_pciefd: Empty SRB buffer in probe
| * 03714e9c04 can: kvaser_pciefd: Call request_irq() before enabling interrupts
| * 3bbeba3ce1 can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop()
| * 073a4d750c can: isotp: recvmsg(): allow MSG_CMSG_COMPAT flag
| * b4b8294a41 can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag
| * f7f799a6fe ALSA: hda/realtek: Add quirk for 2nd ASUS GU603
| * b4f770e612 ALSA: hda/realtek: Add a quirk for HP EliteDesk 805
| * 6cebdffba6 ALSA: hda/realtek: Add quirk for Clevo L140AU
| * 3add6b2a4a ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table
| * 546b1f5f45 ALSA: hda: Fix Oops by 9.1 surround channel names
| * ff466f77d0 usb: typec: altmodes/displayport: fix pin_assignment_show
| * 35e31e1e92 usb: gadget: u_ether: Fix host MAC address case
| * e35adb75fd usb: dwc3: debugfs: Resume dwc3 before accessing registers
| * 66070f5b99 USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value
| * 0caed1faf5 usb-storage: fix deadlock when a scsi command timeouts more than once
| * 6340e432cf USB: usbtmc: Fix direction for 0-length ioctl control messages
| * 3b3c6f2d2f ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go
| * 3bd6d11e7e bridge: always declare tunnel functions
| * 3fa13203b6 netfilter: nft_set_rbtree: fix null deref on element insertion
| * 6cfe6f5185 vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit()
| * 562ec162b0 igb: fix bit_shift to be in [1..8] range
| * dc61f7582c cassini: Fix a memory leak in the error handling path of cas_init_one()
| * 81139679f4 scsi: storvsc: Don't pass unused PFNs to Hyper-V host
| * d0d39bed9e wifi: iwlwifi: mvm: don't trust firmware n_channels
| * f9337a4177 wifi: mac80211: fix min center freq offset tracing
| * 43f6575004 net: bcmgenet: Restore phy_stop() depending upon suspend/close
| * e92727ed9e net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
| * 2937127d24 tipc: check the bearer min mtu properly when setting it by netlink
| * 2bd4ff4ffb tipc: do not update mtu if msg_max is too small in mtu negotiation
| * 097ea78d8c tipc: add tipc_bearer_min_mtu to calculate min mtu
| * 76ea144a35 net/tipc: fix tipc header files for kernel-doc
| * 02b20e0bc0 net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()
| * 01cdda0d27 drm/exynos: fix g2d_open/close helper function definitions
| * ce97bb60a6 SUNRPC: Fix trace_svc_register() call site
| * f9982db735 media: netup_unidvb: fix use-after-free at del_timer()
| * 0cefa42152 net: hns3: fix reset delay time to avoid configuration timeout
| * aba74ad998 net: hns3: fix sending pfc frames after reset issue
| * e1f800be74 erspan: get the proto with the md version for collect_md
| * 153017561d serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
| * e7fd68abbb tcp: fix possible sk_priority leak in tcp_v4_send_reset()
| * 788791990d net: Find dst with sk's xfrm policy not ctl_sk
| * a9ef8b2589 ipv4/tcp: do not use per netns ctl sockets
| * 1716699177 vsock: avoid to close connected socket after the timeout
| * b1cf6bd883 ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15
| * 13c5fa1248 ALSA: firewire-digi00x: prevent potential use after free
| * 6fb537895d net: phy: dp83867: add w/a for packet errors seen with short cables
| * 83996d317b net: fec: Better handle pm_runtime_get() failing in .remove()
| * 8f57715f8e af_key: Reject optional tunnel/BEET mode templates in outbound policies
| * f5cb28a90c cpupower: Make TSC read per CPU for Mperf monitor
| * dc30fed07d drm/msm/dpu: Remove duplicate register defines from INTF
| * eaf9394ed7 drm/msm/dp: unregister audio driver during unbind
| * c5449195f8 Revert "Fix XFRM-I support for nested ESP tunnels"
| * 295e07a76b xfrm: don't check the default policy if the policy allows the packet
| * 84fdaaf0d7 btrfs: fix space cache inconsistency after error loading it from disk
| * a842fb6038 btrfs: replace calls to btrfs_find_free_ino with btrfs_find_free_objectid
| * 9c69a9d058 btrfs: move btrfs_find_highest_objectid/btrfs_find_free_objectid to disk-io.c
| * 6a1a72a8cf mfd: dln2: Fix memory leak in dln2_probe()
| * 7d939e367b phy: st: miphy28lp: use _poll_timeout functions for waits
| * 3b37bb0d92 Input: xpad - add constants for GIP interface numbers
| * 94ec1a44e8 iommu/arm-smmu-v3: Acknowledge pri/event queue overflow if any
| * cae5f8f4f7 clk: tegra20: fix gcc-7 constant overflow warning
| * 8c472e68be iommu/arm-smmu-qcom: Limit the SMR groups to 128
| * 214ae2c1a9 RDMA/core: Fix multiple -Warray-bounds warnings
| * 2d9ca5f62f recordmcount: Fix memory leaks in the uwrite function
| * cf3e291601 sched: Fix KCSAN noinstr violation
| * 158502f790 mcb-pci: Reallocate memory region to avoid memory overlapping
| * 2c86a1305c serial: 8250: Reinit port->pm on port specific driver unbind
| * 7ed30db879 usb: typec: tcpm: fix multiple times discover svids error
| * 60fabcba75 HID: wacom: generic: Set battery quirk only when we see battery data
| * d234de1a92 spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3
| * 0898a1df72 HID: logitech-hidpp: Reconcile USB and Unifying serials
| * 958534d436 HID: logitech-hidpp: Don't use the USB serial for USB devices
| * bb1313f37e staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE
| * 55410a9144 Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
| * a2d816f55d Bluetooth: hci_bcm: Fall back to getting bdaddr from EFI if not set
| * ba66851aba ipvs: Update width of source for ip_vs_sync_conn_options
| * 866921dc06 wifi: ath11k: Fix SKB corruption in REO destination ring
| * 91ad1ab3cc wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
| * e732a266b9 null_blk: Always check queue mode setting from configfs
| * 059e426d66 wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf
| * 0fc0d287c1 wifi: iwlwifi: pcie: fix possible NULL pointer dereference
| * 7560ed6592 samples/bpf: Fix fout leak in hbm's run_bpf_prog
| * ad87bd313f f2fs: fix to drop all dirty pages during umount() if cp_error is set
| * fc7237e191 ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()
| * 3ca3005b50 ext4: set goal start correctly in ext4_mb_normalize_request
| * 4c2c8f9599 gfs2: Fix inode height consistency check
| * 697f92f831 scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition
| * f748e15253 lib: cpu_rmap: Avoid use after free on rmap->obj array entries
| * 4621e24c92 scsi: target: iscsit: Free cmds before session free
| * 2ea171230a net: Catch invalid index in XPS mapping
| * 8b61e7ad13 net: pasemi: Fix return type of pasemi_mac_start_tx()
| * e0e7faee3a scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow
| * 22ab5fed07 ext2: Check block size validity during mount
| * 4e8dc0e5c7 wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex
| * e8d49d1c59 bpf: Annotate data races in bpf_local_storage
| * 30d041c18d wifi: ath: Silence memcpy run-time false positive warning
| * b8e7589f50 drm/amd: Fix an out of bounds error in BIOS parser
| * 978e0d0554 ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects
| * 16359bc02c ACPICA: Avoid undefined behavior: applying zero offset to null pointer
| * 3f64a0e664 drm/tegra: Avoid potential 32-bit integer overflow
| * f718f1fd3e remoteproc: stm32_rproc: Add mutex protection for workqueue
| * 066b90bca7 ACPI: EC: Fix oops when removing custom query handlers
| * 7d8f5ccc82 firmware: arm_sdei: Fix sleep from invalid context BUG
| * 5c23f6da62 memstick: r592: Fix UAF bug in r592_remove due to race condition
| * ae6769fb93 arm64: dts: qcom: msm8996: Add missing DWC3 quirks
| * bb1616e105 regmap: cache: Return error in cache sync operations for REGCACHE_NONE
| * d5138ad7ca drm/amd/display: Use DC_LOG_DC in the trasform pixel function
| * c8daee6658 fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
| * a7d21b8585 rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access
| * e4842de4ec refscale: Move shutdown from wait_event() to wait_event_idle()
| * 100c0ad6c0 ext4: allow ext4_get_group_info() to fail
| * 371d8b8ea0 ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set
| * 8669fff0d0 ext4: add mballoc stats proc file
| * 9b6a0c140e ext4: drop s_mb_bal_lock and convert protected fields to atomic
| * 0983142c5f ext4: remove redundant mb_regenerate_buddy()
| * d48b7eea94 ext4: fix lockdep warning when enabling MMP
| * 5c87115520 ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled
| * 8284c7592d ext4: reflect error codes from ext4_multi_mount_protect() to its callers
| * efd18a91c9 ext4: remove an unused variable warning with CONFIG_QUOTA=n
| * df1be652a4 fbdev: arcfb: Fix error handling in arcfb_probe()
| * bd6b353671 drm/i915/dp: prevent potential div-by-zero
| * 8307e372e7 af_unix: Fix data races around sk->sk_shutdown.
| * 9b977b0cbb af_unix: Fix a data race of sk->sk_receive_queue->qlen.
| * fb6ac4b5bd net: datagram: fix data-races in datagram_poll()
| * f4a371d3f5 ipvlan:Fix out-of-bounds caused by unclear skb->cb
| * 963fe9ed86 tcp: add annotations around sk->sk_shutdown accesses
| * f86568eca4 tcp: factor out __tcp_close() helper
| * 34a5ee69ec net: add vlan_get_protocol_and_depth() helper
| * 9ccf3edbaf net: tap: check vlan with eth_type_vlan() method
| * 4493914009 net: deal with most data-races in sk_wait_event()
| * 1b33bdd766 net: annotate sk->sk_err write from do_recvmmsg()
| * f92557f79a netlink: annotate accesses to nlk->cb_running
| * 26001e75dc netfilter: conntrack: fix possible bug_on with enable_hooks=1
| * d06f67b2b8 net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs().
| * 8eb35b1aca linux/dim: Do nothing if no time delta between samples
| * 4d3ae448e8 net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe()
| * b882224d73 ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings
| * 139c27648f drm/mipi-dsi: Set the fwnode for mipi_dsi_device
| * 423908e89d driver core: add a helper to setup both the of_node and fwnode of a device
* | 6229d57677 Revert "arm64: Stash shadow stack pointer in the task struct on interrupt"
* | d70c95bd81 Merge 5.10.180 into android12-5.10-lts
|\|
| * 4c893ff559 Linux 5.10.180
| * 3ebe5d6d69 drm/amd/display: Fix hang when skipping modeset
| * a992c387b4 mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock
| * f2656f437f drm/exynos: move to use request_irq by IRQF_NO_AUTOEN flag
| * 32232bcd4e printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h
| * fcfe05990a KVM: x86: move guest_pv_has out of user_access section
| * 85cfbaa575 KVM: x86: do not report preemption if the steal time cache is stale
| * 4bffae22be KVM: x86: revalidate steal time cache if MSR value changes
| * e10a73f538 KVM: x86: do not set st->preempted when going back to user space
| * 0296620043 KVM: x86: Remove obsolete disabling of page faults in kvm_arch_vcpu_put()
| * 8e39c2f407 KVM: Fix steal time asm constraints
| * ebd3010d42 KVM: x86: Fix recording of guest steal time / preempted status
| * 4b19cbdb1d KVM: x86: Ensure PV TLB flush tracepoint reflects KVM behavior
| * 01c0002ec7 drbd: correctly submit flush bio on barrier
| * ef77d602e3 serial: 8250: Fix serial8250_tx_empty() race with DMA Tx
| * 1a8822343e ext4: fix invalid free tracking in ext4_xattr_move_to_block()
| * b0fc279de4 ext4: remove a BUG_ON in ext4_mb_release_group_pa()
| * d88fe8e611 ext4: bail out of ext4_xattr_ibody_get() fails for any reason
| * 4597554b4f ext4: add bounds checking in get_max_inline_xattr_value_size()
| * 5f8b55136a ext4: fix deadlock when converting an inline directory in nojournal mode
| * 37c69da3ad ext4: improve error recovery code paths in __ext4_remount()
| * 08838aeefa ext4: check iomap type only if ext4_iomap_begin() does not fail
| * 4aa7f744fa ext4: fix data races when using cached status extents
| * 0dde3141c5 ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
| * 5d356d902e ext4: fix WARNING in mb_find_extent
| * 529f41f0eb KVM: x86: do not report a vCPU as preempted outside instruction boundaries
| * 0cb6e9e7d3 KVM: x86: hyper-v: Avoid calling kvm_make_vcpus_request_mask() with vcpu_mask==NULL
| * 4502ebbdc0 HID: wacom: insert timestamp to packed Bluetooth (BT) events
| * 77fd800d3f HID: wacom: Set a default resolution for older tablets
| * c1420276be drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend
| * 20ca90ceda drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras
| * eed63477ae drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini()
| * c85327c1e9 drm/panel: otm8009a: Set backlight parent to panel device
| * 957904f531 f2fs: fix potential corruption when moving a directory
| * 4a638a9582 ARM: dts: s5pv210: correct MIPI CSIS clock name
| * fed6318e47 ARM: dts: exynos: fix WM8960 clock name in Itop Elite
| * 777952ce11 remoteproc: st: Call of_node_put() on iteration error
| * 30e0834bec remoteproc: stm32: Call of_node_put() on iteration error
| * 62fe5d74ef sh: nmi_debug: fix return value of __setup handler
| * 9245f34029 sh: init: use OF_EARLY_FLATTREE for early init
| * f19bc0d2a6 sh: mcount.S: fix build error when PRINTK is not enabled
| * bbad64abd6 sh: math-emu: fix macro redefined warning
| * 2d65c97777 inotify: Avoid reporting event with invalid wd
| * 73aef14407 platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i
| * 4b87eec73e platform/x86: touchscreen_dmi: Add upside-down quirk for GDIX1002 ts on the Juno Tablet
| * 8c2cdb7326 cifs: fix pcchunk length type in smb2_copychunk_range
| * 829c20fd7a btrfs: print-tree: parent bytenr must be aligned to sector size
| * 148b16cd30 btrfs: don't free qgroup space unless specified
| * 08fa23adbd btrfs: fix btrfs_prev_leaf() to not return the same key twice
| * 7a4db11f00 perf symbols: Fix return incorrect build_id size in elf_read_build_id()
| * 87a1fa0ad7 crypto: sun8i-ss - Fix a test in sun8i_ss_setup_ivs()
| * be3517ae6b perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp()
| * 604b650fb5 perf pmu: zfree() expects a pointer to a pointer to zero it after freeing its contents
| * 1ebd0dfb27 perf vendor events power9: Remove UTF-8 characters from JSON files
| * 796616f216 net: enetc: check the index of the SFI rather than the handle
| * b6b15de512 virtio_net: suppress cpu stall when free_unused_bufs
| * c043714ef2 virtio_net: split free_unused_bufs()
| * 0773270b13 net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621
| * 0f1ad0ef60 ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init`
| * 7f497a9451 drm/amdgpu: add a missing lock for AMDGPU_SCHED
| * f00ef2618f af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
| * 02359ba526 ionic: remove noise from ethtool rxnfc error msg
| * 3605b33184 octeontx2-vf: Detach LF resources on probe cleanup
| * ea7453f5e5 octeontx2-pf: Disable packet I/O for graceful exit
| * 15152b8a4b rxrpc: Fix hard call timeout units
| * 9291aba0ff sfc: Fix module EEPROM reporting for QSFP modules
| * 774da70521 net/sched: act_mirred: Add carrier check
| * f3fae1b1c7 watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe()
| * 3b7798b42e writeback: fix call of incorrect macro
| * f47f0fb5b5 net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu
| * d6f0687d50 sit: update dev->needed_headroom in ipip6_tunnel_bind_dev()
| * 7311c8be37 net/sched: cls_api: remove block_cb from driver_list before freeing
| * cc8efc78c3 net/ncsi: clear Tx enable mode when handling a Config required AEN
| * fa19c533ab scsi: qedi: Fix use after free bug in qedi_remove()
| * 4285cc0a22 dm verity: fix error handling for check_at_most_once on FEC
| * fc097cfca0 dm verity: skip redundant verity_handle_err() on I/O errors
| * 26b1b0d0be mailbox: zynqmp: Fix counts of child nodes
| * 67fb57f247 mailbox: zynq: Switch to flexible array to simplify code
| * c4e636f025 crypto: ccp - Clear PSP interrupt status register before calling handler
| * 6f60aae72c ring-buffer: Ensure proper resetting of atomic variables in ring_buffer_reset_online_cpus
| * 2fcb12b3f4 tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH
| * 6c2ee50c90 tty: clean include/linux/tty.h up
| * 57b510c7d3 tty: move some tty-only functions to drivers/tty/tty.h
| * 1924d47a28 tty: move some internal tty lock enums and functions out of tty.h
| * f665d81ffa tty: audit: move some local functions out of tty.h
| * 6a392b806f tty: create internal tty.h file
| * e044a24447 netfilter: nf_tables: deactivate anonymous set from preparation phase
| * a222d2794c scsi: target: core: Avoid smp_processor_id() in preemptible code
| * 14fc6af67b arm64: dts: qcom: sdm845: correct dynamic power coefficients
| * c820c05c5f sound/oss/dmasound: fix 'dmasound_setup' defined but not used
| * 9079ff34a1 debugobject: Ensure pool refill (again)
| * 3f225f29c6 arm64: Stash shadow stack pointer in the task struct on interrupt
* | d9baf420d0 Merge 9134b5a464 ("arm64: Always load shadow stack pointer directly from the task struct") into android12-5.10-lts
|\|
| * 9134b5a464 arm64: Always load shadow stack pointer directly from the task struct
* | 4a2ed7d4bc Merge a25a403e4b ("perf intel-pt: Fix CYC timestamps after standalone CBR") into android12-5.10-lts
|\|
| * a25a403e4b perf intel-pt: Fix CYC timestamps after standalone CBR
| * 905f847675 perf auxtrace: Fix address filter entire kernel size
* | 5cb8a3c82c Merge ea827627a9 ("dm ioctl: fix nested locking in table_clear() to remove deadlock concern") into android12-5.10-lts
|\|
| * ea827627a9 dm ioctl: fix nested locking in table_clear() to remove deadlock concern
* | e3f8cee7f9 Merge a1e3fffe02 ("dm flakey: fix a crash with invalid table line") into android12-5.10-lts
|\|
| * a1e3fffe02 dm flakey: fix a crash with invalid table line
* | eee3af95eb Merge 44f29e93a5 ("dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path") into android12-5.10-lts
|\|
| * 44f29e93a5 dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
* | 7a6cb8c4fa Merge 717ceb487b ("dm clone: call kmem_cache_destroy() in dm_clone_init() error path") into android12-5.10-lts
|\|
| * 717ceb487b dm clone: call kmem_cache_destroy() in dm_clone_init() error path
* | c7f1b9f365 Merge eded3ad80a ("ia64: fix an addr to taddr in huge_pte_offset()") into android12-5.10-lts
|\|
| * eded3ad80a ia64: fix an addr to taddr in huge_pte_offset()
| * abb427cb77 s390/dasd: fix hanging blockdevice after request requeue
| * c96807a4ad btrfs: scrub: reject unsupported scrub flags
| * f7fd1eed31 scripts/gdb: fix lx-timerlist for Python3
| * 9aabb5f9ef afs: Fix updating of i_size with dv jump from server
| * 3530a795bb mfd: tqmx86: Correct board names for TQMxE39x
| * cbe060011b mfd: tqmx86: Specify IO port register range more precisely
| * 640a1f7e36 mfd: tqmx86: Add support for TQMx110EB and TQMxE40x
| * 4be49b7c24 mfd: tqmx86: Remove incorrect TQMx90UC board ID
| * 6697a3b0ed mfd: tqmx86: Do not access I2C_DETECT register through io_base
| * 15da2acad5 thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe
| * 08012d9edc dmaengine: at_xdmac: do not enable all cyclic channels
| * 4f6303fd8f dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing
| * b295431945 dmaengine: dw-edma: Fix to change for continuous transfer
| * da67d60467 phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port
| * 45e4c00940 pwm: mtk-disp: Disable shadow registers before setting backlight values
| * 6d13804388 pwm: mtk-disp: Adjust the clocks to avoid them mismatch
| * 060bd30bf7 pwm: mtk-disp: Don't check the return code of pwmchip_remove()
| * 795cec288e leds: tca6507: Fix error handling of using fwnode_property_read_string
| * 033f00eb89 dmaengine: mv_xor_v2: Fix an error code.
| * 198fbdd106 leds: TI_LMU_COMMON: select REGMAP instead of depending on it
| * 770b061363 ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline
| * 8f009ae90b openrisc: Properly store r31 to pt_regs on unhandled exceptions
| * 1fe1580521 clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails
| * 3bc78eddf0 RDMA/mlx5: Use correct device num_ports when modify DC
| * 95468f165d SUNRPC: remove the maximum number of retries in call_bind_status
| * 50440cdb0b RDMA/mlx5: Fix flow counter query via DEVX
| * 0d6a5c9489 Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe
| * 09bfd90d04 input: raspberrypi-ts: Release firmware handle when not needed
| * 3aa2503717 firmware: raspberrypi: Introduce devm_rpi_firmware_get()
| * 73a65744c7 NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease
| * 9c4c6512d7 IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests
| * f84c025978 IB/hfi1: Add additional usdma traces
| * 1af73620a1 IB/hfi1: Add AIP tx traces
| * 823b59fc56 IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order
| * 8ec6acdb9b RDMA/srpt: Add a check for valid 'mad_agent' pointer
| * 16f596cfe9 RDMA/cm: Trace icm_send_rej event before the cm state is reset
| * 3ef7a4c0d5 RDMA/siw: Remove namespace check from siw_netdev_event()
| * ac7f79ee11 clk: add missing of_node_put() in "assigned-clocks" property parsing
| * 391fbf0d08 power: supply: generic-adc-battery: fix unit scaling
| * 9e5a7c1106 rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time
| * 9ad3221c86 RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()
| * 889a2070dc rtc: omap: include header for omap_rtc_power_off_program prototype
* | b38d756cea Revert "workqueue: Rename "delayed" (delayed by active management) to "inactive""
* | 24c41942a4 Revert "workqueue: Fix hung time report of worker pools"
* | 24c3784e97 Merge 647781347a ("workqueue: Fix hung time report of worker pools") into android12-5.10-lts
|\|
| * 647781347a workqueue: Fix hung time report of worker pools
| * 77d9a64cfb workqueue: Rename "delayed" (delayed by active management) to "inactive"
* | de3c7c404a Merge 960167e0e0 ("RDMA/rdmavt: Delete unnecessary NULL check") into android12-5.10-lts
|\|
| * 960167e0e0 RDMA/rdmavt: Delete unnecessary NULL check
| * f7790aecb3 RDMA/siw: Fix potential page_array out of range access
| * ab8646c9a0 clk: at91: clk-sam9x60-pll: fix return value check
| * 8f381b2494 perf/core: Fix hardlockup failure caused by perf throttle
| * 3ea9186a3e powerpc/rtas: use memmove for potentially overlapping buffer copy
| * 6339b9dcdb macintosh: via-pmu-led: requires ATA to be set
| * 15f3a811bf powerpc/sysdev/tsi108: fix resource printk format warnings
| * 4f41f55d82 powerpc/wii: fix resource printk format warnings
| * 701e3e5999 powerpc/mpc512x: fix resource printk format warning
| * d68265ec0b macintosh/windfarm_smu_sat: Add missing of_node_put()
| * c45ab3ab9c spmi: Add a check for remove callback when removing a SPMI driver
| * 4ca4a3e454 staging: rtl8192e: Fix W_DISABLE# does not work after stop/start
| * d5d628fea5 serial: 8250: Add missing wakeup event reporting
| * fde8ffaaac tty: serial: fsl_lpuart: adjust buffer length to the intended size
| * 5a76bc35cc firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe
| * 012936502a usb: mtu3: fix kernel panic at qmu transfer done irq handler
| * e8f64f3200 usb: chipidea: fix missing goto in `ci_hdrc_probe`
| * 7d667749b3 usb: gadget: tegra-xudc: Fix crash in vbus_draw
| * 95d97e182d sh: sq: Fix incorrect element size for allocating bitmap buffer
* | 01e0792f60 Revert "uapi/linux/const.h: prefer ISO-friendly __typeof__"
* | 2343b43cca Merge a69eb1200e ("uapi/linux/const.h: prefer ISO-friendly __typeof__") into android12-5.10-lts
|\|
| * a69eb1200e uapi/linux/const.h: prefer ISO-friendly __typeof__
* | 2dcf843019 Merge fd7bf900c3 ("i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path") into android12-5.10-lts
|\|
| * fd7bf900c3 i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path
| * b24f1ecc8f spi: cadence-quadspi: fix suspend-resume implementations
| * b5a6930fc6 ASoC: fsl_mqs: move of_node_put() to the correct location
| * 5bf2d84074 coresight: etm_pmu: Set the module field
| * 174d7483f1 scripts/gdb: bail early if there are no generic PD
| * 01710564a9 scripts/gdb: bail early if there are no clocks
| * b4b4409510 ia64: salinfo: placate defined-but-not-used warning
| * 65b5b2c5fd ia64: mm/contig: fix section mismatch warning/error
| * fd4e45d8d7 PCI/EDR: Clear Device Status after EDR error recovery
| * 9e5ee4fa0d of: Fix modalias string generation
| * 85b4aa4eb2 vmci_host: fix a race condition in vmci_host_poll() causing GPF
| * 4bdae667f9 spi: fsl-spi: Fix CPM/QE mode Litte Endian
| * bc88243bbe spi: qup: Don't skip cleanup in remove's error path
| * 00c5b5498b linux/vt_buffer.h: allow either builtin or modular for macros
| * d4a3c912c8 ASoC: es8316: Handle optional IRQ assignment
| * 67b6e077fb ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ
| * eb971efca7 PCI: imx6: Install the fault handler only on compatible match
| * 36c237b202 usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition
| * aa93a46f99 spi: imx: Don't skip cleanup in remove's error path
| * c3aba912f4 spi: spi-imx: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
| * f1f3bc9915 iio: light: max44009: add missing OF device matching
| * ed1f459af6 fpga: bridge: fix kernel-doc parameter description
| * 98bf98e749 usb: dwc3: gadget: Change condition for processing suspend event
| * 8a859ac86d usb: host: xhci-rcar: remove leftover quirk handling
| * c76ba91791 pstore: Revert pmsg_lock back to a normal mutex
| * 7d285c6cfe ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it
| * 230a5ed7d8 tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp.
| * 0abcb0b0d6 net: amd: Fix link leak when verifying config failed
| * b978d22fa1 netlink: Use copy_to_user() for optval in netlink_getsockopt().
| * 0837d10f6c Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work"
| * 566785731c ipv4: Fix potential uninit variable access bug in __ip_make_skb()
| * 4b8a05e380 net/sched: sch_fq: fix integer overflow of "credit"
| * cb71b24a89 netfilter: nf_tables: don't write table validation state without mutex
| * f4fc43fde1 bpf: Don't EFAULT for getsockopt with optval=NULL
| * 80090acb58 ixgbe: Enable setting RSS table to default values
| * 7a150a5b54 ixgbe: Allow flow hash to be set via ethtool
| * 89496d6cff wifi: iwlwifi: fw: fix memory leak in debugfs
| * f4eb14d261 wifi: iwlwifi: mvm: check firmware response size
| * 4ff7c0fbb3 wifi: iwlwifi: make the loop for card preparation effective
| * 62fde46517 jdb2: Don't refuse invalidation of already invalidated buffers
| * 038cbab550 wifi: iwlwifi: fw: move memset before early return
| * c0ca382419 wifi: iwlwifi: yoyo: Fix possible division by zero
| * 2a65555f7e md/raid10: fix memleak of md thread
| * 6361b0592b md/raid10: fix memleak for 'conf->bio_split'
| * 1697fb124c md/raid10: fix leak of 'r10bio->remaining' for recovery
| * fcacaa9d04 bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap
| * 21f2503d37 nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage"
| * e119d19183 nvme: fix async event trace event
| * a9e3d9bac9 nvme: handle the persistent internal error AER
| * 2f93072222 bpf, sockmap: fix deadlocks in the sockhash and sockmap
| * 2be04fa7ee net: ethernet: stmmac: dwmac-rk: fix optional phy regulator handling
| * bab8dc38b1 scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup()
| * b2f423fda6 f2fs: fix to avoid use-after-free for cached IPU bio
| * 5877980dc2 xsk: Fix unaligned descriptor validation
| * 2a67bc52cd crypto: drbg - Only fail when jent is unavailable in FIPS mode
| * 9dbdedd44f crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors
| * 27942f477d bpftool: Fix bug for long instructions in program CFG dumps
| * 072d16abf5 selftests/bpf: Wait for receive in cg_storage_multi test
| * d64a12eeb4 net: qrtr: correct types of trace event parameters
| * dc55805db2 wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg()
| * c621697505 wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg()
* | be7602cdd6 Merge adc2d82eee ("crypto: sa2ul - Select CRYPTO_DES") into android12-5.10-lts
|\|
| * adc2d82eee crypto: sa2ul - Select CRYPTO_DES
| * de3908e151 crypto: caam - Clear some memory in instantiate_rng
| * a8226a45b2 f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages()
| * d11a74577c f2fs: apply zone capacity to all zone type
| * d420c4a06d f2fs: enforce single zone capacity
| * c3a1914b96 f2fs: handle dqget error in f2fs_transfer_project_quota()
| * 202048ec1e scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS
| * bfe67e0563 scsi: target: iscsit: Fix TAS handling during conn cleanup
| * e1f59cd18a scsi: target: Fix multiple LUN_RESET handling
| * 008b936bbd scsi: target: Make state_list per CPU
| * 7c8a29f1b2 scsi: target: Rename cmd.bad_sector to cmd.sense_info
| * 621c89a021 scsi: target: Rename struct sense_info to sense_detail
| * 05c6db12ae net/packet: convert po->auxdata to an atomic flag
| * 5ca1be3658 net/packet: convert po->origdev to an atomic flag
| * 8bb81a925a net/packet: annotate accesses to po->xmit
| * ba6d56b20e vlan: partially enable SIOCSHWTSTAMP in container
| * 118df5df1b bpf: Remove misleading spec_v1 check on var-offset stack read
| * 10c1051267 scm: fix MSG_CTRUNC setting condition for SO_PASSSEC
| * 10702be8b3 bpf: fix precision propagation verbose logging
| * 6be8ad4cdc bpf: take into account liveness when propagating precision
| * 243fab8e37 wifi: rtw88: mac: Return the original error from rtw_mac_power_switch()
| * 1980dd8c53 wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser()
| * 3ab6ec6c48 tools: bpftool: Remove invalid \' json escape
| * 1300517e37 wifi: ath6kl: reduce WARN to dev_dbg() in callback
| * 6c91b3b57b wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
| * 320d760a35 wifi: ath9k: hif_usb: fix memory leak of remain_skbs
| * 129c3fb579 wifi: ath6kl: minor fix for allocation size
| * c401368926 tick/common: Align tick period with the HZ tick.
| * 107ea1f63b tick: Get rid of tick_period
| * fdc4876746 tick/sched: Optimize tick_do_update_jiffies64() further
| * 93c4300836 tick/sched: Reduce seqcount held scope in tick_do_update_jiffies64()
| * ca721584e9 tick/sched: Use tick_next_period for lockless quick check
| * 780f303233 drm/i915: Make intel_get_crtc_new_encoder() less oopsy
| * 9edf5518db debugobject: Prevent init race with static objects
| * f16f065f8c arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step
| * 55fc2246c4 x86/ioapic: Don't return 0 from arch_dynirq_lower_bound()
| * dfce9bb351 regulator: stm32-pwr: fix of_iomap leak
| * a6aeba550c media: venus: dec: Fix handling of the start cmd
| * 3a227dc12b media: venus: vdec: Handle DRC after drain
| * 5bac3de7f4 media: venus: preserve DRC state across seeks
| * 4c1239274f media: venus: vdec: Make decoder return LAST flag for sufficient event
| * a30297bff8 media: venus: vdec: Fix non reliable setting of LAST flag
| * 025a34716c media: rc: gpio-ir-recv: Fix support for wake-up
| * 1acb982e36 media: rcar_fdp1: Fix refcount leak in probe and remove function
| * ccc454881f media: rcar_fdp1: Fix the correct variable assignments
| * ee24c9e232 media: rcar_fdp1: Make use of the helper function devm_platform_ioremap_resource()
| * bf91fb6c1e media: rcar_fdp1: fix pm_runtime_get_sync() usage count
| * 21de9d0daa media: rcar_fdp1: simplify error check logic at fdp_open()
| * 7dac96e9cc media: saa7134: fix use after free bug in saa7134_finidev due to race condition
| * e9d64e90a0 media: dm1105: Fix use after free bug in dm1105_remove due to race condition
| * de19d02d73 media: rkvdec: fix use after free bug in rkvdec_remove
| * 4883f0f7ee x86/apic: Fix atomic update of offset in reserve_eilvt_offset()
| * 06140d6dfe regulator: core: Avoid lockdep reports when resolving supplies
| * 4c0b98d87c regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow()
| * e21c93b20a drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe()
| * 0fc1a90bce ARM: dts: gta04: fix excess dma channel usage
| * f59421334e mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data
* | c83bfc082b Merge 1487b29030 ("ACPI: processor: Fix evaluating _PDC method when running as Xen dom0") into android12-5.10-lts
|\|
| * 1487b29030 ACPI: processor: Fix evaluating _PDC method when running as Xen dom0
| * ee22417f82 drm: msm: adreno: Disable preemption on Adreno 510
| * 00f02bb8cb drm/msm/adreno: drop bogus pm_runtime_set_active()
| * f9ba5962cc drm/msm/adreno: Defer enabling runpm until hw_init()
| * 9a3a907cf6 media: max9286: Free control handler
| * f8d28cecf2 drm/bridge: adv7533: Fix adv7533_mode_valid for adv7533 and adv7535
| * 076cdba34d firmware: qcom_scm: Clear download bit during reboot
| * 4362444dca media: bdisp: Add missing check for create_workqueue
| * a9b9ea0e63 x86/MCE/AMD: Use an u64 for bank_map
| * a8504f9a13 ARM: dts: qcom: ipq8064: Fix the PCI I/O port range
| * 7d731faebc ARM: dts: qcom: ipq8064: reduce pci IO size to 64K
| * 870644bf1b ARM: dts: qcom: ipq4019: Fix the PCI I/O port range
| * 4585591295 arm64: dts: qcom: msm8996: Fix the PCI I/O port range
| * b6082e8caa arm64: dts: qcom: ipq8074: Fix the PCI I/O port range
| * 5f6302ab78 arm64: dts: qcom: msm8998: Fix the PCI I/O port range
| * 212352542d arm64: dts: qcom: sdm845: Fix the PCI I/O port range
| * eb9c5b383e arm64: dts: qcom: sdm845: correct dynamic power coefficients
| * 94e6f7e757 arm64: dts: qcom: msm8998: Fix stm-stimulus-base reg name
| * e951bdaa65 EDAC/skx: Fix overflows on the DRAM row address mapping arrays
| * 6e6c27b2fb drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources
| * 9c4c9010ae arm64: dts: renesas: r8a774c0: Remove bogus voltages from OPP table
| * fbfca9b839 arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table
| * 08310f8109 soc: ti: pm33xx: Fix refcount leak in am33xx_pm_probe
| * a1e6a4161a soc: ti: pm33xx: Enable basic PM runtime support for genpd
| * e33f374d65 drm/probe-helper: Cancel previous job before starting new one
| * 67f07215eb drm/vgem: add missing mutex_destroy
| * ae784c3ed3 drm/rockchip: Drop unbalanced obj unref
| * 056a1217cf erofs: fix potential overflow calculating xattr_isize
| * 7a4579cd6e erofs: stop parsing non-compact HEAD index if clusterofs is invalid
| * e5ec129158 tpm, tpm_tis: Claim locality when interrupts are reenabled on resume
| * 933bfc5ad2 tpm, tpm: Implement usage counter for locality
| * 140735c46d tpm, tpm_tis: Claim locality before writing interrupt registers
| * 35ca7f6252 tpm, tpm_tis: Disable interrupts if tpm_tis_probe_irq() failed
| * cbb1dd2705 tpm, tpm_tis: Claim locality before writing TPM_INT_ENABLE register
| * c62a2331ab tpm, tpm_tis: Do not skip reset of original interrupt vector
| * 3ec77043a2 selinux: ensure av_permissions.h is built when needed
| * fea3144639 selinux: fix Makefile dependencies of flask.h
| * 0c29f14cf4 selftests/resctrl: Check for return value after write_schemata()
| * 4075fbcde4 selftests/resctrl: Return NULL if malloc_and_init_memory() did not alloc mem
| * d0653cc6e0 rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check
| * d1ab8b54b2 clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent
* | 6f849f24da Merge e0dd13b49d ("wifi: rtl8xxxu: RTL8192EU always needs full init") into android12-5.10-lts
|\|
| * e0dd13b49d wifi: rtl8xxxu: RTL8192EU always needs full init
| * 0fd9b0f611 mailbox: zynqmp: Fix typo in IPI documentation
| * 63314371eb mailbox: zynqmp: Fix IPI isr handling
| * bdbf104b1c md/raid10: fix null-ptr-deref in raid10_sync_request
| * 8a89d36a07 nilfs2: fix infinite loop in nilfs_mdt_get_block()
| * 7c3e662048 nilfs2: do not write dirty data after degenerating to read-only
| * e4b5264422 parisc: Fix argument pointer in real64_call_asm()
| * be649ea153 sound/oss/dmasound: fix build when drivers are mixed =y/=m
| * b8f444a4fa ubifs: Free memory for tmpfile name
| * 5b4b6cb724 ubi: Fix return value overwrite issue in try_write_vid_and_data()
| * 66e9f2fb3e ubifs: Fix memleak when insert_old_idx() failed
| * a4904c56fc Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path"
| * 87d98984b0 iommu/amd: Fix "Guest Virtual APIC Table Root Pointer" configuration in IRTE
| * db8b34ffb2 i2c: omap: Fix standard mode false ACK readings
| * 2b00b2a0e6 writeback, cgroup: fix null-ptr-deref write in bdi_split_work_to_wbs
| * 1b0df44753 relayfs: fix out-of-bounds access in relay_file_read
| * e28df70df0 KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted
| * 680c419d0d reiserfs: Add security prefix to xattr name in reiserfs_security_write()
| * eb18bc5a86 rcu: Avoid stack overflow due to __rcu_irq_enter_check_tick() being kprobe-ed
| * 0a89d4a075 crypto: safexcel - Cleanup ring IRQ workqueues on load failure
| * ff86deaba1 crypto: api - Demote BUG_ON() in crypto_unregister_alg() to a WARN_ON()
| * 1c99f65d6a ring-buffer: Sync IRQ works before buffer destruction
| * dda1372c8d pwm: meson: Fix g12a ao clk81 name
| * c1cabb10e0 pwm: meson: Fix axg ao mux parents
| * fcd2da2e6b kheaders: Use array declaration instead of char
| * 1b633da2fe ipmi: fix SSIF not responding under certain cond.
| * 6d5993d569 ipmi:ssif: Add send_retries increment
* | d7203e0307 Merge 47e61cadc7 ("MIPS: fw: Allow firmware to pass a empty env") into android12-5.10-lts
|\|
| * 47e61cadc7 MIPS: fw: Allow firmware to pass a empty env
| * 2884595932 tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem
| * 29b89908fd xhci: fix debugfs register accesses while suspended
| * a863ac03fa staging: iio: resolver: ads1210: fix config mode
| * c8714ddf3c ext4: use ext4_journal_start/stop for fast commit transactions
| * 701a822076 blk-crypto: make blk_crypto_evict_key() more robust
| * 5072008bef blk-crypto: make blk_crypto_evict_key() return void
| * 874bdf43b4 blk-mq: release crypto keyslot before reporting I/O complete
| * 68494eb75f perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE)
| * 7c5811b95c posix-cpu-timers: Implement the missing timer_wait_running callback
| * aed39acf7e hwmon: (adt7475) Use device_property APIs when configuring polarity
| * b009006887 hwmon: (k10temp) Check range scale when CUR_TEMP register is read-write
| * a71cb92ec4 USB: dwc3: fix runtime pm imbalance on unbind
| * 27dc207c38 USB: dwc3: fix runtime pm imbalance on probe errors
| * b978269dda PCI: qcom: Fix the incorrect register usage in v2.7.0 config
| * 2f31633da8 PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock
| * 5434c7019d wireguard: timers: cast enum limits members to int in prints
| * 69fdbb334d asm-generic/io.h: suppress endianness warnings for readq() and writeq()
| * 925cbb7253 ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
| * f5e96af71e iio: adc: palmas_gpadc: fix NULL dereference on rmmod
| * 8aa079c2fd driver core: Don't require dynamic_debug for initcall_debug probe timing
| * f964a00386 USB: serial: option: add UNISOC vendor and TOZED LT70C product
| * c0e9214223 x86/fpu: Prevent FPU state corruption
| * 98cfbad52f bluetooth: Perform careful capability checks in hci_sock_ioctl()
| * dc110b20f4 drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var
| * 549825602e wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()
| * 1dd95b2109 KVM: arm64: Fix buffer overflow in kvm_arm_set_fw_reg()
| * 0f29d0e8fc counter: 104-quad-8: Fix race condition between FLAG and CNTR reads
| * d4a895e924 seccomp: Move copy_seccomp() to no failure path.
* | 571879dd5f Revert "sched/fair: Detect capacity inversion"
* | ce3ecd63bf Revert "sched/fair: Consider capacity inversion in util_fits_cpu()"
* | 652a7f2c7e Revert "sched/uclamp: Fix a uninitialized variable warnings"
* | e1be343429 Revert "sched/fair: Fixes for capacity inversion detection"
* | 4c20c2c837 Merge 5.10.179 into android12-5.10-lts
|\|
| * f1b32fda06 Linux 5.10.179
| * 0367bf3f4a ASN.1: Fix check for strdup() success
| * 4ab5f8f9d0 ASoC: fsl_asrc_dma: fix potential null-ptr-deref
| * 42604b4ad5 iio: adc: at91-sama5d2_adc: fix an error code in at91_adc_allocate_trigger()
| * 155b2586de pwm: hibvt: Explicitly set .polarity in .get_state()
| * 1c3a121137 pwm: iqs620a: Explicitly set .polarity in .get_state()
| * b28079807d pwm: meson: Explicitly set .polarity in .get_state()
| * f69112de70 sctp: Call inet6_destroy_sock() via sk->sk_destruct().
| * 7da54ddc04 dccp: Call inet6_destroy_sock() via sk->sk_destruct().
| * 04d393c4bb inet6: Remove inet6_destroy_sock() in sk->sk_prot->destroy().
| * b1f06ab985 tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct().
| * 0e7b5e1020 udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM).
| * 05cf34a2b6 ext4: fix use-after-free in ext4_xattr_set_entry
| * c75711396c ext4: remove duplicate definition of ext4_xattr_ibody_inline_set()
| * 9400206d9d Revert "ext4: fix use-after-free in ext4_xattr_set_entry"
| * 81775ab858 fuse: fix deadlock between atomic O_TRUNC and page invalidation
| * 03cefde986 fuse: always revalidate rename target dentry
| * 42dfdbd4dc fuse: fix attr version comparison in fuse_read_update_size()
| * 0078a1667c fuse: check s_root when destroying sb
| * 6d0d67b05f virtiofs: split requests that exceed virtqueue size
| * cf08dc7916 virtiofs: clean up error handling in virtio_fs_get_tree()
| * e220438d1e purgatory: fix disabling debug info
| * 37df709706 docs: futex: Fix kernel-doc references after code split-up preparation
| * 77748b0a04 MIPS: Define RUNTIME_DISCARD_EXIT in LD script
| * 4735b6f74f sched/fair: Fixes for capacity inversion detection
| * 89ad8a672f sched/uclamp: Fix a uninitialized variable warnings
| * 09129798a6 sched/fair: Consider capacity inversion in util_fits_cpu()
| * 30f04dd56d sched/fair: Detect capacity inversion
| * b18cbd359d sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit condition
| * 41a880740c sched/uclamp: Make cpu_overutilized() use util_fits_cpu()
| * 07750955e9 sched/uclamp: Make asym_fits_capacity() use util_fits_cpu()
| * 2fd1c194e6 sched/uclamp: Make select_idle_capacity() use util_fits_cpu()
| * 8ca2bf63d9 sched/uclamp: Fix fits_capacity() check in feec()
| * 5cb1a56ced sched/uclamp: Make task_fits_capacity() use util_fits_cpu()
| * 2523d9d7bb mm/khugepaged: check again on anon uffd-wp during isolation
| * 651b0bf43d mmc: sdhci_am654: Set HIGH_SPEED_ENA for SDR12 and SDR25
| * c61928fcca kernel/sys.c: fix and improve control flow in __sys_setres[ug]id()
| * e10a6d88ae memstick: fix memory leak if card device is never registered
| * 2c90ef3715 nilfs2: initialize unused bytes in segment summary blocks
| * 09daff9c3c iio: light: tsl2772: fix reading proximity-diodes from device tree
| * 77ac8f2ad4 xfs: drop submit side trans alloc for append ioends
| * a4e800a7bd powerpc/doc: Fix htmldocs errors
| * c215c63681 xen/netback: use same error messages for same errors
| * 0c9cbfc951 nvme-tcp: fix a possible UAF when failing to allocate an io queue
| * 8c746b6650 s390/ptrace: fix PTRACE_GET_LAST_BREAK error handling
| * a36246a748 net: dsa: b53: mmap: add phy ops
| * b33f28ea45 scsi: core: Improve scsi_vpd_inquiry() checks
| * 24ddcc6a63 scsi: megaraid_sas: Fix fw_crash_buffer_show()
| * 01bd481b1b selftests: sigaltstack: fix -Wuninitialized
| * 8b44a83a16 Input: i8042 - add quirk for Fujitsu Lifebook A574/H
| * 37882b203a f2fs: Fix f2fs_truncate_partial_nodes ftrace event
| * 9a8dbfd7f3 e1000e: Disable TSO on i219-LM card to increase speed
| * b1281d0088 bpf: Fix incorrect verifier pruning due to missing register precision taints
| * b085b5787b mlxsw: pci: Fix possible crash during initialization
| * c972851d38 net: rpl: fix rpl header size calculation
| * b6b06c5ee3 mlxfw: fix null-ptr-deref in mlxfw_mfa2_tlv_next()
| * 880c09bc2f i40e: fix i40e_setup_misc_vector() error handling
| * 72df55d3dc i40e: fix accessing vsi->active_filters without holding lock
| * 381110d061 netfilter: nf_tables: fix ifdef to also consider nf_tables=m
| * 6758a51ef3 sfc: Fix use-after-free due to selftest_work
| * 06a72bbf0d sfc: Split STATE_READY in to STATE_NET_DOWN and STATE_NET_UP.
| * b6dd232f63 virtio_net: bugfix overflow inside xdp_linearize_page()
| * ddcf35deb8 net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg
| * 8e73952957 regulator: fan53555: Explicitly include bits header
| * 3224458030 netfilter: br_netfilter: fix recent physdev match breakage
| * 08b78037c4 arm64: dts: imx8mm-evk: correct pmic clock source
| * 2c06e904c2 arm64: dts: meson-g12-common: specify full DMC range
| * b33dbd06ac arm64: dts: qcom: ipq8074-hk01: enable QMP device, not the PHY node
| * e662521ec7 ARM: dts: rockchip: fix a typo error for rk3288 spdif node
* | b6b9dff07b Merge branch android12-5.10 into android12-5.10-lts
* | 49df5be923 Revert "ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()"
* | a406acdee0 ANDROID: preserve CRC for xhci symbols
* | a4023d8fc3 Revert "ipv4: shrink netns_ipv4 with sysctl conversions"
* | e2f3aab65b Revert "tcp: convert elligible sysctls to u8"
* | 036fa20734 Revert "tcp: restrict net.ipv4.tcp_app_win"
* | 2d6a4ad08c Merge 5.10.178 into android12-5.10-lts
|/
* 791a854ae5 Linux 5.10.178
* f177b382c3 sysctl: Fix data-races in proc_dou8vec_minmax().
* 56314b90fd panic, kexec: make __crash_kexec() NMI safe
* d425f34821 kexec: turn all kexec_mutex acquisitions into trylocks
* 784b6ba15e kexec: move locking into do_kexec_load
* 0b077b22ea riscv: Handle zicsr/zifencei issues between clang and binutils
* c36a251011 kbuild: check CONFIG_AS_IS_LLVM instead of LLVM_IAS
* d5f67f6d4e kbuild: Switch to 'f' variants of integrated assembler flag
* 83f55e6f29 kbuild: check the minimum assembler version in Kconfig
* 6facabb4d0 coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
* 7b78445bce watchdog: sbsa_wdog: Make sure the timeout programming is within the limits
* 10b7a33c5d i2c: ocores: generate stop condition after timeout in polling mode
* b4210b10dc x86/rtc: Remove __init for runtime functions
* ba4a2f6d99 sched/fair: Fix imbalance overflow
* 68387ae3b6 sched/fair: Move calculate of avg_load to a better location
* ccbec01cc9 powerpc/papr_scm: Update the NUMA distance table for the target node
* 453b3188be powerpc/pseries: Add support for FORM2 associativity
* 498618e0a1 powerpc/pseries: Add a helper for form1 cpu distance
* 18ce785eff powerpc/pseries: Consolidate different NUMA distance update code paths
* f2ae0eb96b powerpc/pseries: Rename TYPE1_AFFINITY to FORM1_AFFINITY
* f6d8a3a2ea powerpc/pseries: rename min_common_depth to primary_domain_index
* 5abf8af8df ubi: Fix deadlock caused by recursively holding work_sem
* 33611d4a81 mtd: ubi: wl: Fix a couple of kernel-doc issues
* 0279e82e14 ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size
* 37a3cf4abc cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach()
* 10bda0ec31 x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot
* 176d7345b8 scsi: ses: Handle enclosure with just a primary component gracefully
* cf22c98bcb net: sfp: initialize sfp->i2c_block_size at sfp allocation
* 2a4835b8ed riscv: add icache flush for nommu sigreturn trampoline
* c76e79e526 asymmetric_keys: log on fatal failures in PE/pkcs7
* 5de2e1f5e2 verify_pefile: relax wrapper length check
* e4b9f0bf91 drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F
* 9f0ee9ed54 efi: sysfb_efi: Add quirk for Lenovo Yoga Book X91F/L
* e1f80b4dfa i2c: imx-lpi2c: clean rx/tx buffers upon new message
* 81c30f89b9 wifi: mwifiex: mark OF related data as maybe unused
* ab39582f30 power: supply: cros_usbpd: reclassify "default case!" as debug
* 6de0d0699f libbpf: Fix single-line struct definition output in btf_dump
* 1bec9da233 net: macb: fix a memory corruption in extended buffer descriptor mode
* 7d8c844b33 udp6: fix potential access to stale information
* d1b9b31916 RDMA/core: Fix GID entry ref leak when create_ah fails
* 79b28f4221 sctp: fix a potential overflow in sctp_ifwdtsn_skip
* 3814d211ff net: qrtr: Fix an uninit variable access bug in qrtr_tx_resume()
* dad92d8ada qlcnic: check pci_reset_function result
* 4a519731ec drm/armada: Fix a potential double free in an error handling path
* a069d4d98c tcp: restrict net.ipv4.tcp_app_win
* cc9f9a49f5 tcp: convert elligible sysctls to u8
* f662a0786d ipv4: shrink netns_ipv4 with sysctl conversions
* 389dab6142 sysctl: add proc_dou8vec_minmax()
* 8a1fdb3545 niu: Fix missing unwind goto in niu_alloc_channels()
* 9266e939d7 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
* ae11498851 RDMA/cma: Allow UD qp_type to join multicast only
* 5e567fd296 IB/mlx5: Add support for 400G_8X lane speed
* a1d2fb5d13 IB/mlx5: Add support for NDR link speed
* 8a886f01b8 clk: sprd: set max_register according to mapping range
* 6e2845284b mtd: rawnand: stm32_fmc2: use timings.mode instead of checking tRC_min
* 9e946e4e8c mtd: rawnand: stm32_fmc2: remove unsupported EDO mode
* 6b0e719192 mtd: rawnand: meson: fix bitmask for length in command word
* 441e57ff87 mtdblock: tolerate corrected bit-flips
* 0d07ea8d38 fbmem: Reject FB_ACTIVATE_KD_TEXT from userspace
* 5635e69406 btrfs: fix fast csum implementation detection
* 3576e08f19 btrfs: print checksum type and implementation at mount time
* f7ec5ca433 Bluetooth: Fix race condition in hidp_session_thread
* d9ba36c22a Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
* 8533fe8645 ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards
* 8f6a20a4f4 ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex()
* 69108a8a45 ALSA: i2c/cs8427: fix iec958 mixer control deactivation
* e63a515d11 ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard
* df4af0ddf7 ALSA: emu10k1: fix capture interrupt handler unlinking
* 14e90335bc Revert "pinctrl: amd: Disable and mask interrupts on resume"
* 59dc9767ce bpftool: Print newline before '}' for struct with padding only fields
* 2765aca637 ocfs2: fix freeing uninitialized resource on ocfs2_dlm_shutdown
* a412ba6b6c Revert "media: ti: cal: fix possible memory leak in cal_ctx_create()"
* 2d96c8dca9 drm/bridge: lt9611: Fix PLL being unable to lock
* a2773afc81 selftests: intel_pstate: ftime() is deprecated
* ea8c42b3b6 mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()
* 5a74837809 ring-buffer: Fix race while reader and writer are on the same page
* c1bbe926a1 drm/nouveau/disp: Support more modes by checking with lower bpc
* 8250f7f7ae drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path
* acbbfdba9c ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()
* 6e36373aa5 tracing: Free error logs of tracing instances
* 9c5df2f14e can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events
* 70caa596d1 can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access
* f018ef34c4 ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct()
* eadcad0a47 ftrace: Mark get_lock_parent_ip() __always_inline
* 9470fc63ab perf/core: Fix the same task check in perf_event_set_output
* 499757ad33 scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param()
* 4bfdead174 iio: adc: ad7791: fix IRQ flags
* 14f9ff7857 ALSA: hda/realtek: Add quirk for Clevo X370SNW
* 1f3b8c3b04 dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs
* 3dbee84bf9 nilfs2: fix sysfs interface lifetime
* f32297dba3 nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
* a17bed82c0 tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty
* 25eff5e7f7 tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
* 72a3e4fa88 tty: serial: sh-sci: Fix transmit end interrupt handler
* 741d73fc57 iio: light: cm32181: Unregister second I2C client if present
* 58bf30479a iio: dac: cio-dac: Fix max DAC write value check for 12-bit
* f47659f1e9 iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip
* 52a003870e USB: serial: option: add Quectel RM500U-CN modem
* e6655d4837 USB: serial: option: add Telit FE990 compositions
* 9d1f2a6b8d usb: typec: altmodes/displayport: Fix configure initial pin assignment
* 4be2b71e9d USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs
* ec20260950 xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu
* b4b4f17aa4 usb: xhci: tegra: fix sleep in atomic call
* 07216da8fb NFSD: callback request does not use correct credential for AUTH_SYS
* a3c4aa48e5 sunrpc: only free unix grouplist after RCU settles
* 890517a4a2 net: stmmac: fix up RX flow hash indirection table when setting channels
* bdbbd3fa58 net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe
* d8c8476c14 gpio: davinci: Add irq chip flag to skip set wake
* 605b056d63 ipv6: Fix an uninit variable access bug in __ip6_make_skb()
* ff2565fb8f net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT
* b4b6dfad41 sctp: check send stream number after wait_for_sndbuf
* efda95cebf net: don't let netpoll invoke NAPI if in xmit context
* ec81049f09 icmp: guard against too small mtu
* 98a9cd82c5 net: qrtr: Fix a refcount bug in qrtr_recvmsg()
* 94c53d2949 net: qrtr: combine nameservice into main module
* 3fe2051544 wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
* 2951229ee7 KVM: s390: pv: fix external interruption loop not always detected
* b43a8939f1 pwm: sprd: Explicitly set .polarity in .get_state()
* d59b83494d pwm: cros-ec: Explicitly set .polarity in .get_state()
* 176c6b4889 Drivers: vmbus: Check for channel allocation before looking up relids
* c51b336bd9 gpio: GPIO_REGMAP: select REGMAP instead of depending on it

Change-Id: I6a8130fdb5232ff7293bdb1bb84c5dc6dd2f4d47
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-07-10 16:27:04 +00:00
Krishna Kurapati
b52f2d4395 UPSTREAM: usb: dwc3: gadget: Propagate core init errors to UDC during pullup
In scenarios where pullup relies on resume (get sync) to initialize
the controller and set the run stop bit, then core_init is followed by
gadget_resume which will eventually set run stop bit.

But in cases where the core_init fails, the return value is not sent
back to udc appropriately. So according to UDC the controller has
started but in reality we never set the run stop bit.

On systems like Android, there are uevents sent to HAL depending on
whether the configfs_bind / configfs_disconnect were invoked. In the
above mentioned scnenario, if the core init fails, the run stop won't
be set and the cable plug-out won't result in generation of any
disconnect event and userspace would never get any uevent regarding
cable plug out and we never call pullup(0) again. Furthermore none of
the next Plug-In/Plug-Out's would be known to configfs.

Return back the appropriate result to UDC to let the userspace/
configfs know that the pullup failed so they can take appropriate
action.

Fixes: 77adb8bdf422 ("usb: dwc3: gadget: Allow runtime suspend if UDC unbinded")
Cc: stable <stable@kernel.org>
Change-Id: Ieb281722cdc4fa2ff15545d9edaabdc8c2d70223
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Message-ID: <20230618120949.14868-1-quic_kriskura@quicinc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

(cherry picked from commit c0aabed9cabe057309779a9e26fe86a113d24dad
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master)

Bug: 289984280
Change-Id: I633b2c325dd954a3e4cdd636052158a90fd976a3
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
2023-07-05 10:20:37 +00:00
Zheng Wang
505b4a1929 UPSTREAM: usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition
[ Upstream commit 2b947f8769be8b8181dc795fd292d3e7120f5204 ]

In renesas_usb3_probe, role_work is bound with renesas_usb3_role_work.
renesas_usb3_start will be called to start the work.

If we remove the driver which will call usbhs_remove, there may be
an unfinished work. The possible sequence is as follows:

CPU0                  			CPU1

                    			 renesas_usb3_role_work
renesas_usb3_remove
usb_role_switch_unregister
device_unregister
kfree(sw)
//free usb3->role_sw
                    			 usb_role_switch_set_role
                    			 //use usb3->role_sw

The usb3->role_sw could be freed under such circumstance and then
used in usb_role_switch_set_role.

This bug was found by static analysis. And note that removing a
driver is a root-only operation, and should never happen in normal
case. But the root user may directly remove the device which
will also trigger the remove function.

Fix it by canceling the work before cleanup in the renesas_usb3_remove.

Bug: 289003615
Fixes: 39facfa01c ("usb: gadget: udc: renesas_usb3: Add register of usb role switch")
Signed-off-by: Zheng Wang <zyytlz.wz@163.com>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/20230320062931.505170-1-zyytlz.wz@163.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit df2380520926bdbc264cffab0f45da9a21f304c8)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I79a1dbeba9a90ee5daf94648ef6a32207b283561
2023-07-04 15:09:57 +01:00
Zheng Wang
158d8bfffc UPSTREAM: media: rkvdec: fix use after free bug in rkvdec_remove
[ Upstream commit 3228cec23b8b29215e18090c6ba635840190993d ]

In rkvdec_probe, rkvdec->watchdog_work is bound with
rkvdec_watchdog_func. Then rkvdec_vp9_run may
be called to start the work.

If we remove the module which will call rkvdec_remove
 to make cleanup, there may be a unfinished work.
 The possible sequence is as follows, which will
 cause a typical UAF bug.

Fix it by canceling the work before cleanup in rkvdec_remove.

CPU0                  CPU1

                    |rkvdec_watchdog_func
rkvdec_remove       |
 rkvdec_v4l2_cleanup|
  v4l2_m2m_release  |
    kfree(m2m_dev); |
                    |
                    | v4l2_m2m_get_curr_priv
                    |   m2m_dev->curr_ctx //use

Bug: 289003637
Fixes: cd33c83044 ("media: rkvdec: Add the rkvdec driver")
Signed-off-by: Zheng Wang <zyytlz.wz@163.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 6a17add9c61030683b9c1fc86878f00a2d318a95)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Ibdf4667315d98ac1cd42545f61e271c291893edd
2023-07-04 10:36:40 +00:00
Lee Jones
739f5722f4 UPSTREAM: x86/mm: Avoid using set_pgd() outside of real PGD pages
commit d082d48737c75d2b3cc1f972b8c8674c25131534 upstream.

KPTI keeps around two PGDs: one for userspace and another for the
kernel. Among other things, set_pgd() contains infrastructure to
ensure that updates to the kernel PGD are reflected in the user PGD
as well.

One side-effect of this is that set_pgd() expects to be passed whole
pages.  Unfortunately, init_trampoline_kaslr() passes in a single entry:
'trampoline_pgd_entry'.

When KPTI is on, set_pgd() will update 'trampoline_pgd_entry' (an
8-Byte globally stored [.bss] variable) and will then proceed to
replicate that value into the non-existent neighboring user page
(located +4k away), leading to the corruption of other global [.bss]
stored variables.

Fix it by directly assigning 'trampoline_pgd_entry' and avoiding
set_pgd().

[ dhansen: tweak subject and changelog ]

Bug: 274115504
Fixes: 0925dda596 ("x86/mm/KASLR: Use only one PUD entry for real mode trampoline")
Suggested-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/all/20230614163859.924309-1-lee@kernel.org/g
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 364fdcbb035bb910e58a2814708de72481256466)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Idc1fc494d7ccb4a8a3765e1f46482583b528a584
2023-07-04 10:07:17 +00:00
Zhang Zhengming
5db82d830f UPSTREAM: relayfs: fix out-of-bounds access in relay_file_read
commit 43ec16f1450f4936025a9bdf1a273affdb9732c1 upstream.

There is a crash in relay_file_read, as the var from
point to the end of last subbuf.

The oops looks something like:
pc : __arch_copy_to_user+0x180/0x310
lr : relay_file_read+0x20c/0x2c8
Call trace:
 __arch_copy_to_user+0x180/0x310
 full_proxy_read+0x68/0x98
 vfs_read+0xb0/0x1d0
 ksys_read+0x6c/0xf0
 __arm64_sys_read+0x20/0x28
 el0_svc_common.constprop.3+0x84/0x108
 do_el0_svc+0x74/0x90
 el0_svc+0x1c/0x28
 el0_sync_handler+0x88/0xb0
 el0_sync+0x148/0x180

We get the condition by analyzing the vmcore:

1). The last produced byte and last consumed byte
    both at the end of the last subbuf

2). A softirq calls function(e.g __blk_add_trace)
    to write relay buffer occurs when an program is calling
    relay_file_read_avail().

        relay_file_read
                relay_file_read_avail
                        relay_file_read_consume(buf, 0, 0);
                        //interrupted by softirq who will write subbuf
                        ....
                        return 1;
                //read_start point to the end of the last subbuf
                read_start = relay_file_read_start_pos
                //avail is equal to subsize
                avail = relay_file_read_subbuf_avail
                //from  points to an invalid memory address
                from = buf->start + read_start
                //system is crashed
                copy_to_user(buffer, from, avail)

Bug: 288957094
Link: https://lkml.kernel.org/r/20230419040203.37676-1-zhang.zhengming@h3c.com
Fixes: 8d62fdebda ("relay file read: start-pos fix")
Signed-off-by: Zhang Zhengming <zhang.zhengming@h3c.com>
Reviewed-by: Zhao Lei <zhao_lei1@hoperun.com>
Reviewed-by: Zhou Kete <zhou.kete@h3c.com>
Reviewed-by: Pengcheng Yang <yangpc@wangsu.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit f6ee841ff2169d7a7d045340ee72b2b9de9f06c5)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Ibbdf65d8bf2268c3e8c09520f595167a2ed41e8b
2023-07-04 09:12:16 +00:00
Jens Axboe
be9bc79296 UPSTREAM: io_uring: hold uring mutex around poll removal
Snipped from commit 9ca9fb24d5febccea354089c41f96a8ad0d853f8 upstream.

While reworking the poll hashing in the v6.0 kernel, we ended up
grabbing the ctx->uring_lock in poll update/removal. This also fixed
a bug with linked timeouts racing with timeout expiry and poll
removal.

Bring back just the locking fix for that.

Bug: 289229683
Reported-and-tested-by: Querijn Voet <querijnqyn@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 0e388fce7aec40992eadee654193cad345d62663)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Ife3683f26b19af1887ae1c59d3bd8b4e1700c79a
2023-07-04 09:02:16 +00:00