Commit Graph

995954 Commits

Author SHA1 Message Date
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
Hangyu Hua
6a975c2771 UPSTREAM: net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
[ Upstream commit 4d56304e5827c8cc8cc18c75343d283af7c4825c ]

If we send two TCA_FLOWER_KEY_ENC_OPTS_GENEVE packets and their total
size is 252 bytes(key->enc_opts.len = 252) then
key->enc_opts.len = opt->length = data_len / 4 = 0 when the third
TCA_FLOWER_KEY_ENC_OPTS_GENEVE packet enters fl_set_geneve_opt. This
bypasses the next bounds check and results in an out-of-bounds.

Bug: 288660424
Fixes: 0a6e77784f ("net/sched: allow flower to match tunnel options")
Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Reviewed-by: Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com>
Link: https://lore.kernel.org/r/20230531102805.27090-1-hbh25y@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 45f47d2cf1142fbfe5d6fc39ad78f4aac058907c)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I53c534b7d43f4c7da5a9f63556c79d35797aa598
2023-07-03 19:13:10 +00:00
t.feng
c811ac11f7 UPSTREAM: ipvlan:Fix out-of-bounds caused by unclear skb->cb
[ Upstream commit 90cbed5247439a966b645b34eb0a2e037836ea8e ]

If skb enqueue the qdisc, fq_skb_cb(skb)->time_to_send is changed which
is actually skb->cb, and IPCB(skb_in)->opt will be used in
__ip_options_echo. It is possible that memcpy is out of bounds and lead
to stack overflow.
We should clear skb->cb before ip_local_out or ip6_local_out.

v2:
1. clean the stack info
2. use IPCB/IP6CB instead of skb->cb

crash on stable-5.10(reproduce in kasan kernel).
Stack info:
[ 2203.651571] BUG: KASAN: stack-out-of-bounds in
__ip_options_echo+0x589/0x800
[ 2203.653327] Write of size 4 at addr ffff88811a388f27 by task
swapper/3/0
[ 2203.655460] CPU: 3 PID: 0 Comm: swapper/3 Kdump: loaded Not tainted
5.10.0-60.18.0.50.h856.kasan.eulerosv2r11.x86_64 #1
[ 2203.655466] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS rel-1.10.2-0-g5f4c7b1-20181220_000000-szxrtosci10000 04/01/2014
[ 2203.655475] Call Trace:
[ 2203.655481]  <IRQ>
[ 2203.655501]  dump_stack+0x9c/0xd3
[ 2203.655514]  print_address_description.constprop.0+0x19/0x170
[ 2203.655530]  __kasan_report.cold+0x6c/0x84
[ 2203.655586]  kasan_report+0x3a/0x50
[ 2203.655594]  check_memory_region+0xfd/0x1f0
[ 2203.655601]  memcpy+0x39/0x60
[ 2203.655608]  __ip_options_echo+0x589/0x800
[ 2203.655654]  __icmp_send+0x59a/0x960
[ 2203.655755]  nf_send_unreach+0x129/0x3d0 [nf_reject_ipv4]
[ 2203.655763]  reject_tg+0x77/0x1bf [ipt_REJECT]
[ 2203.655772]  ipt_do_table+0x691/0xa40 [ip_tables]
[ 2203.655821]  nf_hook_slow+0x69/0x100
[ 2203.655828]  __ip_local_out+0x21e/0x2b0
[ 2203.655857]  ip_local_out+0x28/0x90
[ 2203.655868]  ipvlan_process_v4_outbound+0x21e/0x260 [ipvlan]
[ 2203.655931]  ipvlan_xmit_mode_l3+0x3bd/0x400 [ipvlan]
[ 2203.655967]  ipvlan_queue_xmit+0xb3/0x190 [ipvlan]
[ 2203.655977]  ipvlan_start_xmit+0x2e/0xb0 [ipvlan]
[ 2203.655984]  xmit_one.constprop.0+0xe1/0x280
[ 2203.655992]  dev_hard_start_xmit+0x62/0x100
[ 2203.656000]  sch_direct_xmit+0x215/0x640
[ 2203.656028]  __qdisc_run+0x153/0x1f0
[ 2203.656069]  __dev_queue_xmit+0x77f/0x1030
[ 2203.656173]  ip_finish_output2+0x59b/0xc20
[ 2203.656244]  __ip_finish_output.part.0+0x318/0x3d0
[ 2203.656312]  ip_finish_output+0x168/0x190
[ 2203.656320]  ip_output+0x12d/0x220
[ 2203.656357]  __ip_queue_xmit+0x392/0x880
[ 2203.656380]  __tcp_transmit_skb+0x1088/0x11c0
[ 2203.656436]  __tcp_retransmit_skb+0x475/0xa30
[ 2203.656505]  tcp_retransmit_skb+0x2d/0x190
[ 2203.656512]  tcp_retransmit_timer+0x3af/0x9a0
[ 2203.656519]  tcp_write_timer_handler+0x3ba/0x510
[ 2203.656529]  tcp_write_timer+0x55/0x180
[ 2203.656542]  call_timer_fn+0x3f/0x1d0
[ 2203.656555]  expire_timers+0x160/0x200
[ 2203.656562]  run_timer_softirq+0x1f4/0x480
[ 2203.656606]  __do_softirq+0xfd/0x402
[ 2203.656613]  asm_call_irq_on_stack+0x12/0x20
[ 2203.656617]  </IRQ>
[ 2203.656623]  do_softirq_own_stack+0x37/0x50
[ 2203.656631]  irq_exit_rcu+0x134/0x1a0
[ 2203.656639]  sysvec_apic_timer_interrupt+0x36/0x80
[ 2203.656646]  asm_sysvec_apic_timer_interrupt+0x12/0x20
[ 2203.656654] RIP: 0010:default_idle+0x13/0x20
[ 2203.656663] Code: 89 f0 5d 41 5c 41 5d 41 5e c3 cc cc cc cc cc cc cc
cc cc cc cc cc cc 0f 1f 44 00 00 0f 1f 44 00 00 0f 00 2d 9f 32 57 00 fb
f4 <c3> cc cc cc cc 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 41 54 be 08
[ 2203.656668] RSP: 0018:ffff88810036fe78 EFLAGS: 00000256
[ 2203.656676] RAX: ffffffffaf2a87f0 RBX: ffff888100360000 RCX:
ffffffffaf290191
[ 2203.656681] RDX: 0000000000098b5e RSI: 0000000000000004 RDI:
ffff88811a3c4f60
[ 2203.656686] RBP: 0000000000000000 R08: 0000000000000001 R09:
ffff88811a3c4f63
[ 2203.656690] R10: ffffed10234789ec R11: 0000000000000001 R12:
0000000000000003
[ 2203.656695] R13: ffff888100360000 R14: 0000000000000000 R15:
0000000000000000
[ 2203.656729]  default_idle_call+0x5a/0x150
[ 2203.656735]  cpuidle_idle_call+0x1c6/0x220
[ 2203.656780]  do_idle+0xab/0x100
[ 2203.656786]  cpu_startup_entry+0x19/0x20
[ 2203.656793]  secondary_startup_64_no_verify+0xc2/0xcb

[ 2203.657409] The buggy address belongs to the page:
[ 2203.658648] page:0000000027a9842f refcount:1 mapcount:0
mapping:0000000000000000 index:0x0 pfn:0x11a388
[ 2203.658665] flags:
0x17ffffc0001000(reserved|node=0|zone=2|lastcpupid=0x1fffff)
[ 2203.658675] raw: 0017ffffc0001000 ffffea000468e208 ffffea000468e208
0000000000000000
[ 2203.658682] raw: 0000000000000000 0000000000000000 00000001ffffffff
0000000000000000
[ 2203.658686] page dumped because: kasan: bad access detected

To reproduce(ipvlan with IPVLAN_MODE_L3):
Env setting:
=======================================================
modprobe ipvlan ipvlan_default_mode=1
sysctl net.ipv4.conf.eth0.forwarding=1
iptables -t nat -A POSTROUTING -s 20.0.0.0/255.255.255.0 -o eth0 -j
MASQUERADE
ip link add gw link eth0 type ipvlan
ip -4 addr add 20.0.0.254/24 dev gw
ip netns add net1
ip link add ipv1 link eth0 type ipvlan
ip link set ipv1 netns net1
ip netns exec net1 ip link set ipv1 up
ip netns exec net1 ip -4 addr add 20.0.0.4/24 dev ipv1
ip netns exec net1 route add default gw 20.0.0.254
ip netns exec net1 tc qdisc add dev ipv1 root netem loss 10%
ifconfig gw up
iptables -t filter -A OUTPUT -p tcp --dport 8888 -j REJECT --reject-with
icmp-port-unreachable
=======================================================
And then excute the shell(curl any address of eth0 can reach):

for((i=1;i<=100000;i++))
do
        ip netns exec net1 curl x.x.x.x:8888
done
=======================================================

Bug: 289225588
Fixes: 2ad7bf3638 ("ipvlan: Initial check-in of the IPVLAN driver.")
Signed-off-by: "t.feng" <fengtao40@huawei.com>
Suggested-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 610a433810b277b3b77389733c07d22e8af68de2)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I08a12f6e3b1614210867cd23e9071918dc380faf
2023-07-03 16:07:11 +00:00
Oven
540586cf5b ANDROID: GKI: Update symbols to symbol list
Leaf changes summary: 14 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 7 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 7 Added variables

7 Added functions:

  [A] 'function int __traceiter_android_vh_free_unref_page_bypass(void*, page*, int, int, bool*)'
  [A] 'function int __traceiter_android_vh_kvmalloc_node_use_vmalloc(void*, size_t, gfp_t*, bool*)'
  [A] 'function int __traceiter_android_vh_pageset_update(void*, unsigned long int*, unsigned long int*)'
  [A] 'function int __traceiter_android_vh_rmqueue_bulk_bypass(void*, unsigned int, per_cpu_pages*, int, list_head*)'
  [A] 'function int __traceiter_android_vh_should_alloc_pages_retry(void*, gfp_t, int, int*, int, zone*, page**, bool*)'
  [A] 'function int __traceiter_android_vh_tune_mmap_readaround(void*, unsigned int, unsigned long int, unsigned long int*, unsigned int*, unsigned int*)'
  [A] 'function int __traceiter_android_vh_unreserve_highatomic_bypass(void*, bool, zone*, bool*)'

7 Added variables:

  [A] 'tracepoint __tracepoint_android_vh_free_unref_page_bypass'
  [A] 'tracepoint __tracepoint_android_vh_kvmalloc_node_use_vmalloc'
  [A] 'tracepoint __tracepoint_android_vh_pageset_update'
  [A] 'tracepoint __tracepoint_android_vh_rmqueue_bulk_bypass'
  [A] 'tracepoint __tracepoint_android_vh_should_alloc_pages_retry'
  [A] 'tracepoint __tracepoint_android_vh_tune_mmap_readaround'
  [A] 'tracepoint __tracepoint_android_vh_unreserve_highatomic_bypass'


Bug: 288216516
Change-Id: Id93d9871ea9fc292916e2b75b95b017ccb6e2011
Signed-off-by: Oven <liyangouwen1@oppo.com>
2023-06-30 08:42:41 +00:00
Oven
4782c8cb16 ANDROID: vendor_hook: Add hook to tune readaround size
In some situations, we want to decrease readaround size for better
performance. So we add this hook.

Bug: 288216516
Change-Id: If2f5f75976c99ff1f82ce29d370f9216926055ab
Signed-off-by: Oven <liyangouwen1@oppo.com>
2023-06-30 08:42:41 +00:00
Oven
69a794a283 ANDROID: vendor_hooks: Add hooks to avoid key threads stalled in
memory allocations

We add these hooks to avoid key threads blocked in memory allocation
path.
-android_vh_free_unref_page_bypass  ----We create a memory pool for the key threads. This hook determines whether a page should be free to the pool or to buddy freelist. It works with a existing hook `android_vh_alloc_pages_reclaim_bypass`, which takes pages out of the pool.

-android_vh_kvmalloc_node_use_vmalloc  ----For key threads, we perfer not to run into direct reclaim. So we clear __GFP_DIRECT_RECLAIM flag. For threads which are not that important, we perfer use vmalloc.

-android_vh_should_alloc_pages_retry  ----Before key threads run into direct reclaim, we want to retry with a lower watermark.

-android_vh_unreserve_highatomic_bypass  ----We want to keep more highatomic pages when unreserve them to avoid highatomic allocation failures.

-android_vh_pageset_update  ----We found the default per-cpu pageset is quite few in smartphones with large ram size. This hook is used to increase it to reduce zone->lock contentions.

-android_vh_rmqueue_bulk_bypass  ----We found sometimes when key threads run into rmqueue_bulk,  it took several milliseconds spinning at zone->lock or filling per-cpu pages. We use this hook to take pages from the mempool mentioned above,  rather than grab zone->lock and fill a batch of pages to per-cpu.

Bug: 288216516
Change-Id: I1656032d6819ca627723341987b6094775bc345f
Signed-off-by: Oven <liyangouwen1@oppo.com>
2023-06-30 08:42:41 +00:00
Chao Yu
69dc2c1a79 UPSTREAM: f2fs: fix to avoid use-after-free for cached IPU bio
[ Upstream commit 5cdb422c839134273866208dad5360835ddb9794 ]

xfstest generic/019 reports a bug:

kernel BUG at mm/filemap.c:1619!
RIP: 0010:folio_end_writeback+0x8a/0x90
Call Trace:
 end_page_writeback+0x1c/0x60
 f2fs_write_end_io+0x199/0x420
 bio_endio+0x104/0x180
 submit_bio_noacct+0xa5/0x510
 submit_bio+0x48/0x80
 f2fs_submit_write_bio+0x35/0x300
 f2fs_submit_merged_ipu_write+0x2a0/0x2b0
 f2fs_write_single_data_page+0x838/0x8b0
 f2fs_write_cache_pages+0x379/0xa30
 f2fs_write_data_pages+0x30c/0x340
 do_writepages+0xd8/0x1b0
 __writeback_single_inode+0x44/0x370
 writeback_sb_inodes+0x233/0x4d0
 __writeback_inodes_wb+0x56/0xf0
 wb_writeback+0x1dd/0x2d0
 wb_workfn+0x367/0x4a0
 process_one_work+0x21d/0x430
 worker_thread+0x4e/0x3c0
 kthread+0x103/0x130
 ret_from_fork+0x2c/0x50

The root cause is: after cp_error is set, f2fs_submit_merged_ipu_write()
in f2fs_write_single_data_page() tries to flush IPU bio in cache, however
f2fs_submit_merged_ipu_write() missed to check validity of @bio parameter,
result in submitting random cached bio which belong to other IO context,
then it will cause use-after-free issue, fix it by adding additional
validity check.

Fixes: 0b20fcec86 ("f2fs: cache global IPU bio")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Bug: 268109575
Change-Id: Ifbdad0f8e8b51592ed63d025cf13965e623a7956
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
2023-06-29 13:13:11 +00:00
Lee Jones
39c3d16903 UPSTREAM: net/sched: cls_u32: Fix reference counter leak leading to overflow
[ Upstream commit 04c55383fa5689357bcdd2c8036725a55ed632bc ]

In the event of a failure in tcf_change_indev(), u32_set_parms() will
immediately return without decrementing the recently incremented
reference counter.  If this happens enough times, the counter will
rollover and the reference freed, leading to a double free which can be
used to do 'bad things'.

In order to prevent this, move the point of possible failure above the
point where the reference counter is incremented.  Also save any
meaningful return values to be applied to the return data at the
appropriate point in time.

This issue was caught with KASAN.

Bug: 273251569
Fixes: 705c709126 ("net: sched: cls_u32: no need to call tcf_exts_change for newly allocated struct")
Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 07f9cc229b44cbcee6385802d390091d915f38c3)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I95524bfda9a08a40b3d54515e528419dba18dc55
2023-06-26 12:06:33 +01:00
Darrick J. Wong
4991def0fa UPSTREAM: xfs: verify buffer contents when we skip log replay
commit 22ed903eee23a5b174e240f1cdfa9acf393a5210 upstream.

syzbot detected a crash during log recovery:

XFS (loop0): Mounting V5 Filesystem bfdc47fc-10d8-4eed-a562-11a831b3f791
XFS (loop0): Torn write (CRC failure) detected at log block 0x180. Truncating head block from 0x200.
XFS (loop0): Starting recovery (logdev: internal)
==================================================================
BUG: KASAN: slab-out-of-bounds in xfs_btree_lookup_get_block+0x15c/0x6d0 fs/xfs/libxfs/xfs_btree.c:1813
Read of size 8 at addr ffff88807e89f258 by task syz-executor132/5074

CPU: 0 PID: 5074 Comm: syz-executor132 Not tainted 6.2.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1b1/0x290 lib/dump_stack.c:106
 print_address_description+0x74/0x340 mm/kasan/report.c:306
 print_report+0x107/0x1f0 mm/kasan/report.c:417
 kasan_report+0xcd/0x100 mm/kasan/report.c:517
 xfs_btree_lookup_get_block+0x15c/0x6d0 fs/xfs/libxfs/xfs_btree.c:1813
 xfs_btree_lookup+0x346/0x12c0 fs/xfs/libxfs/xfs_btree.c:1913
 xfs_btree_simple_query_range+0xde/0x6a0 fs/xfs/libxfs/xfs_btree.c:4713
 xfs_btree_query_range+0x2db/0x380 fs/xfs/libxfs/xfs_btree.c:4953
 xfs_refcount_recover_cow_leftovers+0x2d1/0xa60 fs/xfs/libxfs/xfs_refcount.c:1946
 xfs_reflink_recover_cow+0xab/0x1b0 fs/xfs/xfs_reflink.c:930
 xlog_recover_finish+0x824/0x920 fs/xfs/xfs_log_recover.c:3493
 xfs_log_mount_finish+0x1ec/0x3d0 fs/xfs/xfs_log.c:829
 xfs_mountfs+0x146a/0x1ef0 fs/xfs/xfs_mount.c:933
 xfs_fs_fill_super+0xf95/0x11f0 fs/xfs/xfs_super.c:1666
 get_tree_bdev+0x400/0x620 fs/super.c:1282
 vfs_get_tree+0x88/0x270 fs/super.c:1489
 do_new_mount+0x289/0xad0 fs/namespace.c:3145
 do_mount fs/namespace.c:3488 [inline]
 __do_sys_mount fs/namespace.c:3697 [inline]
 __se_sys_mount+0x2d3/0x3c0 fs/namespace.c:3674
 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+0x63/0xcd
RIP: 0033:0x7f89fa3f4aca
Code: 83 c4 08 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fffd5fb5ef8 EFLAGS: 00000206 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00646975756f6e2c RCX: 00007f89fa3f4aca
RDX: 0000000020000100 RSI: 0000000020009640 RDI: 00007fffd5fb5f10
RBP: 00007fffd5fb5f10 R08: 00007fffd5fb5f50 R09: 000000000000970d
R10: 0000000000200800 R11: 0000000000000206 R12: 0000000000000004
R13: 0000555556c6b2c0 R14: 0000000000200800 R15: 00007fffd5fb5f50
 </TASK>

The fuzzed image contains an AGF with an obviously garbage
agf_refcount_level value of 32, and a dirty log with a buffer log item
for that AGF.  The ondisk AGF has a higher LSN than the recovered log
item.  xlog_recover_buf_commit_pass2 reads the buffer, compares the
LSNs, and decides to skip replay because the ondisk buffer appears to be
newer.

Unfortunately, the ondisk buffer is corrupt, but recovery just read the
buffer with no buffer ops specified:

	error = xfs_buf_read(mp->m_ddev_targp, buf_f->blf_blkno,
			buf_f->blf_len, buf_flags, &bp, NULL);

Skipping the buffer leaves its contents in memory unverified.  This sets
us up for a kernel crash because xfs_refcount_recover_cow_leftovers
reads the buffer (which is still around in XBF_DONE state, so no read
verification) and creates a refcountbt cursor of height 32.  This is
impossible so we run off the end of the cursor object and crash.

Fix this by invoking the verifier on all skipped buffers and aborting
log recovery if the ondisk buffer is corrupt.  It might be smarter to
force replay the log item atop the buffer and then see if it'll pass the
write verifier (like ext4 does) but for now let's go with the
conservative option where we stop immediately.

Bug: 284409747
Link: https://syzkaller.appspot.com/bug?extid=7e9494b8b399902e994e
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Reported-by: Danila Chernetsov <listdansp@mail.ru>
Link: https://lore.kernel.org/linux-xfs/20230601164439.15404-1-listdansp@mail.ru
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit a2961463d74f5c86a8dda3b41c484c28ccc4c289)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Ie5e156221966323a9cb7cc261b4ed17593cfaabd
2023-06-23 12:20:27 +00:00
Zheng Wang
1c98645c8e UPSTREAM: memstick: r592: Fix UAF bug in r592_remove due to race condition
[ Upstream commit 63264422785021704c39b38f65a78ab9e4a186d7 ]

In r592_probe, dev->detect_timer was bound with r592_detect_timer.
In r592_irq function, the timer function will be invoked by mod_timer.

If we remove the module which will call hantro_release 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 r592_remove.

CPU0                  CPU1

                    |r592_detect_timer
r592_remove         |
  memstick_free_host|
  put_device;       |
  kfree(host);      |
                    |
                    | queue_work
                    |   &host->media_checker //use

Bug: 287729043
Signed-off-by: Zheng Wang <zyytlz.wz@163.com>
Link: https://lore.kernel.org/r/20230307164338.1246287-1-zyytlz.wz@163.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 9a342d4eb9fb8e52f7d1afe088a79513f3f9a9a5)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Idb15f593287ebaeec294b3e276126306fa6743ba
2023-06-23 12:10:05 +00:00
Zixuan Fu
e6d71f847b BACKPORT: btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
commit 85f02d6c856b9f3a0acf5219de6e32f58b9778eb upstream.

In btrfs_relocate_block_group(), the rc is allocated.  Then
btrfs_relocate_block_group() calls

relocate_block_group()
  prepare_to_relocate()
    set_reloc_control()

that assigns rc to the variable fs_info->reloc_ctl. When
prepare_to_relocate() returns, it calls

btrfs_commit_transaction()
  btrfs_start_dirty_block_groups()
    btrfs_alloc_path()
      kmem_cache_zalloc()

which may fail for example (or other errors could happen). When the
failure occurs, btrfs_relocate_block_group() detects the error and frees
rc and doesn't set fs_info->reloc_ctl to NULL. After that, in
btrfs_init_reloc_root(), rc is retrieved from fs_info->reloc_ctl and
then used, which may cause a use-after-free bug.

This possible bug can be triggered by calling btrfs_ioctl_balance()
before calling btrfs_ioctl_defrag().

To fix this possible bug, in prepare_to_relocate(), check if
btrfs_commit_transaction() fails. If the failure occurs,
unset_reloc_control() is called to set fs_info->reloc_ctl to NULL.

The error log in our fault-injection testing is shown as follows:

  [   58.751070] BUG: KASAN: use-after-free in btrfs_init_reloc_root+0x7ca/0x920 [btrfs]
  ...
  [   58.753577] Call Trace:
  ...
  [   58.755800]  kasan_report+0x45/0x60
  [   58.756066]  btrfs_init_reloc_root+0x7ca/0x920 [btrfs]
  [   58.757304]  record_root_in_trans+0x792/0xa10 [btrfs]
  [   58.757748]  btrfs_record_root_in_trans+0x463/0x4f0 [btrfs]
  [   58.758231]  start_transaction+0x896/0x2950 [btrfs]
  [   58.758661]  btrfs_defrag_root+0x250/0xc00 [btrfs]
  [   58.759083]  btrfs_ioctl_defrag+0x467/0xa00 [btrfs]
  [   58.759513]  btrfs_ioctl+0x3c95/0x114e0 [btrfs]
  ...
  [   58.768510] Allocated by task 23683:
  [   58.768777]  ____kasan_kmalloc+0xb5/0xf0
  [   58.769069]  __kmalloc+0x227/0x3d0
  [   58.769325]  alloc_reloc_control+0x10a/0x3d0 [btrfs]
  [   58.769755]  btrfs_relocate_block_group+0x7aa/0x1e20 [btrfs]
  [   58.770228]  btrfs_relocate_chunk+0xf1/0x760 [btrfs]
  [   58.770655]  __btrfs_balance+0x1326/0x1f10 [btrfs]
  [   58.771071]  btrfs_balance+0x3150/0x3d30 [btrfs]
  [   58.771472]  btrfs_ioctl_balance+0xd84/0x1410 [btrfs]
  [   58.771902]  btrfs_ioctl+0x4caa/0x114e0 [btrfs]
  ...
  [   58.773337] Freed by task 23683:
  ...
  [   58.774815]  kfree+0xda/0x2b0
  [   58.775038]  free_reloc_control+0x1d6/0x220 [btrfs]
  [   58.775465]  btrfs_relocate_block_group+0x115c/0x1e20 [btrfs]
  [   58.775944]  btrfs_relocate_chunk+0xf1/0x760 [btrfs]
  [   58.776369]  __btrfs_balance+0x1326/0x1f10 [btrfs]
  [   58.776784]  btrfs_balance+0x3150/0x3d30 [btrfs]
  [   58.777185]  btrfs_ioctl_balance+0xd84/0x1410 [btrfs]
  [   58.777621]  btrfs_ioctl+0x4caa/0x114e0 [btrfs]
  ...

Bug: 286629572
Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
CC: stable@vger.kernel.org # 5.15+
Reviewed-by: Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
Reviewed-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Zixuan Fu <r33s3n6@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b60e862e13)
[Lee: Fixed minor conflict - returning result vs returning 0]
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I9212b61a85d36e20eed337d59fbadc2782d96a24
2023-06-23 12:05:26 +00:00
LongPing Wei
b3af11bf90 ANDROID: ABI: Update oplus symbol list
1 function symbol(s) added
  'int cgroup_add_dfl_cftypes(struct cgroup_subsys *, struct cftype *)'

Bug: 287922632

Change-Id: I7f6d9d7310c59601079566951303208d2b9dcfc4
Signed-off-by: LongPing Wei <weilongping@oppo.com>
2023-06-21 13:23:47 +00:00
LongPing Wei
5f17bf82b4 ANDROID: Export memcg functions to allow module to add new files
Export cgroup_add_dfl_cftypes to allow vendor module to expose additional files in the memory cgroup-v2 hierarchy.

Bug: 287922632

Change-Id: I103b983fbb46ff7a45cfc57f5657142a1bbd3d68
Signed-off-by: LongPing Wei <weilongping@oppo.com>
2023-06-21 13:23:40 +00:00
Lee Jones
40aea038ea ANDROID: HID: Only utilise UHID provided exports if UHID is enabled
Commit "ANDROID: HID; Over-ride default maximum buffer size when using
UHID" provided a means for the UHID driver to offer an alternative
(smaller) report buffer size when dealing with user-space.  The method
used was an Android-only solution designed to prevent the KMI ABI from
being broken (nb: the upstream solution was cleaner, but broke the ABI).

Since this solution involved consuming resources exported by a
subordinate driver, that driver would have to be enabled for the export
to take place.  Since all of our default configs enable UHID, an issue
was not detected.  However, for more specific kernel configs, where HID
is enabled, but UHID is not, this leads to compile-time undefined symbol
errors:

  ld.lld: error: undefined symbol: uhid_hid_driver

This patch relies on the compiler to leave out unutilised sections of
the code if the associated resources are not available.

Bug: 260007429
Reported-by: Paul Lawrence <paullawrence@google.com>
Reported-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I80b1aa7454c89d5c5e21f0268252ffb666efab97
Signed-off-by: Lee Jones <joneslee@google.com>
2023-06-21 10:56:09 +01:00
Ruihan Li
5bffeca4fb UPSTREAM: bluetooth: Perform careful capability checks in hci_sock_ioctl()
commit 25c150ac103a4ebeed0319994c742a90634ddf18 upstream.

Previously, capability was checked using capable(), which verified that the
caller of the ioctl system call had the required capability. In addition,
the result of the check would be stored in the HCI_SOCK_TRUSTED flag,
making it persistent for the socket.

However, malicious programs can abuse this approach by deliberately sharing
an HCI socket with a privileged task. The HCI socket will be marked as
trusted when the privileged task occasionally makes an ioctl call.

This problem can be solved by using sk_capable() to check capability, which
ensures that not only the current task but also the socket opener has the
specified capability, thus reducing the risk of privilege escalation
through the previously identified vulnerability.

Bug: 286456284
Cc: stable@vger.kernel.org
Fixes: f81f5b2db8 ("Bluetooth: Send control open and close messages for HCI raw sockets")
Signed-off-by: Ruihan Li <lrh2000@pku.edu.cn>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 47e6893a5b0ad14c0b1c25983a1facb1cf667b6e)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I9a4b20c7b1e9b4e6bbd6371264aec039770a52ff
2023-06-19 11:23:12 +01:00
Lee Jones
c93516a2d0 ANDROID: HID; Over-ride default maximum buffer size when using UHID
Presently, when a report is processed, its proposed size, provided by
the user of the API (as Report Size * Report Count) is compared against
the subsystem default HID_MAX_BUFFER_SIZE (16k).  However, some
low-level HID drivers allocate a reduced amount of memory to their
buffers (e.g. UHID only allocates UHID_DATA_MAX (4k) buffers), rending
this check inadequate in some cases.

In these circumstances, if the received report ends up being smaller
than the proposed report size, the remainder of the buffer is zeroed.
That is, the space between sizeof(csize) (size of the current report)
and the rsize (size proposed i.e. Report Size * Report Count), which can
be handled up to HID_MAX_BUFFER_SIZE (16k).  Meaning that memset()
shoots straight past the end of the buffer boundary and starts zeroing
out in-use values, often resulting in calamity.

This is an Android specific patch which essentially achieves the same
goal as the recently reverted upstream commits b1a37ed00d790 "(HID:
core: Provide new max_buffer_size attribute to over-ride the default")
and 1c5d4221240a2 ("HID: uhid: Over-ride the default maximum data buffer
value with our own") only it does so in an ABI friendly (albeit more
hacky) way.

Bug: 260007429
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I1f56673bb67b63ab14b58634bfe74a04b0758e3d
(cherry picked from commit 71761b36c37ae15a09fdd4d4adcc98bb939c426c)
2023-06-15 09:18:56 +00:00
Uttkarsh Aggarwal
ab25d94e88 UPSTREAM: usb: gadget: f_fs: Add unbind event before functionfs_unbind
While exercising the unbind path, with the current implementation
the functionfs_unbind would be calling which waits for the ffs->mutex
to be available, however within the same time ffs_ep0_read is invoked
& if no setup packets are pending, it will invoke function
wait_event_interruptible_exclusive_locked_irq which by definition waits
for the ev.count to be increased inside the same mutex for which
functionfs_unbind is waiting.
This creates deadlock situation because the functionfs_unbind won't
get the lock until ev.count is increased which can only happen if
the caller ffs_func_unbind can proceed further.

Following is the illustration:

	CPU1				CPU2

ffs_func_unbind()		ffs_ep0_read()
				mutex_lock(ffs->mutex)
				wait_event(ffs->ev.count)
functionfs_unbind()
  mutex_lock(ffs->mutex)
  mutex_unlock(ffs->mutex)

ffs_event_add()

<deadlock>

Fix this by moving the event unbind before functionfs_unbind
to ensure the ev.count is incrased properly.

Fixes: 6a19da111057 ("usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait")
Cc: stable <stable@kernel.org>
Signed-off-by: Uttkarsh Aggarwal <quic_uaggarwa@quicinc.com>
Link: https://lore.kernel.org/r/20230525092854.7992-1-quic_uaggarwa@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 285072336
(cherry picked from commit efb6b535207395a5c7317993602e2503ca8cb4b3)
Change-Id: Iae8cbdacc64810b3a63f77d0510b61fb39d10ae8
Signed-off-by: Uttkarsh Aggarwal <quic_uaggarwa@quicinc.com>
2023-06-15 07:57:26 +00:00
Tudor Ambarus
552009b284 UPSTREAM: net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
commit 7e01c7f7046efc2c7c192c3619db43292b98e997 upstream.

Currently in cdc_ncm_check_tx_max(), if dwNtbOutMaxSize is lower than
the calculated "min" value, but greater than zero, the logic sets
tx_max to dwNtbOutMaxSize. This is then used to allocate a new SKB in
cdc_ncm_fill_tx_frame() where all the data is handled.

For small values of dwNtbOutMaxSize the memory allocated during
alloc_skb(dwNtbOutMaxSize, GFP_ATOMIC) will have the same size, due to
how size is aligned at alloc time:
	size = SKB_DATA_ALIGN(size);
        size += SKB_DATA_ALIGN(sizeof(struct skb_shared_info));
Thus we hit the same bug that we tried to squash with
commit 2be6d4d16a084 ("net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero")

Low values of dwNtbOutMaxSize do not cause an issue presently because at
alloc_skb() time more memory (512b) is allocated than required for the
SKB headers alone (320b), leaving some space (512b - 320b = 192b)
for CDC data (172b).

However, if more elements (for example 3 x u64 = [24b]) were added to
one of the SKB header structs, say 'struct skb_shared_info',
increasing its original size (320b [320b aligned]) to something larger
(344b [384b aligned]), then suddenly the CDC data (172b) no longer
fits in the spare SKB data area (512b - 384b = 128b).

Consequently the SKB bounds checking semantics fails and panics:

skbuff: skb_over_panic: text:ffffffff831f755b len:184 put:172 head:ffff88811f1c6c00 data:ffff88811f1c6c00 tail:0xb8 end:0x80 dev:<NULL>
------------[ cut here ]------------
kernel BUG at net/core/skbuff.c:113!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 57 Comm: kworker/0:2 Not tainted 5.15.106-syzkaller-00249-g19c0ed55a470 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/14/2023
Workqueue: mld mld_ifc_work
RIP: 0010:skb_panic net/core/skbuff.c:113 [inline]
RIP: 0010:skb_over_panic+0x14c/0x150 net/core/skbuff.c:118
[snip]
Call Trace:
 <TASK>
 skb_put+0x151/0x210 net/core/skbuff.c:2047
 skb_put_zero include/linux/skbuff.h:2422 [inline]
 cdc_ncm_ndp16 drivers/net/usb/cdc_ncm.c:1131 [inline]
 cdc_ncm_fill_tx_frame+0x11ab/0x3da0 drivers/net/usb/cdc_ncm.c:1308
 cdc_ncm_tx_fixup+0xa3/0x100

Deal with too low values of dwNtbOutMaxSize, clamp it in the range
[USB_CDC_NCM_NTB_MIN_OUT_SIZE, CDC_NCM_NTB_MAX_SIZE_TX]. We ensure
enough data space is allocated to handle CDC data by making sure
dwNtbOutMaxSize is not smaller than USB_CDC_NCM_NTB_MIN_OUT_SIZE.

Fixes: 289507d336 ("net: cdc_ncm: use sysfs for rx/tx aggregation tuning")
Cc: stable@vger.kernel.org
Reported-by: syzbot+9f575a1f15fc0c01ed69@syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?extid=b982f1059506db48409d
Link: https://lore.kernel.org/all/20211202143437.1411410-1-lee.jones@linaro.org/
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/20230517133808.1873695-2-tudor.ambarus@linaro.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 281604646
Bug: 281606231
Change-Id: Ic1d912e7bf2ba53620eb8293b68ec6046422e047
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
2023-06-13 11:06:54 +00:00
Kyongho Cho
c6ae8be4e6 ANDROID: GKI: update symbol list for exynos
Leaf changes summary: 3 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, 0 Added variable

3 Added functions:

  [A] 'function void copy_highpage(page*, page*)'
  [A] 'function void ttm_bo_unmap_virtual(ttm_buffer_object*)'
  [A] 'function int ttm_bo_wait(ttm_buffer_object*, bool, bool)'

Bug: 286912592

Change-Id: I97371458327427fffef390154f817149a3120cbd
Signed-off-by: Kyongho Cho <pullip.cho@samsung.com>
2023-06-13 11:04:45 +00:00
Dan Carpenter
0a52039fcb UPSTREAM: mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
[ Upstream commit 8fe72b76db79d694858e872370df49676bc3be8c ]

There was a bug where this code forgot to unlock the tdev->mutex if the
kzalloc() failed.  Fix this issue, by moving the allocation outside the
lock.

Bug: 275340532
Fixes: 2d1e952a2b8e ("mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Lee Jones <lee@kernel.org>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 7d233f93594f0d9afe44e9409131a8d6ad4f593c)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I7a4a1bf06abbb2092aceb72610e3f894b2bfbf0f
2023-06-12 14:10:29 +01:00
Lee Jones
17bbc533f8 UPSTREAM: mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
[ Upstream commit 2d1e952a2b8e5e92d8d55ac88a7cf7ca5ea591ad ]

If a user can make copy_from_user() fail, there is a potential for
UAF/DF due to a lack of locking around the allocation, use and freeing
of the data buffers.

This issue is not theoretical.  I managed to author a POC for it:

    BUG: KASAN: double-free in kfree+0x5c/0xac
    Free of addr ffff29280be5de00 by task poc/356
    CPU: 1 PID: 356 Comm: poc Not tainted 6.1.0-00001-g961aa6552c04-dirty #20
    Hardware name: linux,dummy-virt (DT)
    Call trace:
     dump_backtrace.part.0+0xe0/0xf0
     show_stack+0x18/0x40
     dump_stack_lvl+0x64/0x80
     print_report+0x188/0x48c
     kasan_report_invalid_free+0xa0/0xc0
     ____kasan_slab_free+0x174/0x1b0
     __kasan_slab_free+0x18/0x24
     __kmem_cache_free+0x130/0x2e0
     kfree+0x5c/0xac
     mbox_test_message_write+0x208/0x29c
     full_proxy_write+0x90/0xf0
     vfs_write+0x154/0x440
     ksys_write+0xcc/0x180
     __arm64_sys_write+0x44/0x60
     invoke_syscall+0x60/0x190
     el0_svc_common.constprop.0+0x7c/0x160
     do_el0_svc+0x40/0xf0
     el0_svc+0x2c/0x6c
     el0t_64_sync_handler+0xf4/0x120
     el0t_64_sync+0x18c/0x190

    Allocated by task 356:
     kasan_save_stack+0x3c/0x70
     kasan_set_track+0x2c/0x40
     kasan_save_alloc_info+0x24/0x34
     __kasan_kmalloc+0xb8/0xc0
     kmalloc_trace+0x58/0x70
     mbox_test_message_write+0x6c/0x29c
     full_proxy_write+0x90/0xf0
     vfs_write+0x154/0x440
     ksys_write+0xcc/0x180
     __arm64_sys_write+0x44/0x60
     invoke_syscall+0x60/0x190
     el0_svc_common.constprop.0+0x7c/0x160
     do_el0_svc+0x40/0xf0
     el0_svc+0x2c/0x6c
     el0t_64_sync_handler+0xf4/0x120
     el0t_64_sync+0x18c/0x190

    Freed by task 357:
     kasan_save_stack+0x3c/0x70
     kasan_set_track+0x2c/0x40
     kasan_save_free_info+0x38/0x5c
     ____kasan_slab_free+0x13c/0x1b0
     __kasan_slab_free+0x18/0x24
     __kmem_cache_free+0x130/0x2e0
     kfree+0x5c/0xac
     mbox_test_message_write+0x208/0x29c
     full_proxy_write+0x90/0xf0
     vfs_write+0x154/0x440
     ksys_write+0xcc/0x180
     __arm64_sys_write+0x44/0x60
     invoke_syscall+0x60/0x190
     el0_svc_common.constprop.0+0x7c/0x160
     do_el0_svc+0x40/0xf0
     el0_svc+0x2c/0x6c
     el0t_64_sync_handler+0xf4/0x120
     el0t_64_sync+0x18c/0x190

Bug: 275340532
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit cad1abbe488dfd149499e492344c03b87bb0b08c)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I79753a9a63d8b04e139eaaeb9435bf1d05d38892
2023-06-12 14:04:28 +01:00
Zheng Wang
708d51e22a UPSTREAM: 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
[ Upstream commit ea4f1009408efb4989a0f139b70fb338e7f687d0 ]

In xen_9pfs_front_probe, it calls xen_9pfs_front_alloc_dataring
to init priv->rings and bound &ring->work with p9_xen_response.

When it calls xen_9pfs_front_event_handler to handle IRQ requests,
it will finally call schedule_work to start the work.

When we call xen_9pfs_front_remove to remove the driver, there
may be a sequence as follows:

Fix it by finishing the work before cleanup in xen_9pfs_front_free.

Note that, this bug is found by static analysis, which might be
false positive.

CPU0                  CPU1

                     |p9_xen_response
xen_9pfs_front_remove|
  xen_9pfs_front_free|
kfree(priv)          |
//free priv          |
                     |p9_tag_lookup
                     |//use priv->client

Bug: 284409180
Fixes: 71ebd71921 ("xen/9pfs: connect to the backend")
Signed-off-by: Zheng Wang <zyytlz.wz@163.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Signed-off-by: Eric Van Hensbergen <ericvh@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 9266e939d7)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I3a50acfe9957e0140e01d17f4d766532ec5670e0
2023-06-12 11:27:42 +00:00
John Stultz
b82903573e FROMGIT: pstore: Revert pmsg_lock back to a normal mutex
This reverts commit 76d62f24db07f22ccf9bc18ca793c27d4ebef721.

So while priority inversion on the pmsg_lock is an occasional
problem that an rt_mutex would help with, in uses where logging
is writing to pmsg heavily from multiple threads, the pmsg_lock
can be heavily contended.

After this change landed, it was reported that cases where the
mutex locking overhead was commonly adding on the order of 10s
of usecs delay had suddenly jumped to ~msec delay with rtmutex.

It seems the slight differences in the locks under this level
of contention causes the normal mutexes to utilize the spinning
optimizations, while the rtmutexes end up in the sleeping
slowpath (which allows additional threads to pile on trying
to take the lock).

In this case, it devolves to a worse case senerio where the lock
acquisition and scheduling overhead dominates, and each thread
is waiting on the order of ~ms to do ~us of work.

Obviously, having tons of threads all contending on a single
lock for logging is non-optimal, so the proper fix is probably
reworking pstore pmsg to have per-cpu buffers so we don't have
contention.

Additionally, Steven Rostedt has provided some furhter
optimizations for rtmutexes that improves the rtmutex spinning
path, but at least in my testing, I still see the test tripping
into the sleeping path on rtmutexes while utilizing the spinning
path with mutexes.

But in the short term, lets revert the change to the rt_mutex
and go back to normal mutexes to avoid a potentially major
performance regression. And we can work on optimizations to both
rtmutexes and finer-grained locking for pstore pmsg in the
future.

Cc: Wei Wang <wvw@google.com>
Cc: Midas Chien<midaschieh@google.com>
Cc: "Chunhui Li (李春辉)" <chunhui.li@mediatek.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Anton Vorontsov <anton@enomsg.org>
Cc: "Guilherme G. Piccoli" <gpiccoli@igalia.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: kernel-team@android.com
Fixes: 76d62f24db07 ("pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion")
Reported-by: "Chunhui Li (李春辉)" <chunhui.li@mediatek.com>
Signed-off-by: John Stultz <jstultz@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20230308204043.2061631-1-jstultz@google.com
Bug: 271041816
Bug: 272453930
(cherry picked from commit 5239a89b06d6b199f133bf0ffea421683187f257
 https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/pstore )
Change-Id: Iadf30bcbf5ba3895dd4af8c15c3a8aecf4301acb
Signed-off-by: John Stultz <jstultz@google.com>
(cherry picked from commit 64c66caa8f1f2412377a8d6c75a73da1234bee0d)
2023-06-10 04:05:26 +00:00
xieliujie
403d5d1318 ANDROID: vendor_hook: Avoid clearing protect-flag before waking waiters
With hooks below, we can mark a lock-owned thread with an identifiable flag, which can protect it from being preempted by some other unimportant threads, and then waiter will be wakeup more quickly.
https://android-review.googlesource.com/c/kernel/common/+/2183353

but now we find an issue like this one:
static inline void __up_write(struct rw_semaphore *sem)
{
        ...
        // Step 1. we clear flag.
        trace_android_vh_record_rwsem_lock_starttime(current, 0);
        // Step 2. owner may be preempted by unimportant threads.
        rwsem_clear_owner(sem);
        ...
        // Step 3. wake up waiter, but it's too later.
        if (unlikely(tmp & RWSEM_FLAG_WAITERS))
                rwsem_wake(sem);
}

This patch will clear protect-flag after waking up waiters.

Bug: 286024926
Change-Id: I71f8b6a7d8a01336fd36b8267c2cb5edab65bd11
Signed-off-by: xieliujie <xieliujie@oppo.com>
2023-06-07 06:36:55 +00:00
Dezhi Huang
2246168a72 ANDROID: fix a race between speculative page walk and unmap operations
Speculative page fault walks the page tables under RCU protection and
assumes that page tables are stable after ptl lock is taken. Current
implementation has three issues:
1. While pmd can't be destroyed while in RCU read section, it can be
cleared and result in an invalid ptl lock address. Fix that by
rechecking pmd value after obtaining ptl lock.
2. In case of CONFIG_ALLOC_SPLIT_PTLOCKS, ptl lock is separate from the
pmd and is destroyed by a synchronous call to pgtable_pmd_page_dtor,
which can happen while page walker is in RCU section. Prevent this by
adding a dependency for CONFIG_SPECULATIVE_PAGE_FAULT to require
!CONIG_ALLOC_SPLIT_PTLOCKS.
3. Below sequence when do_mmap happens after the last mmap_seq check
would result in use-after-free issue.

__pte_map_lock
      rcu_read_lock()
      mmap_seq_read_check()

      ptl = pte_lockptr(vmf->pmd)

      spin_trylock(ptl)
      mmap_seq_read_check()
                             mmap_write_lock()
                             do_mmap()
                               unmap_region()
                                 unmap_vmas()
                                 free_pgtables()
                                   ...
                                   free_pte_range
                                   pmd_clear
                                     pte_free_tlb
                                        ...
                                        call_rcu(tlb_remove_table_rcu)

      rcu_read_unlock()
                             tlb_remove_table_rcu
      spin_unlock(ptl) <-- UAF!

To prevent that free_pte_range needs to be blocked if ptl is locked and
is in use.

[tyler wang: This is a backport from
https://android-review.googlesource.com/c/kernel/common/+/2330194.
We have adapted the corresponding modifications from 5.15 to 5.10,
including the changes made to the function __pte_map_lock in 5.15, which have
been adapted to the functions pte_spinlock and __pte_map_lock_speculative in
5.10. Additionally, following surenb's suggestion, we have folded
https://android-review.googlesource.com/c/kernel/common/+/2368961 in this patch.]

Bug: 278602292
Change-Id: I7b353f0995fc59e92bb2069bcdc7d1ac29b521b9
Signed-off-by: Dezhi Huang <huangdezhi@hihonor.com>
2023-06-05 16:43:02 +00:00
Krishna Kurapati
7cc458acf4 BACKPORT: usb: gadget: udc: Handle gadget_connect failure during bind operation
In the event, gadget_connect call (which invokes pullup) fails,
propagate the error to udc bind operation which inturn sends the
error to configfs. The userspace can then retry enumeartion if
it chooses to.

Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/20230510075252.31023-3-quic_kriskura@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

(cherry picked from commit d34f9bafa78da2a561c67d9daf55fc4d1d80edf0
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/ usb-
next)

Bug: 284900975
Change-Id: I43925bafc6ba7b08e8c501502a0fa58ee40e6526
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
(cherry picked from commit 8faa860f5594a68e5ecf97bb632e59097da23d14)
2023-06-05 16:08:27 +00:00
Uttkarsh Aggarwal
fffb0ae9aa BACKPORT: usb: dwc3: gadget: Bail out in pullup if soft reset timeout happens
If the core soft reset timeout happens, avoid setting up event
buffers and starting gadget as the writes to these registers
may not reflect when in reset and setting the run stop bit
can lead the controller to access wrong event buffer address
resulting in a crash.

Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/20230510075252.31023-2-quic_kriskura@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 284900975
(cherry picked from commit 813f44d57e19ccaa7330e829bd913515be42719d
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/ usb
-next)

Change-Id: I01373b098b7e576931d61815fe07373c1185b556
Signed-off-by: Uttkarsh Aggarwal <quic_uaggarwa@quicinc.com>
2023-06-05 16:07:55 +00:00
Weichao Guo
a4420dc21f BACKPORT: f2fs: skip GC if possible when checkpoint disabling
If the number of unusable blocks is not larger than
unusable capacity, we can skip GC when checkpoint
disabling.

Bug: 278486610
Signed-off-by: Weichao Guo <guoweichao@oppo.com>
Signed-off-by: Chao Yu <chao@kernel.org>
[Jaegeuk Kim: Fix missing gc_mode assignment]
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
(cherry picked from commit 2880f47b949f1f49e2d861ffbba91d57416be7d9)
[ qixiaoyu1: Resolved minor conflict in fs/f2fs/super.c ]
Change-Id: Ic37debb3fbb9d863cb1b0f539cc992dd08ad9f77
2023-06-01 18:37:02 +00:00
Greg Kroah-Hartman
851de32d27 Merge tag 'android12-5.10.177_r00' into android12-5.10
This is the merge of the upstream LTS release of 5.10.177 into the
android12-5.10 branch.

It contains the following commits:

289d29ddbfdb Merge tag 'android12-5.10.177_r00' into android12-5.10
0334ff98b9 Revert "net: mdio: fix owner field for mdio buses registered using device-tree"
f3670bd0ff Merge 5.10.177 into android12-5.10-lts
387078f903 Linux 5.10.177
34a02011c5 hsr: ratelimit only when errors are printed
7c414f6f06 gfs2: Always check inode size of inline inodes
3392d67af0 ext4: fix kernel BUG in 'ext4_write_inline_data_end()'
b4781477f3 libbpf: Fix btf_dump's packed struct determination
7ad30ad8c6 selftests/bpf: Add few corner cases to test padding handling of btf_dump
e5a16bcb13 libbpf: Fix BTF-to-C converter's padding logic
b9f7422dd9 selftests/bpf: Test btf dump for struct with padding only fields
f1c17475a9 zonefs: Fix error message in zonefs_file_dio_append()
b51e442295 btrfs: scan device in non-exclusive mode
3eeff8d26c s390/uaccess: add missing earlyclobber annotations to __clear_user()
7051d51f12 drm/amd/display: Add DSC Support for Synaptics Cascaded MST Hub
79815326a5 drm/etnaviv: fix reference leak when mmaping imported buffer
a484f8bec8 rcu: Fix rcu_torture_read ftrace event
08bfd05987 xtensa: fix KASAN report for show_stack
8ada1b5c8b ALSA: hda/realtek: Add quirk for Lenovo ZhaoYang CF4620Z
3b6992bdf0 ALSA: usb-audio: Fix regression on detection of Roland VS-100
0044721f4f ALSA: hda/conexant: Partial revert of a quirk for Lenovo
3d328a17c8 NFSv4: Fix hangs when recovering open state after a server reboot
80a4200d51 powerpc: Don't try to copy PPR for task with NULL pt_regs
12c2612e18 pinctrl: at91-pio4: fix domain name assignment
25065ed83b pinctrl: amd: Disable and mask interrupts on resume
fbf3fe7f7b net: phy: dp83869: fix default value for tx-/rx-internal-delay
b3d7a4478c xen/netback: don't do grant copy across page boundary
5f63470343 btrfs: fix race between quota disable and quota assign ioctls
ba5deb64dd Input: goodix - add Lenovo Yoga Book X90F to nine_bytes_report DMI table
26a32a212b cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL
63bbe24b99 cifs: prevent infinite recursion in CIFSGetDFSRefer()
8b3d7ad3e8 Input: focaltech - use explicitly signed char type
449a1a61f7 Input: alps - fix compatibility with -funsigned-char
988061d099 pinctrl: ocelot: Fix alt mode for ocelot
ed3439a8c4 net: dsa: mv88e6xxx: Enable IGMP snooping on user ports only
8104c79551 bnxt_en: Add missing 200G link speed reporting
62850a0763 bnxt_en: Fix typo in PCI id to device description string mapping
f524d1e550 i40e: fix registers dump after run ethtool adapter self test
fa7fafedc9 net: ipa: compute DMA pool size properly
96e34c8800 ALSA: ymfpci: Fix BUG_ON in probe function
688b1178c4 ALSA: ymfpci: Fix assignment in if condition
ee17dea307 s390/vfio-ap: fix memory leak in vfio_ap device driver
ab2a559078 can: bcm: bcm_tx_setup(): fix KMSAN uninit-value in vfs_write
9b22e0cfc4 net: stmmac: don't reject VLANs when IFF_PROMISC is set
f032e12514 net/net_failover: fix txq exceeding warning
1025c47151 regulator: Handle deferred clk
69ed49a7b8 r8169: fix RTL8168H and RTL8107E rx crc error
3907fcb5a4 ptp_qoriq: fix memory leak in probe()
6ff4a54c02 scsi: megaraid_sas: Fix crash after a double completion
059c3a7a3d sfc: ef10: don't overwrite offload features at NIC reset
4a81e2da72 mtd: rawnand: meson: invalidate cache on polling ECC bit
47a449ec09 mips: bmips: BCM6358: disable RAC flush for TP1
ac63f78d9a ca8210: Fix unsigned mac_len comparison with zero in ca8210_skb_tx()
8b1269b709 tracing: Fix wrong return in kprobe_event_gen_test.c
038765a095 tools/power turbostat: Fix /dev/cpu_dma_latency warnings
5ec5680dc6 fbdev: au1200fb: Fix potential divide by zero
ce5551db36 fbdev: lxfb: Fix potential divide by zero
c2be7f8056 fbdev: intelfb: Fix potential divide by zero
78eb964805 fbdev: nvidia: Fix potential divide by zero
1f2a94baee sched_getaffinity: don't assume 'cpumask_size()' is fully initialized
6eaa2254cc fbdev: tgafb: Fix potential divide by zero
baef27176e ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set()
fcf80111a4 ALSA: asihpi: check pao in control_message()
b94ffa2874 net: hsr: Don't log netdev_err message on unknown prp dst node
74d6d33f36 md: avoid signed overflow in slot_store()
10941fd5c3 fsverity: don't drop pagecache at end of FS_IOC_ENABLE_VERITY
0b9493b504 dm crypt: avoid accessing uninitialized tasklet
b2d1956547 bus: imx-weim: fix branch condition evaluates to a garbage value
1635a062fa drm/meson: fix missing component unbind on bind errors
794a6cea22 drm/meson: Fix error handling when afbcd.ops->init fails
f7385e0886 kcsan: avoid passing -g for test
46ae204069 kernel: kcsan: kcsan_test: build without structleak plugin
a5ce0a559b usb: dwc3: gadget: Add 1ms delay after end transfer command without IOC
ddb1973e67 usb: dwc3: gadget: move cmd_endtransfer to extra function
01e4c9c03d NFSD: fix use-after-free in __nfs42_ssc_open()
34ef9cd887 KVM: fix memoryleak in kvm_init()
a6d345c3a3 xfs: don't reuse busy extents on extent trim
cb61e1e36f xfs: shut down the filesystem if we screw up quota reservation
91d7a4bd56 ocfs2: fix data corruption after failed write
d4a5181ba1 sched/fair: Sanitize vruntime of entity being migrated
dfdcda25fb sched/fair: sanitize vruntime of entity being placed
66ff37993d dm crypt: add cond_resched() to dmcrypt_write()
c68f08cc74 dm stats: check for and propagate alloc_percpu failure
1eaa2b7ae9 i2c: xgene-slimpro: Fix out-of-bounds bug in xgene_slimpro_i2c_xfer()
85b637feee firmware: arm_scmi: Fix device node validation for mailbox transport
f632a90f8e tee: amdtee: fix race condition in amdtee_open_session
4ede0da36c drm/i915: Preserve crtc_state->inherited during state clearing
d5329a06b4 drm/i915/active: Fix missing debug object activation
d18db946cc nilfs2: fix kernel-infoleak in nilfs_ioctl_wrap_copy()
560437bba1 wifi: mac80211: fix qos on mesh interfaces
a6adfe9bbd usb: ucsi: Fix NULL pointer deref in ucsi_connector_change()
09671cfc2b usb: chipidea: core: fix possible concurrent when switch role
073ce98aa3 usb: chipdea: core: fix return -EINVAL if request role is the same with current role
5a36b601af usb: cdns3: Fix issue with using incorrect PCI device function
aae6d1bf4d dm thin: fix deadlock when swapping to thin device
4d2626e107 igb: revert rtnl_lock() that causes deadlock
e66f3039c7 fsverity: Remove WQ_UNBOUND from fsverity read workqueue
33f341c1fc usb: gadget: u_audio: don't let userspace block driver unbind
1f01027c51 usb: dwc2: fix a devres leak in hw_enable upon suspend resume
dce1284215 scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR
f7a4ce3514 cifs: empty interface list when server doesn't support query interfaces
8beb18c25b sh: sanitize the flags on sigreturn
87e800e3dc net: usb: qmi_wwan: add Telit 0x1080 composition
27d4ce4aa3 net: usb: cdc_mbim: avoid altsetting toggling for Telit FE990
ddfc061793 scsi: storvsc: Handle BlockSize change in Hyper-V VHD/VHDX file
3e0a423a55 scsi: lpfc: Avoid usage of list iterator variable after loop
f9a937f75b scsi: ufs: core: Add soft dependency on governor_simpleondemand
522314863f scsi: hisi_sas: Check devm_add_action() return value
799d29a447 scsi: target: iscsi: Fix an error message in iscsi_check_key()
8c42442887 selftests/bpf: check that modifier resolves after pointer
df1da53a7e m68k: Only force 030 bus error if PC not in exception table
7df72bedbd ca8210: fix mac_len negative array access
3d8fafc530 HID: cp2112: Fix driver not registering GPIO IRQ chip as threaded
082b8240a6 riscv: Bump COMMAND_LINE_SIZE value to 1024
2d6c2dee59 thunderbolt: Use const qualifier for `ring_interrupt_index`
06e04b450b thunderbolt: Use scale field when allocating USB3 bandwidth
32fa53c27e uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS583Gen 2
231cfa78ec scsi: qla2xxx: Perform lockless command completion in abort path
f73a88df19 hwmon (it87): Fix voltage scaling for chips with 10.9mV ADCs
33c2fa39fb hwmon: fix potential sensor registration fail if of_node is missing
f86ff88a15 platform/chrome: cros_ec_chardev: fix kernel data leak from ioctl
da3d3fdfb4 Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work
fce0e47e9e Bluetooth: L2CAP: Fix responding with wrong PDU type
77a61df0a0 Bluetooth: L2CAP: Fix not checking for maximum number of DCID
65ceb17074 Bluetooth: btqcomsmd: Fix command timeout after setting BD address
7aa3d03e1b net: mdio: thunder: Add missing fwnode_handle_put()
94ef1715d2 gve: Cache link_speed value from device
3c72445dad nvme-tcp: fix nvme_tcp_term_pdu to match spec
73db80dcdc net/sonic: use dma_mapping_error() for error check
f8cec30541 erspan: do not use skb_mac_header() in ndo_start_xmit()
19aa85b9df atm: idt77252: fix kmemleak when rmmod idt77252
5eadc80328 net/mlx5: E-Switch, Fix an Oops in error handling code
265101aea4 net/mlx5: Read the TC mapping of all priorities on ETS query
18cead61e4 net/mlx5: Fix steering rules cleanup
a4bbab27c4 bpf: Adjust insufficient default bpf_jit_limit
a44e98abcc keys: Do not cache key in task struct if key is requested from kernel thread
ec23a669de bootconfig: Fix testcase to increase max node
56e0bc4a72 net/ps3_gelic_net: Use dma_mapping_error
3d5a97283e net/ps3_gelic_net: Fix RX sk_buff length
cb5879efde net: qcom/emac: Fix use after free bug in emac_remove due to race condition
d04dac7fae net: mdio: fix owner field for mdio buses registered using device-tree
1b333766ea net: phy: Ensure state transitions are processed from phy_stop()
bfeeb3aaad xirc2ps_cs: Fix use after free bug in xirc2ps_detach
39c3b9dd48 qed/qed_sriov: guard against NULL derefs from qed_iov_get_vf_info
33d1603a38 net: usb: smsc95xx: Limit packet length to skb->len
c09cdf6eb8 scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate()
a3ada13f20 i2c: imx-lpi2c: check only for enabled interrupt flags
bde2e73d52 igc: fix the validation logic for taprio's gate list
d3e4844c18 igbvf: Regard vf reset nack as success
fe3850c72a intel/igbvf: free irq on the error path in igbvf_request_msix()
155d6d434f iavf: fix non-tunneled IPv6 UDP packet type and hashing
15dcb57eba iavf: fix inverted Rx hash condition leading to disabled hash
580634b03a xsk: Add missing overflow check in xdp_umem_reg
7b5dffe048 ARM: dts: imx6sl: tolino-shine2hd: fix usbotg1 pinctrl
35a49d2758 ARM: dts: imx6sll: e60k02: fix usbotg1 pinctrl
75e2144291 power: supply: da9150: Fix use after free bug in da9150_charger_remove due to race condition
2b346876b9 power: supply: bq24190: Fix use after free bug in bq24190_remove due to race condition
18359b8e30 power: supply: bq24190_charger: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
1fde5782f1 net: tls: fix possible race condition between do_tls_getsockopt_conf() and do_tls_setsockopt_conf()
cfeda9432c drm/sun4i: fix missing component unbind on bind errors
b5131ed83c serial: 8250: ASPEED_VUART: select REGMAP instead of depending on it
5fcb12f00a serial: 8250: SERIAL_8250_ASPEED_VUART should depend on ARCH_ASPEED
19a98d56df tty: serial: fsl_lpuart: fix race on RX DMA shutdown
ae12308c7d serial: fsl_lpuart: Fix comment typo
a43f7d0628 KVM: Register /dev/kvm as the _very_ last thing during initialization
7958663668 KVM: Pre-allocate cpumasks for kvm_make_all_cpus_request_except()
6100066358 KVM: Optimize kvm_make_vcpus_request_mask() a bit
ad120bc869 KVM: KVM: Use cpumask_available() to check for NULL cpumask when kicking vCPUs
4cc54f6ae5 KVM: Clean up benign vcpu->cpu data races when kicking vCPUs
8f9ae017dd ipmi:ssif: Add a timer between request retries
c94de7f85d ipmi:ssif: resend_msg() cannot fail
cd35cbde00 ipmi:ssif: Increase the message retry time
4d57c90f24 ipmi:ssif: make ssif_i2c_send() void
18dd825b86 perf: fix perf_event_context->time
ddcf832000 perf/core: Fix perf_output_begin parameter is incorrectly invoked in perf_event_bpf_output
29ee1495e8 interconnect: qcom: osm-l3: fix icc_onecell_data allocation
90eb02302b Revert "HID: core: Provide new max_buffer_size attribute to over-ride the default"
f1b6325b25 Revert "HID: uhid: Over-ride the default maximum data buffer value with our own"
df23049a96 Merge 5.10.176 into android12-5.10-lts
9b0fcb1986 ANDROID: preserve CRC for __irq_domain_add()
87cdb8101e Merge 5.10.175 into android12-5.10-lts
1baa036104 Merge 5.10.174 into android12-5.10-lts
fe51d37c6c Merge branch 'android12-5.10' into android12-5.10-lts
04d892b616 Revert "PCI: loongson: Prevent LS7A MRRS increases"
1aaaa18b4a Revert "PCI: loongson: Add more devices that need MRRS quirk"
a880d7ebc5 ANDROID: remove CONFIG_NET_CLS_TCINDEX from gki_defconfig
ca9787bdec Linux 5.10.176
e57f797e3f HID: uhid: Over-ride the default maximum data buffer value with our own
9bc878756b HID: core: Provide new max_buffer_size attribute to over-ride the default
daa97e770e xfs: remove xfs_setattr_time() declaration
183ca91954 fs: use consistent setgid checks in is_sxid()
0e9dbde96c attr: use consistent sgid stripping checks
240b96ffec attr: add setattr_should_drop_sgid()
baea3ae425 fs: move should_remove_suid()
24378d6f74 attr: add in_group_or_capable()
94ac142c19 fs: move S_ISGID stripping into the vfs_*() helpers
347750e1b6 fs: add mode_strip_sgid() helper
f60b68c464 xfs: use setattr_copy to set vfs inode attributes
8cf9400f89 xfs: set prealloc flag in xfs_alloc_file_space()
308dfe49eb xfs: fallocate() should call file_modified()
35f049abba xfs: remove XFS_PREALLOC_SYNC
c84fb29626 xfs: don't leak btree cursor when insrec fails after a split
be60f08c03 xfs: purge dquots after inode walk fails during quotacheck
d6f223cfef xfs: don't assert fail on perag references on teardown
d0292124bb PCI/DPC: Await readiness of secondary bus after reset
337aa99f76 PCI: Unify delay handling for reset and resume
b5e0b3d742 s390/ipl: add missing intersection check to ipl_report handling
84e2e393bf io_uring: avoid null-ptr-deref in io_arm_poll_handler
5e784a7d07 drm/i915/active: Fix misuse of non-idle barriers as fence trackers
8f27d43217 drm/i915: Don't use stolen memory for ring buffers with LLC
b4a798374f x86/mm: Fix use of uninitialized buffer in sme_enable()
764217184f x86/mce: Make sure logged MCEs are processed after sysfs update
15e926dfd8 cpuidle: psci: Iterate backwards over list in psci_pd_remove()
38742635ed fbdev: stifb: Provide valid pixelclock and add fb_check_var() checks
03fc29e75e mmc: sdhci_am654: lower power-on failed message severity
b2747b690c mm/userfaultfd: propagate uffd-wp bit when PTE-mapping the huge zeropage
83c3b2f4e7 ftrace: Fix invalid address access in lookup_rec() when index is 0
f9a98b8dde mptcp: avoid setting TCP_CLOSE state twice
684c7372bb drm/shmem-helper: Remove another errant put in error path
fbc5ffcce7 ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro
9addf5e105 ALSA: hda: intel-dsp-config: add MTL PCI id
c54974ccaf KVM: nVMX: add missing consistency checks for CR0 and CR4
7b18dea697 cifs: Fix smb2_set_path_size()
ec663c410c tracing: Make tracepoint lockdep check actually test something
8ae86ef7a0 tracing: Check field value in hist_field_name()
de3170bd41 tracing: Make splice_read available again
efae80ca13 interconnect: fix mem leak when freeing nodes
b37d3ccbd5 firmware: xilinx: don't make a sleepable memory allocation from an atomic context
0c16c20b87 serial: 8250_em: Fix UART port type
f5a5150c70 tty: serial: fsl_lpuart: skip waiting for transmission complete when UARTCTRL_SBK is asserted
020166bc66 ext4: fix possible double unlock when moving a directory
7257070be7 drm/amd/display: fix shift-out-of-bounds in CalculateVMAndRowBytes
ab7da8d93a sh: intc: Avoid spurious sizeof-pointer-div warning
6936525142 drm/amdkfd: Fix an illegal memory access
a98160d8f3 ext4: fix task hung in ext4_xattr_delete_inode
0bf15bc393 ext4: fail ext4_iget if special inode unallocated
8e7f26b956 jffs2: correct logic when creating a hole in jffs2_write_begin
980d4e70c7 mmc: atmel-mci: fix race between stop command and start of next command
04eaeaa2f7 media: m5mols: fix off-by-one loop termination error
a4c048d502 hwmon: (adm1266) Set `can_sleep` flag for GPIO chip
a4c3e11324 hwmon: tmp512: drop of_match_ptr for ID table
c5bd9719b5 hwmon: (ucd90320) Add minimum delay between bus accesses
663c3afee8 hwmon: (ina3221) return prober error code
0a73c8b3cc hwmon: (xgene) Fix use after free bug in xgene_hwmon_remove due to race condition
4a8c3ad12c hwmon: (adt7475) Fix masking of hysteresis registers
aff84fadba hwmon: (adt7475) Display smoothing attributes in correct order
d4dbd26f98 ethernet: sun: add check for the mdesc_grab()
eb80cb66a2 qed/qed_mng_tlv: correctly zero out ->min instead of ->hour
1c06d12237 selftests: net: devlink_port_split.py: skip test if no suitable device available
bd2e78462a net/iucv: Fix size of interrupt data
2cc46ed406 net: usb: smsc75xx: Move packet length check to prevent kernel panic in skb_pull
013fae04b8 ipv4: Fix incorrect table ID in IOCTL path
1f0586dcc0 net: dsa: mv88e6xxx: fix max_mtu of 1492 on 6165, 6191, 6220, 6250, 6290
cccba1ff07 ice: xsk: disable txq irq before flushing hw
2f28cb5c2a block: sunvdc: add check for mdesc_grab() returning NULL
a6317235da nvmet: avoid potential UAF in nvmet_req_complete()
9ebc344ce5 nvme: fix handling single range discard request
4cf15887a4 block: null_blk: Fix handling of fake timeout request
d14d2574a5 null_blk: Move driver into its own directory
d5e61a859a drm/bridge: Fix returned array size name for atomic_get_input_bus_fmts kdoc
e294f0aa47 net: usb: smsc75xx: Limit packet length to skb->len
9708efad9b net/smc: fix deadlock triggered by cancel_delayed_work_syn()
43aa468df2 nfc: st-nci: Fix use after free bug in ndlc_remove due to race condition
194248138f net: phy: smsc: bail out in lan87xx_read_status if genphy_read_status fails
be59b87ee4 net: tunnels: annotate lockless accesses to dev->needed_headroom
281e86e3fa qed/qed_dev: guard against a possible division by zero
31817c5307 net/smc: fix NULL sndbuf_desc in smc_cdc_tx_handler()
3cbecb1c90 i40e: Fix kernel crash during reboot when adapter is in recovery mode
91eb592401 ipvlan: Make skb->skb_iif track skb->dev for l3s mode
2703da7884 nfc: pn533: initialize struct pn533_out_arg properly
77ad58bca0 tcp: tcp_make_synack() can be called from process context
68c665bb18 scsi: core: Fix a procfs host directory removal regression
be5aa25341 scsi: core: Fix a comment in function scsi_host_dev_release()
0fac20b180 netfilter: nft_redir: correct value of inet type `.maxattrs`
c144dff64e netfilter: nft_redir: correct length for loading protocol registers
3a0f8ea35d netfilter: nft_masq: correct length for loading protocol registers
eff050d83e netfilter: nft_nat: correct length for loading protocol registers
0c6c5abeb4 ALSA: hda: Match only Intel devices with CONTROLLER_IN_GPU()
6f0c2f70d9 scsi: mpt3sas: Fix NULL pointer access in mpt3sas_transport_port_add()
79fe786dab docs: Correct missing "d_" prefix for dentry_operations member d_weak_revalidate
ea1e21d38a clk: HI655X: select REGMAP instead of depending on it
081893e254 drm/meson: fix 1px pink line on GXM when scaling video overlay
ed9ed2f58c cifs: Move the in_send statistic to __smb_send_rqst()
a3c502218c drm/panfrost: Don't sync rpm suspension after mmu flushing
0da0b81697 xfrm: Allow transport-mode states with AF_UNSPEC selector
0847230e9b Merge 5.10.173 into android12-5.10-lts
2b5ee1cbc1 Merge 5.10.172 into android12-5.10-lts
78985e3685 Merge 5.10.171 into android12-5.10-lts
45fa1d879a Merge 5.10.170 into android12-5.10-lts
de26e1b210 Linux 5.10.175
aa8579bc08 s390/dasd: add missing discipline function
6baebcecf0 KVM: VMX: Fix crash due to uninitialized current_vmcs
685ed0a277 KVM: VMX: Introduce vmx_msr_bitmap_l01_changed() helper
0ef55bafab KVM: nVMX: Don't use Enlightened MSR Bitmap for L3
9da269bee7 UML: define RUNTIME_DISCARD_EXIT
5c425eb9da sh: define RUNTIME_DISCARD_EXIT
bfef72d2fc s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36
6af633e778 powerpc/vmlinux.lds: Don't discard .rela* for relocatable builds
af560685ba powerpc/vmlinux.lds: Define RUNTIME_DISCARD_EXIT
d367c5ebe9 arch: fix broken BuildID for arm64 and riscv
7550aade97 ext4: block range must be validated before use in ext4_mb_clear_bb()
c3fd717b58 ext4: add strict range checks while freeing blocks
65061f49a5 ext4: add ext4_sb_block_valid() refactored out of ext4_inode_block_valid()
9cd21f5bab ext4: refactor ext4_free_blocks() to pull out ext4_mb_clear_bb()
b500560501 drm/i915: Don't use BAR mappings for ring buffers with LLC
c53d50d808 skbuff: Fix nfct leak on napi stolen
a4932a2c54 ipmi:watchdog: Set panic count to proper value on a panic
7aa5a495cb ipmi/watchdog: replace atomic_add() and atomic_sub()
a5c140d88a media: rc: gpio-ir-recv: add remove function
13b04efb5b media: ov5640: Fix analogue gain control
42bb1e6b7f scripts: handle BrokenPipeError for python scripts
be658aa43a PCI: Add SolidRun vendor ID
d47d364f66 macintosh: windfarm: Use unsigned type for 1-bit bitfields
9cff3f106a alpha: fix R_ALPHA_LITERAL reloc for large modules
9a61a3a6ec powerpc/kcsan: Exclude udelay to prevent recursive instrumentation
5ddcb0a348 MIPS: Fix a compilation issue
7f77f3dab5 block, bfq: fix uaf for bfqq in bic_set_bfqq()
6291281f15 block, bfq: replace 0/1 with false/true in bic apis
e6f03decf5 block/bfq-iosched.c: use "false" rather than "BLK_RW_ASYNC"
1425f1bb5d block, bfq: fix uaf for bfqq in bfq_exit_icq_bfqq
5533742c7c block, bfq: fix possible uaf for 'bfqq->bic'
c660e024bc tpm/eventlog: Don't abort tpm_read_log on faulty ACPI address
b1fddddf58 watch_queue: fix IOC_WATCH_QUEUE_SET_SIZE alloc error paths
f2a5ec7f7b iommu/amd: Add a length limitation for the ivrs_acpihid command-line parameter
b113f90204 ext4: Fix deadlock during directory rename
ab89b8a67f RISC-V: Don't check text_mutex during stop_machine
3de277af48 riscv: Use READ_ONCE_NOCHECK in imprecise unwinding stack mode
ce7dd61e00 SUNRPC: Fix a server shutdown leak
e1b8342a85 net/smc: fix fallback failed while sendmsg with fastopen
93367126f6 platform: x86: MLX_PLATFORM: select REGMAP instead of depending on it
0fe672336d scsi: megaraid_sas: Update max supported LD IDs to 240
f4eae84f57 net: ethernet: mtk_eth_soc: fix RX data corruption issue
01a1e98109 btf: fix resolving BTF_KIND_VAR after ARRAY, STRUCT, UNION, PTR
065c1ed5c4 netfilter: tproxy: fix deadlock due to missing BH disable
26fa059cc9 netfilter: ctnetlink: revert to dumping mark regardless of event type
d16701a385 bnxt_en: Avoid order-5 memory allocation for TPA data
c0df4e5c24 net: phylib: get rid of unnecessary locking
d2a5a9cdc5 net: stmmac: add to set device wake up flag when stmmac init phy
c3aaec463a net: caif: Fix use-after-free in cfusbl_device_notify()
db16d65674 net: lan78xx: fix accessing the LAN7800's internal phy specific registers from the MAC driver
d5e8f7edc2 net: usb: lan78xx: Remove lots of set but unused 'ret' variables
374cbffe7d selftests: nft_nat: ensuring the listening side is up before starting the client
42d9ed4e5d ila: do not generate empty messages in ila_xlat_nl_cmd_get_mapping()
6f0cc879c8 powerpc: dts: t1040rdb: fix compatible string for Rev A boards
80be62358f nfc: fdp: add null check of devm_kmalloc_array in fdp_nci_i2c_read_device_properties
cbf11ff370 bgmac: fix *initial* chip reset to support BCM5358
4c43a0291f drm/msm/a5xx: fix context faults during ring switch
34e71ca0a0 drm/msm/a5xx: fix the emptyness check in the preempt code
8dde1d9d6f drm/msm: Document and rename preempt_lock
00c2020b8b drm/msm/a5xx: fix setting of the CP_PREEMPT_ENABLE_LOCAL register
08c0b54bef drm/msm: Fix potential invalid ptr free
8b4a6dd157 drm/nouveau/kms/nv50: fix nv50_wndw_new_ prototype
9ca74e5e75 drm/nouveau/kms/nv50-: remove unused functions
0c440f1455 ext4: Fix possible corruption when moving a directory
6b223e32d6 scsi: core: Remove the /proc/scsi/${proc_name} directory earlier
e993e3ea95 riscv: Add header include guards to insn.h
713c335e5a riscv: Avoid enabling interrupts in die()
f9fdb3e7b0 RISC-V: Avoid dereferening NULL regs in die()
030b1c4217 arm64: efi: Make efi_rt_lock a raw_spinlock
7e00b52c8c iommu/vt-d: Fix PASID directory pointer coherency
c424b18191 iommu/vt-d: Fix lockdep splat in intel_pasid_get_entry()
aeab1f1a60 irqdomain: Fix domain registration race
bb7597777c irqdomain: Change the type of 'size' in __irq_domain_add() to be consistent
4ab311d51c irqdomain: Fix mapping-creation race
8617599c64 irqdomain: Refactor __irq_domain_alloc_irqs()
ff762cdbf0 irqdomain: Look for existing mapping only once
6414597815 irq: Fix typos in comments
fe80a53eab udf: Fix off-by-one error when discarding preallocation
7786bfd8f7 nfc: change order inside nfc_se_io error path
3f00c476da ext4: zero i_disksize when initializing the bootloader inode
a9bd94f67b ext4: fix WARNING in ext4_update_inline_data
d72a6c3139 ext4: move where set the MAY_INLINE_DATA flag is set
1d2366624b ext4: fix another off-by-one fsmap error on 1k block filesystems
8706c972fc ext4: fix RENAME_WHITEOUT handling for inline directories
d0632ff49b ext4: fix cgroup writeback accounting with fs-layer encryption
3106cb47cd drm/connector: print max_requested_bpc in state debugfs
4279e87da6 drm/amdgpu: fix error checking in amdgpu_read_mm_registers for soc15
5462843dc4 x86/CPU/AMD: Disable XSAVES on AMD family 0x17
a1eb8bf1e3 fork: allow CLONE_NEWTIME in clone3 flags
a759905de9 fs: prevent out-of-bounds array speculation when closing a file descriptor
955623617f Linux 5.10.174
c036dae036 staging: rtl8192e: Remove call_usermodehelper starting RadioPower.sh
1afff6203a staging: rtl8192e: Remove function ..dm_check_ac_dc_power calling a script
decf73066f wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext"
e5f315b55f Linux 5.10.173
8ecd5dabdd usb: gadget: uvc: fix missing mutex_unlock() if kstrtou8() fails
a5bbea50d6 malidp: Fix NULL vs IS_ERR() checking
1dfc0a52f7 scsi: mpt3sas: Remove usage of dma_get_required_mask() API
747652f9c5 scsi: mpt3sas: re-do lost mpt3sas DMA mask fix
2392303df2 scsi: mpt3sas: Don't change DMA mask while reallocating pools
f73bbfb47f Revert "scsi: mpt3sas: Fix return value check of dma_get_required_mask()"
331c18e8ac media: uvcvideo: Fix race condition with usb_kill_urb
9d83b69e93 media: uvcvideo: Provide sync and async uvc_ctrl_status_event
c5fe3fba1b drm/virtio: Fix error code in virtio_gpu_object_shmem_init()
0a1d0c79ea tcp: Fix listen() regression in 5.10.163
7474be26b0 Bluetooth: hci_sock: purge socket queues in the destruct() callback
d90967f850 drm/display/dp_mst: Fix down message handling after a packet reception error
ee4a4282d7 drm/display/dp_mst: Fix down/up message handling after sink disconnect
411b8ad505 x86/resctl: fix scheduler confusion with 'current'
9554af9801 x86/resctrl: Apply READ_ONCE/WRITE_ONCE to task_struct.{rmid,closid}
7123a4337b net: tls: avoid hanging tasks on the tx_lock
a6549336f5 soundwire: cadence: Drain the RX FIFO after an IO timeout
e5ca5b7136 soundwire: cadence: Remove wasted space in response_buf
4d2423f15b phy: rockchip-typec: Fix unsigned comparison with less than zero
01923e3196 PCI: Add ACS quirk for Wangxun NICs
faa050d2ff PCI: loongson: Add more devices that need MRRS quirk
dd9981a11d kernel/fail_function: fix memory leak with using debugfs_lookup()
b2301851e7 PCI: Take other bus devices into account when distributing resources
fdca189e52 PCI: Align extra resources for hotplug bridges properly
877aacda14 usb: gadget: uvc: Make bSourceID read/write
56495e8d3c usb: uvc: Enumerate valid values for color matching
961f93d63d USB: ene_usb6250: Allocate enough memory for full object
426cbe9a0a usb: host: xhci: mvebu: Iterate over array indexes instead of using pointer math
654ae53925 PCI: loongson: Prevent LS7A MRRS increases
09ca779ac0 iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_config_word()
3357e90d3c iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_status_word()
8db64cea47 tools/iio/iio_utils:fix memory leak
160494b66f mei: bus-fixup:upon error print return values of send and receive
17b96b5c19 serial: sc16is7xx: setup GPIO controller later in probe
0cb1f78d88 tty: serial: fsl_lpuart: disable the CTS when send break signal
84ea44dc3e tty: fix out-of-bounds access in tty_driver_lookup_tty()
e8a5efd5ae staging: emxx_udc: Add checks for dma_alloc_coherent()
c4d96503d6 media: uvcvideo: Silence memcpy() run-time false positive warnings
78b1fdc47e media: uvcvideo: Quirk for autosuspend in Logitech B910 and C910
23f9bead35 media: uvcvideo: Handle errors from calls to usb_string
d8aa2e1ae6 media: uvcvideo: Handle cameras with invalid descriptors
76752888ed IB/hfi1: Update RMT size calculation
754e81ff44 mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak
903b91cea7 bootconfig: Increase max nodes of bootconfig from 1024 to 8192 for DCC support
07fb565336 firmware/efi sysfb_efi: Add quirk for Lenovo IdeaPad Duet 3
25c9fba724 tracing: Add NULL checks for buffer in ring_buffer_free_read_page()
e30b26e746 thermal: intel: BXT_PMIC: select REGMAP instead of depending on it
f73134231f thermal: intel: quark_dts: fix error pointer dereference
01829cb870 ASoC: zl38060 add gpiolib dependency
2bc1f260ed ASoC: zl38060: Remove spurious gpiolib select
c8e7c0ec45 ASoC: adau7118: don't disable regulators on device unbind
c79a924ed6 loop: loop_set_status_from_info() check before assignment
af5f9a4761 scsi: ipr: Work around fortify-string warning
555f315832 rtc: sun6i: Always export the internal oscillator
3e734e6941 vc_screen: modify vcs_size() handling in vcs_read()
ac73d8f6a6 tcp: tcp_check_req() can be called from process context
4d08ed4651 ARM: dts: spear320-hmi: correct STMPE GPIO compatible
2f935409cd net/sched: act_sample: fix action bind logic
8978315cb4 nfc: fix memory leak of se_io context in nfc_genl_se_io
8817602cff net/mlx5: Geneve, Fix handling of Geneve object id as error code
0ac65fab2b 9p/rdma: unmap receive dma buffer in rdma_request()/post_recv()
3e0359f151 9p/xen: fix connection sequence
c959a53b62 9p/xen: fix version parsing
82a0c1fe1f net: fix __dev_kfree_skb_any() vs drop monitor
8ee401f89c sctp: add a refcnt in sctp_stream_priorities to avoid a nested loop
da26369377 ipv6: Add lwtunnel encap size of all siblings in nexthop calculation
9060abce33 netfilter: ebtables: fix table blob use-after-free
1ff0b87df9 netfilter: ctnetlink: fix possible refcount leak in ctnetlink_create_conntrack()
9f7abdd500 watchdog: pcwd_usb: Fix attempting to access uninitialized memory
c5a21a5501 watchdog: Fix kmemleak in watchdog_cdev_register
273559f58f watchdog: at91sam9_wdt: use devm_request_irq to avoid missing free_irq() in error path
7cb46fa16b x86: um: vdso: Add '%rcx' and '%r11' to the syscall clobber list
8a18856e07 ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
9d448dd6bc ubi: Fix UAF wear-leveling entry in eraseblk_count_seq_show()
0aa0253f6c ubi: fastmap: Fix missed fm_anchor PEB in wear-leveling after disabling fastmap
f09a84548c ubifs: ubifs_writepage: Mark page dirty after writing inode failed
9d4768523b ubifs: dirty_cow_znode: Fix memleak in error handling path
343d273d5f ubifs: Re-statistic cleaned znode count if commit failed
fcbc795abe ubi: Fix possible null-ptr-deref in ubi_free_volume()
bf50229494 ubifs: Fix memory leak in alloc_wbufs()
31d60afe2c ubi: Fix unreferenced object reported by kmemleak in ubi_resize_volume()
35f8d4064e ubi: Fix use-after-free when volume resizing failed
38fd7acdc1 ubifs: Reserve one leb for each journal head while doing budget
38a097dce1 ubifs: do_rename: Fix wrong space budget when target inode's nlink > 1
495ea59a24 ubifs: Fix wrong dirty space budget for dirty inode
9e07ee28c2 ubifs: Rectify space budget for ubifs_xrename()
ffebd804c7 ubifs: Rectify space budget for ubifs_symlink() if symlink is encrypted
93e748ba51 ubifs: Fix build errors as symbol undefined
846bfba341 ubi: ensure that VID header offset + VID header size <= alloc, size
f2b9c4544e um: vector: Fix memory leak in vector_config
6be349d738 fs: f2fs: initialize fsdata in pagecache_write()
33909b1a64 f2fs: use memcpy_{to,from}_page() where possible
9d4a4a9ee9 pwm: stm32-lp: fix the check on arr and cmp registers update
c2677c49b7 pwm: sifive: Always let the first pwm_apply_state succeed
8b98e7a45e pwm: sifive: Reduce time the controller lock is held
a1368eaea0 objtool: Fix memory leak in create_static_call_sections()
5d03a19ac7 fs/jfs: fix shift exponent db_agl2size negative
18c3fa7a7f net/sched: Retire tcindex classifier
322df540ba kbuild: Port silent mode detection to future gnu make.
f8ac5467e1 pinctrl: rockchip: fix reading pull type on rk3568
50afcd5316 pinctrl: rockchip: fix mux route data for rk3568
844da39013 wifi: ath9k: use proper statements in conditionals
a2a1e3f4ed arm64: dts: qcom: ipq8074: fix Gen2 PCIe QMP PHY
64a99c0ac6 drm/edid: fix AVI infoframe aspect ratio handling
1f064aaa81 drm/radeon: Fix eDP for single-display iMac11,2
266864c1e0 drm/i915/quirks: Add inverted backlight quirk for HP 14-r206nv
5a27124271 vfio/type1: prevent underflow of locked_vm via exec()
691a8e26de PCI: Avoid FLR for AMD FCH AHCI adapters
88b51c6a6d PCI: hotplug: Allow marking devices as disconnected during bind/unbind
d219b19e1f PCI/PM: Observe reset delay irrespective of bridge_d3
285d8390d9 riscv: jump_label: Fixup unaligned arch_static_branch function
8f9542cad6 scsi: ses: Fix slab-out-of-bounds in ses_intf_remove()
c315560e3e scsi: ses: Fix possible desc_ptr out-of-bounds accesses
2ecd344173 scsi: ses: Fix possible addl_desc_ptr out-of-bounds accesses
e4dd25da78 scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process()
d68937dfc7 scsi: ses: Don't attach if enclosure has no components
0d14ace68d scsi: qla2xxx: Fix erroneous link down
e596253113 scsi: qla2xxx: Fix DMA-API call trace on NVMe LS requests
40bedbf10d scsi: qla2xxx: Fix link failure in NPIV environment
6e02a43acd ring-buffer: Handle race between rb_move_tail and rb_check_pages
1693f3bc1f ktest.pl: Add RUN_TIMEOUT option with default unlimited
39255e4788 ktest.pl: Fix missing "end_monitor" when machine check fails
0dfb3f4588 ktest.pl: Give back console on Ctrt^C on monitor
ed77831e69 mm/thp: check and bail out if page in deferred queue already
e6d20325f4 mm: memcontrol: deprecate charge moving
f1f6c87d82 docs: gdbmacros: print newest record
6814e8e420 remoteproc/mtk_scp: Move clk ops outside send_lock
3b78c2482b media: ipu3-cio2: Fix PM runtime usage_count in driver unbind
6c96c0b2e3 mips: fix syscall_get_nr
cd4d3eab23 dax/kmem: Fix leak of memory-hotplug resources
241e893df4 alpha: fix FEN fault handling
ae16346078 rbd: avoid use-after-free in do_rbd_add() when rbd_dev_create() fails
0f2fd21b5b ARM: dts: exynos: correct TMU phandle in Odroid HC1
7dd9de2e2f ARM: dts: exynos: correct TMU phandle in Odroid XU
d1887cca65 ARM: dts: exynos: correct TMU phandle in Exynos5250
136d6f3c5d ARM: dts: exynos: correct TMU phandle in Odroid XU3 family
135e968d6a ARM: dts: exynos: correct TMU phandle in Exynos4
aaa2d2249c ARM: dts: exynos: correct TMU phandle in Exynos4210
f2b478228b dm flakey: don't corrupt the zero page
07e375c18a dm flakey: fix logic when corrupting a bio
17f81b1277 thermal: intel: powerclamp: Fix cur_state for multi package system
2cfe78619b wifi: cfg80211: Fix use after free for wext
73090cebe3 wifi: rtl8xxxu: Use a longer retry limit of 48
3383f79d6b dm: add cond_resched() to dm_wq_work()
e6409208c1 mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type
0dc0fa313b ext4: refuse to create ea block when umounted
d738789ae9 ext4: optimize ea_inode block expansion
ab22799f11 jbd2: fix data missing when reusing bh which is ready to be checkpointed
a9cd89463e ALSA: hda/realtek: Add quirk for HP EliteDesk 800 G6 Tower PC
ae2340769e ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls()
246f26664b io_uring/poll: allow some retries for poll triggering spuriously
7f3d132415 io_uring: remove MSG_NOSIGNAL from recvmsg
72783d2af8 io_uring/rsrc: disallow multi-source reg buffers
a442f12e47 io_uring: add a conditional reschedule to the IOPOLL cancelation loop
3d1f9533a3 io_uring: mark task TASK_RUNNING before handling resume/task work
3f32f8492e io_uring: handle TIF_NOTIFY_RESUME when checking for task_work
306c8b49b5 irqdomain: Drop bogus fwspec-mapping error handling
e0538aa7e0 irqdomain: Fix disassociation race
6b24bd85ae irqdomain: Fix association race
8c64acd24a ima: Align ima_file_mmap() parameters with mmap_file LSM hook
c1aa96927b brd: return 0/-error from brd_insert_page()
3326ef84cd Documentation/hw-vuln: Document the interaction between IBRS and STIBP
abfed855f0 x86/speculation: Allow enabling STIBP with legacy IBRS
44a44b57e8 x86/microcode/AMD: Fix mixed steppings support
87cf9bc78c x86/microcode/AMD: Add a @cpu parameter to the reloading functions
0a89768b85 x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter
5255fd8dfb x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range
c16e4610d5 x86/kprobes: Fix __recover_optprobed_insn check optimizing logic
f75ee95196 x86/reboot: Disable SVM, not just VMX, when stopping CPUs
051f991c57 x86/reboot: Disable virtualization in an emergency if SVM is supported
8ff2cc2f87 x86/crash: Disable virt in core NMI crash handler to avoid double shootdown
537be939a8 x86/virt: Force GIF=1 prior to disabling SVM (for reboot flows)
edd7f5bc6f KVM: s390: disable migration mode when dirty tracking is disabled
018798c6fb KVM: x86: Inject #GP if WRMSR sets reserved bits in APIC Self-IPI
76a9886e1b KVM: Destroy target device if coalesced MMIO unregistration fails
bacfce056e udf: Fix file corruption when appending just after end of preallocated extent
a44ec34b90 udf: Detect system inodes linked into directory hierarchy
63478c3ce2 udf: Preserve link count of system files
eb2133900c udf: Do not update file length for failed writes to inline files
965982feb3 udf: Do not bother merging very long extents
9c792a59e0 udf: Truncate added extents on failed expansion
6bf9caa585 ocfs2: fix non-auto defrag path not working issue
2c559b3ba8 ocfs2: fix defrag path triggering jbd2 ASSERT
e9f20138b5 f2fs: fix cgroup writeback accounting with fs-layer encryption
00b5587326 f2fs: fix information leak in f2fs_move_inline_dirents()
f9dbc35ecb exfat: fix inode->i_blocks for non-512 byte sector size device
4017209e08 exfat: redefine DIR_DELETED as the bad cluster number
c2d1997074 exfat: fix unexpected EOF while reading dir
34b0588341 exfat: fix reporting fs error when reading dir beyond EOF
ef7d71d7bd fs: hfsplus: fix UAF issue in hfsplus_put_super
dc9f78b6d2 hfs: fix missing hfs_bnode_get() in __hfs_bnode_create
300b6404e6 ARM: dts: exynos: correct HDMI phy compatible in Exynos4
69493675fd cifs: Fix uninitialized memory read in smb3_qfs_tcon()
59102ded74 s390/kprobes: fix current_kprobe never cleared after kprobes reenter
d8724dc0ce s390/kprobes: fix irq mask clobbering on kprobe reenter from post_handler
d43abcf91c s390: discard .interp section
6cf48403c4 s390/extmem: return correct segment type in __segment_load()
be2dad7bc9 ipmi_ssif: Rename idle state and check
66b40f8756 rtc: pm8xxx: fix set-alarm race
e5b643645a firmware: coreboot: framebuffer: Ignore reserved pixel color bits
bf990eebea wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu
759f6a72bc nfsd: zero out pointers after putting nfsd_files on COPY setup error
9b8047b210 dm cache: add cond_resched() to various workqueue loops
52206dd1c7 dm thin: add cond_resched() to various workqueue loops
861229a52b drm: panel-orientation-quirks: Add quirk for Lenovo IdeaPad Duet 3 10IGL5
7df5da8e6b HID: logitech-hidpp: Don't restart communication if not necessary
ca64ebcb45 pinctrl: at91: use devm_kasprintf() to avoid potential leaks
5735878a7b hwmon: (coretemp) Simplify platform device handling
2f8623377f gfs2: Improve gfs2_make_fs_rw error handling
bfa4ffd815 regulator: s5m8767: Bounds check id indexing into arrays
b4ff71c6f0 regulator: max77802: Bounds check regulator id against opmode
0adacf6d6b ASoC: kirkwood: Iterate over array indexes instead of using pointer math
fcfc774022 docs/scripts/gdb: add necessary make scripts_gdb step
540c66180a drm/msm/dsi: Add missing check for alloc_ordered_workqueue
d473c55ce1 drm: amd: display: Fix memory leakage
ce9e9d3dcb drm/radeon: free iio for atombios when driver shutdown
819d8dba03 drm/tiny: ili9486: Do not assume 8-bit only SPI controllers
bc919c866d HID: Add Mapping for System Microphone Mute
f4cb425252 drm/omap: dsi: Fix excessive stack usage
9f73793b81 drm/amd/display: Fix potential null-deref in dm_resume
348cc9ab33 Bluetooth: btusb: Add VID:PID 13d3:3529 for Realtek RTL8821CE
e974e8f1e3 PM: EM: fix memory leak with using debugfs_lookup()
0c2b778edd uaccess: Add minimum bounds check on kernel buffer size
d80f947bb3 coda: Avoid partial allocation of sig_inputArgs
206c511e42 net/mlx5: fw_tracer: Fix debug print
1ef724fed3 ACPI: video: Fix Lenovo Ideapad Z570 DMI match
46ce77b07c wifi: mt76: dma: free rx_head in mt76_dma_rx_cleanup
7873def499 m68k: Check syscall_trace_enter() return code
8418813205 net: bcmgenet: Add a check for oversized packets
1fc9760afd crypto: hisilicon: Wipe entire pool on error
2fc7748d48 clocksource: Suspend the watchdog temporarily when high read latency detected
94933dab75 ACPI: Don't build ACPICA with '-Os'
9f1865ebfa ice: add missing checks for PF vsi type
b33091fc28 inet: fix fast path in __inet_hash_connect()
47dc1f425a wifi: mt7601u: fix an integer underflow
0ca2efea4f wifi: brcmfmac: ensure CLM version is null-terminated to prevent stack-out-of-bounds
4707c94f7f x86/bugs: Reset speculation control settings on init
6ef02cdb5a timers: Prevent union confusion from unexpected restart_syscall()
781bff0a53 thermal: intel: Fix unsigned comparison with less than zero
744e538dcf wifi: ath11k: debugfs: fix to work with multiple PCI devices
d99d194e2f rcu-tasks: Make rude RCU-Tasks work well with CPU hotplug
2bf501f1bc rcu: Suppress smp_processor_id() complaint in synchronize_rcu_expedited_wait()
f5657f3306 rcu: Make RCU_LOCKDEP_WARN() avoid early lockdep checks
d6ef66194b wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds()
99ff971b62 wifi: ath9k: Fix use-after-free in ath9k_hif_usb_disconnect()
6e291810fe blk-iocost: fix divide by 0 error in calc_lcoefs()
199624f314 ARM: dts: exynos: Use Exynos5420 compatible for the MIPI video phy
f34cc701ea udf: Define EFSCORRUPTED error code
91f9d70871 rpmsg: glink: Avoid infinite loop on intent for missing channel
2b72ceef17 media: saa7134: Use video_unregister_device for radio_dev
42f8ba8355 media: usb: siano: Fix use after free bugs caused by do_submit_urb
cc2f9c8eb1 media: i2c: ov7670: 0 instead of -EINVAL was returned
78da5a378b media: rc: Fix use-after-free bugs caused by ene_tx_irqsim()
c6c3b4ae31 media: i2c: imx219: Fix binning for RAW8 capture
a34288e3a1 media: i2c: imx219: Split common registers from mode tables
09a0410886 media: i2c: imx219: remove redundant writes
dfaafeb8e9 media: i2c: ov772x: Fix memleak in ov772x_probe()
bcae9115a1 media: ov5675: Fix memleak in ov5675_init_controls()
a163ee1134 media: ov2740: Fix memleak in ov2740_init_controls()
505ff3a0c5 media: max9286: Fix memleak in max9286_v4l2_register()
f3e10a3437 builddeb: clean generated package content
55f3bca25d powerpc: Remove linker flag from KBUILD_AFLAGS
b74aaa314f media: platform: ti: Add missing check for devm_regulator_get
c7a218cbf6 media: ti: cal: fix possible memory leak in cal_ctx_create()
0a2e2674f7 remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers
7e5bc675eb Input: iqs269a - do not poll during ATI
65e39fdce1 Input: iqs269a - do not poll during suspend or resume
b0b84fd32c alpha/boot/tools/objstrip: fix the check for ELF header
4cab7debf3 vdpa/mlx5: Don't clear mr struct on destroy MR
bccccd43a0 MIPS: vpe-mt: drop physical_memsize
132203ce40 MIPS: SMP-CPS: fix build error when HOTPLUG_CPU not set
6fc6d29be8 powerpc/eeh: Set channel state after notifying the drivers
dfc41e3859 powerpc/eeh: Small refactor of eeh_handle_normal_event()
386cc2af90 powerpc/rtas: ensure 4KB alignment for rtas_data_buf
c9a299f2f4 powerpc/rtas: make all exports GPL
7afd768784 powerpc/pseries/lparcfg: add missing RTAS retry status handling
df995aef64 powerpc/pseries/lpar: add missing RTAS retry status handling
9626f83a6e powerpc/perf/hv-24x7: add missing RTAS retry status handling
831a2d8de1 clk: Honor CLK_OPS_PARENT_ENABLE in clk_core_is_enabled()
4f060379aa powerpc/powernv/ioda: Skip unallocated resources when mapping to PE
15fed9258b clk: qcom: gpucc-sdm845: fix clk_dis_wait being programmed for CX GDSC
241048adcb clk: qcom: gpucc-sc7180: fix clk_dis_wait being programmed for CX GDSC
1957c5b5ec Input: ads7846 - don't check penirq immediately for 7845
8d9b9e56c2 Input: ads7846 - always set last command to PWRDOWN
d247f3527b Input: ads7846 - convert to one message
a6c4384446 Input: ads7846 - convert to full duplex
7f2034b9b0 Input: ads7846 - don't report pressure for ads7845
092effd9f9 clk: imx: avoid memory leak
092f17eca8 clk: renesas: cpg-mssr: Remove superfluous check in resume code
7beb9b4538 clk: renesas: cpg-mssr: Fix use after free if cpg_mssr_common_init() failed
44a2a912c7 linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in <linux/kernel.h>
9a6dca86cf Input: iqs269a - configure device with a single block write
b7afc359f6 Input: iqs269a - increase interrupt handler return delay
a6a70ab2bb Input: iqs269a - drop unused device node references
b7fb5b5d2c mtd: rawnand: sunxi: Fix the size of the last OOB region
c90fa32bd4 RISC-V: fix funct4 definition for c.jalr in parse_asm.h
c7950aa872 clk: qcom: gcc-qcs404: fix names of the DSI clocks used as parents
7fd6fd898b clk: qcom: gcc-qcs404: disable gpll[04]_out_aux parents
3ee13bdf0d mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read()
8a041377a4 objtool: add UACCESS exceptions for __tsan_volatile_read/write
455cf05161 printf: fix errname.c list
b18946a9ce selftests/ftrace: Fix bash specific "==" operator
b8dc9f6fde sparc: allow PM configs for sparc32 COMPILE_TEST
93925ab9dd perf tools: Fix auto-complete on aarch64
1d6101d922 leds: led-core: Fix refcount leak in of_led_get()
071b7f5720 perf llvm: Fix inadvertent file creation
deece7bd60 gfs2: jdata writepage fix
cfd85a0922 cifs: Fix warning and UAF when destroy the MR list
caac205e0d cifs: Fix lost destroy smbd connection when MR allocate failed
9e8ccaf4ff nfsd: fix race to check ls_layouts
e73640184c hid: bigben_probe(): validate report count
fddde36316 HID: bigben: use spinlock to safely schedule workers
ec8b79668e HID: bigben_worker() remove unneeded check on report_field
2ca8ae5cf6 HID: bigben: use spinlock to protect concurrent accesses
f69065e1bd ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared
c785a87d9a spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one()
ac3a513d4f NFS: fix disabling of swap
242df51a82 nfs4trace: fix state manager flag printing
6d434b4c49 NFSv4: keep state manager thread active if swap is enabled
d601f78282 NFS: Fix up handling of outstanding layoutcommit in nfs_update_inode()
c550f65a54 dm: remove flush_scheduled_work() during local_exit()
f23a4b9bf8 ASoC: tlv320adcx140: fix 'ti,gpio-config' DT property init
4c6d18ea71 hwmon: (mlxreg-fan) Return zero speed for broken fan
a79f1e71e7 spi: bcm63xx-hsspi: Fix multi-bit mode setting
59b0ce292a spi: bcm63xx-hsspi: fix pm_runtime
ca769960cb scsi: aic94xx: Add missing check for dma_map_single()
30c7c72b6c scsi: mpt3sas: Fix a memory leak
0cb8a92a88 drm/amdgpu: fix enum odm_combine_mode mismatch
859bdc96ba hwmon: (ltc2945) Handle error case in ltc2945_value_store
d9bcf67b8b ASoC: dt-bindings: meson: fix gx-card codec node regex
b4d74716da ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params()
ce07bbe038 ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove()
d8f5539b5e ASoC: mchp-spdifrx: fix controls that works with completion mechanism
45956f1764 ASoC: mchp-spdifrx: fix return value in case completion times out
426423ed55 ASoC: atmel: fix spelling mistakes
1983a70778 ASoC: mchp-spdifrx: fix controls which rely on rsr register
b33ca7b7bb spi: dw_bt1: fix MUX_MMIO dependencies
33033f392d gpio: vf610: connect GPIO label to dev name
f2f6e683d9 ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress()
6a89ddee16 drm/mediatek: Clean dangling pointer on bind error path
b64b6dff15 drm/mediatek: mtk_drm_crtc: Add checks for devm_kcalloc
3a50d86696 drm/mediatek: Drop unbalanced obj unref
55bc7babc0 drm/mediatek: Use NULL instead of 0 for NULL pointer
da5fd53999 drm/mediatek: dsi: Reduce the time of dsi from LP11 to sending cmd
cfd710a7e5 gpu: host1x: Don't skip assigning syncpoints to channels
53f98ffcd8 pinctrl: mediatek: Initialize variable *buf to zero
d2eb2e7125 pinctrl: mediatek: Initialize variable pullen and pullup to zero
a46d29437b pinctrl: bcm2835: Remove of_node_put() in bcm2835_of_gpio_ranges_fallback()
49907c8873 drm/msm/mdp5: Add check for kzalloc
e9743b3052 drm/msm/dpu: Add check for pstates
31f2f8de0e drm/msm/dpu: Add check for cstate
70bc4db1fb drm/msm: use strscpy instead of strncpy
23770064a3 drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness
10c58ca62a drm/bridge: lt9611: pass a pointer to the of node
ffd4cbd7ea drm/bridge: lt9611: fix clock calculation
aa37ec52c1 drm/bridge: lt9611: fix programming of video modes
bffd007802 drm/bridge: lt9611: fix polarity programming
3c865a0146 drm/bridge: lt9611: fix HPD reenablement
88618e800a drm/bridge: lt9611: fix sleep mode setup
8dbd54d679 drm/msm/dpu: Disallow unallocated resources to be returned
42fdae9f59 ALSA: hda/ca0132: minor fix for allocation size
b26bd7791f drm/msm/adreno: Fix null ptr access in adreno_gpu_cleanup()
a3bf72eab8 ASoC: fsl_sai: initialize is_dsp_mode flag
d4438cbd9c drm/vc4: hdmi: Correct interlaced timings again
15a6be1011 drm/vc4: hvs: Fix colour order for xRGB1555 on HVS5
bc65127ba4 drm/vc4: hvs: Set AXI panic modes
d562054a3a pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups
3dd6f15938 pinctrl: rockchip: do coding style for mux route struct
6da121152a pinctrl: rockchip: add support for rk3568
8ab860dd87 pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain
86704e50ff pinctrl: qcom: pinctrl-msm8976: Correct function names for wcss pins
1bab31a096 drm/msm/hdmi: Add missing check for alloc_ordered_workqueue
8eb74bd9c9 gpu: ipu-v3: common: Add of_node_put() for reference returned by of_graph_get_port_by_id()
fdcacfd110 drm: tidss: Fix pixel format definition
2adbcf94eb drm/vc4: dpi: Fix format mapping for RGB565
09c6e21d6a drm/vc4: dpi: Add option for inverting pixel clock and output enable
0b8f390e22 drm/vkms: Fix null-ptr-deref in vkms_release()
5b9bcb33cf drm/bridge: megachips: Fix error handling in i2c_register_driver()
181fb5efb6 drm: mxsfb: DRM_MXSFB should depend on ARCH_MXS || ARCH_MXC
a86bd12bd9 drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats
5ae70041a6 drm: Fix potential null-ptr-deref due to drmm_mode_config_init()
8f06907f9f sefltests: netdevsim: wait for devlink instance after netns removal
6038e45879 selftest: fib_tests: Always cleanup before exit
e1c848d9dd net: bcmgenet: fix MoCA LED control
4a413d3609 l2tp: Avoid possible recursive deadlock in l2tp_tunnel_register()
5663df2062 selftests/net: Interpret UDP_GRO cmsg data as an int value
7cefa69222 irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts
27a601623d irqchip/irq-brcmstb-l2: Set IRQ_LEVEL for level triggered interrupts
9f487d888e bpf: Fix global subprog context argument resolution logic
3e8733949f can: esd_usb: Move mislocated storage of SJA1000_ECC_SEG bits in case of a bus error
e02bc49288 thermal/drivers/hisi: Drop second sensor hi3660
3856f75597 wifi: mac80211: make rate u32 in sta_set_rate_info_rx()
f333346001 crypto: crypto4xx - Call dma_unmap_page when done
b10827bce7 selftests/bpf: Fix out-of-srctree build
d7c5ecbc49 wifi: mwifiex: fix loop iterator in mwifiex_update_ampdu_txwinsize()
3185d6cfc5 wifi: iwl4965: Add missing check for create_singlethread_workqueue()
2f80b3ff92 wifi: iwl3945: Add missing check for create_singlethread_workqueue
5da95a7eb9 RISC-V: time: initialize hrtimer based broadcast clock event device
dabc22a30d m68k: /proc/hardware should depend on PROC_FS
c9c8714226 crypto: rsa-pkcs1pad - Use akcipher_request_complete
eb209a35d3 rds: rds_rm_zerocopy_callback() correct order for list_add_tail()
b7aa7fbc16 libbpf: Fix alen calculation in libbpf_nla_dump_errormsg()
b8ed41cc04 Bluetooth: L2CAP: Fix potential user-after-free
4f4c970a05 OPP: fix error checking in opp_migrate_dentry()
4a9272a864 tap: tap_open(): correctly initialize socket uid
9a31af61f3 tun: tun_chr_open(): correctly initialize socket uid
2416abd6ba net: add sock_init_data_uid()
4a614a68d9 s390/vmem: fix empty page tables cleanup under KASAN
df8d3536b6 irqchip/ti-sci: Fix refcount leak in ti_sci_intr_irq_domain_probe
cee12e8be8 irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe
c9aaf4efe1 irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains
b00baffcc2 irqchip: Fix refcount leak in platform_irqchip_probe
9cc2a41c58 net/mlx5: Enhance debug print in page allocation failure
94c4eafbbd bpftool: profile online CPUs instead of possible
627e140a5b crypto: ccp - Flush the SEV-ES TMR memory before giving it to firmware
959bd9d42a crypto: ccp - Refactor out sev_fw_alloc()
6952629bed leds: led-class: Add missing put_device() to led_put()
92a07ba4f0 crypto: xts - Handle EBUSY correctly
1198484164 net: ethernet: ti: add missing of_node_put before return
80c81aafc9 net: ethernet: ti: am65-cpsw: handle deferred probe with dev_err_probe()
37f0ca73fe net: ethernet: ti: am65-cpsw: fix tx csum offload for multi mac mode
8e83e1619f x86/microcode: Adjust late loading result reporting message
511e27e5fd x86/microcode: Check CPU capabilities after late microcode update correctly
89e848bb4a x86/microcode: Add a parameter to microcode_check() to store CPU capabilities
f5e78fa916 x86/microcode: Print previous version of microcode after reload
e623080668 x86/microcode: Default-disable late loading
9e56938f20 x86/microcode: Rip out the OLD_INTERFACE
8078a170ba x86: Mark stop_this_cpu() __noreturn
3900b7de1d x86/microcode: Replace deprecated CPU-hotplug functions.
2e3bd75f64 x86/cpu: Init AP exception handling from cpu_init_secondary()
0e7a569929 powercap: fix possible name leak in powercap_register_zone()
ae849d2f48 crypto: seqiv - Handle EBUSY correctly
796e02cca3 crypto: essiv - Handle EBUSY correctly
62d428c9fe crypto: ccp - Failure on re-initialization due to duplicate sysfs filename
6fb7dead79 ACPI: battery: Fix missing NUL-termination with large strings
45a1ca6f3a wifi: cfg80211: Fix extended KCK key length check in nl80211_set_rekey_data()
137963e3b9 wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup
78b56b0a61 wifi: ath9k: Fix potential stack-out-of-bounds write in ath9k_wmi_rsp_callback()
f26dd69f61 wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails
5668e63e26 ath9k: htc: clean up statistics macros
221f9bd5ec ath9k: hif_usb: simplify if-if to if-else
ec246dfe00 wifi: ath9k: htc_hst: free skb in ath9k_htc_rx_msg() if there is no callback function
b44178e718 wifi: orinoco: check return value of hermes_write_wordrec()
430f9f9bec wifi: rtl8xxxu: Fix memory leaks with RTL8723BU, RTL8192EU
695f1d9431 thermal/drivers/tsens: Sort out msm8976 vs msm8956 data
40f62ff0d7 thermal/drivers/tsens: Add compat string for the qcom,msm8960
a9f2002484 thermal/drivers/qcom/tsens_v1: Enable sensor 3 on MSM8976
e6ec7fa688 thermal/drivers/tsens: Drop msm8976-specific defines
5419cd28c8 ACPICA: nsrepair: handle cases without a return value correctly
4c33e01fe1 crypto: ccp - Avoid page allocation failure warning for SEV_GET_ID2
4c5300f6f5 crypto: ccp - Use kzalloc for sev ioctl interfaces to prevent kernel memory leak
daaec051cd crypto: ccp: Use the stack and common buffer for status commands
c997b509fd crypto: ccp: Use the stack for small SEV command buffers
318dd6f5b7 lib/mpi: Fix buffer overrun when SG is too long
1c37e86a78 rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes()
ad410f64f7 rcu-tasks: Remove preemption disablement around srcu_read_[un]lock() calls
b02b6bb83c rcu-tasks: Improve comments explaining tasks_rcu_exit_srcu purpose
a4935bb734 genirq: Fix the return type of kstat_cpu_irqs_sum()
5562585c4a ACPICA: Drop port I/O validation for some regions
6e43b2d9d1 crypto: x86/ghash - fix unaligned access in ghash_setkey()
f6e429cde9 wifi: wl3501_cs: don't call kfree_skb() under spin_lock_irqsave()
93b8809be5 wifi: libertas: cmdresp: don't call kfree_skb() under spin_lock_irqsave()
2ddb1820bd wifi: libertas: main: don't call kfree_skb() under spin_lock_irqsave()
647230e71e wifi: libertas: if_usb: don't call kfree_skb() under spin_lock_irqsave()
0258757caa wifi: libertas_tf: don't call kfree_skb() under spin_lock_irqsave()
b4b4447481 wifi: brcmfmac: unmap dma buffer in brcmf_msgbuf_alloc_pktid()
e08e6812ef wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit()
a1e94fb4d0 wifi: wilc1000: fix potential memory leak in wilc_mac_xmit()
8a2eb9d9d0 wifi: ipw2200: fix memory leak in ipw_wdev_init()
841ae9b924 wifi: ipw2x00: don't call dev_kfree_skb() under spin_lock_irqsave()
3938f01405 libbpf: Fix btf__align_of() by taking into account field offsets
1e950b9a84 wifi: rtlwifi: Fix global-out-of-bounds bug in _rtl8812ae_phy_set_txpower_limit()
d4fddfd728 rtlwifi: fix -Wpointer-sign warning
75f4eed70a wifi: rtl8xxxu: don't call dev_kfree_skb() under spin_lock_irqsave()
9c8f50c743 wifi: libertas: fix memory leak in lbs_init_adapter()
e9ef5631dd wifi: iwlegacy: common: don't call dev_kfree_skb() under spin_lock_irqsave()
0e5b782c1c wifi: rtlwifi: rtl8723be: don't call kfree_skb() under spin_lock_irqsave()
97018e737b wifi: rtlwifi: rtl8188ee: don't call kfree_skb() under spin_lock_irqsave()
d85d0b1a61 wifi: rtlwifi: rtl8821ae: don't call kfree_skb() under spin_lock_irqsave()
efc8df9705 wifi: rsi: Fix memory leak in rsi_coex_attach()
0a82c1e057 block: bio-integrity: Copy flags when bio_integrity_payload is cloned
895cb50196 x86/perf/zhaoxin: Add stepping check for ZXC
80a1751730 sched/rt: pick_next_rt_entity(): check list_entry
53dbbe3634 sched/deadline,rt: Remove unused parameter from pick_next_[rt|dl]_entity()
a50e28d433 s390/dasd: Fix potential memleak in dasd_eckd_init()
72aebdac39 s390/dasd: Prepare for additional path event handling
a33c33593b blk-mq: correct stale comment of .get_budget
2c58012d96 blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctx
12bcc4ec54 blk-mq: avoid sleep in blk_mq_alloc_request_hctx
d7cf3864d7 arm64: dts: mediatek: mt7622: Add missing pwm-cells to pwm node
e874629c5f ARM: dts: imx7s: correct iomuxc gpr mux controller cells
bbddc7c708 ARM: dts: sun8i: nanopi-duo2: Fix regulator GPIO reference
a451c1377a arm64: dts: renesas: beacon-renesom: Fix gpio expander reference
4c37a37743 arm64: dts: amlogic: meson-gxbb-kii-pro: fix led node name
c39c3ed4a3 arm64: dts: amlogic: meson-gxl-s905d-phicomm-n1: fix led node name
269fd2fb04 arm64: dts: amlogic: meson-gx-libretech-pc: fix update button name
373bb505ff arm64: dts: amlogic: meson-gxl: add missing unit address to eth-phy-mux node name
1c30db46dd arm64: dts: amlogic: meson-gx: add missing unit address to rng node name
436060c1b6 arm64: dts: amlogic: meson-gxl-s905d-sml5442tw: drop invalid clock-names property
6a46320f2a arm64: dts: amlogic: meson-gx: add missing SCPI sensors compatible
eb5f2c5657 arm64: dts: amlogic: meson-axg: fix SCPI clock dvfs node name
a7163b258a arm64: dts: amlogic: meson-gx: fix SCPI clock dvfs node name
14736f2eae ARM: imx: Call ida_simple_remove() for ida_simple_get
23134f7a54 ARM: dts: exynos: correct wr-active property in Exynos3250 Rinato
5325b8a120 arm64: dts: ti: k3-j7200: Fix wakeup pinmux range
4811cfd286 ARM: s3c: fix s3c64xx_set_timer_source prototype
66315db914 ARM: OMAP1: call platform_device_put() in error case in omap1_dm_timer_init()
1fa673af0a arm64: dts: meson: remove CPU opps below 1GHz for G12A boards
c56595b948 arm64: dts: qcom: ipq8074: correct PCIe QMP PHY output clock names
192cb335d8 arm64: dts: qcom: ipq8074: fix Gen3 PCIe node
e839d027d7 arm64: dts: qcom: ipq8074: correct Gen2 PCIe ranges
77970cf389 arm64: dts: qcom: ipq8074: fix Gen3 PCIe QMP PHY
9b5b1652e3 arm64: dts: qcom: ipq8074: fix PCIe PHY serdes size
8f1cb871f9 arm64: dts: qcom: Fix IPQ8074 PCIe PHY nodes
7ee2ca51e3 arm64: dts: qcom: ipq8074: correct USB3 QMP PHY-s clock output names
5633e86cce arm64: dts: meson-gx: Fix the SCPI DVFS node name and unit address
bd55aa16bf arm64: dts: meson-g12a: Fix internal Ethernet PHY unit name
8303a34fce arm64: dts: meson-gx: Fix Ethernet MAC address unit name
2df155a114 arm64: dts: qcom: sc7180: correct SPMI bus address cells
64b69cb420 arm64: dts: qcom: sdm845-db845c: fix audio codec interrupt pin name
717aa39846 arm64: dts: mediatek: mt8183: Fix systimer 13 MHz clock description
227f8c1c5c ARM: zynq: Fix refcount leak in zynq_early_slcr_init
644688a921 arm64: dts: qcom: qcs404: use symbol names for PCIe resets
4862c41d5f ARM: OMAP2+: Fix memory leak in realtime_counter_init()
e1bb97947c powerpc/mm: Rearrange if-else block to avoid clang warning
21a2eec4a4 HID: asus: use spinlock to safely schedule workers
6a63a3334a HID: asus: use spinlock to protect concurrent accesses
cb8382c371 HID: asus: Remove check for same LED brightness on set
9fd42770b5 Linux 5.10.172
da24142b1e io_uring: ensure that io_init_req() passes in the right issue_flags
a02b4a8660 Revert "nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property"
d480976b05 Revert "nvmem: core: remove nvmem_config wp_gpio"
a4160f76c7 Revert "nvmem: core: fix cleanup after dev_set_name()"
07d89b34a9 Revert "nvmem: core: fix registration vs use race"
365c551e77 Revert "nvmem: core: fix return value"
a25aa776b0 Linux 5.10.171
08681391b8 io_uring: add missing lock in io_get_file_fixed
218925bfd5 USB: core: Don't hold device lock while reading the "descriptors" sysfs file
c5360eec64 usb: gadget: u_serial: Add null pointer check in gserial_resume
cebcd4300a USB: serial: option: add support for VW/Skoda "Carstick LTE"
87c647def3 drm/virtio: Correct drm_gem_shmem_get_sg_table() error handling
0a4181b23a drm/virtio: Fix NULL vs IS_ERR checking in virtio_gpu_object_shmem_init
a401ef0557 scripts/tags.sh: fix incompatibility with PCRE2
65c07e15f2 scripts/tags.sh: Invoke 'realpath' via 'xargs'
1c44109c30 md: Flush workqueue md_rdev_misc_wq in md_alloc()
80653a6e6e vc_screen: don't clobber return value in vcs_read
3e4bbd1f38 net: Remove WARN_ON_ONCE(sk->sk_forward_alloc) from sk_stream_kill_queues().
a2957adbf3 bpf: bpf_fib_lookup should not return neigh in NUD_FAILED state
75fbe1e435 HID: core: Fix deadloop in hid_apply_multiplier.
2fd5059f4f neigh: make sure used and confirmed times are valid
065f6a6633 IB/hfi1: Assign npages earlier
6195cea4c7 btrfs: send: limit number of clones and allocated memory size
8e833fe47f ACPI: NFIT: fix a potential deadlock during NFIT teardown
abbf52efad ARM: dts: rockchip: add power-domains property to dp node on rk3288
1f3a209b2f arm64: dts: rockchip: drop unused LED mode property from rk3328-roc-cc
887975834d Fix XFRM-I support for nested ESP tunnels
0caf8151c2 Merge 5.10.169 into android12-5.10-lts
bb0ae42d0b Revert "Revert "nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property""
22d269bb30 Linux 5.10.170
12e3119a87 bpf: add missing header file include
c44e96d6c3 Revert "net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs"
1ba10d3640 ext4: Fix function prototype mismatch for ext4_feat_ktype
01e652f03a audit: update the mailing list in MAINTAINERS
e1dc3f102a wifi: mwifiex: Add missing compatible string for SD8787
4311ad1e76 nbd: fix possible overflow on 'first_minor' in nbd_dev_add()
2e0c3e43eb nbd: fix possible overflow for 'first_minor' in nbd_dev_add()
fd8107206a nbd: fix max value for 'first_minor'
f3f6b33b77 Revert "Revert "block: nbd: add sanity check for first_minor""
3b6ce54cfa uaccess: Add speculation barrier to copy_from_user()
267f62b7f3 mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh
3d743415c6 drm/i915/gvt: fix double free bug in split_2MB_gtt_entry
b50f6fc9d7 powerpc: dts: t208x: Disable 10G on MAC1 and MAC2
6a3fb887da can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len
1b0cafaae8 KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS
c41d856b70 KVM: SVM: Skip WRMSR fastpath on VM-Exit if next RIP isn't valid
a7ef904b68 KVM: x86: Fail emulation during EMULTYPE_SKIP on any exception
119e75d8fe random: always mix cycle counter in add_latent_entropy()
2da1f95085 clk: mxl: syscon_node_to_regmap() returns error pointers
1423d88753 powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G
caa47d9173 clk: mxl: Fix a clk entry by adding relevant flags
9dcf2ca5d3 clk: mxl: Add option to override gate clks
3789e905f4 clk: mxl: Remove redundant spinlocks
072eb5fbd6 clk: mxl: Switch from direct readl/writel based IO to regmap based IO
051d73eb9a wifi: rtl8xxxu: gen2: Turn on the rate control
eb9236d74c drm/etnaviv: don't truncate physical page address
2ae7379698 Linux 5.10.169
e953810345 nvmem: core: fix return value
c00867afe4 net: sched: sch: Fix off by one in htb_activate_prios()
31167df7c2 ASoC: SOF: Intel: hda-dai: fix possible stream_tag leak
6af2872cc6 alarmtimer: Prevent starvation by small intervals and SIG_IGN
6416c2108b kvm: initialize all of the kvm_debugregs structure before sending it to userspace
4fe9950815 net/sched: tcindex: search key must be 16 bits
b452e20b95 i40e: Add checking for null for nlmsg_find_attr()
5dfa51dbfc net/sched: act_ctinfo: use percpu stats
015ea70d72 flow_offload: fill flags to action structure
1d76a84448 drm/i915/gen11: Wa_1408615072/Wa_1407596294 should be on GT list
210e601180 drm/i915/gen11: Moving WAs to icl_gt_workarounds_init()
0ee5ed0126 nilfs2: fix underflow in second superblock position calculations
7546fb3554 ipv6: Fix tcp socket connection with DSCP.
5337bb508b ipv6: Fix datagram socket connection with DSCP.
1a4a5fd652 ixgbe: add double of VLAN header when computing the max MTU
7ff0fdba82 net: mpls: fix stale pointer if allocation fails during device rename
2dd914105a net: stmmac: Restrict warning on disabling DMA store and fwd mode
7eb8ebb5e8 bnxt_en: Fix mqprio and XDP ring checking logic
cc7ca4871a net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence
c0f65ee0a3 net: openvswitch: fix possible memory leak in ovs_meter_cmd_set()
525bdcb083 net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path
9d68bfa220 dccp/tcp: Avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions.
eb8e9d8572 net/sched: tcindex: update imperfect hash filters respecting rcu
747a17e25a sctp: sctp_sock_filter(): avoid list_entry() on possibly empty list
a5c51e0c32 net: bgmac: fix BCM5358 support by setting correct flags
23974088fd i40e: add double of VLAN header when computing the max MTU
152a5f32ac ixgbe: allow to increase MTU to 3K with XDP enabled
3a63392c19 revert "squashfs: harden sanity check in squashfs_read_xattr_id_table"
e2bf52ff15 net: Fix unwanted sign extension in netdev_stats_to_stats64()
1933be146c Revert "mm: Always release pages to the buddy allocator in memblock_free_late()."
9662320238 hugetlb: check for undefined shift on 32 bit architectures
ec9c7aa088 sched/psi: Fix use-after-free in ep_remove_wait_queue()
7ed5c14722 ALSA: hda/realtek - fixed wrong gpio assigned
59d5c80ce5 ALSA: hda/conexant: add a new hda codec SN6180
0b3edcb24b mmc: mmc_spi: fix error handling in mmc_spi_probe()
30716d9f0f mmc: sdio: fix possible resource leaks in some error paths
73ad25c50d mmc: jz4740: Work around bug on JZ4760(B)
eaba3f9b67 netfilter: nft_tproxy: restrict to prerouting hook
6618b0dcf2 ovl: remove privs in ovl_fallocate()
f6f94837d9 ovl: remove privs in ovl_copyfile()
645df4047b s390/signal: fix endless loop in do_signal
c261f798f7 aio: fix mremap after fork null-deref
2dcb474af1 nvmem: core: fix registration vs use race
23676ecd2e nvmem: core: fix cleanup after dev_set_name()
89991ededc nvmem: core: remove nvmem_config wp_gpio
a19a0f67db nvmem: core: add error handling for dev_set_name
25f65c83f5 platform/x86: touchscreen_dmi: Add Chuwi Vi8 (CWI501) DMI match
ecf5b49df3 nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association
55dbd6f4ea s390/decompressor: specify __decompress() buf len to avoid overflow
90fcf55d83 net: sched: sch: Bounds check priority
614a58e00d net: stmmac: do not stop RX_CLK in Rx LPI state for qcs404 SoC
aa84a8cc1b net/rose: Fix to not accept on connected socket
37bb61763d tools/virtio: fix the vringh test for virtio ring changes
3ec44268e2 ASoC: cs42l56: fix DT probe
7fc4e7191e ALSA: hda: Do not unset preset when cleaning up codec
490fcbc7b5 selftests/bpf: Verify copy_register_state() preserves parent/live fields
7d3a5ec579 ASoC: Intel: sof_rt5682: always set dpcm_capture for amplifiers

Update the .xml file to handle the ABI update in the LTS branch:

Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 1 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 function with some sub-type change:

  [C] 'function irq_domain* __irq_domain_add(fwnode_handle*, int, irq_hw_number_t, int, const irq_domain_ops*, void*)' at irqdomain.c:229:1 has some sub-type changes:
    parameter 2 of type 'int' changed:
      type name changed from 'int' to 'unsigned int'
      type size hasn't changed

Change-Id: I0a63ed2e6b2f1871671f8341f3c3b431592fcd64
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-05-26 15:09:40 +00:00
Paolo Bonzini
7f9a9a8fe4 UPSTREAM: KVM: x86: do not report a vCPU as preempted outside instruction boundaries
commit 6cd88243c7e03845a450795e134b488fc2afb736 upstream.

If a vCPU is outside guest mode and is scheduled out, it might be in the
process of making a memory access.  A problem occurs if another vCPU uses
the PV TLB flush feature during the period when the vCPU is scheduled
out, and a virtual address has already been translated but has not yet
been accessed, because this is equivalent to using a stale TLB entry.

To avoid this, only report a vCPU as preempted if sure that the guest
is at an instruction boundary.  A rescheduling request will be delivered
to the host physical CPU as an external interrupt, so for simplicity
consider any vmexit *not* instruction boundary except for external
interrupts.

It would in principle be okay to report the vCPU as preempted also
if it is sleeping in kvm_vcpu_block(): a TLB flush IPI will incur the
vmentry/vmexit overhead unnecessarily, and optimistic spinning is
also unlikely to succeed.  However, leave it for later because right
now kvm_vcpu_check_block() is doing memory accesses.  Even
though the TLB flush issue only applies to virtual memory address,
it's very much preferrable to be conservative.

Bug: 245869446
Bug: 278120352
Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[OP: use VCPU_STAT() for debugfs entries]
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 529f41f0eb)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Ie9c597eecb619d12a714a0d0722d34e855e97b14
2023-05-24 17:51:35 +00:00
Greg Kroah-Hartman
7c835be7ec ANDROID: remove CONFIG_NET_CLS_TCINDEX from gki_defconfig
The tcindex code was removed from the tree in 5.10.173, so remove the
config option from the gki_defconfig files to fix up the build.

Fixes: 18c3fa7a7f ("net/sched: Retire tcindex classifier")
Change-Id: Id4927815ec2fd0ebc8065d891dfb721551f3dbc6
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
(cherry picked from commit a880d7ebc5)
Signed-off-by: Lee Jones <joneslee@google.com>
2023-05-24 17:48:52 +00:00
Jamal Hadi Salim
21a4564a6c BACKPORT: net/sched: Retire tcindex classifier
commit 8c710f75256bb3cf05ac7b1672c82b92c43f3d28 upstream.

The tcindex classifier has served us well for about a quarter of a century
but has not been getting much TLC due to lack of known users. Most recently
it has become easy prey to syzkaller. For this reason, we are retiring it.

Bug: 274008928
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Acked-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I00dac08e63c5cc260c12cfa8934e50913280e898
2023-05-24 17:48:52 +00:00
Udipto Goswami
f27e7efdc6 FROMLIST: usb: xhci: Remove unused udev from xhci_log_ctx trace event
xhci_log_ctx event is not utilizing the extracted udev to
print out anything, hence removing it.

Fixes: 1d27fabec0 ("xhci: add xhci_address_ctx trace event")
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>

Bug: 278637066
Bug: 283906700
Link: https://lore.kernel.org/all/20230323131315.21764-1-quic_ugoswami@quicinc.com/
Change-Id: I359a050ff411ede5bc2c3ba1d1d68550773fa0a6
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
(cherry picked from commit d3e95905cee3c94c0d16f392c2e8e7b475540d0e)
2023-05-24 08:51:00 +00:00
Tudor Ambarus
948b2a1205 UPSTREAM: ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
commit 4f04351888a83e595571de672e0a4a8b74f4fb31 upstream.

When modifying the block device while it is mounted by the filesystem,
syzbot reported the following:

BUG: KASAN: slab-out-of-bounds in crc16+0x206/0x280 lib/crc16.c:58
Read of size 1 at addr ffff888075f5c0a8 by task syz-executor.2/15586

CPU: 1 PID: 15586 Comm: syz-executor.2 Not tainted 6.2.0-rc5-syzkaller-00205-gc96618275234 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/12/2023
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1b1/0x290 lib/dump_stack.c:106
 print_address_description+0x74/0x340 mm/kasan/report.c:306
 print_report+0x107/0x1f0 mm/kasan/report.c:417
 kasan_report+0xcd/0x100 mm/kasan/report.c:517
 crc16+0x206/0x280 lib/crc16.c:58
 ext4_group_desc_csum+0x81b/0xb20 fs/ext4/super.c:3187
 ext4_group_desc_csum_set+0x195/0x230 fs/ext4/super.c:3210
 ext4_mb_clear_bb fs/ext4/mballoc.c:6027 [inline]
 ext4_free_blocks+0x191a/0x2810 fs/ext4/mballoc.c:6173
 ext4_remove_blocks fs/ext4/extents.c:2527 [inline]
 ext4_ext_rm_leaf fs/ext4/extents.c:2710 [inline]
 ext4_ext_remove_space+0x24ef/0x46a0 fs/ext4/extents.c:2958
 ext4_ext_truncate+0x177/0x220 fs/ext4/extents.c:4416
 ext4_truncate+0xa6a/0xea0 fs/ext4/inode.c:4342
 ext4_setattr+0x10c8/0x1930 fs/ext4/inode.c:5622
 notify_change+0xe50/0x1100 fs/attr.c:482
 do_truncate+0x200/0x2f0 fs/open.c:65
 handle_truncate fs/namei.c:3216 [inline]
 do_open fs/namei.c:3561 [inline]
 path_openat+0x272b/0x2dd0 fs/namei.c:3714
 do_filp_open+0x264/0x4f0 fs/namei.c:3741
 do_sys_openat2+0x124/0x4e0 fs/open.c:1310
 do_sys_open fs/open.c:1326 [inline]
 __do_sys_creat fs/open.c:1402 [inline]
 __se_sys_creat fs/open.c:1396 [inline]
 __x64_sys_creat+0x11f/0x160 fs/open.c:1396
 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+0x63/0xcd
RIP: 0033:0x7f72f8a8c0c9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 19 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f72f97e3168 EFLAGS: 00000246 ORIG_RAX: 0000000000000055
RAX: ffffffffffffffda RBX: 00007f72f8bac050 RCX: 00007f72f8a8c0c9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000020000280
RBP: 00007f72f8ae7ae9 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffd165348bf R14: 00007f72f97e3300 R15: 0000000000022000

Replace
	le16_to_cpu(sbi->s_es->s_desc_size)
with
	sbi->s_desc_size

It reduces ext4's compiled text size, and makes the code more efficient
(we remove an extra indirect reference and a potential byte
swap on big endian systems), and there is no downside. It also avoids the
potential KASAN / syzkaller failure, as a bonus.

Reported-by: syzbot+fc51227e7100c9294894@syzkaller.appspotmail.com
Reported-by: syzbot+8785e41224a3afd04321@syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?id=70d28d11ab14bd7938f3e088365252aa923cff42
Link: https://syzkaller.appspot.com/bug?id=b85721b38583ecc6b5e72ff524c67302abbc30f3
Link: https://lore.kernel.org/all/000000000000ece18705f3b20934@google.com/
Fixes: 717d50e497 ("Ext4: Uninitialized Block Groups")
Cc: stable@vger.kernel.org
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Link: https://lore.kernel.org/r/20230504121525.3275886-1-tudor.ambarus@linaro.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 269155298
Bug: 270466805
Change-Id: Id14192ab0905c36e154d07d461afb56af7b61488
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
2023-05-24 06:38:44 +00:00
Peifeng Li
f60101a030 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_cleanup_old_buffers_bypass(void*, unsigned long int, unsigned long int*, bool*)'
  [A] 'function int __traceiter_android_vh_dm_bufio_shrink_scan_bypass(void*, unsigned long int, bool*)'

2 Added variables:

  [A] 'tracepoint __tracepoint_android_vh_cleanup_old_buffers_bypass'
  [A] 'tracepoint __tracepoint_android_vh_dm_bufio_shrink_scan_bypass'

Bug: 281467813

Signed-off-by: Peifeng Li <lipeifeng@oppo.com>
Change-Id: I804fcea959bc982934002056e09aaabe26ac1ea0
2023-05-23 09:29:29 +08:00
Peifeng Li
64c7044d39 ANDROID: vendor_hook: add hooks in dm_bufio.c
1. android_vh_dm_bufio_shrink_scan_bypass
To adjust dm_bufio-buffer shrinker's policy in some cases.
2. cleanup_old_buffers_bypass
To adjust the policy of dm_bufio-buffer periodic eviction
in some cases.

Bug: 281467813

Signed-off-by: Peifeng Li <lipeifeng@oppo.com>
Change-Id: I29a9d91d18d2e279170533db83b59cfc3b17ebe2
2023-05-22 10:51:36 +08:00
Seiya Wang
f03258701d ANDROID: GKI: Update symbol list for mtk
3 Added functions:

  [A] 'function int pci_prepare_to_sleep(pci_dev*)'
  [A] 'function void phy_ethtool_get_wol(phy_device*, ethtool_wolinfo*)'
  [A] 'function void phy_support_asym_pause(phy_device*)'

Bug: 283291448
Signed-off-by: Seiya Wang <seiya.wang@mediatek.com>
Change-Id: I73c677c32326f7ab5db7b7cd1c11d3e7311444ab
2023-05-19 18:17:31 +00:00
Theodore Ts'o
9d8c9d868e UPSTREAM: ext4: fix invalid free tracking in ext4_xattr_move_to_block()
commit b87c7cdf2bed4928b899e1ce91ef0d147017ba45 upstream.

In ext4_xattr_move_to_block(), the value of the extended attribute
which we need to move to an external block may be allocated by
kvmalloc() if the value is stored in an external inode.  So at the end
of the function the code tried to check if this was the case by
testing entry->e_value_inum.

However, at this point, the pointer to the xattr entry is no longer
valid, because it was removed from the original location where it had
been stored.  So we could end up calling kvfree() on a pointer which
was not allocated by kvmalloc(); or we could also potentially leak
memory by not freeing the buffer when it should be freed.  Fix this by
storing whether it should be freed in a separate variable.

Cc: stable@kernel.org
Link: https://lore.kernel.org/r/20230430160426.581366-1-tytso@mit.edu
Link: https://syzkaller.appspot.com/bug?id=5c2aee8256e30b55ccf57312c16d88417adbd5e1
Link: https://syzkaller.appspot.com/bug?id=41a6b5d4917c0412eb3b3c3c604965bed7d7420b
Reported-by: syzbot+64b645917ce07d89bde5@syzkaller.appspotmail.com
Reported-by: syzbot+0d042627c4f2ad332195@syzkaller.appspotmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 281332515
Bug: 281333738
Change-Id: Id1fbcc337821d66df53c2826bf3158963f8b0673
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
2023-05-19 09:37:14 +00:00
Suren Baghdasaryan
97aa93c23f ANDROID: uid_sys_stats: defer process_notifier work if uid_lock is contended
process_notifier() is called every time a process exits. When multiple
processes exit roughly at the same time, the uid_lock taken from inside
of process_notifier() will create contention which slows down process
exit. Defer stats accounting in such case to avoid lock contention.

Bug: 261537194
Change-Id: Ia1e9a451eab39eb0dda7eb175bfd71c67f3e0a58
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
(cherry picked from commit 5d96c24be923d9011762de19bcfbade68b103759)
2023-05-18 18:10:31 +00:00
tanghuan
c28be8ff1d BACKPORT: scsi: ufs: Fix device management cmd timeout flow
In the UFS error handling flow, the host will send a device management
cmd(NOP OUT) to the device for link recovery. If this cmd times out and
clearing the doorbell fails, ufshcd_wait_for_dev_cmd() will do nothing
andreturn. hba->dev_cmd.complete struct is not set to NULL.

When this happens, if cmd has been completed by device, then we will
call complete() in __ufshcd_transfer_req_compl(). Because the complete
struct is allocated on the stack, the following crash will occur:

   ipanic_die+0x24/0x38 [mrdump]
   die+0x344/0x748
   arm64_notify_die+0x44/0x104
   do_debug_exception+0x104/0x1e0
   el1_dbg+0x38/0x54
   el1_sync_handler+0x40/0x88
   el1_sync+0x8c/0x140
   queued_spin_lock_slowpath+0x2e4/0x3c0
   __ufshcd_transfer_req_compl+0x3b0/0x1164
   ufshcd_trc_handler+0x15c/0x308
   ufshcd_host_reset_and_restore+0x54/0x260
   ufshcd_reset_and_restore+0x28c/0x57c
   ufshcd_err_handler+0xeb8/0x1b6c
   process_one_work+0x288/0x964
   worker_thread+0x4bc/0xc7c
   kthread+0x15c/0x264
   ret_from_fork+0x10/0x30

Bug:280957963
Change-Id: I1529c332847ace10bf4a6f8c1ec10ea2eb1eea6a
(cherry picked from commit 36822124f9de200cedc2f42516301b50d386a6cd)
Link: https://lore.kernel.org/r/20221216032532.1280-1-mason.zhang@mediatek.com
Signed-off-by: Mason Zhang <Mason.Zhang@mediatek.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: tanghuan <tanghuan@vivo.com>
2023-05-16 16:14:57 +00:00
Udipto Goswami
3641f511ee UPSTREAM: usb: dwc3: debugfs: Resume dwc3 before accessing registers
When the dwc3 device is runtime suspended, various required clocks are in
disabled state and it is not guaranteed that access to any registers would
work. Depending on the SoC glue, a register read could be as benign as
returning 0 or be fatal enough to hang the system.

In order to prevent such scenarios of fatal errors, make sure to resume
dwc3 then allow the function to proceed.

Fixes: 72246da40f ("usb: Introduce DesignWare USB3 DRD Driver")
Cc: stable@vger.kernel.org #3.2: 30332eeefe: debugfs: regset32: Add Runtime PM support
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Tested-by: Johan Hovold <johan+linaro@kernel.org>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/20230509144836.6803-1-quic_ugoswami@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 282654910
(cherry picked from commit 614ce6a2ea50068b45339257891e51e639ac9001 usb-linus)

Change-Id: Ie89d818b2d77681075cc517184ad1a5fa755dd88
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
2023-05-16 13:55:57 +00:00
Greg Kroah-Hartman
694b75e0ce UPSTREAM: kvm: initialize all of the kvm_debugregs structure before sending it to userspace
commit 2c10b61421a28e95a46ab489fd56c0f442ff6952 upstream.

When calling the KVM_GET_DEBUGREGS ioctl, on some configurations, there
might be some unitialized portions of the kvm_debugregs structure that
could be copied to userspace.  Prevent this as is done in the other kvm
ioctls, by setting the whole structure to 0 before copying anything into
it.

Bonus is that this reduces the lines of code as the explicit flag
setting and reserved space zeroing out can be removed.

Bug: 276839298
Cc: Sean Christopherson <seanjc@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: <x86@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: stable <stable@kernel.org>
Reported-by: Xingyuan Mo <hdthky0@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Message-Id: <20230214103304.3689213-1-gregkh@linuxfoundation.org>
Tested-by: Xingyuan Mo <hdthky0@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Iba91db0bd1b8380584f48b0ca94d8c104afcce29
2023-05-16 10:51:06 +01:00
tanghuan@vivo.com
368fb8a50c BACKPORT: scsi: ufs: fix a race condition related to device management
If a device management command completion happens after
wait_for_completion_timeout() times out and before ufshcd_clear_cmds()
is called, then the completion code may crash on the complete() call in
__ufshcd_transfer_req_compl().

Fix the following crash:

  Unable to handle kernel NULL pointer dereference at virtual address  0000000000000008
  Call trace:
   complete+0x64/0x178
   __ufshcd_transfer_req_compl+0x30c/0x9c0
   ufshcd_poll+0xf0/0x208
   ufshcd_sl_intr+0xb8/0xf0
   ufshcd_intr+0x168/0x2f4
   __handle_irq_event_percpu+0xa0/0x30c
   handle_irq_event+0x84/0x178
   handle_fasteoi_irq+0x150/0x2e8
   __handle_domain_irq+0x114/0x1e4
   gic_handle_irq.31846+0x58/0x300
   el1_irq+0xe4/0x1c0
   efi_header_end+0x110/0x680
   __irq_exit_rcu+0x108/0x124
   __handle_domain_irq+0x118/0x1e4
   gic_handle_irq.31846+0x58/0x300
   el1_irq+0xe4/0x1c0
   cpuidle_enter_state+0x3ac/0x8c4
   do_idle+0x2fc/0x55c
   cpu_startup_entry+0x84/0x90
   kernel_init+0x0/0x310
   start_kernel+0x0/0x608
   start_kernel+0x4ec/0x608

Bug:280957963
Change-Id: I317f9a92ddbd38a952328ce132a60228f41651be
(cherry picked from commit f5c2976e0cb0f6236013bfb479868531b04f61d4)
Link: https://lore.kernel.org/r/20220720170228.1598842-1-bvanassche@acm.org
Fixes: 5a0b0cb9be ("[SCSI] ufs: Add support for sending NOP OUT UPIU")
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Avri Altman <avri.altman@wdc.com>
Cc: Bean Huo <beanhuo@micron.com>
Cc: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: tanghuan@vivo.com <tanghuan>
2023-05-15 16:49:12 +00:00
Lee Jones
e36eef3783 Revert "Revert "mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse""
This reverts commit 4f35cec76058557d9eaec0d501d03c7657eb56b4 and does so
in an abi-safe way.

This is done by adding the new fields only to the end of the structure
and this structure is only passed around to other functions as a
pointer, the internal structure layout is only touched by the core
kernel, so adding it to the end is safe.

Update ABI using The Button:

Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 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

'struct anon_vma at rmap.h:33:1' changed:
  type size changed from 832 to 960 (in bits)
  2 data member insertions:
    'unsigned long int num_children', at offset 832 (in bits) at rmap.h:74:1
    'unsigned long int num_active_vmas', at offset 896 (in bits) at rmap.h:76:1
  5406 impacted interfaces

Bug: 260678056
Bug: 253167854
Change-Id: Ib1d45625cbc2e0b21330ca3dc2aa7aff34666d31
Signed-off-by: Lee Jones <joneslee@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-05-11 12:39:32 +00:00
Thinh Nguyen
a42b1b6119 BACKPORT: usb: dwc3: gadget: Ignore End Transfer delay on teardown
If we delay sending End Transfer for Setup TRB to be prepared, we need
to check if the End Transfer was in preparation for a driver
teardown/soft-disconnect. In those cases, just send the End Transfer
command without delay.

In the case of soft-disconnect, there's a very small chance the command
may not go through immediately. But should it happen, the Setup TRB will
be prepared during the polling of the controller halted state, allowing
the command to go through then.

In the case of disabling endpoint due to reconfiguration (e.g.
set_interface(alt-setting) or usb reset), then it's driven by the host.
Typically the host wouldn't immediately cancel the control request and
send another control transfer to trigger the End Transfer command
timeout.

Bug: 280698394
Bug: 276227797
Fixes: 4db0fbb60136 ("usb: dwc3: gadget: Don't delay End Transfer on delayed_status")
Cc: stable@vger.kernel.org
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/f1617a323e190b9cc408fb8b65456e32b5814113.1670546756.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c4e3ef568539)
Change-Id: If49c07d3822e8d637f7dca337c895b0fd1a156f2
(cherry picked from commit 2f2c6f2cf0602ca2b82c70c49aa4e3dab0ab8e11)
2023-05-09 12:19:02 +00:00