Commit Graph

38334 Commits

Author SHA1 Message Date
Roland Xu
1401da1486 rtmutex: Drop rt_mutex::wait_lock before scheduling
commit d33d26036a0274b472299d7dcdaa5fb34329f91b upstream.

rt_mutex_handle_deadlock() is called with rt_mutex::wait_lock held.  In the
good case it returns with the lock held and in the deadlock case it emits a
warning and goes into an endless scheduling loop with the lock held, which
triggers the 'scheduling in atomic' warning.

Unlock rt_mutex::wait_lock in the dead lock case before issuing the warning
and dropping into the schedule for ever loop.

[ tglx: Moved unlock before the WARN(), removed the pointless comment,
  	massaged changelog, added Fixes tag ]

Fixes: 3d5c9340d1 ("rtmutex: Handle deadlock detection smarter")
Signed-off-by: Roland Xu <mu001999@outlook.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/ME0P300MB063599BEF0743B8FA339C2CECC802@ME0P300MB0635.AUSP300.PROD.OUTLOOK.COM
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-12 11:06:51 +02:00
Peter Zijlstra
7882923f1c perf/aux: Fix AUX buffer serialization
commit 2ab9d830262c132ab5db2f571003d80850d56b2a upstream.

Ole reported that event->mmap_mutex is strictly insufficient to
serialize the AUX buffer, add a per RB mutex to fully serialize it.

Note that in the lock order comment the perf_event::mmap_mutex order
was already wrong, that is, it nesting under mmap_lock is not new with
this patch.

Fixes: 45bfb2e504 ("perf: Add AUX area to ring buffer for raw data streams")
Reported-by: Ole <ole@binarygecko.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-12 11:06:50 +02:00
Sven Schnelle
0f511f2840 uprobes: Use kzalloc to allocate xol area
commit e240b0fde52f33670d1336697c22d90a4fe33c84 upstream.

To prevent unitialized members, use kzalloc to allocate
the xol area.

Fixes: b059a453b1 ("x86/vdso: Add mremap hook to vm_special_mapping")
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Link: https://lore.kernel.org/r/20240903102313.3402529-1-svens@linux.ibm.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-12 11:06:50 +02:00
Zqiang
8780129cbc smp: Add missing destroy_work_on_stack() call in smp_call_on_cpu()
[ Upstream commit 77aeb1b685f9db73d276bad4bb30d48505a6fd23 ]

For CONFIG_DEBUG_OBJECTS_WORK=y kernels sscs.work defined by
INIT_WORK_ONSTACK() is initialized by debug_object_init_on_stack() for
the debug check in __init_work() to work correctly.

But this lacks the counterpart to remove the tracked object from debug
objects again, which will cause a debug object warning once the stack is
freed.

Add the missing destroy_work_on_stack() invocation to cure that.

[ tglx: Massaged changelog ]

Signed-off-by: Zqiang <qiang.zhang1211@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Paul E. McKenney <paulmck@kernel.org>
Link: https://lore.kernel.org/r/20240704065213.13559-1-qiang.zhang1211@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-09-12 11:06:48 +02:00
Waiman Long
1434b72a2d cgroup: Protect css->cgroup write under css_set_lock
[ Upstream commit 57b56d16800e8961278ecff0dc755d46c4575092 ]

The writing of css->cgroup associated with the cgroup root in
rebind_subsystems() is currently protected only by cgroup_mutex.
However, the reading of css->cgroup in both proc_cpuset_show() and
proc_cgroup_show() is protected just by css_set_lock. That makes the
readers susceptible to racing problems like data tearing or caching.
It is also a problem that can be reported by KCSAN.

This can be fixed by using READ_ONCE() and WRITE_ONCE() to access
css->cgroup. Alternatively, the writing of css->cgroup can be moved
under css_set_lock as well which is done by this patch.

Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-09-12 11:06:48 +02:00
Zheng Yejian
e3ad85c477 tracing: Avoid possible softlockup in tracing_iter_reset()
commit 49aa8a1f4d6800721c7971ed383078257f12e8f9 upstream.

In __tracing_open(), when max latency tracers took place on the cpu,
the time start of its buffer would be updated, then event entries with
timestamps being earlier than start of the buffer would be skipped
(see tracing_iter_reset()).

Softlockup will occur if the kernel is non-preemptible and too many
entries were skipped in the loop that reset every cpu buffer, so add
cond_resched() to avoid it.

Cc: stable@vger.kernel.org
Fixes: 2f26ebd549 ("tracing: use timestamp to determine start of latency traces")
Link: https://lore.kernel.org/20240827124654.3817443-1-zhengyejian@huaweicloud.com
Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Zheng Yejian <zhengyejian@huaweicloud.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-12 11:06:43 +02:00
Connor O'Brien
06e7be6934 bpf, cgroup: Assign cgroup in cgroup_sk_alloc when called from interrupt
From: Daniel Borkmann <daniel@iogearbox.net>

commit 78cc316e9583067884eb8bd154301dc1e9ee945c upstream.

If cgroup_sk_alloc() is called from interrupt context, then just assign the
root cgroup to skcd->cgroup. Prior to commit 8520e224f547 ("bpf, cgroups:
Fix cgroup v2 fallback on v1/v2 mixed mode") we would just return, and later
on in sock_cgroup_ptr(), we were NULL-testing the cgroup in fast-path, and
iff indeed NULL returning the root cgroup (v ?: &cgrp_dfl_root.cgrp). Rather
than re-adding the NULL-test to the fast-path we can just assign it once from
cgroup_sk_alloc() given v1/v2 handling has been simplified. The migration from
NULL test with returning &cgrp_dfl_root.cgrp to assigning &cgrp_dfl_root.cgrp
directly does /not/ change behavior for callers of sock_cgroup_ptr().

syzkaller was able to trigger a splat in the legacy netrom code base, where
the RX handler in nr_rx_frame() calls nr_make_new() which calls sk_alloc()
and therefore cgroup_sk_alloc() with in_interrupt() condition. Thus the NULL
skcd->cgroup, where it trips over on cgroup_sk_free() side given it expects
a non-NULL object. There are a few other candidates aside from netrom which
have similar pattern where in their accept-like implementation, they just call
to sk_alloc() and thus cgroup_sk_alloc() instead of sk_clone_lock() with the
corresponding cgroup_sk_clone() which then inherits the cgroup from the parent
socket. None of them are related to core protocols where BPF cgroup programs
are running from. However, in future, they should follow to implement a similar
inheritance mechanism.

Additionally, with a !CONFIG_CGROUP_NET_PRIO and !CONFIG_CGROUP_NET_CLASSID
configuration, the same issue was exposed also prior to 8520e224f547 due to
commit e876ecc67d ("cgroup: memcg: net: do not associate sock with unrelated
cgroup") which added the early in_interrupt() return back then.

Fixes: 8520e224f547 ("bpf, cgroups: Fix cgroup v2 fallback on v1/v2 mixed mode")
Fixes: e876ecc67d ("cgroup: memcg: net: do not associate sock with unrelated cgroup")
Reported-by: syzbot+df709157a4ecaf192b03@syzkaller.appspotmail.com
Reported-by: syzbot+533f389d4026d86a2a95@syzkaller.appspotmail.com
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Tested-by: syzbot+df709157a4ecaf192b03@syzkaller.appspotmail.com
Tested-by: syzbot+533f389d4026d86a2a95@syzkaller.appspotmail.com
Acked-by: Tejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/bpf/20210927123921.21535-1-daniel@iogearbox.net
Signed-off-by: Connor O'Brien <connor.obrien@crowdstrike.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-12 11:06:42 +02:00
Nikita Kiryushin
17c43211d4 rcu-tasks: Fix show_rcu_tasks_trace_gp_kthread buffer overflow
commit cc5645fddb0ce28492b15520306d092730dffa48 upstream.

There is a possibility of buffer overflow in
show_rcu_tasks_trace_gp_kthread() if counters, passed
to sprintf() are huge. Counter numbers, needed for this
are unrealistically high, but buffer overflow is still
possible.

Use snprintf() with buffer size instead of sprintf().

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: edf3775f0a ("rcu-tasks: Add count for idle tasks on offline CPUs")
Signed-off-by: Nikita Kiryushin <kiryushin@ancud.ru>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Vamsi Krishna Brahmajosyula <vamsi-krishna.brahmajosyula@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-12 11:06:42 +02:00
Connor O'Brien
cf002be3b8 bpf, cgroups: Fix cgroup v2 fallback on v1/v2 mixed mode
From: Daniel Borkmann <daniel@iogearbox.net>

commit 8520e224f547cd070c7c8f97b1fc6d58cff7ccaa upstream.

Fix cgroup v1 interference when non-root cgroup v2 BPF programs are used.
Back in the days, commit bd1060a1d6 ("sock, cgroup: add sock->sk_cgroup")
embedded per-socket cgroup information into sock->sk_cgrp_data and in order
to save 8 bytes in struct sock made both mutually exclusive, that is, when
cgroup v1 socket tagging (e.g. net_cls/net_prio) is used, then cgroup v2
falls back to the root cgroup in sock_cgroup_ptr() (&cgrp_dfl_root.cgrp).

The assumption made was "there is no reason to mix the two and this is in line
with how legacy and v2 compatibility is handled" as stated in bd1060a1d6.
However, with Kubernetes more widely supporting cgroups v2 as well nowadays,
this assumption no longer holds, and the possibility of the v1/v2 mixed mode
with the v2 root fallback being hit becomes a real security issue.

Many of the cgroup v2 BPF programs are also used for policy enforcement, just
to pick _one_ example, that is, to programmatically deny socket related system
calls like connect(2) or bind(2). A v2 root fallback would implicitly cause
a policy bypass for the affected Pods.

In production environments, we have recently seen this case due to various
circumstances: i) a different 3rd party agent and/or ii) a container runtime
such as [0] in the user's environment configuring legacy cgroup v1 net_cls
tags, which triggered implicitly mentioned root fallback. Another case is
Kubernetes projects like kind [1] which create Kubernetes nodes in a container
and also add cgroup namespaces to the mix, meaning programs which are attached
to the cgroup v2 root of the cgroup namespace get attached to a non-root
cgroup v2 path from init namespace point of view. And the latter's root is
out of reach for agents on a kind Kubernetes node to configure. Meaning, any
entity on the node setting cgroup v1 net_cls tag will trigger the bypass
despite cgroup v2 BPF programs attached to the namespace root.

Generally, this mutual exclusiveness does not hold anymore in today's user
environments and makes cgroup v2 usage from BPF side fragile and unreliable.
This fix adds proper struct cgroup pointer for the cgroup v2 case to struct
sock_cgroup_data in order to address these issues; this implicitly also fixes
the tradeoffs being made back then with regards to races and refcount leaks
as stated in bd1060a1d6, and removes the fallback, so that cgroup v2 BPF
programs always operate as expected.

  [0] https://github.com/nestybox/sysbox/
  [1] https://kind.sigs.k8s.io/

Fixes: bd1060a1d6 ("sock, cgroup: add sock->sk_cgroup")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Stanislav Fomichev <sdf@google.com>
Acked-by: Tejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/bpf/20210913230759.2313-1-daniel@iogearbox.net
[resolve trivial conflicts]
Signed-off-by: Connor O'Brien <connor.obrien@crowdstrike.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-12 11:06:42 +02:00
Rik van Riel
ff5af3f9b5 dma-debug: avoid deadlock between dma debug vs printk and netconsole
[ Upstream commit bd44ca3de49cc1badcff7a96010fa2c64f04868c ]

Currently the dma debugging code can end up indirectly calling printk
under the radix_lock. This happens when a radix tree node allocation
fails.

This is a problem because the printk code, when used together with
netconsole, can end up inside the dma debugging code while trying to
transmit a message over netcons.

This creates the possibility of either a circular deadlock on the same
CPU, with that CPU trying to grab the radix_lock twice, or an ABBA
deadlock between different CPUs, where one CPU grabs the console lock
first and then waits for the radix_lock, while the other CPU is holding
the radix_lock and is waiting for the console lock.

The trace captured by lockdep is of the ABBA variant.

-> #2 (&dma_entry_hash[i].lock){-.-.}-{2:2}:
                  _raw_spin_lock_irqsave+0x5a/0x90
                  debug_dma_map_page+0x79/0x180
                  dma_map_page_attrs+0x1d2/0x2f0
                  bnxt_start_xmit+0x8c6/0x1540
                  netpoll_start_xmit+0x13f/0x180
                  netpoll_send_skb+0x20d/0x320
                  netpoll_send_udp+0x453/0x4a0
                  write_ext_msg+0x1b9/0x460
                  console_flush_all+0x2ff/0x5a0
                  console_unlock+0x55/0x180
                  vprintk_emit+0x2e3/0x3c0
                  devkmsg_emit+0x5a/0x80
                  devkmsg_write+0xfd/0x180
                  do_iter_readv_writev+0x164/0x1b0
                  vfs_writev+0xf9/0x2b0
                  do_writev+0x6d/0x110
                  do_syscall_64+0x80/0x150
                  entry_SYSCALL_64_after_hwframe+0x4b/0x53

-> #0 (console_owner){-.-.}-{0:0}:
                  __lock_acquire+0x15d1/0x31a0
                  lock_acquire+0xe8/0x290
                  console_flush_all+0x2ea/0x5a0
                  console_unlock+0x55/0x180
                  vprintk_emit+0x2e3/0x3c0
                  _printk+0x59/0x80
                  warn_alloc+0x122/0x1b0
                  __alloc_pages_slowpath+0x1101/0x1120
                  __alloc_pages+0x1eb/0x2c0
                  alloc_slab_page+0x5f/0x150
                  new_slab+0x2dc/0x4e0
                  ___slab_alloc+0xdcb/0x1390
                  kmem_cache_alloc+0x23d/0x360
                  radix_tree_node_alloc+0x3c/0xf0
                  radix_tree_insert+0xf5/0x230
                  add_dma_entry+0xe9/0x360
                  dma_map_page_attrs+0x1d2/0x2f0
                  __bnxt_alloc_rx_frag+0x147/0x180
                  bnxt_alloc_rx_data+0x79/0x160
                  bnxt_rx_skb+0x29/0xc0
                  bnxt_rx_pkt+0xe22/0x1570
                  __bnxt_poll_work+0x101/0x390
                  bnxt_poll+0x7e/0x320
                  __napi_poll+0x29/0x160
                  net_rx_action+0x1e0/0x3e0
                  handle_softirqs+0x190/0x510
                  run_ksoftirqd+0x4e/0x90
                  smpboot_thread_fn+0x1a8/0x270
                  kthread+0x102/0x120
                  ret_from_fork+0x2f/0x40
                  ret_from_fork_asm+0x11/0x20

This bug is more likely than it seems, because when one CPU has run out
of memory, chances are the other has too.

The good news is, this bug is hidden behind the CONFIG_DMA_API_DEBUG, so
not many users are likely to trigger it.

Signed-off-by: Rik van Riel <riel@surriel.com>
Reported-by: Konstantin Ovsepian <ovs@meta.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-09-12 11:06:39 +02:00
Greg Kroah-Hartman
52c4910c65 ANDROID: fix up crc issue for cpuset_cpus_allowed()
In commit 688325078a ("cgroup/cpuset: Prevent UAF in
proc_cpuset_show()"), a new .h file is added to kernel/cgroup/cpuset.c
which ends up changing the CRC for cpuset_cpus_allowed().  Fix this up
by only including it in the real build, not when generating the looney
crc values.

Fixes: 688325078a ("cgroup/cpuset: Prevent UAF in proc_cpuset_show()")
Change-Id: I151a87d3bae9f2319d1a965a4bf715cffead702e
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-09-12 06:20:12 +00:00
Greg Kroah-Hartman
4951c68022 Merge 5.10.225 into android12-5.10-lts
Changes in 5.10.225
	fuse: Initialize beyond-EOF page contents before setting uptodate
	ALSA: usb-audio: Support Yamaha P-125 quirk entry
	xhci: Fix Panther point NULL pointer deref at full-speed re-enumeration
	thunderbolt: Mark XDomain as unplugged when router is removed
	s390/dasd: fix error recovery leading to data corruption on ESE devices
	arm64: ACPI: NUMA: initialize all values of acpi_early_node_map to NUMA_NO_NODE
	dm resume: don't return EINVAL when signalled
	dm persistent data: fix memory allocation failure
	vfs: Don't evict inode under the inode lru traversing context
	bitmap: introduce generic optimized bitmap_size()
	fix bitmap corruption on close_range() with CLOSE_RANGE_UNSHARE
	selinux: fix potential counting error in avc_add_xperms_decision()
	btrfs: tree-checker: add dev extent item checks
	drm/amdgpu: Actually check flags for all context ops.
	memcg_write_event_control(): fix a user-triggerable oops
	drm/amdgpu/jpeg2: properly set atomics vmid field
	s390/cio: rename bitmap_size() -> idset_bitmap_size()
	btrfs: rename bitmap_set_bits() -> btrfs_bitmap_set_bits()
	s390/uv: Panic for set and remove shared access UVC errors
	net/mlx5e: Correctly report errors for ethtool rx flows
	atm: idt77252: prevent use after free in dequeue_rx()
	net: axienet: Fix register defines comment description
	net: dsa: vsc73xx: pass value in phy_write operation
	net: dsa: vsc73xx: use read_poll_timeout instead delay loop
	net: dsa: vsc73xx: check busy flag in MDIO operations
	mptcp: correct MPTCP_SUBFLOW_ATTR_SSN_OFFSET reserved size
	netfilter: flowtable: initialise extack before use
	net: hns3: fix wrong use of semaphore up
	net: hns3: fix a deadlock problem when config TC during resetting
	ALSA: hda/realtek: Fix noise from speakers on Lenovo IdeaPad 3 15IAU7
	ssb: Fix division by zero issue in ssb_calc_clock_rate
	wifi: mac80211: fix BA session teardown race
	wifi: cw1200: Avoid processing an invalid TIM IE
	i2c: riic: avoid potential division by zero
	RDMA/rtrs: Fix the problem of variable not initialized fully
	s390/smp,mcck: fix early IPI handling
	media: radio-isa: use dev_name to fill in bus_info
	staging: iio: resolver: ad2s1210: fix use before initialization
	drm/amd/display: Validate hw_points_num before using it
	staging: ks7010: disable bh on tx_dev_lock
	binfmt_misc: cleanup on filesystem umount
	media: qcom: venus: fix incorrect return value
	scsi: spi: Fix sshdr use
	gfs2: setattr_chown: Add missing initialization
	wifi: iwlwifi: abort scan when rfkill on but device enabled
	IB/hfi1: Fix potential deadlock on &irq_src_lock and &dd->uctxt_lock
	powerpc/xics: Check return value of kasprintf in icp_native_map_one_cpu
	nvmet-trace: avoid dereferencing pointer too early
	ext4: do not trim the group with corrupted block bitmap
	quota: Remove BUG_ON from dqget()
	media: pci: cx23885: check cx23885_vdev_init() return
	fs: binfmt_elf_efpic: don't use missing interpreter's properties
	scsi: lpfc: Initialize status local variable in lpfc_sli4_repost_sgl_list()
	net/sun3_82586: Avoid reading past buffer in debug output
	drm/lima: set gp bus_stop bit before hard reset
	virtiofs: forbid newlines in tags
	netlink: hold nlk->cb_mutex longer in __netlink_dump_start()
	md: clean up invalid BUG_ON in md_ioctl
	x86: Increase brk randomness entropy for 64-bit systems
	memory: stm32-fmc2-ebi: check regmap_read return value
	parisc: Use irq_enter_rcu() to fix warning at kernel/context_tracking.c:367
	powerpc/boot: Handle allocation failure in simple_realloc()
	powerpc/boot: Only free if realloc() succeeds
	btrfs: change BUG_ON to assertion when checking for delayed_node root
	btrfs: handle invalid root reference found in may_destroy_subvol()
	btrfs: send: handle unexpected data in header buffer in begin_cmd()
	btrfs: delete pointless BUG_ON check on quota root in btrfs_qgroup_account_extent()
	f2fs: fix to do sanity check in update_sit_entry
	usb: gadget: fsl: Increase size of name buffer for endpoints
	Bluetooth: bnep: Fix out-of-bound access
	net: hns3: add checking for vf id of mailbox
	nvmet-tcp: do not continue for invalid icreq
	NFS: avoid infinite loop in pnfs_update_layout.
	openrisc: Call setup_memory() earlier in the init sequence
	s390/iucv: fix receive buffer virtual vs physical address confusion
	usb: dwc3: core: Skip setting event buffers for host only controllers
	irqchip/gic-v3-its: Remove BUG_ON in its_vpe_irq_domain_alloc
	ext4: set the type of max_zeroout to unsigned int to avoid overflow
	nvmet-rdma: fix possible bad dereference when freeing rsps
	hrtimer: Prevent queuing of hrtimer without a function callback
	gtp: pull network headers in gtp_dev_xmit()
	block: use "unsigned long" for blk_validate_block_size().
	media: solo6x10: replace max(a, min(b, c)) by clamp(b, a, c)
	dm suspend: return -ERESTARTSYS instead of -EINTR
	Bluetooth: hci_core: Fix LE quote calculation
	Bluetooth: SMP: Fix assumption of Central always being Initiator
	tc-testing: don't access non-existent variable on exception
	kcm: Serialise kcm_sendmsg() for the same socket.
	netfilter: nft_counter: Synchronize nft_counter_reset() against reader.
	ip6_tunnel: Fix broken GRO
	bonding: fix bond_ipsec_offload_ok return type
	bonding: fix null pointer deref in bond_ipsec_offload_ok
	bonding: fix xfrm real_dev null pointer dereference
	bonding: fix xfrm state handling when clearing active slave
	ice: fix ICE_LAST_OFFSET formula
	net: dsa: mv88e6xxx: read FID when handling ATU violations
	net: dsa: mv88e6xxx: replace ATU violation prints with trace points
	net: dsa: mv88e6xxx: Fix out-of-bound access
	netem: fix return value if duplicate enqueue fails
	ipv6: prevent UAF in ip6_send_skb()
	net: xilinx: axienet: Always disable promiscuous mode
	net: xilinx: axienet: Fix dangling multicast addresses
	drm/msm/dpu: don't play tricks with debug macros
	drm/msm/dp: reset the link phy params before link training
	mmc: mmc_test: Fix NULL dereference on allocation failure
	Bluetooth: MGMT: Add error handling to pair_device()
	binfmt_misc: pass binfmt_misc flags to the interpreter
	MIPS: Loongson64: Set timer mode in cpu-probe
	HID: wacom: Defer calculation of resolution until resolution_code is known
	HID: microsoft: Add rumble support to latest xbox controllers
	cxgb4: add forgotten u64 ivlan cast before shift
	KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3
	mmc: dw_mmc: allow biu and ciu clocks to defer
	Revert "drm/amd/display: Validate hw_points_num before using it"
	ALSA: timer: Relax start tick time check for slave timer elements
	nfsd: Don't call freezable_schedule_timeout() after each successful page allocation in svc_alloc_arg().
	Bluetooth: hci_ldisc: check HCI_UART_PROTO_READY flag in HCIUARTGETPROTO
	Input: MT - limit max slots
	tools: move alignment-related macros to new <linux/align.h>
	drm/amdgpu: Using uninitialized value *size when calling amdgpu_vce_cs_reloc
	KVM: arm64: Don't use cbz/adr with external symbols
	pinctrl: rockchip: correct RK3328 iomux width flag for GPIO2-B pins
	pinctrl: single: fix potential NULL dereference in pcs_get_function()
	wifi: mwifiex: duplicate static structs used in driver instances
	mptcp: sched: check both backup in retrans
	ipc: replace costly bailout check in sysvipc_find_ipc()
	drm/amdkfd: don't allow mapping the MMIO HDP page with large pages
	media: uvcvideo: Fix integer overflow calculating timestamp
	Revert "Input: ioc3kbd - convert to platform remove callback returning void"
	ata: libata-core: Fix null pointer dereference on error
	cgroup/cpuset: Prevent UAF in proc_cpuset_show()
	net:rds: Fix possible deadlock in rds_message_put
	ovl: do not fail because of O_NOATIME
	soundwire: stream: fix programming slave ports for non-continous port maps
	dmaengine: dw: Add peripheral bus width verification
	dmaengine: dw: Add memory bus width verification
	ethtool: check device is present when getting link settings
	gtp: fix a potential NULL pointer dereference
	net: busy-poll: use ktime_get_ns() instead of local_clock()
	nfc: pn533: Add poll mod list filling check
	soc: qcom: cmd-db: Map shared memory as WC, not WB
	cdc-acm: Add DISABLE_ECHO quirk for GE HealthCare UI Controller
	USB: serial: option: add MeiG Smart SRM825L
	usb: dwc3: omap: add missing depopulate in probe error path
	usb: dwc3: core: Prevent USB core invalid event buffer address access
	usb: dwc3: st: fix probed platform device ref count on probe error path
	usb: dwc3: st: add missing depopulate in probe error path
	usb: core: sysfs: Unmerge @usb3_hardware_lpm_attr_group in remove_power_attributes()
	scsi: aacraid: Fix double-free on probe failure
	apparmor: fix policy_unpack_test on big endian systems
	Linux 5.10.225

Change-Id: I5028ef07db680262d45fba4096094fe8b19dd052
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-09-11 14:51:02 +00:00
zhujingpeng
8884166229 ANDROID: GKI: add percpu_rwsem vendor hooks
When a writer has set sem->block and is waiting for active readers
to complete, we still allow some specific new readers to entry
the critical section, which can help prevent priority inversion
from impacting system responsiveness and performance.

Bug: 334851707

Change-Id: I9e2a7df1efb326763487423d64bcf74d8dec23f8
Signed-off-by: zhujingpeng <zhujingpeng@vivo.com>
(cherry picked from commit 458cdb59f7719f81504d392daa95a8c99c30c276)
(cherry picked from commit b74701f8daa1a415c3ea2e819237d1bff59736eb)
2024-09-10 21:38:15 +00:00
zhujingpeng
2521fb1dd7 ANDROID: vendor_hooks: add hooks in rwsem
these hooks are required by the following features:
1.For rwsem readers, currently only the latest reader will be
recorded in sem->owner. We add hooks to record all readers which
have acquired the lock, once there are UX threads blocked in the
rwsem waiting list, these read_owners will be given high
priority in scheduling.
2.For rwsem writer, when a writer acquires the lock, we check
whether there are UX threads blocked in the rwsem wait list. If
so, we give this writer a high priority in scheduling so that it
can release the lock as soon as possible.

Both of these features can optimize the priority inversion
problem caused by rwsem and improve system responsiveness and
performance.

There is already a hook android_vh_rwsem_set_owner in rwsem_set_owner() to record writer owned, so the hook android_vh_record_rwsem_writer_owned in cherry pick is removed.

Bug: 335408185
Change-Id: I82a6fbb6acd2ce05d049e686b61e34e4d3b39a5e
Signed-off-by: zhujingpeng <zhujingpeng@vivo.com>
[jstultz: Rebased and resolved minor conflict]
Signed-off-by: John Stultz <jstultz@google.com>
(cherry picked from commit 188c41744ddcccef6daf6dcd4d6a444dabdc2f94)
(cherry picked from commit 869fc79d3abf1a1bcd97925fa3e0ee7188bb737c)
2024-09-10 21:38:15 +00:00
zhujingpeng
0c025265d8 ANDROID: GKI: Add initialization for rwsem's oem_data and vendor_data.
Add initialization for rwsem's oem_data and vendor_data.
The __init_rwsem() already contains a hook, but this function
may be called before the rwsem_init hook is registered,
causing some rwsem's oem_data to be uninitialized and
causing unpredictable errors

Bug: 351133539

Change-Id: I7bbb83894d200102bc7d84e91678f164529097a0
Signed-off-by: zhujingpeng <zhujingpeng@vivo.com>
(cherry picked from commit aaca6b10f1a352dec4596548396f590500f2001b)
(cherry picked from commit 1a5cffcbb543099802723c420f2f538b12619a72)
2024-09-09 22:01:02 +00:00
zhujingpeng
2c00661c3f ANDROID: GKI: Add initialization for mutex oem_data.
Although __mutex_init() already contains a hook, but this
function may be called before the mutex_init hook is registered,
causing mutex's oem_data to be uninitialized and causing unpredictable errors.

Bug: 352181884

Change-Id: I04378d6668fb4e7b93c11d930ac46aae484fc835
Signed-off-by: zhujingpeng <zhujingpeng@vivo.com>
(cherry picked from commit 96d66062d0767aeafb690ce014ec91785820d62b)
(cherry picked from commit 4c213b2ea1f58bc640894684f65c92b6cdee522d)
2024-09-09 20:11:06 +00:00
Xiaofeng Yuan
284a6a930d ANDROID: vendor_hooks: add hooks to modify pageflags
These hooks are designed to set or clear OEM reserved pageflags when the
memory state may change.

Bug: 336964184

Change-Id: I9cb288ef6eef7a719d4f4748d6b71010645b7d50
Signed-off-by: Xiaofeng Yuan <yuanxiaofeng@vivo.com>
2024-09-05 14:49:35 +08:00
Chen Ridong
688325078a cgroup/cpuset: Prevent UAF in proc_cpuset_show()
commit 1be59c97c83ccd67a519d8a49486b3a8a73ca28a upstream.

An UAF can happen when /proc/cpuset is read as reported in [1].

This can be reproduced by the following methods:
1.add an mdelay(1000) before acquiring the cgroup_lock In the
 cgroup_path_ns function.
2.$cat /proc/<pid>/cpuset   repeatly.
3.$mount -t cgroup -o cpuset cpuset /sys/fs/cgroup/cpuset/
$umount /sys/fs/cgroup/cpuset/   repeatly.

The race that cause this bug can be shown as below:

(umount)		|	(cat /proc/<pid>/cpuset)
css_release		|	proc_cpuset_show
css_release_work_fn	|	css = task_get_css(tsk, cpuset_cgrp_id);
css_free_rwork_fn	|	cgroup_path_ns(css->cgroup, ...);
cgroup_destroy_root	|	mutex_lock(&cgroup_mutex);
rebind_subsystems	|
cgroup_free_root 	|
			|	// cgrp was freed, UAF
			|	cgroup_path_ns_locked(cgrp,..);

When the cpuset is initialized, the root node top_cpuset.css.cgrp
will point to &cgrp_dfl_root.cgrp. In cgroup v1, the mount operation will
allocate cgroup_root, and top_cpuset.css.cgrp will point to the allocated
&cgroup_root.cgrp. When the umount operation is executed,
top_cpuset.css.cgrp will be rebound to &cgrp_dfl_root.cgrp.

The problem is that when rebinding to cgrp_dfl_root, there are cases
where the cgroup_root allocated by setting up the root for cgroup v1
is cached. This could lead to a Use-After-Free (UAF) if it is
subsequently freed. The descendant cgroups of cgroup v1 can only be
freed after the css is released. However, the css of the root will never
be released, yet the cgroup_root should be freed when it is unmounted.
This means that obtaining a reference to the css of the root does
not guarantee that css.cgrp->root will not be freed.

Fix this problem by using rcu_read_lock in proc_cpuset_show().
As cgroup_root is kfree_rcu after commit d23b5c577715
("cgroup: Make operations on the cgroup root_list RCU safe"),
css->cgroup won't be freed during the critical section.
To call cgroup_path_ns_locked, css_set_lock is needed, so it is safe to
replace task_get_css with task_css.

[1] https://syzkaller.appspot.com/bug?extid=9b1ff7be974a403aa4cd

Fixes: a79a908fd2 ("cgroup: introduce cgroup namespaces")
Signed-off-by: Chen Ridong <chenridong@huawei.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Shivani Agarwal <shivani.agarwal@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-04 13:17:45 +02:00
Phil Chang
5970a540da hrtimer: Prevent queuing of hrtimer without a function callback
[ Upstream commit 5a830bbce3af16833fe0092dec47b6dd30279825 ]

The hrtimer function callback must not be NULL. It has to be specified by
the call side but it is not validated by the hrtimer code. When a hrtimer
is queued without a function callback, the kernel crashes with a null
pointer dereference when trying to execute the callback in __run_hrtimer().

Introduce a validation before queuing the hrtimer in
hrtimer_start_range_ns().

[anna-maria: Rephrase commit message]

Signed-off-by: Phil Chang <phil.chang@mediatek.com>
Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-09-04 13:17:39 +02:00
Greg Kroah-Hartman
0c105dabe6 Revert "genirq: Allow the PM device to originate from irq domain"
This reverts commit 652e7b4d73 which is
commit 1f8863bfb5ca500ea1c7669b16b1931ba27fce20 upstream.

It breaks the Android kernel abi and can be brought back in the future
in an abi-safe way if it is really needed.

Bug: 161946584
Change-Id: I0ce88d80cd15d5f5d561cb9569209c5bf2e40b0f
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-09-04 11:06:48 +00:00
Greg Kroah-Hartman
e62a1579e0 Revert "genirq: Allow irq_chip registration functions to take a const irq_chip"
This reverts commit c476c5c7bb which is
commit 393e1280f765661cf39785e967676a4e57324126 upstream.

It breaks the Android kernel abi and can be brought back in the future
in an abi-safe way if it is really needed.

Bug: 161946584
Change-Id: If02b4d096b62cb90fc84ec181c3b7168c1c30267
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-09-04 11:06:48 +00:00
Greg Kroah-Hartman
b84ad15be5 This is the 5.10.224 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmbCv24ACgkQONu9yGCS
 aT7lNRAAzP2lSCUHROaMTldoQdahqoWqwFSiMI9p32HYLTerpg1GHVsi1IUvD+pv
 zhmUG9w+ACbSbZ9337G61FeEDCIBzgqaIXLCtbK2Be9nWMa9I1ZtMSFUKoSmVJBw
 YbrI/UOscJmAf44G6DeMp+N+/S2o7INK463u51SYjufo/zhFF8KsYElm23p06kgn
 lTkkUAoo9mSVvEr64zbjwLrWyBWTlcvYH/xrkWeJWXl+hBv0K5Ig9IBm0sc0DSQR
 fErADzDLFkmD9pduZbMwbzUUzC8ST41KKjTgClaHQhSMeoLoWT8CJM5Swwds4XVE
 JkoClkqnj3+stYFpLFm9UUgZ12wu/9slzgRCN6fTraSNT8gE9F9BRJXFGL+3S5OO
 oHKZYEEPTZDsD3PihgufJ4Ft27+KpMUzAgQUmVH/y47wrVJ2pf4fCK8LKT0MbjBi
 pjZaDRCxwo1aORL3+jYJBVRecrNqQ0DhacYOKznhb2KKeaHojIwLaE6k/W/0Q8U5
 1uMYv+NJ3LWDNzGcNUTCfNtuDELOpkp24Xc8RN0MK2iMMMyfjMpgKssjSBZtz0QW
 NH0UVpfiWKECKH+m03NeFnYdMuK8/VyM8vatkcemz0FfgJP2UazeiVwSujfS2r2S
 0TtsCMPP3kgKa9mAnni7lQs4wkG+OTNDNZqbuDqFZ1rHUS2Usrg=
 =8i2e
 -----END PGP SIGNATURE-----

Merge 5.10.224 into android12-5.10-lts

Changes in 5.10.224
	EDAC/skx_common: Add new ADXL components for 2-level memory
	EDAC, i10nm: make skx_common.o a separate module
	platform/chrome: cros_ec_debugfs: fix wrong EC message version
	hfsplus: fix to avoid false alarm of circular locking
	x86/of: Return consistent error type from x86_of_pci_irq_enable()
	x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling
	x86/pci/xen: Fix PCIBIOS_* return code handling
	x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos
	hwmon: (adt7475) Fix default duty on fan is disabled
	pwm: stm32: Always do lazy disabling
	hwmon: (max6697) Fix underflow when writing limit attributes
	hwmon: (max6697) Fix swapped temp{1,8} critical alarms
	arm64: dts: qcom: sdm845: add power-domain to UFS PHY
	soc: qcom: rpmh-rsc: Ensure irqs aren't disabled by rpmh_rsc_send_data() callers
	arm64: dts: qcom: msm8996: specify UFS core_clk frequencies
	soc: qcom: pdr: protect locator_addr with the main mutex
	soc: qcom: pdr: fix parsing of domains lists
	arm64: dts: rockchip: Increase VOP clk rate on RK3328
	ARM: dts: imx6qdl-kontron-samx6i: move phy reset into phy-node
	ARM: dts: imx6qdl-kontron-samx6i: fix PHY reset
	ARM: dts: imx6qdl-kontron-samx6i: fix board reset
	ARM: dts: imx6qdl-kontron-samx6i: fix SPI0 chip selects
	ARM: dts: imx6qdl-kontron-samx6i: fix PCIe reset polarity
	arm64: dts: mediatek: mt8183-kukui: Drop bogus output-enable property
	arm64: dts: mediatek: mt7622: fix "emmc" pinctrl mux
	arm64: dts: amlogic: gx: correct hdmi clocks
	m68k: atari: Fix TT bootup freeze / unexpected (SCU) interrupt messages
	x86/xen: Convert comma to semicolon
	m68k: cmpxchg: Fix return value for default case in __arch_xchg()
	ARM: pxa: spitz: use gpio descriptors for audio
	ARM: spitz: fix GPIO assignment for backlight
	firmware: turris-mox-rwtm: Fix checking return value of wait_for_completion_timeout()
	firmware: turris-mox-rwtm: Initialize completion before mailbox
	wifi: brcmsmac: LCN PHY code is used for BCM4313 2G-only device
	selftests/bpf: Fix prog numbers in test_sockmap
	net: esp: cleanup esp_output_tail_tcp() in case of unsupported ESPINTCP
	net/smc: Allow SMC-D 1MB DMB allocations
	net/smc: set rmb's SG_MAX_SINGLE_ALLOC limitation only when CONFIG_ARCH_NO_SG_CHAIN is defined
	selftests/bpf: Check length of recv in test_sockmap
	lib: objagg: Fix general protection fault
	mlxsw: spectrum_acl_erp: Fix object nesting warning
	mlxsw: spectrum_acl_bloom_filter: Make mlxsw_sp_acl_bf_key_encode() more flexible
	mlxsw: spectrum_acl: Fix ACL scale regression and firmware errors
	ath11k: dp: stop rx pktlog before suspend
	wifi: ath11k: fix wrong handling of CCMP256 and GCMP ciphers
	wifi: cfg80211: fix typo in cfg80211_calculate_bitrate_he()
	wifi: cfg80211: handle 2x996 RU allocation in cfg80211_calculate_bitrate_he()
	net: fec: Refactor: #define magic constants
	net: fec: Fix FEC_ECR_EN1588 being cleared on link-down
	ipvs: Avoid unnecessary calls to skb_is_gso_sctp
	netfilter: nf_tables: rise cap on SELinux secmark context
	perf/x86/intel/pt: Fix pt_topa_entry_for_page() address calculation
	perf: Fix perf_aux_size() for greater-than 32-bit size
	perf: Prevent passing zero nr_pages to rb_alloc_aux()
	qed: Improve the stack space of filter_config()
	wifi: virt_wifi: avoid reporting connection success with wrong SSID
	gss_krb5: Fix the error handling path for crypto_sync_skcipher_setkey
	wifi: virt_wifi: don't use strlen() in const context
	selftests/bpf: Close fd in error path in drop_on_reuseport
	bpf: annotate BTF show functions with __printf
	bna: adjust 'name' buf size of bna_tcb and bna_ccb structures
	bpf: Eliminate remaining "make W=1" warnings in kernel/bpf/btf.o
	selftests: forwarding: devlink_lib: Wait for udev events after reloading
	xdp: fix invalid wait context of page_pool_destroy()
	drm/panel: boe-tv101wum-nl6: If prepare fails, disable GPIO before regulators
	drm/panel: boe-tv101wum-nl6: Check for errors on the NOP in prepare()
	media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control()
	media: imon: Fix race getting ictx->lock
	saa7134: Unchecked i2c_transfer function result fixed
	media: uvcvideo: Allow entity-defined get_info and get_cur
	media: uvcvideo: Override default flags
	media: renesas: vsp1: Fix _irqsave and _irq mix
	media: renesas: vsp1: Store RPF partition configuration per RPF instance
	leds: trigger: Unregister sysfs attributes before calling deactivate()
	perf report: Fix condition in sort__sym_cmp()
	drm/etnaviv: fix DMA direction handling for cached RW buffers
	drm/qxl: Add check for drm_cvt_mode
	Revert "leds: led-core: Fix refcount leak in of_led_get()"
	ext4: fix infinite loop when replaying fast_commit
	media: venus: flush all buffers in output plane streamoff
	mfd: omap-usb-tll: Use struct_size to allocate tll
	xprtrdma: Rename frwr_release_mr()
	xprtrdma: Fix rpcrdma_reqs_reset()
	SUNRPC: avoid soft lockup when transmitting UDP to reachable server.
	ext4: avoid writing unitialized memory to disk in EA inodes
	sparc64: Fix incorrect function signature and add prototype for prom_cif_init
	SUNRPC: Fixup gss_status tracepoint error output
	PCI: Fix resource double counting on remove & rescan
	coresight: Fix ref leak when of_coresight_parse_endpoint() fails
	Input: qt1050 - handle CHIP_ID reading error
	RDMA/mlx4: Fix truncated output warning in mad.c
	RDMA/mlx4: Fix truncated output warning in alias_GUID.c
	RDMA/rxe: Don't set BTH_ACK_MASK for UC or UD QPs
	ASoC: max98088: Check for clk_prepare_enable() error
	mtd: make mtd_test.c a separate module
	RDMA/device: Return error earlier if port in not valid
	Input: elan_i2c - do not leave interrupt disabled on suspend failure
	MIPS: Octeron: remove source file executable bit
	powerpc/xmon: Fix disassembly CPU feature checks
	macintosh/therm_windtunnel: fix module unload.
	RDMA/hns: Fix missing pagesize and alignment check in FRMR
	bnxt_re: Fix imm_data endianness
	netfilter: ctnetlink: use helper function to calculate expect ID
	net: dsa: mv88e6xxx: Limit chip-wide frame size config to CPU ports
	net: dsa: b53: Limit chip-wide jumbo frame config to CPU ports
	pinctrl: rockchip: update rk3308 iomux routes
	pinctrl: core: fix possible memory leak when pinctrl_enable() fails
	pinctrl: single: fix possible memory leak when pinctrl_enable() fails
	pinctrl: ti: ti-iodelay: Drop if block with always false condition
	pinctrl: ti: ti-iodelay: fix possible memory leak when pinctrl_enable() fails
	pinctrl: freescale: mxs: Fix refcount of child
	fs/proc/task_mmu: indicate PM_FILE for PMD-mapped file THP
	fs/nilfs2: remove some unused macros to tame gcc
	nilfs2: avoid undefined behavior in nilfs_cnt32_ge macro
	rtc: interface: Add RTC offset to alarm after fix-up
	dt-bindings: thermal: correct thermal zone node name limit
	tick/broadcast: Make takeover of broadcast hrtimer reliable
	net: netconsole: Disable target before netpoll cleanup
	af_packet: Handle outgoing VLAN packets without hardware offloading
	ipv6: take care of scope when choosing the src addr
	sched/fair: set_load_weight() must also call reweight_task() for SCHED_IDLE tasks
	char: tpm: Fix possible memory leak in tpm_bios_measurements_open()
	media: venus: fix use after free in vdec_close
	hfs: fix to initialize fields of hfs_inode_info after hfs_alloc_inode()
	ext2: Verify bitmap and itable block numbers before using them
	drm/gma500: fix null pointer dereference in cdv_intel_lvds_get_modes
	drm/gma500: fix null pointer dereference in psb_intel_lvds_get_modes
	scsi: qla2xxx: Fix optrom version displayed in FDMI
	drm/amd/display: Check for NULL pointer
	sched/fair: Use all little CPUs for CPU-bound workloads
	apparmor: use kvfree_sensitive to free data->data
	task_work: s/task_work_cancel()/task_work_cancel_func()/
	task_work: Introduce task_work_cancel() again
	udf: Avoid using corrupted block bitmap buffer
	m68k: amiga: Turn off Warp1260 interrupts during boot
	ext4: check dot and dotdot of dx_root before making dir indexed
	ext4: make sure the first directory block is not a hole
	wifi: mwifiex: Fix interface type change
	leds: ss4200: Convert PCIBIOS_* return codes to errnos
	jbd2: make jbd2_journal_get_max_txn_bufs() internal
	KVM: VMX: Split out the non-virtualization part of vmx_interrupt_blocked()
	tools/memory-model: Fix bug in lock.cat
	hwrng: amd - Convert PCIBIOS_* return codes to errnos
	PCI: hv: Return zero, not garbage, when reading PCI_INTERRUPT_PIN
	PCI: rockchip: Use GPIOD_OUT_LOW flag while requesting ep_gpio
	binder: fix hang of unregistered readers
	dev/parport: fix the array out-of-bounds risk
	scsi: qla2xxx: Return ENOBUFS if sg_cnt is more than one for ELS cmds
	f2fs: fix to don't dirty inode for readonly filesystem
	clk: davinci: da8xx-cfgchip: Initialize clk_init_data before use
	ubi: eba: properly rollback inside self_check_eba
	decompress_bunzip2: fix rare decompression failure
	kbuild: Fix '-S -c' in x86 stack protector scripts
	kobject_uevent: Fix OOB access within zap_modalias_env()
	devres: Fix devm_krealloc() wasting memory
	rtc: cmos: Fix return value of nvmem callbacks
	scsi: qla2xxx: During vport delete send async logout explicitly
	scsi: qla2xxx: Fix for possible memory corruption
	scsi: qla2xxx: Fix flash read failure
	scsi: qla2xxx: Complete command early within lock
	scsi: qla2xxx: validate nvme_local_port correctly
	perf/x86/intel/pt: Fix topa_entry base length
	perf/x86/intel/pt: Fix a topa_entry base address calculation
	rtc: isl1208: Fix return value of nvmem callbacks
	watchdog/perf: properly initialize the turbo mode timestamp and rearm counter
	platform: mips: cpu_hwmon: Disable driver on unsupported hardware
	RDMA/iwcm: Fix a use-after-free related to destroying CM IDs
	selftests/sigaltstack: Fix ppc64 GCC build
	rbd: don't assume rbd_is_lock_owner() for exclusive mappings
	MIPS: ip30: ip30-console: Add missing include
	MIPS: Loongson64: env: Hook up Loongsson-2K
	drm/panfrost: Mark simple_ondemand governor as softdep
	rbd: rename RBD_LOCK_STATE_RELEASING and releasing_wait
	rbd: don't assume RBD_LOCK_STATE_LOCKED for exclusive mappings
	Bluetooth: btusb: Add RTL8852BE device 0489:e125 to device tables
	Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x13d3:0x3591
	nilfs2: handle inconsistent state in nilfs_btnode_create_block()
	io_uring/io-wq: limit retrying worker initialisation
	kernel: rerun task_work while freezing in get_signal()
	kdb: address -Wformat-security warnings
	kdb: Use the passed prompt in kdb_position_cursor()
	jfs: Fix array-index-out-of-bounds in diFree
	um: time-travel: fix time-travel-start option
	f2fs: fix start segno of large section
	libbpf: Fix no-args func prototype BTF dumping syntax
	dma: fix call order in dmam_free_coherent
	MIPS: SMP-CPS: Fix address for GCR_ACCESS register for CM3 and later
	ipv4: Fix incorrect source address in Record Route option
	net: bonding: correctly annotate RCU in bond_should_notify_peers()
	netfilter: nft_set_pipapo_avx2: disable softinterrupts
	tipc: Return non-zero value from tipc_udp_addr2str() on error
	net: stmmac: Correct byte order of perfect_match
	net: nexthop: Initialize all fields in dumped nexthops
	bpf: Fix a segment issue when downgrading gso_size
	mISDN: Fix a use after free in hfcmulti_tx()
	apparmor: Fix null pointer deref when receiving skb during sock creation
	powerpc: fix a file leak in kvm_vcpu_ioctl_enable_cap()
	lirc: rc_dev_get_from_fd(): fix file leak
	ASoC: Intel: use soc_intel_is_byt_cr() only when IOSF_MBI is reachable
	ceph: fix incorrect kmalloc size of pagevec mempool
	nvme: split command copy into a helper
	nvme-pci: add missing condition check for existence of mapped data
	fs: don't allow non-init s_user_ns for filesystems without FS_USERNS_MOUNT
	powerpc/configs: Update defconfig with now user-visible CONFIG_FSL_IFC
	fuse: name fs_context consistently
	fuse: verify {g,u}id mount options correctly
	sysctl: always initialize i_uid/i_gid
	ext4: factor out a common helper to query extent map
	ext4: check the extent status again before inserting delalloc block
	soc: xilinx: move PM_INIT_FINALIZE to zynqmp_pm_domains driver
	drivers: soc: xilinx: check return status of get_api_version()
	driver core: Cast to (void *) with __force for __percpu pointer
	devres: Fix memory leakage caused by driver API devm_free_percpu()
	genirq: Allow the PM device to originate from irq domain
	irqchip/imx-irqsteer: Constify irq_chip struct
	irqchip/imx-irqsteer: Add runtime PM support
	irqchip/imx-irqsteer: Handle runtime power management correctly
	remoteproc: imx_rproc: ignore mapping vdev regions
	remoteproc: imx_rproc: Fix ignoring mapping vdev regions
	remoteproc: imx_rproc: Skip over memory region when node value is NULL
	drm/nouveau: prime: fix refcount underflow
	drm/vmwgfx: Fix overlay when using Screen Targets
	sched: act_ct: take care of padding in struct zones_ht_key
	net/iucv: fix use after free in iucv_sock_close()
	net/mlx5e: Add a check for the return value from mlx5_port_set_eth_ptys
	ipv6: fix ndisc_is_useropt() handling for PIO
	riscv/mm: Add handling for VM_FAULT_SIGSEGV in mm_fault_error()
	platform/chrome: cros_ec_proto: Lock device when updating MKBP version
	HID: wacom: Modify pen IDs
	protect the fetch of ->fd[fd] in do_dup2() from mispredictions
	ALSA: usb-audio: Correct surround channels in UAC1 channel map
	ALSA: hda/realtek: Add quirk for Acer Aspire E5-574G
	net: usb: sr9700: fix uninitialized variable use in sr_mdio_read
	r8169: don't increment tx_dropped in case of NETDEV_TX_BUSY
	mptcp: fix duplicate data handling
	netfilter: ipset: Add list flush to cancel_gc
	genirq: Allow irq_chip registration functions to take a const irq_chip
	irqchip/mbigen: Fix mbigen node address layout
	x86/mm: Fix pti_clone_pgtable() alignment assumption
	x86/mm: Fix pti_clone_entry_text() for i386
	sctp: move hlist_node and hashent out of sctp_ep_common
	sctp: Fix null-ptr-deref in reuseport_add_sock().
	net: usb: qmi_wwan: fix memory leak for not ip packets
	net: linkwatch: use system_unbound_wq
	Bluetooth: l2cap: always unlock channel in l2cap_conless_channel()
	net: dsa: bcm_sf2: Fix a possible memory leak in bcm_sf2_mdio_register()
	l2tp: fix lockdep splat
	net: fec: Stop PPS on driver remove
	rcutorture: Fix rcu_torture_fwd_cb_cr() data race
	md: do not delete safemode_timer in mddev_suspend
	md/raid5: avoid BUG_ON() while continue reshape after reassembling
	clocksource/drivers/sh_cmt: Address race condition for clock events
	ACPI: battery: create alarm sysfs attribute atomically
	ACPI: SBS: manage alarm sysfs attribute through psy core
	selftests/bpf: Fix send_signal test with nested CONFIG_PARAVIRT
	PCI: Add Edimax Vendor ID to pci_ids.h
	udf: prevent integer overflow in udf_bitmap_free_blocks()
	wifi: nl80211: don't give key data to userspace
	btrfs: fix bitmap leak when loading free space cache on duplicate entry
	drm/amdgpu: Fix the null pointer dereference to ras_manager
	drm/amdgpu/pm: Fix the null pointer dereference in apply_state_adjust_rules
	media: uvcvideo: Ignore empty TS packets
	media: uvcvideo: Fix the bandwdith quirk on USB 3.x
	jbd2: avoid memleak in jbd2_journal_write_metadata_buffer
	s390/sclp: Prevent release of buffer in I/O
	SUNRPC: Fix a race to wake a sync task
	sched/cputime: Fix mul_u64_u64_div_u64() precision for cputime
	ext4: fix wrong unit use in ext4_mb_find_by_goal
	arm64: cpufeature: Force HWCAP to be based on the sysreg visible to user-space
	arm64: Add Neoverse-V2 part
	arm64: cputype: Add Cortex-X4 definitions
	arm64: cputype: Add Neoverse-V3 definitions
	arm64: errata: Add workaround for Arm errata 3194386 and 3312417
	arm64: cputype: Add Cortex-X3 definitions
	arm64: cputype: Add Cortex-A720 definitions
	arm64: cputype: Add Cortex-X925 definitions
	arm64: errata: Unify speculative SSBS errata logic
	arm64: errata: Expand speculative SSBS workaround
	arm64: cputype: Add Cortex-X1C definitions
	arm64: cputype: Add Cortex-A725 definitions
	arm64: errata: Expand speculative SSBS workaround (again)
	i2c: smbus: Improve handling of stuck alerts
	ASoC: codecs: wsa881x: Correct Soundwire ports mask
	i2c: smbus: Send alert notifications to all devices if source not found
	bpf: kprobe: remove unused declaring of bpf_kprobe_override
	kprobes: Fix to check symbol prefixes correctly
	spi: spi-fsl-lpspi: Fix scldiv calculation
	ALSA: usb-audio: Re-add ScratchAmp quirk entries
	drm/client: fix null pointer dereference in drm_client_modeset_probe
	ALSA: line6: Fix racy access to midibuf
	ALSA: hda: Add HP MP9 G4 Retail System AMS to force connect list
	ALSA: hda/hdmi: Yet more pin fix for HP EliteDesk 800 G4
	usb: vhci-hcd: Do not drop references before new references are gained
	USB: serial: debug: do not echo input by default
	usb: gadget: core: Check for unset descriptor
	usb: gadget: u_serial: Set start_delayed during suspend
	scsi: ufs: core: Fix hba->last_dme_cmd_tstamp timestamp updating logic
	tick/broadcast: Move per CPU pointer access into the atomic section
	ntp: Clamp maxerror and esterror to operating range
	driver core: Fix uevent_show() vs driver detach race
	ntp: Safeguard against time_constant overflow
	scsi: mpt3sas: Remove scsi_dma_map() error messages
	scsi: mpt3sas: Avoid IOMMU page faults on REPORT ZONES
	irqchip/meson-gpio: support more than 8 channels gpio irq
	irqchip/meson-gpio: Convert meson_gpio_irq_controller::lock to 'raw_spinlock_t'
	serial: core: check uartclk for zero to avoid divide by zero
	irqchip/xilinx: Fix shift out of bounds
	genirq/irqdesc: Honor caller provided affinity in alloc_desc()
	power: supply: axp288_charger: Fix constant_charge_voltage writes
	power: supply: axp288_charger: Round constant_charge_voltage writes down
	tracing: Fix overflow in get_free_elt()
	padata: Fix possible divide-by-0 panic in padata_mt_helper()
	x86/mtrr: Check if fixed MTRRs exist before saving them
	drm/bridge: analogix_dp: properly handle zero sized AUX transactions
	drm/mgag200: Set DDC timeout in milliseconds
	mptcp: sched: check both directions for backup
	mptcp: distinguish rcv vs sent backup flag in requests
	mptcp: fix NL PM announced address accounting
	mptcp: mib: count MPJ with backup flag
	mptcp: export local_address
	mptcp: pm: fix backup support in signal endpoints
	samples: Add fs error monitoring example
	samples: Make fs-monitor depend on libc and headers
	Add gitignore file for samples/fanotify/ subdirectory
	Fix gcc 4.9 build issue in 5.10.y
	PCI/DPC: Fix use-after-free on concurrent DPC and hot-removal
	netfilter: nf_tables: set element extended ACK reporting support
	netfilter: nf_tables: use timestamp to check for set element timeout
	netfilter: nf_tables: allow clone callbacks to sleep
	netfilter: nf_tables: prefer nft_chain_validate
	drm/i915/gem: Fix Virtual Memory mapping boundaries calculation
	powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt.
	arm64: cpufeature: Fix the visibility of compat hwcaps
	media: uvcvideo: Use entity get_cur in uvc_ctrl_set
	exec: Fix ToCToU between perm check and set-uid/gid usage
	nvme/pci: Add APST quirk for Lenovo N60z laptop
	vdpa: Make use of PFN_PHYS/PFN_UP/PFN_DOWN helper macro
	vhost-vdpa: switch to use vmf_insert_pfn() in the fault handler
	wifi: cfg80211: restrict NL80211_ATTR_TXQ_QUANTUM values
	ARM: dts: imx6qdl-kontron-samx6i: fix phy-mode
	media: Revert "media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control()"
	Linux 5.10.224

Change-Id: I7cd19d506c4c86df918a280598946060a494a161
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-09-04 11:06:25 +00:00
Ashay Jaiswal
c7e3beea0d sched: walt: add support for sibling clusters
There are systems where two different cluster shows similar
power/perf behavior, to handle such system add support to
treat such clusters as siblings and balance load between them
during placements(load balancing flow is not touched in the
current implementation).

To enable/configure:
/proc/sys/walt/sched_sibling_cluster

Tunable is a 4 integer quadruple where each position represents
a cluster and setting '-1' disables sibling cluster and setting
any valid cluster if enables it.

Change-Id: Iaeeae34488c8873fafef4b733cd97c11e7ad80ed
Signed-off-by: Ashay Jaiswal <quic_ashayj@quicinc.com>
2024-08-28 15:58:24 +05:30
Ashay Jaiswal
774c30e10a Revert "sched: walt: add support for adding frequency relationship between clusters"
This reverts commit 8bf7b0b672.
A new framework is added in subsequent patch to support this
feature.

Change-Id: I45a4d244e8c316498faf21829054f9d9c860c821
Signed-off-by: Ashay Jaiswal <quic_ashayj@quicinc.com>
2024-08-28 15:47:38 +05:30
Greg Kroah-Hartman
95fd17f446 Merge tag 'android12-5.10.223_r00' into android12-5.10
This merges up to the 5.10.222 LTS release into the android12-5.10
branch.  Included in here are the following commits:

* c6acc5f079 Revert "scsi: core: Fix a use-after-free"
* dc67fccdbe ANDROID: properly backport filelock fix in 5.10.223
* 72f4574b8d Revert "ext4: Send notifications on error"
* 306e16d49c Revert "net: mac802154: Fix racy device stats updates by DEV_STATS_INC() and DEV_STATS_ADD()"
*   8c417688f0 Merge 5.10.223 into android12-5.10-lts
|\
| * b15dc4170c Linux 5.10.223
| * 7431144b40 tap: add missing verification for short frame
| * 6100e02372 tun: add missing verification for short frame
| * 911cc83e56 filelock: Fix fcntl/close race recovery compat path
| * 7fa9d1d252 ALSA: pcm_dmaengine: Don't synchronize DMA channel when DMA is paused
| * ddf0caf012 arm64: dts: qcom: msm8996: Disable SS instance in Parkmode for USB
| * a7ec8a5a7f ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360
| * 74c6b151a8 ALSA: hda/realtek: Enable headset mic on Positivo SU C1400
| * 6386f1b6a1 jfs: don't walk off the end of ealist
| * 77495e5da5 ocfs2: add bounds checking to ocfs2_check_dir_entry()
| * 6e03006548 net: relax socket state check at accept time.
| * a5224e2123 drm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq()
| * 9760c6ceb2 ext4: Send notifications on error
| * 88e44424a6 ext4: fix error code saved on super block during file system abort
| * 5ce8fad941 scsi: core: Fix a use-after-free
| * c0809c128d bpf, skmsg: Fix NULL pointer dereference in sk_psock_skb_ingress_enqueue
| * be35504b95 bpf: Fix overrunning reservations in ringbuf
| * 9e2b0a5e25 ACPI: processor_idle: Fix invalid comparison with insertion sort for latency
| * c85e6b7d9e ARM: 9324/1: fix get_user() broken with veneer
| * 727ed4810c spi: mux: set ctlr->bits_per_word_mask
| * 34f8efd274 hfsplus: fix uninit-value in copy_name
| * f236af7561 selftests/vDSO: fix clang build errors and warnings
| * 38c2028bb3 spi: imx: Don't expect DMA for i.MX{25,35,50,51,53} cspi devices
| * f65bffb464 fs: better handle deep ancestor chains in is_subdir()
| * ddeda6ca5f Bluetooth: hci_core: cancel all works upon hci_unregister_dev()
| * 739d8d0082 scsi: libsas: Fix exp-attached device scan after probe failure scanned in again after probe failed
| * 033c51dfdb powerpc/eeh: avoid possible crash when edev->pdev changes
| * 6b16098148 powerpc/pseries: Whitelist dtl slub object for copying to userspace
| * d1e4e94cb8 net: mac802154: Fix racy device stats updates by DEV_STATS_INC() and DEV_STATS_ADD()
| * 909f4c2fc9 net: usb: qmi_wwan: add Telit FN912 compositions
| * 8acf8801f3 ALSA: dmaengine_pcm: terminate dmaengine before synchronize
| * 2a28531dd0 ALSA: hda/relatek: Enable Mute LED on HP Laptop 15-gw0xxx
| * 94818bdb00 btrfs: qgroup: fix quota root leak after quota disable failure
| * 2e51db7ab7 s390/sclp: Fix sclp_init() cleanup on failure
| * 71db8dc6f8 can: kvaser_usb: fix return value for hif_usb_send_regout
| * 6e90cd1696 ASoC: ti: omap-hdmi: Fix too long driver name
| * 96414bf037 ASoC: ti: davinci-mcasp: Set min period size using FIFO config
| * 072f6348c5 ALSA: dmaengine: Synchronize dma channel after drop()
| * 73bb3e0194 bytcr_rt5640 : inverse jack detect for Archos 101 cesium
| * a87d15d1a3 Input: i8042 - add Ayaneo Kun to i8042 quirk table
| * 9b32a13486 Input: elantech - fix touchpad state on resume for Lenovo N24
| * cf704e7d04 mips: fix compat_sys_lseek syscall
| * 134b12f0c5 ALSA: hda/realtek: Add more codec ID to no shutup pins list
| * 4cdf6926f4 KVM: PPC: Book3S HV: Prevent UAF in kvm_spapr_tce_attach_iommu_group()
| * 6295bad58f wifi: cfg80211: wext: add extra SIOCSIWSCAN data check
| * 9774641b25 mei: demote client disconnect warning on suspend to debug
| * 229bce543b fs/file: fix the check in find_next_fd()
| * ffe47bf986 kconfig: remove wrong expr_trans_bool()
| * 4beba24085 kconfig: gconf: give a proper initial state to the Save button
| * 9625afe1dd null_blk: fix validation of block size
| * 9934cda0e7 arm64: armv8_deprecated: Fix warning in isndep cpuhp starting process
| * a0cafb7b0b ila: block BH in ila_output()
| * 34eb7ab9af net: ipv6: rpl_iptunnel: block BH in rpl_output() and rpl_input()
| * fe855e5b16 Input: silead - Always support 10 fingers
| * 42e60f3bde selftests/openat2: Fix build warnings on ppc64
| * bb8ace6794 wifi: mac80211: fix UBSAN noise in ieee80211_prep_hw_scan()
| * 60cf36f290 wifi: mac80211: mesh: init nonpeer_pm to active by default in mesh sdata
| * 6df01b7eab ACPI: EC: Avoid returning AE_OK on errors in address space handler
| * fd57dbffd9 ACPI: EC: Abort address space access upon error
| * cd9472c43f scsi: qedf: Set qed_slowpath_params to zero before use
| * 5661b9c7ec filelock: Remove locks reliably when fcntl/close race is detected
| * 2e272e7d71 gcc-plugins: Rename last_stmt() for GCC 14+
* | b7647fb740 Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
* | 875057880e Merge 5.10.222 into android12-5.10-lts
|\|
| * 83a48a4503 Linux 5.10.222
| * f52913e5d6 i2c: rcar: fix error code in probe()
| * 2907dd5855 i2c: rcar: clear NO_RXDMA flag after resetting
| * 41f62c95e0 i2c: rcar: ensure Gen3+ reset does not disturb local targets
| * 88046f94cc i2c: rcar: introduce Gen4 devices
| * a720e2e42f i2c: rcar: reset controller is mandatory for Gen3+
| * b4c11a53e1 i2c: rcar: Add R-Car Gen4 support
| * 785290cb16 i2c: mark HostNotify target address as used
| * 8d99f26b55 i2c: rcar: bring hardware to known state when probing
| * a9a466a69b nilfs2: fix kernel bug on rename operation of broken directory
| * ca42be8dd1 bpf: Allow reads from uninit stack
| * 9df3b2474a ipv6: prevent NULL dereference in ip6_output()
| * 5edef79864 ipv6: annotate data-races around cnf.disable_ipv6
| * 96c58b0966 efi: ia64: move IA64-only declarations to new asm/efi.h header
| * 596dedc6fa x86/retpoline: Move a NOENDBR annotation to the SRSO dummy return thunk
| * b6d942365d wireguard: send: annotate intentional data race in checking empty queue
| * 0bdb5a7444 wireguard: queueing: annotate intentional data race in cpu round robin
| * ae630de24e wireguard: allowedips: avoid unaligned 64-bit memory accesses
| * 34b76d1922 libceph: fix race between delayed_work() and ceph_monc_stop()
| * f70b51a365 ALSA: hda/realtek: Limit mic boost on VAIO PRO PX
| * 4d62aa6247 ALSA: hda/realtek: Enable Mute LED on HP 250 G7
| * 7810928842 nvmem: meson-efuse: Fix return value of nvmem callbacks
| * bdb9c58e80 hpet: Support 32-bit userspace
| * d09dd21bb5 USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor
| * e8474a10c5 usb: gadget: configfs: Prevent OOB read/write in usb_string_copy()
| * 10ae6b364b USB: Add USB_QUIRK_NO_SET_INTF quirk for START BP-850k
| * 932a86a711 USB: serial: mos7840: fix crash on resume
| * 868bc44086 USB: serial: option: add Rolling RW350-GL variants
| * 2dc6aad6ea USB: serial: option: add Netprisma LCUK54 series modules
| * fb9ff51396 USB: serial: option: add support for Foxconn T99W651
| * c9e1030198 USB: serial: option: add Fibocom FM350-GL
| * 9fb7367423 USB: serial: option: add Telit FN912 rmnet compositions
| * 8e4e917f9d USB: serial: option: add Telit generic core-dump composition
| * 26b4d6802e net: ks8851: Fix potential TX stall after interface reopen
| * 5d7e64d70a tcp: avoid too many retransmit packets
| * 24b9fafe34 tcp: use signed arithmetic in tcp_rtx_probe0_timed_out()
| * b4e9f8905d octeontx2-af: fix detection of IP layer
| * 7e0297c80f ARM: davinci: Convert comma to semicolon
| * 148d549425 s390: Mark psw in __load_psw_mask() as __unitialized
| * b81a523d54 net/sched: Fix UAF when resolving a clash
| * 9f965684c5 udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port().
| * c184be30b1 ethtool: netlink: do not return SQI value if link is down
| * 3ba12c2afd ppp: reject claimed-as-LCP but actually malformed packets
| * 22b16618a8 net: ethernet: lantiq_etop: fix double free in detach
| * b4ac93b041 net: lantiq_etop: add blank line after declaration
| * efc05a5fdc octeontx2-af: Fix incorrect value output on error path in rvu_check_rsrc_availability()
| * 893e140dcc tcp: fix incorrect undo caused by DSACK of TLP retransmit
| * 1b95de9433 vfs: don't mod negative dentry count when on shrinker list
| * 7092f1e582 fs/dcache: Re-use value stored to dentry->d_flags instead of re-reading
| * 7d4c14f4b5 filelock: fix potential use-after-free in posix_lock_inode
| * 0100aeb8a1 mm: prevent derefencing NULL ptr in pfn_section_valid()
| * 1e99ce37e9 nilfs2: fix incorrect inode allocation from reserved inodes
| * 3affee779b kbuild: fix short log for AS in link-vmlinux.sh
| * 2f3c22b1d3 nvmet: fix a possible leak when destroy a ctrl during qp establishment
| * 1fa5c6eef4 platform/x86: touchscreen_dmi: Add info for the EZpad 6s Pro
| * 8802d23350 platform/x86: touchscreen_dmi: Add info for GlobalSpace SolT IVW 11.6" tablet
| * 560eaa1af0 nvme: adjust multiples of NVME_CTRL_PAGE_SIZE in offset
| * 2d428a07e8 nvme-multipath: find NUMA path only for online numa-node
| * 97982c3106 ALSA: hda/realtek: Enable headset mic of JP-IK LEAP W502 with ALC897
| * 2849a1b747 i2c: pnx: Fix potential deadlock warning from del_timer_sync() call in isr
| * 2032e5dfae media: dw2102: fix a potential buffer overflow
| * a6176a802c ima: Avoid blocking in RCU read-side critical section
| * 37c59198bc bpf, sockmap: Fix sk->sk_forward_alloc warn_on in sk_stream_kill_queues
| * 8b17cec338 bnx2x: Fix multiple UBSAN array-index-out-of-bounds
| * 55d6a97cf0 mtd: rawnand: Bypass a couple of sanity checks during NAND identification
| * fac2544b8c drm/amdgpu/atomfirmware: silence UBSAN warning
| * 274cba8d2d drm/nouveau: fix null pointer dereference in nouveau_connector_get_modes
| * 145faa3d03 Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again"
| * c9f715f1b4 fsnotify: Do not generate events for O_PATH file descriptors
| * 9528e95d6e can: kvaser_usb: Explicitly initialize family in leafimx driver_info struct
| * 215a26c240 Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot
| * 7a49389771 mm: avoid overflows in dirty throttling logic
| * f033241a7c mm: optimize the redundant loop of mm_update_owner_next()
| * 2f2fa9cf7c nilfs2: add missing check for inode numbers on directory entries
| * 731011ac6c nilfs2: fix inode number range checks
| * 7ef519c8ef inet_diag: Initialize pad field in struct inet_diag_req_v2
| * 3908637dce selftests: make order checking verbose in msg_zerocopy selftest
| * 1782a42ca2 selftests: fix OOM in msg_zerocopy selftest
| * 707c85ba35 bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set()
| * df76fb67ea wifi: wilc1000: fix ies_len type in connect path
| * cdffc35871 tcp_metrics: validate source addr length
| * febed740a3 UPSTREAM: tcp: fix DSACK undo in fast recovery to call tcp_try_to_open()
| * 93c034c431 s390/pkey: Wipe sensitive data on failure
| * 6d6d94287f jffs2: Fix potential illegal address access in jffs2_free_inode
| * b694989bb1 bpf: Avoid uninitialized value in BPF_CORE_READ_BITFIELD
| * 6b84e9d53b powerpc/xmon: Check cpu id in commands "c#", "dp#" and "dx#"
| * 9d046f697e kunit: Fix timeout message
| * 1617249e24 orangefs: fix out-of-bounds fsid access
| * 19cd1d96d6 powerpc/64: Set _IO_BASE to POISON_POINTER_DELTA not 0 for CONFIG_PCI=n
| * 158bcaa2e3 i2c: i801: Annotate apanel_addr as __ro_after_init
| * e1ba226187 media: dvb-frontends: tda10048: Fix integer overflow
| * 7d2fbd822d media: s2255: Use refcount_t instead of atomic_t for num_channels
| * 39e7a27813 media: dvb-frontends: tda18271c2dd: Remove casting during div
| * 2a2fe25a10 net: dsa: mv88e6xxx: Correct check for empty list
| * 8eac1cc159 Input: ff-core - prefer struct_size over open coded arithmetic
| * 402825a23a firmware: dmi: Stop decoding on broken entry
| * 5a18ea7d86 sctp: prefer struct_size over open coded arithmetic
| * 4dcce63a6f media: dw2102: Don't translate i2c read into write
| * ffa7bd3ca9 drm/amd/display: Skip finding free audio for unknown engine_id
| * b2e9abc955 drm/amd/display: Check pipe offset before setting vblank
| * b5b8837d06 drm/amd/display: Check index msg_id before read or write
| * f0645c99c2 drm/amdgpu: Initialize timestamp for some legacy SOCs
| * 9db8c299a5 crypto: aead,cipher - zeroize key buffer after use
| * 5ceb40cdee scsi: qedf: Make qedf_execute_tmf() non-preemptible
| * 62349fbf86 IB/core: Implement a limit on UMAD receive List
| * 167afd3fed media: dvb-usb: dib0700_devices: Add missing release_firmware()
| * 82ef3fa640 media: dvb: as102-fe: Fix as10x_register_addr packing
| * 25d0d9b83d drm/lima: fix shared irq handling on driver remove
| * 94ffdde326 Compiler Attributes: Add __uninitialized macro
* | a297eae7e6 ANDROID: fix build error in ksz9477.c
* | 2ebd481b31 Merge 5.10.221 into android12-5.10-lts
|\|
| * 6ab8b697d7 Linux 5.10.221
| * ec3adc2af0 tracing/net_sched: NULL pointer dereference in perf_trace_qdisc_reset()
| * 0a95f0f6d6 serial: 8250_omap: Fix Errata i2310 with RX FIFO level check
| * 1bd2dc7702 xdp: xdp_mem_allocator can be NULL in trace_mem_connect().
| * 4686892f61 arm64: dts: rockchip: Add sound-dai-cells for RK3368
| * e9918954e3 ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node
| * b63d015b7a KVM: arm64: vgic-v4: Make the doorbell request robust w.r.t preemption
| * 91efb15b5a efi/x86: Free EFI memory map only when installing a new one.
| * e5d730882d efi: xen: Set EFI_PARAVIRT for Xen dom0 boot on all architectures
| * 31e0721aea efi: memmap: Move manipulation routines into x86 arch tree
| * 52dc463a76 efi: Correct comment on efi_memmap_alloc
| * d204beedc8 drivers: fix typo in firmware/efi/memmap.c
| * 3b32f26580 tcp: Fix data races around icsk->icsk_af_ops.
| * ea2ed3f78a ipv6: Fix data races around sk->sk_prot.
| * d3bf338e9c ipv6: annotate some data-races around sk->sk_prot
| * ed07b26c54 nfs: Leave pages in the pagecache if readpage failed
| * 2e6bbfa1ab pwm: stm32: Refuse too small period requests
| * 2c43adf364 mtd: spinand: macronix: Add support for serial NAND flash
| * d5f75f0199 syscalls: fix compat_sys_io_pgetevents_time64 usage
| * 84bf6b64a1 ftruncate: pass a signed offset
| * 010de9acbe ata: libata-core: Fix double free on error
| * be5016ae5a ata: ahci: Clean up sysfs file on error
| * 692858d9ed batman-adv: Don't accept TT entries for out-of-spec VIDs
| * 56fc4d3b0b drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes
| * f771b91f21 drm/i915/gt: Fix potential UAF by revoke of fence registers
| * 259549b2cc drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes
| * 9ec84770e4 hexagon: fix fadvise64_64 calling conventions
| * 6906335529 csky, hexagon: fix broken sys_sync_file_range
| * bf4a43c533 kbuild: Install dtb files as 0644 in Makefile.dtbinst
| * f6c839e717 net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new
| * 3f177e46c9 net: can: j1939: recover socket queue on CAN bus error during BAM transmission
| * a2a0ebff7f net: can: j1939: Initialize unused data in j1939_send_one()
| * 44add57b5b tty: mcf: MCF54418 has 10 UARTS
| * cb87930066 serial: 8250_omap: Implementation of Errata i2310
| * 75ddbf776d usb: atm: cxacru: fix endpoint checking in cxacru_bind()
| * 621e90201c usb: musb: da8xx: fix a resource leak in probe()
| * 2798fc1560 usb: gadget: printer: fix races against disable
| * 84ca47192f usb: gadget: printer: SS+ support
| * ee88636607 net: usb: ax88179_178a: improve link status logs
| * 59a84bcf1c iio: chemical: bme680: Fix sensor data read operation
| * c326551e99 iio: chemical: bme680: Fix overflows in compensate() functions
| * 3d78fc351b iio: chemical: bme680: Fix calibration data variable
| * 44f04b1a88 iio: chemical: bme680: Fix pressure value output
| * 28f6d0b5ff iio: adc: ad7266: Fix variable checking bug
| * 78ece307f8 counter: ti-eqep: enable clock at probe
| * 76da476a4c mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro()
| * 803835fda3 mmc: sdhci: Do not invert write-protect twice
| * 5048a44a25 mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos
| * a68b896aa5 ocfs2: fix DIO failure due to insufficient transaction credits
| * 49c09ca35a x86: stop playing stack games in profile_pc()
| * 38ce307939 gpiolib: cdev: Disallow reconfiguration without direction (uAPI v1)
| * e44a83bf15 gpio: davinci: Validate the obtained number of IRQs
| * 98eae65cb5 drm/panel: simple: Add missing display timing flags for KOE TX26D202VM0BWA
| * cb4e7a8f39 nvme: fixup comment for nvme RDMA Provider Type
| * 1a7a494184 drm/radeon/radeon_display: Decrease the size of allocated memory
| * a45c45767b soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message
| * e47d3babaa media: dvbdev: Initialize sbuf
| * d23982ea9a ALSA: emux: improve patch ioctl data validation
| * 763896ab62 net/dpaa2: Avoid explicit cpumask var allocation on stack
| * 9dadab0db7 net/iucv: Avoid explicit cpumask var allocation on stack
| * 3d6432f20f bpf: Add a check for struct bpf_fib_lookup size
| * 37f646c604 mtd: partitions: redboot: Added conversion of operands to a larger type
| * cae52f61fd drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep
| * 5d43d789b5 netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers
| * 4e6367fe32 parisc: use correct compat recv/recvfrom syscalls
| * 7620738513 sparc: fix compat recv/recvfrom syscalls
| * 2a700b8de5 sparc: fix old compat_sys_select()
| * 1095b8efbb xdp: Remove WARN() from __xdp_reg_mem_model()
| * 5a3035306a xdp: Allow registering memory model without rxq reference
| * f4aa8268d7 xdp: Move the rxq_info.mem clearing to unreg_mem_model()
| * 0427f74a79 net: phy: micrel: add Microchip KSZ 9477 to the device table
| * 65a9383389 net: dsa: microchip: fix initial port flush problem
| * 3662eb2170 ASoC: fsl-asoc-card: set priv->pdev before using it
| * 229e145a81 nfsd: hold a lighter-weight client reference over CB_RECALL_ANY
| * a4f3907ab5 SUNRPC: Fix svcxdr_init_encode's buflen calculation
| * f1ef3dc758 SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation
| * be20af2458 SUNRPC: Fix a NULL pointer deref in trace_svc_stats_latency()
| * 3de81c1e84 SUNRPC: Fix null pointer dereference in svc_rqst_free()
| * 310dee7235 netfilter: nf_tables: validate family when identifying table via handle
| * d8a04a6bfa drm/amdgpu: fix UBSAN warning in kv_dpm.c
| * 52af94393d pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set
| * 6531f8c666 pinctrl: rockchip: use dedicated pinctrl type for RK3328
| * 926cb583b9 pinctrl/rockchip: separate struct rockchip_pin_bank to a head file
| * cfa2527ac8 pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins
| * 6ff152b2be pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins
| * b813e3fd10 pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER
| * b6be2b025c Input: ili210x - fix ili251x_read_touch_data() return value
| * f0ef5ca85f ACPI: x86: Force StorageD3Enable on more products
| * 3f830c2484 ACPI: x86: utils: Add Picasso to the list for forcing StorageD3Enable
| * bb1758cc4a ACPI: x86: utils: Add Cezanne to the list for forcing StorageD3Enable
| * c2a6ab506f ACPI: x86: Add another system to quirk list for forcing StorageD3Enable
| * fe73b1d080 ACPI: x86: Add a quirk for Dell Inspiron 14 2-in-1 for StorageD3Enable
| * 83f6522210 ACPI: Add quirks for AMD Renoir/Lucienne CPUs to force the D3 hint
| * b055752675 smb: client: fix deadlock in smb2_find_smb_tcon()
| * 78ebec450e cifs: missed ref-counting smb session in find
| * b03555a8fa x86/amd_nb: Check for invalid SMN reads
| * 0caf70a8e8 PCI: Add PCI_ERROR_RESPONSE and related definitions
| * a335ad77bd perf/core: Fix missing wakeup when waiting for context reference
| * 695f20c678 kheaders: explicitly define file modes for archived headers
| * 247c3f8958 Revert "kheaders: substituting --sort in archive creation"
| * 61c1c98e26 r8169: Fix possible ring buffer corruption on fragmented Tx packets.
| * 5c88f4f634 r8169: remove not needed check in rtl8169_start_xmit
| * 48833226fb r8169: remove nr_frags argument from rtl_tx_slots_avail
| * 41eeb13459 r8169: improve rtl8169_start_xmit
| * 04f9d0cd39 r8169: improve rtl_tx
| * 6d3eb1658b r8169: remove unneeded memory barrier in rtl_tx
| * 40a697e345 x86/cpu: Fix x86_match_cpu() to match just X86_VENDOR_INTEL
| * 50b1b4e4f3 x86/cpu/vfm: Add new macros to work with (vendor/family/model) values
| * 0e84701753 tracing: Add MODULE_DESCRIPTION() to preemptirq_delay_test
| * 2c3d7b03b6 bcache: fix variable length array abuse in btree_iter
| * 6337072467 spmi: hisi-spmi-controller: Do not override device identifier
| * 90551062fd knfsd: LOOKUP can return an illegal error value
| * f77c8a2ce2 pmdomain: ti-sci: Fix duplicate PD referrals
| * 5fe1b2c72e wifi: rtlwifi: rtl8192de: Fix 5 GHz TX power
| * 33628b6ed3 rtlwifi: rtl8192de: Style clean-ups
| * 77942a0272 ARM: dts: samsung: smdk4412: fix keypad no-autorepeat
| * 1fdaecc326 ARM: dts: samsung: exynos4412-origen: fix keypad no-autorepeat
| * b263a895d8 ARM: dts: samsung: smdkv310: fix keypad no-autorepeat
| * cc255080c1 drm/amd/display: revert Exit idle optimizations before HDCP execution
| * 5d7fef7522 dt-bindings: i2c: google,cros-ec-i2c-tunnel: correct path to i2c-controller schema
| * 7884f4afec i2c: ocores: set IACK bit after core is enabled
| * 7879b54f0b kcov: don't lose track of remote references during softirqs
| * b1684798a3 gcov: add support for GCC 14
| * febe794b83 drm/radeon: fix UBSAN warning in kv_dpm.c
| * 71bea3e648 ALSA: hda/realtek: Limit mic boost on N14AP7
| * 7186b81c1f RDMA/mlx5: Add check for srq max_sge attribute
| * 6eca23100e ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."
| * f3d17826d6 dmaengine: ioatdma: Fix missing kmem_cache_destroy()
| * 34cc20a544 dmaengine: ioatdma: Fix kmemleak in ioat_pci_probe()
| * 768ae5e025 dmaengine: ioatdma: Fix error path in ioat3_dma_probe()
| * a486fca282 dmaengine: ioat: use PCI core macros for PCIe Capability
| * c017a8e3e3 dmaengine: ioatdma: Fix leaking on version mismatch
| * f99b00ed9b dmaengine: ioat: Drop redundant pci_enable_pcie_error_reporting()
| * d293db11cb dmaengine: ioat: switch from 'pci_' to 'dma_' API
| * 97509608b7 regulator: core: Fix modpost error "regulator_get_regmap" undefined
| * 6a0f5d540f net: usb: rtl8150 fix unintiatilzed variables in rtl8150_get_link_ksettings
| * 72d9611968 netfilter: ipset: Fix suspicious rcu_dereference_protected()
| * 333c0a1f7d virtio_net: checksum offloading handling fix
| * b4bca4722f net: stmmac: No need to calculate speed divider when offload is disabled
| * 03f625505e sched: act_ct: add netns into the key of tcf_ct_flow_table
| * b4899d75b8 net/sched: act_ct: set 'net' pointer when creating new nf_flow_table
| * 3eb1b39627 tipc: force a dst refcount before doing decryption
| * c6a7da65a2 net/sched: act_api: fix possible infinite loop in tcf_idr_check_alloc()
| * 66c7aa157a net/sched: act_api: rely on rcu in tcf_idr_check_alloc
| * fb910ac2d3 qca_spi: Make interrupt remembering atomic
| * 2b82028a1f netns: Make get_net_ns() handle zero refcount net
| * 20427b8578 xfrm6: check ip6_dst_idev() return value in xfrm6_get_saddr()
| * 1ed9849fdf ipv6: prevent possible NULL dereference in rt6_probe()
| * de5ad4d45c ipv6: prevent possible NULL deref in fib6_nh_init()
| * 5391f9db2c netrom: Fix a memory leak in nr_heartbeat_expiry()
| * 1aabe0f850 cipso: fix total option length computation
| * a85bae262c tracing: Build event generation tests only as modules
| * 36d771ce60 mips: bmips: BCM6358: make sure CBR is correctly set
| * 7117969bff MIPS: Routerboard 532: Fix vendor retry check code
| * 15c8b2e1d6 serial: exar: adding missing CTI and Exar PCI ids
| * 6c1b9fe148 MIPS: Octeon: Add PCIe link status check
| * c59f79e2b4 PCI/PM: Avoid D3cold for HP Pavilion 17 PC/1972 PCIe Ports
| * bffff80d10 udf: udftime: prevent overflow in udf_disk_stamp_to_time()
| * 04736c1bc3 usb: misc: uss720: check for incompatible versions of the Belkin F5U002
| * 38a82c8d00 f2fs: remove clear SB_INLINECRYPT flag in default_options
| * d8481016c2 iommu/arm-smmu-v3: Free MSIs in case of ENOMEM
| * 449d55871c power: supply: cros_usbpd: provide ID table for avoiding fallback match
| * 1939648b3a powerpc/io: Avoid clang null pointer arithmetic warnings
| * a8c988d752 powerpc/pseries: Enforce hcall result buffer validity and size
| * 03e7b2f7ae drm/lima: mask irqs in timeout path before hard reset
| * e12c363cf5 drm/lima: add mask irq callback to gp and pp
| * 2db63bf7d8 ASoC: Intel: sof_sdw: add JD2 quirk for HP Omen 14
| * b4291f58a9 drm/amd/display: Exit idle optimizations before HDCP execution
| * 52d4cfa56b Bluetooth: ath3k: Fix multiple issues reported by checkpatch.pl
| * 6fdc98bcc6 ACPI: video: Add backlight=native quirk for Lenovo Slim 7 16ARH7
| * 6f6cb07482 HID: Add quirk for Logitech Casa touchpad
| * 43c0ca793a netpoll: Fix race condition in netpoll_owner_active
| * 1b577bb1cb kselftest: arm64: Add a null pointer check
| * 144d76a676 scsi: qedi: Fix crash while reading debugfs attribute
| * 96941f29eb drop_monitor: replace spin_lock by raw_spin_lock
| * a720d71dd4 af_packet: avoid a false positive warning in packet_setsockopt()
| * b5a53d14dd wifi: ath9k: work around memset overflow warning
| * 82cdea8f3a batman-adv: bypass empty buckets in batadv_purge_orig_ref()
| * e1c3f5fb1b selftests/bpf: Fix flaky test btf_map_in_map/lookup_update
| * 973b32034c selftests/bpf: Prevent client connect before server bind in test_tc_tunnel.sh
| * 58706e482b block/ioctl: prefer different overflow check
| * c15df6f498 rcutorture: Fix invalid context warning when enable srcu barrier testing
| * dd2cb39afc rcutorture: Fix rcu_torture_one_read() pipe_count overflow comment
| * ec58e6ff29 padata: Disable BH when taking works lock on MT path
| * 82c7acf9a1 zap_pid_ns_processes: clear TIF_NOTIFY_SIGNAL along with TIF_SIGPENDING
| * 864963d269 i2c: designware: Fix the functionality flags of the slave-only interface
| * 0f37d22a62 i2c: at91: Fix the functionality flags of the slave-only interface
| * f68820f125 usb-storage: alauda: Check whether the media is initialized
| * 2b6bb0b4ab greybus: Fix use-after-free bug in gb_interface_release due to race condition.
| * d6c26a59e6 remoteproc: k3-r5: Jump to error handling labels in start/stop errors
| * 990d071010 mptcp: pm: update add_addr counters after connect
| * 5a4efafcf8 mptcp: pm: inc RmAddr MIB counter once per RM_ADDR ID
| * 208cd22ef5 mptcp: ensure snd_una is properly initialized on connect
| * 73014c77ec hugetlb_encode.h: fix undefined behaviour (34 << 26)
| * 0047568dbd serial: 8250_pxa: Configure tx_loadsz to match FIFO IRQ level
| * 33eae51f65 tick/nohz_full: Don't abuse smp_call_function_single() in tick_setup_device()
| * 0ecfe3a928 nilfs2: fix potential kernel bug due to lack of writeback flag waiting
| * f699f9f8b2 intel_th: pci: Add Lunar Lake support
| * 31f3136fd6 intel_th: pci: Add Meteor Lake-S support
| * c02003a97a intel_th: pci: Add Sapphire Rapids SOC support
| * dbfe50b50e intel_th: pci: Add Granite Rapids SOC support
| * 78a41b1614 intel_th: pci: Add Granite Rapids support
| * 02d3b5e48d remoteproc: k3-r5: Do not allow core1 to power up before core0 via sysfs
| * fe5b53c602 dmaengine: axi-dmac: fix possible race in remove()
| * 42ed6bfc2d PCI: rockchip-ep: Remove wrong mask on subsys_vendor_id
| * 050ce8af68 ocfs2: fix races between hole punching and AIO+DIO
| * 11a075a1c8 ocfs2: use coarse time for new created files
| * 70c1835e77 fs/proc: fix softlockup in __read_vmcore
| * f70ff73734 vmci: prevent speculation leaks by sanitizing event in event_deliver()
| * 4dfffb5031 drm/exynos: hdmi: report safe 640x480 mode as a fallback when no EDID found
| * 0acc356da8 drm/exynos/vidi: fix memory leak in .get_modes()
| * 760603e30b drivers: core: synchronize really_probe() and dev_uevent()
| * fd45d6f194 iio: imu: inv_icm42600: delete unneeded update watermark call
| * 9d4dce5870 iio: dac: ad5592r: fix temperature channel scaling value
| * e4ce76890e iio: adc: ad9467: fix scan type sign
| * ff9c2a9426 ionic: fix use after netif_napi_del()
| * b278f9b458 net/ipv6: Fix the RT cache flush via sysctl using a previous delay
| * 01ce5bdfdf net: stmmac: replace priv->speed with the portTransmitRate from the tc-cbs parameters
| * 93b53c202b netfilter: ipset: Fix race between namespace cleanup and gc in the list:set type
| * ea1a98c9a3 Bluetooth: L2CAP: Fix rejecting L2CAP_CONN_PARAM_UPDATE_REQ
| * dfd7f46707 net/mlx5e: Fix features validation check for tunneled UDP (non-VXLAN) packets
| * 330c8661c9 tcp: fix race in tcp_v6_syn_recv_sock()
| * 9b164605c1 drm/bridge/panel: Fix runtime warning on panel bridge release
| * bda7cdaeeb drm/komeda: check for error-valued pointer
| * cbf18d8128 liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet
| * 187e293c82 net: hns3: add cond_resched() to hns3 ring buffer init process
| * bd8e1e6af6 net: sfp: Always call `sfp_sm_mod_remove()` on remove
| * abc55e738b drm/vmwgfx: 3D disabled should not effect STDU memory limits
| * caa9c9acb9 HID: logitech-dj: Fix memory leak in logi_dj_recv_switch_to_dj_mode()
| * cf34f8f669 iommu: Return right value in iommu_sva_bind_device()
| * d4673a34d8 iommu/amd: Fix sysfs leak in iommu init
| * c0f1bd317b iommu/amd: Introduce pci segment structure
| * a843c0e9da gpio: tqmx86: store IRQ trigger type and unmask status separately
| * 33f6832798 HID: core: remove unnecessary WARN_ON() in implement()
| * 544015b945 gpio: tqmx86: fix typo in Kconfig label
| * 66c79c5acc SUNRPC: return proper error from gss_wrap_req_priv
| * b6a204f937 Input: try trimming too long modalias strings
| * 20b3f435b7 powerpc/uaccess: Fix build errors seen with GCC 13/14
| * 0081d2b3ae scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory
| * baeae72258 xhci: Apply broken streams quirk to Etron EJ188 xHCI host
| * 0b05b12e2d xhci: Apply reset resume quirk to Etron EJ188 xHCI host
| * 22de7c9cba xhci: Set correct transferred length for cancelled bulk transfers
| * fc745f6e83 jfs: xattr: fix buffer overflow for invalid xattr
| * 498ff29800 mei: me: release irq in mei_me_pci_resume error path
| * c0747d76eb USB: class: cdc-wdm: Fix CPU lockup caused by excessive log messages
| * c77ad608df nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors
| * adf1b931d5 nilfs2: return the mapped address from nilfs_get_page()
| * 8b56df81b3 nilfs2: Remove check for PageError
| * 05544fd3f1 btrfs: fix leak of qgroup extent records after transaction abort
| * 79bf1ea0d5 selftests/mm: compaction_test: fix bogus test success on Aarch64
| * 7c1cc0a5d4 selftests/mm: conform test to TAP format output
| * 9d3886a160 selftests/mm: compaction_test: fix incorrect write of zero to nr_hugepages
| * 6ff7cfa02b mmc: davinci: Don't strip remove function when driver is builtin
| * b5a2a69081 serial: sc16is7xx: fix bug in sc16is7xx_set_baud() when using prescaler
| * 9a2e0aa9a8 serial: sc16is7xx: replace hardcoded divisor value with BIT() macro
| * e8b8054f5e drm/amd/display: Handle Y carry-over in VCP X.Y calculation
| * e500b1c4e2 usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete
| * c693698787 ipv6: fix possible race in __fib6_drop_pcpu_from()
| * 74c97c8003 af_unix: Annotate data-race of sk->sk_shutdown in sk_diag_fill().
| * 35a69f9e5d af_unix: Use skb_queue_len_lockless() in sk_diag_show_rqlen().
| * a64e4b8f9b af_unix: Use unix_recvq_full_lockless() in unix_stream_connect().
| * f70ef84b82 af_unix: Annotate data-race of net->unx.sysctl_max_dgram_qlen.
| * 44a2437c60 af_unix: Annotate data-races around sk->sk_state in UNIX_DIAG.
| * b5a6507c61 af_unix: Annotate data-races around sk->sk_state in sendmsg() and recvmsg().
| * cc5d123ce4 af_unix: Annotate data-races around sk->sk_state in unix_write_space() and poll().
| * d2c53bedeb af_unix: Annotate data-race of sk->sk_state in unix_inq_len().
| * 13f61e503e ptp: Fix error message on failed pin verification
| * 6db4af0998 net/sched: taprio: always validate TCA_TAPRIO_ATTR_PRIOMAP
| * d8c79ae03e tcp: count CLOSE-WAIT sockets for TCP_MIB_CURRESTAB
| * dd254cde57 vxlan: Fix regression when dropping packets due to invalid src addresses
| * 52b1aa07cd net: sched: sch_multiq: fix possible OOB write in multiq_tune()
| * f9f69e3f69 ipv6: sr: block BH in seg6_output_core() and seg6_input_core()
| * 3cbb2ba0a0 net/ncsi: Fix the multi thread manner of NCSI driver
| * 7329bc66b4 net/ncsi: Simplify Kconfig/dts control flow
| * f40cac4e70 net/ncsi: add NCSI Intel OEM command to keep PHY up
| * 7c9b9f822e wifi: mac80211: correctly parse Spatial Reuse Parameter Set element
| * 46c59a2533 wifi: iwlwifi: mvm: don't read past the mfuart notifcation
| * 3c4771091e wifi: iwlwifi: mvm: check n_ssids before accessing the ssids
| * 2c80bd07c1 wifi: iwlwifi: dbg_ini: move iwl_dbg_tlv_free outside of debugfs ifdef
| * 99c4903dce wifi: iwlwifi: mvm: revert gen2 TX A-MPDU size to 64
| * 8d5c7d7bfd wifi: cfg80211: pmsr: use correct nla_get_uX functions
| * e7e916d693 wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup()
| * 7518e20a18 wifi: mac80211: mesh: Fix leak of mesh_preq_queue objects
| * f64d566f43 null_blk: Print correct max open zones limit in null_init_zoned_dev()
| * 8f48a7f8b9 tracing/selftests: Fix kprobe event name test for .isra. functions
* | 88eb084d18 Revert "Merge 5.10.220 into android12-5.10-lts"
* | 87a7f35a24 Merge 5.10.220 into android12-5.10-lts
|\|
| * 3a3877de44 Linux 5.10.220
| * 9444ce5cd4 nfsd: Fix a regression in nfsd_setattr()
| * a1a153fc73 nfsd: don't call locks_release_private() twice concurrently
| * feb3352af7 nfsd: don't take fi_lock in nfsd_break_deleg_cb()
| * 99fb654d01 nfsd: fix RELEASE_LOCKOWNER
| * ca791e1a31 nfsd: drop the nfsd_put helper
| * 838a602db7 nfsd: call nfsd_last_thread() before final nfsd_put()
| * e35cb663a4 NFSD: fix possible oops when nfsd/pool_stats is closed.
| * 3add01e067 Documentation: Add missing documentation for EXPORT_OP flags
| * d31cd25f55 nfsd: separate nfsd_last_thread() from nfsd_put()
| * 987c0e1028 nfsd: Simplify code around svc_exit_thread() call in nfsd()
| * 7229200f68 nfsd: don't allow nfsd threads to be signalled.
| * 8ef87fe6e8 nfsd: Fix creation time serialization order
| * 72f28b5ad0 NFSD: Add an nfsd4_encode_nfstime4() helper
| * b4417c53d4 lockd: drop inappropriate svc_get() from locked_get()
| * b28b5c726e nfsd: fix double fget() bug in __write_ports_addfd()
| * 8157832461 nfsd: make a copy of struct iattr before calling notify_change
| * 05f45f3981 NFSD: Fix problem of COMMIT and NFS4ERR_DELAY in infinite loop
| * 6c05d25ca8 nfsd: simplify the delayed disposal list code
| * 56b36b8960 NFSD: Convert filecache to rhltable
| * 5a132ffa76 nfsd: allow reaping files still under writeback
| * f7b157737c nfsd: update comment over __nfsd_file_cache_purge
| * f593ea1423 nfsd: don't take/put an extra reference when putting a file
| * c3677c14b3 nfsd: add some comments to nfsd_file_do_acquire
| * c9e8ed6efa nfsd: don't kill nfsd_files because of lease break error
| * 2c95ad0a0c nfsd: simplify test_bit return in NFSD_FILE_KEY_FULL comparator
| * e378da8357 nfsd: NFSD_FILE_KEY_INODE only needs to find GC'ed entries
| * 9c599dee87 nfsd: don't open-code clear_and_wake_up_bit
| * 65a33135e9 nfsd: call op_release, even when op_func returns an error
| * 50827896c3 NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL
| * 8235cd619d nfsd: don't replace page in rq_pages if it's a continuation of last page
| * 37b34eb567 lockd: set file_lock start and end when decoding nlm4 testargs
| * b0f3373279 NFSD: Protect against filesystem freezing
| * 37cd49faaa NFSD: copy the whole verifier in nfsd_copy_write_verifier
| * dd7d50c695 nfsd: don't fsync nfsd_files on last close
| * 1178547637 nfsd: fix courtesy client with deny mode handling in nfs4_upgrade_open
| * 3db6c79de9 NFSD: fix problems with cleanup on errors in nfsd4_copy
| * e5e1dc8284 nfsd: don't hand out delegation on setuid files being opened for write
| * 2da5014998 NFSD: fix leaked reference count of nfsd4_ssc_umount_item
| * fd63299db8 nfsd: clean up potential nfsd_file refcount leaks in COPY codepath
| * 3c7b9b3487 nfsd: allow nfsd_file_get to sanely handle a NULL pointer
| * 9d7608dc4b NFSD: enhance inter-server copy cleanup
| * 6856f1385d nfsd: don't destroy global nfs4_file table in per-net shutdown
| * e997a230d8 nfsd: don't free files unconditionally in __nfsd_file_cache_purge
| * 2bbf10861d NFSD: replace delayed_work with work_struct for nfsd_client_shrinker
| * 438ef64bbf NFSD: register/unregister of nfsd-client shrinker at nfsd startup/shutdown time
| * 6ac4c383c3 NFSD: fix use-after-free in nfsd4_ssc_setup_dul()
| * 2ecc439931 NFSD: Use set_bit(RQ_DROPME)
| * 115b58b56f Revert "SUNRPC: Use RMW bitops in single-threaded hot paths"
| * 45c08a7529 nfsd: fix handling of cached open files in nfsd4_open codepath
| * f31bc0bc12 nfsd: rework refcounting in filecache
| * dfbf3066d9 NFSD: Avoid clashing function prototypes
| * ea46809860 NFSD: Use only RQ_DROPME to signal the need to drop a reply
| * 71a98737cd NFSD: add delegation reaper to react to low memory condition
| * 80a81db01a NFSD: add support for sending CB_RECALL_ANY
| * 87098b663f NFSD: refactoring courtesy_client_reaper to a generic low memory shrinker
| * 35a48412f6 NFSD: pass range end to vfs_fsync_range() instead of count
| * 0d5f3de2b4 lockd: fix file selection in nlmsvc_cancel_blocked
| * 7ecaa9aff9 lockd: ensure we use the correct file descriptor when unlocking
| * 781c3f3d18 lockd: set missing fl_flags field when retrieving args
| * ae8f2bb3dd NFSD: Use struct_size() helper in alloc_session()
| * e2505cb851 nfsd: return error if nfs4_setacl fails
| * 31c93ee5f1 lockd: set other missing fields when unlocking files
| * 739202b2b9 NFSD: Add an nfsd_file_fsync tracepoint
| * 4453e0c1bb nfsd: fix up the filecache laundrette scheduling
| * 3d479899f4 nfsd: reorganize filecache.c
| * 605a5acd6f nfsd: remove the pages_flushed statistic from filecache
| * 384b23f136 NFSD: Fix licensing header in filecache.c
| * 56eedeaf71 NFSD: Use rhashtable for managing nfs4_file objects
| * 8fdef89612 NFSD: Refactor find_file()
| * 5e92a16849 NFSD: Clean up find_or_add_file()
| * 5aa2c4a1fe NFSD: Add a nfsd4_file_hash_remove() helper
| * e77b1d63c0 NFSD: Clean up nfsd4_init_file()
| * c152e4ffb9 NFSD: Update file_hashtbl() helpers
| * b0952d4948 NFSD: Use const pointers as parameters to fh_ helpers
| * a10d111fd0 NFSD: Trace delegation revocations
| * 88cf6a1e76 NFSD: Trace stateids returned via DELEGRETURN
| * 14c9c091f2 NFSD: Clean up nfs4_preprocess_stateid_op() call sites
| * d9991b0b9d NFSD: Flesh out a documenting comment for filecache.c
| * 5f866f5a86 NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection
| * c09b456a81 NFSD: Revert "NFSD: NFSv4 CLOSE should release an nfsd_file immediately"
| * caa6270201 NFSD: Pass the target nfsd_file to nfsd_commit()
| * 599d5c2291 exportfs: use pr_debug for unreachable debug statements
| * 4ab1211c28 nfsd: allow disabling NFSv2 at compile time
| * 68f7bd7f29 nfsd: move nfserrno() to vfs.c
| * abbd1215c3 nfsd: ignore requests to disable unsupported versions
| * 81714ef8e3 NFSD: Finish converting the NFSv3 GETACL result encoder
| * a20b0abab9 NFSD: Finish converting the NFSv2 GETACL result encoder
| * 1dd04600f6 NFSD: Remove redundant assignment to variable host_err
| * 48a237cb5e NFSD: Simplify READ_PLUS
| * 10727ce312 nfsd: use locks_inode_context helper
| * 32c59062f8 lockd: use locks_inode_context helper
| * 70ffaa7896 filelock: add a new locks_inode_context accessor function
| * 7ea635fc47 NFSD: Fix reads with a non-zero offset that don't end on a page boundary
| * 7d867c6c30 nfsd: put the export reference in nfsd4_verify_deleg_dentry
| * 551f17db65 nfsd: fix use-after-free in nfsd_file_do_acquire tracepoint
| * 31268eb457 nfsd: fix net-namespace logic in __nfsd_file_cache_purge
| * 5428383c6f NFSD: unregister shrinker when nfsd_init_net() fails
| * 1bb3349257 nfsd: rework hashtable handling in nfsd_do_file_acquire
| * 2db3e73f9a nfsd: fix nfsd_file_unhash_and_dispose
| * 683fb922e7 fanotify: Remove obsoleted fanotify_event_has_path()
| * 229e73a0f4 fsnotify: remove unused declaration
| * a2d440dce6 fs/notify: constify path
| * 241685bab2 nfsd: extra checks when freeing delegation stateids
| * 345e3bb5e8 nfsd: make nfsd4_run_cb a bool return function
| * d7f2774d8c nfsd: fix comments about spinlock handling with delegations
| * 89b6362704 nfsd: only fill out return pointer on success in nfsd4_lookup_stateid
| * 31b16e6b0b NFSD: Cap rsize_bop result based on send buffer size
| * 60b46564e0 NFSD: Rename the fields in copy_stateid_t
| * b7aea45a67 nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_file_cache_stats_fops
| * 21e18dd5eb nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_reply_cache_stats_fops
| * 443e648425 nfsd: use DEFINE_SHOW_ATTRIBUTE to define client_info_fops
| * 615d761a6b nfsd: use DEFINE_SHOW_ATTRIBUTE to define export_features_fops and supported_enctypes_fops
| * a063abefc6 nfsd: use DEFINE_PROC_SHOW_ATTRIBUTE to define nfsd_proc_ops
| * cda3e9b8cd NFSD: Pack struct nfsd4_compoundres
| * a54822e64d NFSD: Remove unused nfsd4_compoundargs::cachetype field
| * 17bb698078 NFSD: Remove "inline" directives on op_rsize_bop helpers
| * f533a01b09 NFSD: Clean up nfs4svc_encode_compoundres()
| * 918054d2d8 NFSD: Clean up WRITE arg decoders
| * c92e8b295a NFSD: Use xdr_inline_decode() to decode NFSv3 symlinks
| * d08acee648 NFSD: Refactor common code out of dirlist helpers
| * 5e76b25d7c NFSD: Reduce amount of struct nfsd4_compoundargs that needs clearing
| * 5ed2524893 SUNRPC: Parametrize how much of argsize should be zeroed
| * 6e50de3b3a NFSD: add shrinker to reap courtesy clients on low memory condition
| * 67302ef04e NFSD: keep track of the number of courtesy clients in the system
| * 1022fe63c5 NFSD: Make nfsd4_remove() wait before returning NFS4ERR_DELAY
| * 235738ccea NFSD: Make nfsd4_rename() wait before returning NFS4ERR_DELAY
| * b6c6c7153b NFSD: Make nfsd4_setattr() wait before returning NFS4ERR_DELAY
| * f326970df1 NFSD: Refactor nfsd_setattr()
| * 95dce2279c NFSD: Add a mechanism to wait for a DELEGRETURN
| * 3c0e831b87 NFSD: Add tracepoints to report NFSv4 callback completions
| * bc6bead0af nfsd: remove nfsd4_prepare_cb_recall() declaration
| * 330914c342 nfsd: clean up mounted_on_fileid handling
| * f574d41b1b NFSD: Fix handling of oversized NFSv4 COMPOUND requests
| * b0062184a1 NFSD: drop fname and flen args from nfsd_create_locked()
| * c23687911f NFSD: Protect against send buffer overflow in NFSv3 READ
| * 2007867c58 NFSD: Protect against send buffer overflow in NFSv2 READ
| * 57774b1526 NFSD: Protect against send buffer overflow in NFSv3 READDIR
| * 0e57d696f6 NFSD: Protect against send buffer overflow in NFSv2 READDIR
| * 2bd6f95ff9 NFSD: Increase NFSD_MAX_OPS_PER_COMPOUND
| * d40bef3801 nfsd: Propagate some error code returned by memdup_user()
| * 490af5b07d nfsd: Avoid some useless tests
| * cef1ab71ae NFSD: remove redundant variable status
| * 30b0e49a95 NFSD enforce filehandle check for source file in COPY
| * 9dc20a662f lockd: move from strlcpy with unused retval to strscpy
| * 91eebaa181 NFSD: move from strlcpy with unused retval to strscpy
| * 57afda7bf2 nfsd_splice_actor(): handle compound pages
| * c7d320e620 NFSD: fix regression with setting ACLs.
| * 1f87122d34 lockd: detect and reject lock arguments that overflow
| * b15656dfa2 NFSD: discard fh_locked flag and fh_lock/fh_unlock
| * 5a8d428f5e NFSD: use (un)lock_inode instead of fh_(un)lock for file operations
| * 9ef325edea NFSD: use explicit lock/unlock for directory ops
| * 203f09fae4 NFSD: reduce locking in nfsd_lookup()
| * bedd266b1f NFSD: only call fh_unlock() once in nfsd_link()
| * 77f83bc2ed NFSD: always drop directory lock in nfsd_unlink()
| * 617f72a1aa NFSD: change nfsd_create()/nfsd_symlink() to unlock directory before returning.
| * c5409ce523 NFSD: add posix ACLs to struct nfsd_attrs
| * 18ee0869d6 NFSD: add security label to struct nfsd_attrs
| * 2a5642abeb NFSD: set attributes when creating symlinks
| * 45cf4b1bb1 NFSD: introduce struct nfsd_attrs
| * 3aac39eaa6 NFSD: verify the opened dentry after setting a delegation
| * 820bf1383d NFSD: drop fh argument from alloc_init_deleg
| * c62dcf8633 NFSD: Move copy offload callback arguments into a separate structure
| * e1d1b6574e NFSD: Add nfsd4_send_cb_offload()
| * d87486acbd NFSD: Remove kmalloc from nfsd4_do_async_copy()
| * a860bd179e NFSD: Refactor nfsd4_do_copy()
| * 8153ed38cc NFSD: Refactor nfsd4_cleanup_inter_ssc() (2/2)
| * 0d592d96d6 NFSD: Refactor nfsd4_cleanup_inter_ssc() (1/2)
| * ac774e1eeb NFSD: Replace boolean fields in struct nfsd4_copy
| * 627b896c52 NFSD: Make nfs4_put_copy() static
| * 0d7e3df76b NFSD: Reorder the fields in struct nfsd4_op
| * 94fd87568e NFSD: Shrink size of struct nfsd4_copy
| * 7c6fd14057 NFSD: Shrink size of struct nfsd4_copy_notify
| * 02bc4d514c NFSD: nfserrno(-ENOMEM) is nfserr_jukebox
| * 8ce03085cc NFSD: Fix strncpy() fortify warning
| * 0a1b9a216f NFSD: Clean up nfsd4_encode_readlink()
| * c7863472e5 NFSD: Use xdr_pad_size()
| * c587004a76 NFSD: Simplify starting_len
| * e77d3f5ee5 NFSD: Optimize nfsd4_encode_readv()
| * d176e7348b NFSD: Add an nfsd4_read::rd_eof field
| * 427bd174a4 NFSD: Clean up SPLICE_OK in nfsd4_encode_read()
| * 8fd87bf897 NFSD: Optimize nfsd4_encode_fattr()
| * d8c3d70408 NFSD: Optimize nfsd4_encode_operation()
| * 3b5dcf6b46 nfsd: silence extraneous printk on nfsd.ko insertion
| * f81ab23756 NFSD: limit the number of v4 clients to 1024 per 1GB of system memory
| * ec16f5f7fa NFSD: keep track of the number of v4 clients in the system
| * 4e7a739f63 NFSD: refactoring v4 specific code to a helper in nfs4state.c
| * 705e2cb1fe NFSD: Ensure nf_inode is never dereferenced
| * 451b2c2125 NFSD: NFSv4 CLOSE should release an nfsd_file immediately
| * c553e79c08 NFSD: Move nfsd_file_trace_alloc() tracepoint
| * 26664203dd NFSD: Separate tracepoints for acquire and create
| * de070f66d2 NFSD: Clean up unused code after rhashtable conversion
| * a174ce98b3 NFSD: Convert the filecache to use rhashtable
| * ebe886ac37 NFSD: Set up an rhashtable for the filecache
| * 1ea9b51f73 NFSD: Replace the "init once" mechanism
| * bbb260f3ce NFSD: Remove nfsd_file::nf_hashval
| * 12494d98fe NFSD: nfsd_file_hash_remove can compute hashval
| * 10ba39f788 NFSD: Refactor __nfsd_file_close_inode()
| * a86953523e NFSD: nfsd_file_unhash can compute hashval from nf->nf_inode
| * ef7fe4908a NFSD: Remove lockdep assertion from unhash_and_release_locked()
| * 525c2c81fd NFSD: No longer record nf_hashval in the trace log
| * 99735b8d82 NFSD: Never call nfsd_file_gc() in foreground paths
| * 586e8d6c3d NFSD: Fix the filecache LRU shrinker
| * 51fc2b2c79 NFSD: Leave open files out of the filecache LRU
| * c15db0869e NFSD: Trace filecache LRU activity
| * 7cca6908fa NFSD: WARN when freeing an item still linked via nf_lru
| * 0c426d4621 NFSD: Hook up the filecache stat file
| * 6dc5cab808 NFSD: Zero counters when the filecache is re-initialized
| * 04b9376a10 NFSD: Record number of flush calls
| * 2cba48b3d0 NFSD: Report the number of items evicted by the LRU walk
| * af057e5884 NFSD: Refactor nfsd_file_lru_scan()
| * e7d5efd20e NFSD: Refactor nfsd_file_gc()
| * 8d038e72e7 NFSD: Add nfsd_file_lru_dispose_list() helper
| * d176e98400 NFSD: Report average age of filecache items
| * ca9cc17ec0 NFSD: Report count of freed filecache items
| * a38dff5964 NFSD: Report count of calls to nfsd_file_acquire()
| * 91c03a6124 NFSD: Report filecache LRU size
| * 4ff0e22e54 NFSD: Demote a WARN to a pr_warn()
| * cc3b111e3b nfsd: remove redundant assignment to variable len
| * 0a18cd2b94 NFSD: Fix space and spelling mistake
| * b5b79fc3ff NLM: Defend against file_lock changes after vfs_test_lock()
| * 16acc0677f SUNRPC: Fix xdr_encode_bool()
| * bcaac325dd nfsd: eliminate the NFSD_FILE_BREAK_* flags
| * 302ae1fb80 fsnotify: Fix comment typo
| * 85c640adf9 fanotify: introduce FAN_MARK_IGNORE
| * 99a022c4bc fanotify: cleanups for fanotify_mark() input validations
| * b8d06d1187 fanotify: prepare for setting event flags in ignore mask
| * 71860cc4e4 fs: inotify: Fix typo in inotify comment
| * 795f9fa1b5 lockd: fix nlm_close_files
| * 486c1acf14 lockd: set fl_owner when unlocking files
| * 845b309cf5 NFSD: Decode NFSv4 birth time attribute
| * 58f985d688 NFS: restore module put when manager exits.
| * e9156a2431 fanotify: refine the validation checks on non-dir inode mask
| * 6943f1073a SUNRPC: Optimize xdr_reserve_space()
| * ada1757b25 NFSD: Fix potential use-after-free in nfsd_file_put()
| * 4862b61886 NFSD: nfsd_file_put() can sleep
| * 06252d1bd5 NFSD: Add documenting comment for nfsd4_release_lockowner()
| * 345e2e48d8 NFSD: Modernize nfsd4_release_lockowner()
| * 13459d2225 nfsd: destroy percpu stats counters after reply cache shutdown
| * 15081df04a nfsd: Fix null-ptr-deref in nfsd_fill_super()
| * ff4e7a4b49 nfsd: Unregister the cld notifier when laundry_wq create failed
| * e1e87709c4 SUNRPC: Use RMW bitops in single-threaded hot paths
| * f7a1ecf2aa NFSD: Clean up the show_nf_flags() macro
| * 7b8462f22a NFSD: Trace filecache opens
| * a38be00474 NFSD: Move documenting comment for nfsd4_process_open2()
| * bfe9aab120 NFSD: Fix whitespace
| * 2805c5439c NFSD: Remove dprintk call sites from tail of nfsd4_open()
| * c20097329d NFSD: Instantiate a struct file when creating a regular NFSv4 file
| * d8714bda3f NFSD: Clean up nfsd_open_verified()
| * 274fd0f9c2 NFSD: Remove do_nfsd_create()
| * 66af1db0cc NFSD: Refactor NFSv4 OPEN(CREATE)
| * a019add1b4 NFSD: Refactor NFSv3 CREATE
| * a132795b61 NFSD: Refactor nfsd_create_setattr()
| * ee0742a93c NFSD: Avoid calling fh_drop_write() twice in do_nfsd_create()
| * 304505e2e8 NFSD: Clean up nfsd3_proc_create()
| * c6207942b2 NFSD: Show state of courtesy client in client info
| * 4a39f029e7 NFSD: add support for lock conflict to courteous server
| * 97f77d7d50 fs/lock: add 2 callbacks to lock_manager_operations to resolve conflict
| * eb2eb6b6af fs/lock: add helper locks_owner_has_blockers to check for blockers
| * 461d0b57c9 NFSD: move create/destroy of laundry_wq to init_nfsd and exit_nfsd
| * a26848e2bc NFSD: add support for share reservation conflict to courteous server
| * 67ef9e5fd7 NFSD: add courteous server support for thread with only delegation
| * bf1cbe2f36 NFSD: Clean up nfsd_splice_actor()
| * 2723d479f5 fanotify: fix incorrect fmode_t casts
| * 4cd725129e fsnotify: consistent behavior for parent not watching children
| * e3bce57ffc fsnotify: introduce mark type iterator
| * f6017a718b fanotify: enable "evictable" inode marks
| * 3083d602ba fanotify: use fsnotify group lock helpers
| * f85d590059 fanotify: implement "evictable" inode marks
| * 80fb0ae4b1 fanotify: factor out helper fanotify_mark_update_flags()
| * b9576077ee fanotify: create helper fanotify_mark_user_flags()
| * ff34ebaa6f fsnotify: allow adding an inode mark without pinning inode
| * 3bd557cfdf dnotify: use fsnotify group lock helpers
| * cc1c875b69 nfsd: use fsnotify group lock helpers
| * c2c6ced500 inotify: use fsnotify group lock helpers
| * f91ba4a49b fsnotify: create helpers for group mark_mutex lock
| * 74f9be7f64 fsnotify: make allow_dups a property of the group
| * 4dc30393bd fsnotify: pass flags argument to fsnotify_alloc_group()
| * 1c47d87317 inotify: move control flags from mask to mark flags
| * aecfd231bf fs/lock: documentation cleanup. Replace inode->i_lock with flc_lock.
| * d71ea54835 fanotify: do not allow setting dirent events in mask of non-dir
| * 9862064ca8 nfsd: Clean up nfsd_file_put()
| * cf04df21a4 nfsd: Fix a write performance regression
| * 997575f1a1 SUNRPC: Return true/false (not 1/0) from bool functions
| * a5fa9c824d fsnotify: remove redundant parameter judgment
| * 552c24a32c fsnotify: optimize FS_MODIFY events with no ignored masks
| * 5e84e33832 fsnotify: fix merge with parent's ignored mask
| * 62fa144b85 nfsd: fix using the correct variable for sizeof()
| * e96076f579 NFSD: Clean up _lm_ operation names
| * ec3b252a55 NFSD: Remove CONFIG_NFSD_V3
| * 7e4328b3b9 NFSD: Move svc_serv_ops::svo_function into struct svc_serv
| * 9802c57460 NFSD: Remove svc_serv_ops::svo_module
| * 36c57b27a7 SUNRPC: Remove svc_shutdown_net()
| * a4bbb1ab69 SUNRPC: Rename svc_close_xprt()
| * c58a9cfd20 SUNRPC: Rename svc_create_xprt()
| * 9a43ddd6b6 SUNRPC: Remove svo_shutdown method
| * 8c60a47670 SUNRPC: Merge svc_do_enqueue_xprt() into svc_enqueue_xprt()
| * 99ab6abc88 SUNRPC: Remove the .svo_enqueue_xprt method
| * 194071d46c NFSD: Streamline the rare "found" case
| * 3304d16c24 NFSD: Skip extra computation for RC_NOCACHE case
| * 4aa8dac58c NFSD: De-duplicate hash bucket indexing
| * ca6761d39a nfsd: Add support for the birth time attribute
| * 0d1bbb0efe NFSD: Deprecate NFS_OFFSET_MAX
| * 70a80c7e8d NFSD: COMMIT operations must not return NFS?ERR_INVAL
| * a231ae6bb5 NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes
| * 38d02ba22e NFSD: Fix ia_size underflow
| * 1726a39b08 NFSD: Fix the behavior of READ near OFFSET_MAX
| * fc2d8c153d lockd: fix failure to cleanup client locks
| * 20a74a6911 lockd: fix server crash on reboot of client holding lock
| * a667e1df40 fanotify: remove variable set but not used
| * 11bcfabf24 nfsd: fix crash on COPY_NOTIFY with special stateid
| * 4eefd1125b NFSD: Move fill_pre_wcc() and fill_post_wcc()
| * 695719e5e6 Revert "nfsd: skip some unnecessary stats in the v4 case"
| * 5e07d49f4a NFSD: Trace boot verifier resets
| * a1c9bcfd16 NFSD: Rename boot verifier functions
| * e49677ff33 NFSD: Clean up the nfsd_net::nfssvc_boot field
| * 083d44094f NFSD: Write verifier might go backwards
| * 306d2c1c08 nfsd: Add a tracepoint for errors in nfsd4_clone_file_range()
| * 45ef8b7aea NFSD: De-duplicate net_generic(nf->nf_net, nfsd_net_id)
| * 5a1575c02b NFSD: De-duplicate net_generic(SVC_NET(rqstp), nfsd_net_id)
| * aa9ea9ec29 NFSD: Clean up nfsd_vfs_write()
| * 30282a70aa nfsd: Retry once in nfsd_open on an -EOPENSTALE return
| * 3128aa9c98 nfsd: Add errno mapping for EREMOTEIO
| * f12557372b nfsd: map EBADF
| * 9175fcf39c NFSD: Fix zero-length NFSv3 WRITEs
| * fab02e9799 nfsd4: add refcount for nfsd4_blocked_lock
| * 535204ecae nfs: block notification on fs with its own ->lock
| * bf5e7e1fa1 NFSD: De-duplicate nfsd4_decode_bitmap4()
| * 5a0710a6b4 nfsd: improve stateid access bitmask documentation
| * f0dbe05f6d NFSD: Combine XDR error tracepoints
| * e8f923e1e9 NFSD: simplify per-net file cache management
| * 677fd67d8b NFSD: Fix inconsistent indenting
| * 0bc12c1289 NFSD: Remove be32_to_cpu() from DRC hash function
| * e072a635c1 NFS: switch the callback service back to non-pooled.
| * 948e4664cc lockd: use svc_set_num_threads() for thread start and stop
| * deeda24a67 SUNRPC: always treat sv_nrpools==1 as "not pooled"
| * 74a0e37a20 SUNRPC: move the pool_map definitions (back) into svc.c
| * 9fe19a48a3 lockd: rename lockd_create_svc() to lockd_get()
| * e5087b3d58 lockd: introduce lockd_put()
| * 8304dd04fb lockd: move svc_exit_thread() into the thread
| * 7077a00703 lockd: move lockd_start_svc() call into lockd_create_svc()
| * a389baad91 lockd: simplify management of network status notifiers
| * 32f3e5a70f lockd: introduce nlmsvc_serv
| * d95899dadb NFSD: simplify locking for network notifier.
| * 7149250bee SUNRPC: discard svo_setup and rename svc_set_num_threads_sync()
| * 3614523741 NFSD: Make it possible to use svc_set_num_threads_sync
| * 6343271d53 NFSD: narrow nfsd_mutex protection in nfsd thread
| * 61d12fc30a SUNRPC: use sv_lock to protect updates to sv_nrthreads.
| * 4efe0b9d11 nfsd: make nfsd_stats.th_cnt atomic_t
| * 17041f0140 SUNRPC: stop using ->sv_nrthreads as a refcount
| * 64312a7c9f SUNRPC/NFSD: clean up get/put functions.
| * e9a4156137 SUNRPC: change svc_get() to return the svc.
| * e0bf899352 NFSD: handle errors better in write_ports_addfd()
| * 307b391221 NFSD: Fix sparse warning
| * c59dc174b2 exit: Rename module_put_and_exit to module_put_and_kthread_exit
| * 15606c8d52 exit: Implement kthread_exit
| * 63b8c19231 fanotify: wire up FAN_RENAME event
| * a860dd8bf5 fanotify: report old and/or new parent+name in FAN_RENAME event
| * c76fa85159 fanotify: record either old name new name or both for FAN_RENAME
| * da527da33b fanotify: record old and new parent and name in FAN_RENAME event
| * f59e978cfa fanotify: support secondary dir fh and name in fanotify_info
| * 967ae13720 fanotify: use helpers to parcel fanotify_info buffer
| * 4e63ce9199 fanotify: use macros to get the offset to fanotify_info buffer
| * 580eb8de84 fsnotify: generate FS_RENAME event with rich information
| * 4e59c7b3e3 fanotify: introduce group flag FAN_REPORT_TARGET_FID
| * be14cab43d fsnotify: separate mark iterator type from object type enum
| * c0a5f0b561 fsnotify: clarify object type argument
| * 9e291a6a28 NFSD: Fix READDIR buffer overflow
| * 1abf3ec558 NFSD: Fix exposure in nfsd4_decode_bitmap()
| * 88ccda1a81 nfsd4: remove obselete comment
| * f4e9e9565e NFSD:fix boolreturn.cocci warning
| * 022723fe15 nfsd: update create verifier comment
| * c7b0a9c75d SUNRPC: Change return value type of .pc_encode
| * 61cf681507 SUNRPC: Replace the "__be32 *p" parameter to .pc_encode
| * 47047d40af NFSD: Save location of NFSv4 COMPOUND status
| * f747ce574c SUNRPC: Change return value type of .pc_decode
| * 0696b6b513 SUNRPC: Replace the "__be32 *p" parameter to .pc_decode
| * 396b359832 NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment()
| * c23b25dd19 NFSD: Initialize pointer ni with NULL and not plain integer 0
| * 6784188090 NFSD: simplify struct nfsfh
| * 25054b04ec NFSD: drop support for ancient filehandles
| * 918bc45a57 NFSD: move filehandle format declarations out of "uapi".
| * d2815110a7 NFSD: Optimize DRC bucket pruning
| * 2b2963c72c SUNRPC: Trace calls to .rpc_call_done
| * 2eda014477 fanotify: Allow users to request FAN_FS_ERROR events
| * b0f01b7c08 fanotify: Emit generic error info for error event
| * aefd9029fa fanotify: Report fid info for file related file system errors
| * bb247feb22 fanotify: WARN_ON against too large file handles
| * 7fa20568b6 fanotify: Add helpers to decide whether to report FID/DFID
| * 7935cf4070 fanotify: Wrap object_fh inline space in a creator macro
| * b974c8aa00 fanotify: Support merging of error events
| * 9b98f4ff51 fanotify: Support enqueueing of error events
| * 68aacb60a7 fanotify: Pre-allocate pool of error events
| * eec22d03a9 fanotify: Reserve UAPI bits for FAN_FS_ERROR
| * badbf879de fsnotify: Support FS_ERROR event type
| * 8ccc724f50 fanotify: Require fid_mode for any non-fd event
| * 2f65be6209 fanotify: Encode empty file handle when no inode is provided
| * 86bda2d752 fanotify: Allow file handle encoding for unhashed events
| * 44ce59c254 fanotify: Support null inode event in fanotify_dfid_inode
| * 313234a93e fsnotify: Pass group argument to free_event
| * c9f9d99ea4 fsnotify: Protect fsnotify_handle_inode_event from no-inode events
| * 5c4ce075c9 fsnotify: Retrieve super block from the data field
| * 44844158ee fsnotify: Add wrapper around fsnotify_add_event
| * 24eda1b5e6 fsnotify: Add helper to detect overflow_event
| * 7c9ba74cb3 inotify: Don't force FS_IN_IGNORED
| * 9539a89f28 fanotify: Split fsid check from other fid mode checks
| * 326be73a59 fanotify: Fold event size calculation to its own function
| * 7fee789540 fsnotify: Don't insert unmergeable events in hashtable
| * 60b6dab8c8 fsnotify: clarify contract for create event hooks
| * 9601d20734 fsnotify: pass dentry instead of inode data
| * f114860f72 fsnotify: pass data_type to fsnotify_name()
| * 6719531e67 nfsd: Fix a warning for nfsd_file_close_inode
| * 7918a95bc2 NLM: Fix svcxdr_encode_owner()
| * b801327ba3 fsnotify: fix sb_connectors leak
| * 1773901afb NFS: Remove unused callback void decoder
| * edf220fe15 NFS: Add a private local dispatcher for NFSv4 callback operations
| * 91bbbffece SUNRPC: Eliminate the RQ_AUTHERR flag
| * febf43bcdc SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
| * a96da583ff SUNRPC: Add svc_rqst::rq_auth_stat
| * efea5d558e nfs: don't allow reexport reclaims
| * bd5b3deed0 lockd: don't attempt blocking locks on nfs reexports
| * 5ea5be84dd nfs: don't atempt blocking locks on nfs reexports
| * e580323ac0 Keep read and write fds with each nlm_file
| * b4bf52174b lockd: update nlm_lookup_file reexport comment
| * 14c2a0fad5 nlm: minor refactoring
| * 3fbc744783 nlm: minor nlm_lookup_file argument change
| * 860f01260e lockd: change the proc_handler for nsm_use_hostnames
| * f469e60f9a sysctl: introduce new proc handler proc_dobool
| * 130dcbf77a NFSD: remove vanity comments
| * 86df138e8d NFSD: Batch release pages during splice read
| * a4f616afb4 SUNRPC: Add svc_rqst_replace_page() API
| * 9e5f2e0ae0 NFSD: Clean up splice actor
| * 860893f9e3 fsnotify: optimize the case of no marks of any type
| * 9917e1bda3 fsnotify: count all objects with attached connectors
| * 44858a3488 fsnotify: count s_fsnotify_inode_refs for attached connectors
| * cdbf9c5f81 fsnotify: replace igrab() with ihold() on attach connector
| * cde8883b0b fanotify: add pidfd support to the fanotify API
| * 77bc7f529a fanotify: introduce a generic info record copying helper
| * 3ddcb19396 fanotify: minor cosmetic adjustments to fid labels
| * 03b5d3ee50 kernel/pid.c: implement additional checks upon pidfd_create() parameters
| * 774c2dbca7 kernel/pid.c: remove static qualifier from pidfd_create()
| * e79057d15d nfsd: fix NULL dereference in nfs3svc_encode_getaclres
| * 5610ed80e8 NFSD: Prevent a possible oops in the nfs_dirent() tracepoint
| * 17600880e1 nfsd: remove redundant assignment to pointer 'this'
| * ce18198762 lockd: Update the NLMv4 SHARE results encoder to use struct xdr_stream
| * fec0730992 lockd: Update the NLMv4 nlm_res results encoder to use struct xdr_stream
| * e1e61d647f lockd: Update the NLMv4 TEST results encoder to use struct xdr_stream
| * 4f5ba2e6b4 lockd: Update the NLMv4 void results encoder to use struct xdr_stream
| * 0add7c13bf lockd: Update the NLMv4 FREE_ALL arguments decoder to use struct xdr_stream
| * 604c8a432c lockd: Update the NLMv4 SHARE arguments decoder to use struct xdr_stream
| * 300a4b1632 lockd: Update the NLMv4 SM_NOTIFY arguments decoder to use struct xdr_stream
| * 33f31f6e85 lockd: Update the NLMv4 nlm_res arguments decoder to use struct xdr_stream
| * 9e1daae630 lockd: Update the NLMv4 UNLOCK arguments decoder to use struct xdr_stream
| * 0652983fbe lockd: Update the NLMv4 CANCEL arguments decoder to use struct xdr_stream
| * 101d45274a lockd: Update the NLMv4 LOCK arguments decoder to use struct xdr_stream
| * 360159aafa lockd: Update the NLMv4 TEST arguments decoder to use struct xdr_stream
| * c8f4048250 lockd: Update the NLMv4 void arguments decoder to use struct xdr_stream
| * 45c1384bd7 lockd: Update the NLMv1 SHARE results encoder to use struct xdr_stream
| * b049476790 lockd: Update the NLMv1 nlm_res results encoder to use struct xdr_stream
| * d0ddd21bd5 lockd: Update the NLMv1 TEST results encoder to use struct xdr_stream
| * e6c92714e9 lockd: Update the NLMv1 void results encoder to use struct xdr_stream
| * 02a3c81665 lockd: Update the NLMv1 FREE_ALL arguments decoder to use struct xdr_stream
| * 6c522daf60 lockd: Update the NLMv1 SHARE arguments decoder to use struct xdr_stream
| * 56c936af53 lockd: Update the NLMv1 SM_NOTIFY arguments decoder to use struct xdr_stream
| * 90f483a775 lockd: Update the NLMv1 nlm_res arguments decoder to use struct xdr_stream
| * b4ea38d69d lockd: Update the NLMv1 UNLOCK arguments decoder to use struct xdr_stream
| * 2025b3acf6 lockd: Update the NLMv1 CANCEL arguments decoder to use struct xdr_stream
| * 3e8675ff1e lockd: Update the NLMv1 LOCK arguments decoder to use struct xdr_stream
| * 8f9f41ebfa lockd: Update the NLMv1 TEST arguments decoder to use struct xdr_stream
| * 4c3f448aaa lockd: Update the NLMv1 void argument decoder to use struct xdr_stream
| * fa4b890c0d lockd: Common NLM XDR helpers
| * 3595ff1c2c lockd: Create a simplified .vs_dispatch method for NLM requests
| * eeea3b96d1 lockd: Remove stale comments
| * c58120ab47 nfsd: rpc_peeraddr2str needs rcu lock
| * 2983611a66 NFSD: Fix error return code in nfsd4_interssc_connect()
| * c5a305d93e nfsd: fix kernel test robot warning in SSC code
| * 22b7c93d96 nfsd4: Expose the callback address and state of each NFS4 client
| * dbc0aa4795 nfsd: move fsnotify on client creation outside spinlock
| * a4bc287943 NFSD: delay unmount source's export after inter-server copy completed.
| * 817c6eb975 NFSD add vfs_fsync after async copy is done
| * 94a8924701 nfsd: move some commit_metadata()s outside the inode lock
| * f666a75ccd nfsd: Prevent truncation of an unlinked inode from blocking access to its directory
| * e7bbdd7dee NFSD: Update nfsd_cb_args tracepoint
| * 3e8aeb13a7 NFSD: Remove the nfsd_cb_work and nfsd_cb_done tracepoints
| * 3a63aa2459 NFSD: Add an nfsd_cb_probe tracepoint
| * a577eb06de NFSD: Replace the nfsd_deleg_break tracepoint
| * 9f76187f0a NFSD: Add an nfsd_cb_offload tracepoint
| * 60aac21534 NFSD: Add an nfsd_cb_lm_notify tracepoint
| * 59ddc5a82b NFSD: Enhance the nfsd_cb_setup tracepoint
| * fc3b4f0188 NFSD: Adjust cb_shutdown tracepoint
| * 634816f9d3 NFSD: Add cb_lost tracepoint
| * 3076ede3fc NFSD: Drop TRACE_DEFINE_ENUM for NFSD4_CB_<state> macros
| * 2be1f22751 NFSD: Capture every CB state transition
| * b6ba775ccc NFSD: Constify @fh argument of knfsd_fh_hash()
| * 88b3cdfd48 NFSD: Add tracepoints for EXCHANGEID edge cases
| * 5070351cdc NFSD: Add tracepoints for SETCLIENTID edge cases
| * 650530d522 NFSD: Add a couple more nfsd_clid_expired call sites
| * 056332823c NFSD: Add nfsd_clid_destroyed tracepoint
| * 580ec8b653 NFSD: Add nfsd_clid_reclaim_complete tracepoint
| * 3b6808c793 NFSD: Add nfsd_clid_confirmed tracepoint
| * c6889b75a6 NFSD: Remove trace_nfsd_clid_inuse_err
| * 8da1871206 NFSD: Add nfsd_clid_verf_mismatch tracepoint
| * c8493d7308 NFSD: Add nfsd_clid_cred_mismatch tracepoint
| * b00bb7dfe2 NFSD: Add an RPC authflavor tracepoint display helper
| * a4d250f510 fanotify: fix permission model of unprivileged group
| * 0245993ace NFS: fix nfs_fetch_iversion()
| * b2c0c7cb7f NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code.
| * 3793f28102 nfsd: Fix fall-through warnings for Clang
| * 39ab09108e nfsd: grant read delegations to clients holding writes
| * d2431cc967 nfsd: reshuffle some code
| * ee548b1629 nfsd: track filehandle aliasing in nfs4_files
| * cc6d658669 nfsd: hash nfs4_files by inode number
| * e63b956b2d nfsd: removed unused argument in nfsd_startup_generic()
| * 856b0c4979 nfsd: remove unused function
| * bd373a90d0 fanotify_user: use upper_32_bits() to verify mask
| * 4ac0ad2372 fanotify: support limited functionality for unprivileged users
| * 3e441a872a fanotify: configurable limits via sysfs
| * 7df80a90e1 fanotify: limit number of event merge attempts
| * 40e1e98c1b fsnotify: use hash table for faster events merge
| * ae7fd89dae fanotify: mix event info and pid into merge key hash
| * 5b57a2b74d fanotify: reduce event objectid to 29-bit hash
| * 4f14948942 Revert "fanotify: limit number of event merge attempts"
| * 62b7f38473 fsnotify: allow fsnotify_{peek,remove}_first_event with empty queue
| * d9168ab8d7 NFSD: Use DEFINE_SPINLOCK() for spinlock
| * b20d88bf1e UAPI: nfsfh.h: Replace one-element array with flexible-array member
| * 117dac268d SUNRPC: Export svc_xprt_received()
| * 289adc864d nfsd: report client confirmation status in "info" file
| * 14b13e0603 nfsd: don't ignore high bits of copy count
| * 1f76b1e659 nfsd: COPY with length 0 should copy to end of file
| * ed01819390 nfsd: Fix typo "accesible"
| * 2a5df97ba4 nfsd: Log client tracking type log message as info instead of warning
| * 0fa20162bf nfsd: helper for laundromat expiry calculations
| * aab7be2475 NFSD: Clean up NFSDDBG_FACILITY macro
| * e7dac943b4 NFSD: Add a tracepoint to record directory entry encoding
| * a6d9f6f371 NFSD: Clean up after updating NFSv3 ACL encoders
| * 857a37235c NFSD: Update the NFSv3 SETACL result encoder to use struct xdr_stream
| * d505e66191 NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream
| * 67d4f36707 NFSD: Clean up after updating NFSv2 ACL encoders
| * 3d2033a58c NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream
| * 6ef7a56fd7 NFSD: Update the NFSv2 ACL GETATTR result encoder to use struct xdr_stream
| * 82ac35b167 NFSD: Update the NFSv2 SETACL result encoder to use struct xdr_stream
| * 6677b0d16a NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream
| * 89ac9a8101 NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs
| * 93584780eb NFSD: Remove unused NFSv2 directory entry encoders
| * b8658c947d NFSD: Update the NFSv2 READDIR entry encoder to use struct xdr_stream
| * 801e4d79b7 NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream
| * bc17759a4e NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder
| * c4e2727589 NFSD: Add a helper that encodes NFSv3 directory offset cookies
| * 60bc5af5b8 NFSD: Update the NFSv2 STATFS result encoder to use struct xdr_stream
| * ad0614d3a8 NFSD: Update the NFSv2 READ result encoder to use struct xdr_stream
| * 27909a583c NFSD: Update the NFSv2 READLINK result encoder to use struct xdr_stream
| * 9aab4f03e8 NFSD: Update the NFSv2 diropres encoder to use struct xdr_stream
| * c64d5d0ca9 NFSD: Update the NFSv2 attrstat encoder to use struct xdr_stream
| * 816c23c911 NFSD: Update the NFSv2 stat encoder to use struct xdr_stream
| * e4e6019ce5 NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations
| * d855480201 NFSD: Remove unused NFSv3 directory entry encoders
| * 37aa5e6402 NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream
| * 7cbec0dc09 NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream
| * cacfe8f6d8 NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder
| * 3b2fef48b7 NFSD: Add a helper that encodes NFSv3 directory offset cookies
| * 30dabf1d4f NFSD: Update the NFSv3 COMMIT3res encoder to use struct xdr_stream
| * 349d96b070 NFSD: Update the NFSv3 PATHCONF3res encoder to use struct xdr_stream
| * 4c06f831d2 NFSD: Update the NFSv3 FSINFO3res encoder to use struct xdr_stream
| * f6908e2bcd NFSD: Update the NFSv3 FSSTAT3res encoder to use struct xdr_stream
| * 066dc317fa NFSD: Update the NFSv3 LINK3res encoder to use struct xdr_stream
| * 0404cffec4 NFSD: Update the NFSv3 RENAMEv3res encoder to use struct xdr_stream
| * 1863ca4c9e NFSD: Update the NFSv3 CREATE family of encoders to use struct xdr_stream
| * 8737a75f26 NFSD: Update the NFSv3 WRITE3res encoder to use struct xdr_stream
| * b241ab9823 NFSD: Update the NFSv3 READ3res encode to use struct xdr_stream
| * 170e6bd25e NFSD: Update the NFSv3 READLINK3res encoder to use struct xdr_stream
| * c3995f8be1 NFSD: Update the NFSv3 wccstat result encoder to use struct xdr_stream
| * f74e0652a6 NFSD: Update the NFSv3 LOOKUP3res encoder to use struct xdr_stream
| * fd9e183df6 NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream
| * 0ef12d755c NFSD: Update the GETATTR3res encoder to use struct xdr_stream
| * 48aadfa75b NFSD: Extract the svcxdr_init_encode() helper
| * e864d4d834 namei: introduce struct renamedata
| * b0fa673c8c fs: add file and path permissions helpers
| * 666a413295 kallsyms: only build {,module_}kallsyms_on_each_symbol when required
| * f8d8568627 kallsyms: refactor {,module_}kallsyms_on_each_symbol
| * bef9d8b4f8 module: use RCU to synchronize find_module
| * 32edffff86 module: unexport find_module and module_mutex
| * 51f620fcc4 inotify, memcg: account inotify instances to kmemcg
| * c1fe2bb305 nfsd: skip some unnecessary stats in the v4 case
| * 0220d51186 nfs: use change attribute for NFS re-exports
| * 5a0b45626f NFSv4_2: SSC helper should use its own config.
| * b267f61182 nfsd: cstate->session->se_client -> cstate->clp
| * bc6015541c nfsd: simplify nfsd4_check_open_reclaim
| * 25ac4fdbdc nfsd: remove unused set_client argument
| * 87ab73c1cc nfsd: find_cpntf_state cleanup
| * 1d4ccfdc7d nfsd: refactor set_client
| * 1700657468 nfsd: rename lookup_clientid->set_client
| * ea92c0768f nfsd: simplify nfsd_renew
| * 52923f25be nfsd: simplify process_lock
| * 4f26b1747a nfsd4: simplify process_lookup1
| * 42cf742d86 nfsd: report per-export stats
| * 65b1df1358 nfsd: protect concurrent access to nfsd stats counters
| * d1344de0d6 nfsd: remove unused stats counters
| * 0a13baa6ab NFSD: Clean up after updating NFSv3 ACL decoders
| * 22af3dfbe6 NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream
| * f89e3fa89e NFSD: Update the NFSv3 GETACL argument decoder to use struct xdr_stream
| * 5ea5e56cfb NFSD: Clean up after updating NFSv2 ACL decoders
| * 81f79eb223 NFSD: Update the NFSv2 ACL ACCESS argument decoder to use struct xdr_stream
| * 9eea3915dd NFSD: Update the NFSv2 ACL GETATTR argument decoder to use struct xdr_stream
| * 508a791fbe NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream
| * e077857ef0 NFSD: Add an xdr_stream-based decoder for NFSv2/3 ACLs
| * ea6b0e02dc NFSD: Update the NFSv2 GETACL argument decoder to use struct xdr_stream
| * e440613886 NFSD: Remove argument length checking in nfsd_dispatch()
| * 7e6746027b NFSD: Update the NFSv2 SYMLINK argument decoder to use struct xdr_stream
| * 1db54ce543 NFSD: Update the NFSv2 CREATE argument decoder to use struct xdr_stream
| * 40de4113f8 NFSD: Update the NFSv2 SETATTR argument decoder to use struct xdr_stream
| * ebfb21605f NFSD: Update the NFSv2 LINK argument decoder to use struct xdr_stream
| * a362dd478b NFSD: Update the NFSv2 RENAME argument decoder to use struct xdr_stream
| * 0047abd4c4 NFSD: Update NFSv2 diropargs decoding to use struct xdr_stream
| * 7d9ab8ee57 NFSD: Update the NFSv2 READDIR argument decoder to use struct xdr_stream
| * 672111a408 NFSD: Add helper to set up the pages where the dirlist is encoded
| * 365835d2ff NFSD: Update the NFSv2 READLINK argument decoder to use struct xdr_stream
| * ecee6ba592 NFSD: Update the NFSv2 WRITE argument decoder to use struct xdr_stream
| * 6e88b7ec6c NFSD: Update the NFSv2 READ argument decoder to use struct xdr_stream
| * ba7e0412fb NFSD: Update the NFSv2 GETATTR argument decoder to use struct xdr_stream
| * 9ceeee0ec8 NFSD: Update the MKNOD3args decoder to use struct xdr_stream
| * 8841760f68 NFSD: Update the SYMLINK3args decoder to use struct xdr_stream
| * b5d1ae6cc4 NFSD: Update the MKDIR3args decoder to use struct xdr_stream
| * bd54084b58 NFSD: Update the CREATE3args decoder to use struct xdr_stream
| * 48ea0cb79b NFSD: Update the SETATTR3args decoder to use struct xdr_stream
| * 71d7e7c6a6 NFSD: Update the LINK3args decoder to use struct xdr_stream
| * e84af23391 NFSD: Update the RENAME3args decoder to use struct xdr_stream
| * 69e54a4470 NFSD: Update the NFSv3 DIROPargs decoder to use struct xdr_stream
| * 47614a374e NFSD: Update COMMIT3arg decoder to use struct xdr_stream
| * fbcd668016 NFSD: Update READDIR3args decoders to use struct xdr_stream
| * e0ddafcc25 NFSD: Add helper to set up the pages where the dirlist is encoded
| * 29270d477f NFSD: Fix returned READDIR offset cookie
| * 19285d319f NFSD: Update READLINK3arg decoder to use struct xdr_stream
| * 5f36ae59d6 NFSD: Update WRITE3arg decoder to use struct xdr_stream
| * b77a4a968d NFSD: Update READ3arg decoder to use struct xdr_stream
| * 7bb23be450 NFSD: Update ACCESS3arg decoder to use struct xdr_stream
| * d668aa92a6 NFSD: Update GETATTR3args decoder to use struct xdr_stream
| * 22b19656ea SUNRPC: Move definition of XDR_UNIT
| * 97d254cba3 SUNRPC: Display RPC procedure names instead of proc numbers
| * c336597d03 SUNRPC: Make trace_svc_process() display the RPC procedure symbolically
| * 5b82798f78 NFSD: Restore NFSv4 decoding's SAVEMEM functionality
| * bca0057f68 NFSD: Fix sparse warning in nfssvc.c
| * 131676b824 fs/lockd: convert comma to semicolon
| * 185e81a977 inotify: Increase default inotify.max_user_watches limit to 1048576
| * 1aecdaa7e2 file: Replace ksys_close with close_fd
| * 6d256a904c file: Rename __close_fd to close_fd and remove the files parameter
| * 7458c5ae46 file: Merge __alloc_fd into alloc_fd
| * 9e8ef54ca8 file: In f_dupfd read RLIMIT_NOFILE once.
| * 89f9e52964 file: Merge __fd_install into fd_install
| * b4b827da90 proc/fd: In fdinfo seq_show don't use get_files_struct
| * c0e3f6df04 proc/fd: In proc_readfd_common use task_lookup_next_fd_rcu
| * a6da7536e4 file: Implement task_lookup_next_fd_rcu
| * 6007aeeaef kcmp: In get_file_raw_ptr use task_lookup_fd_rcu
| * c2291f7bdf proc/fd: In tid_fd_mode use task_lookup_fd_rcu
| * 32ac87287d file: Implement task_lookup_fd_rcu
| * c4716bb296 file: Rename fcheck lookup_fd_rcu
| * 23f5564992 file: Replace fcheck_files with files_lookup_fd_rcu
| * 9080557c56 file: Factor files_lookup_fd_locked out of fcheck_files
| * ddb21f9984 file: Rename __fcheck_files to files_lookup_fd_raw
| * e6f42bc11a Revert "fget: clarify and improve __fget_files() implementation"
| * 4d037e1173 proc/fd: In proc_fd_link use fget_task
| * c874ec02cb bpf: In bpf_task_fd_query use fget_task
| * fe1722255e kcmp: In kcmp_epoll_target use fget_task
| * ba7aac19b4 exec: Remove reset_files_struct
| * 44f79df28b exec: Simplify unshare_files
| * 5091d051c5 exec: Move unshare_files to fix posix file locking during exec
| * 527c9b6eb1 exec: Don't open code get_close_on_exec
| * 8f1df3d0c1 nfsd: Record NFSv4 pre/post-op attributes as non-atomic
| * 0750e494c7 nfsd: Set PF_LOCAL_THROTTLE on local filesystems only
| * f3056a0ac2 nfsd: Fix up nfsd to ensure that timeout errors don't result in ESTALE
| * 38e213c1e4 exportfs: Add a function to return the raw output from fh_to_dentry()
| * 93f7d515d8 nfsd: close cached files prior to a REMOVE or RENAME that would replace target
| * 203ca3253b nfsd: allow filesystems to opt out of subtree checking
| * d5314c9bb7 nfsd: add a new EXPORT_OP_NOWCC flag to struct export_operations
| * 34de27ed84 Revert "nfsd4: support change_attr_type attribute"
| * b720ceec88 nfsd4: don't query change attribute in v2/v3 case
| * 796785a79b nfsd: minor nfsd4_change_attribute cleanup
| * 88dea0f92b nfsd: simplify nfsd4_change_info
| * f8032b859d nfsd: only call inode_query_iversion in the I_VERSION case
| * 3aea16e6b7 NFSD: Remove macros that are no longer used
| * b24e6a40ee NFSD: Replace READ* macros in nfsd4_decode_compound()
| * 6b48808835 NFSD: Make nfsd4_ops::opnum a u32
| * c2d0c16990 NFSD: Replace READ* macros in nfsd4_decode_listxattrs()
| * 8e1b8a78a9 NFSD: Replace READ* macros in nfsd4_decode_setxattr()
| * 9bc67df0f9 NFSD: Replace READ* macros in nfsd4_decode_xattr_name()
| * b719fc9375 NFSD: Replace READ* macros in nfsd4_decode_clone()
| * a2f6c16ad1 NFSD: Replace READ* macros in nfsd4_decode_seek()
| * f8eb5424e3 NFSD: Replace READ* macros in nfsd4_decode_offload_status()
| * c2d2a919b2 NFSD: Replace READ* macros in nfsd4_decode_copy_notify()
| * 8604d294c1 NFSD: Replace READ* macros in nfsd4_decode_copy()
| * dc1a31ca8e NFSD: Replace READ* macros in nfsd4_decode_nl4_server()
| * a0b8dabc59 NFSD: Replace READ* macros in nfsd4_decode_fallocate()
| * de0dc37a79 NFSD: Replace READ* macros in nfsd4_decode_reclaim_complete()
| * 093f9d2c8f NFSD: Replace READ* macros in nfsd4_decode_destroy_clientid()
| * 7675420fde NFSD: Replace READ* macros in nfsd4_decode_test_stateid()
| * f0de0b6895 NFSD: Replace READ* macros in nfsd4_decode_sequence()
| * 1ea743dc48 NFSD: Replace READ* macros in nfsd4_decode_secinfo_no_name()
| * b63e313dce NFSD: Replace READ* macros in nfsd4_decode_layoutreturn()
| * 40e627c502 NFSD: Replace READ* macros in nfsd4_decode_layoutget()
| * 40770a0f8e NFSD: Replace READ* macros in nfsd4_decode_layoutcommit()
| * c0a4c4e46b NFSD: Replace READ* macros in nfsd4_decode_getdeviceinfo()
| * 5f892c1178 NFSD: Replace READ* macros in nfsd4_decode_free_stateid()
| * 92ae309a99 NFSD: Replace READ* macros in nfsd4_decode_destroy_session()
| * 73684a8118 NFSD: Replace READ* macros in nfsd4_decode_create_session()
| * 2bd9ef494a NFSD: Add a helper to decode channel_attrs4
| * d01f41320d NFSD: Add a helper to decode nfs_impl_id4
| * d50a76f1f3 NFSD: Add a helper to decode state_protect4_a
| * 0c935af3cf NFSD: Add a separate decoder for ssv_sp_parms
| * cb568dbdef NFSD: Add a separate decoder to handle state_protect_ops
| * b736338042 NFSD: Replace READ* macros in nfsd4_decode_bind_conn_to_session()
| * 7d21084074 NFSD: Replace READ* macros in nfsd4_decode_backchannel_ctl()
| * 5658ca0651 NFSD: Replace READ* macros in nfsd4_decode_cb_sec()
| * 79f1a8323a NFSD: Replace READ* macros in nfsd4_decode_release_lockowner()
| * eeab2f3bf2 NFSD: Replace READ* macros in nfsd4_decode_write()
| * b1af8f131e NFSD: Replace READ* macros in nfsd4_decode_verify()
| * 19a4c05e81 NFSD: Replace READ* macros in nfsd4_decode_setclientid_confirm()
| * 2503dcf0f6 NFSD: Replace READ* macros in nfsd4_decode_setclientid()
| * 7c06ba5c8b NFSD: Replace READ* macros in nfsd4_decode_setattr()
| * 5277d60346 NFSD: Replace READ* macros in nfsd4_decode_secinfo()
| * 2cef1009f8 NFSD: Replace READ* macros in nfsd4_decode_renew()
| * e2b287a53c NFSD: Replace READ* macros in nfsd4_decode_rename()
| * 274b8f0597 NFSD: Replace READ* macros in nfsd4_decode_remove()
| * c24e2a4943 NFSD: Replace READ* macros in nfsd4_decode_readdir()
| * d0a0219a35 NFSD: Replace READ* macros in nfsd4_decode_read()
| * 4b28cd7e83 NFSD: Replace READ* macros in nfsd4_decode_putfh()
| * ad1ea32c97 NFSD: Replace READ* macros in nfsd4_decode_open_downgrade()
| * e557a2eabb NFSD: Replace READ* macros in nfsd4_decode_open_confirm()
| * f6eb911d79 NFSD: Replace READ* macros in nfsd4_decode_open()
| * 4507c23e42 NFSD: Add helper to decode OPEN's open_claim4 argument
| * 48385b58bc NFSD: Replace READ* macros in nfsd4_decode_share_deny()
| * fa60cc6971 NFSD: Replace READ* macros in nfsd4_decode_share_access()
| * 070df4a4e9 NFSD: Add helper to decode OPEN's openflag4 argument
| * c1ea8812d4 NFSD: Add helper to decode OPEN's createhow4 argument
| * 11ea3e65f0 NFSD: Add helper to decode NFSv4 verifiers
| * def95074db NFSD: Replace READ* macros in nfsd4_decode_lookup()
| * 340878b2e0 NFSD: Replace READ* macros in nfsd4_decode_locku()
| * 3625de1522 NFSD: Replace READ* macros in nfsd4_decode_lockt()
| * 8357985d21 NFSD: Replace READ* macros in nfsd4_decode_lock()
| * d27f2dceda NFSD: Add helper for decoding locker4
| * 0c281b7083 NFSD: Add helpers to decode a clientid4 and an NFSv4 state owner
| * 753bb6b0e7 NFSD: Relocate nfsd4_decode_opaque()
| * 84bc365eee NFSD: Replace READ* macros in nfsd4_decode_link()
| * 42c4437d78 NFSD: Replace READ* macros in nfsd4_decode_getattr()
| * 42e319695e NFSD: Replace READ* macros in nfsd4_decode_delegreturn()
| * 3012fe5fea NFSD: Replace READ* macros in nfsd4_decode_create()
| * 57516a96ca NFSD: Replace READ* macros in nfsd4_decode_fattr()
| * 9737a9a8f9 NFSD: Replace READ* macros that decode the fattr4 umask attribute
| * 91a6752dad NFSD: Replace READ* macros that decode the fattr4 security label attribute
| * 064e439bef NFSD: Replace READ* macros that decode the fattr4 time_set attributes
| * df42ebb61b NFSD: Replace READ* macros that decode the fattr4 owner_group attribute
| * dec78fb66d NFSD: Replace READ* macros that decode the fattr4 owner attribute
| * 8801b0c284 NFSD: Replace READ* macros that decode the fattr4 mode attribute
| * 3d3690b662 NFSD: Replace READ* macros that decode the fattr4 acl attribute
| * ee02662724 NFSD: Replace READ* macros that decode the fattr4 size attribute
| * 2a8ae03957 NFSD: Change the way the expected length of a fattr4 is checked
| * f82c6ad7e2 NFSD: Replace READ* macros in nfsd4_decode_commit()
| * c701c0e5a9 NFSD: Replace READ* macros in nfsd4_decode_close()
| * 9921353a52 NFSD: Replace READ* macros in nfsd4_decode_access()
| * bbb0a710a2 NFSD: Replace the internals of the READ_BUF() macro
| * 2994c88884 NFSD: Add tracepoints in nfsd4_decode/encode_compound()
| * 568f9ca73d NFSD: Add tracepoints in nfsd_dispatch()
| * fbffaddb76 NFSD: Add common helpers to decode void args and encode void results
| * 79e4e0d489 SUNRPC: Prepare for xdr_stream-style decoding on the server-side
| * 2f46cc8141 SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer()
| * 164937edca nfsd: Fix error return code in nfsd_file_cache_init()
| * 9393f1628f NFSD: Add SPDX header for fs/nfsd/trace.c
| * a7b8e883ce NFSD: Remove extra "0x" in tracepoint format specifier
| * 9f8405182b NFSD: Clean up the show_nf_may macro
| * e513685101 nfsd/nfs3: remove unused macro nfsd3_fhandleres
| * 92f59545b9 NFSD: A semicolon is not needed after a switch statement.
| * a2f25c3208 NFSD: Invoke svc_encode_result_payload() in "read" NFSD encoders
| * 9aa0a43a55 SUNRPC: Rename svc_encode_read_payload()
* | 640645c85b Revert "drm/mipi-dsi: use correct return type for the DSC functions"
* | e4f3376872 Revert "media: cec: fix a deadlock situation"
* | 12d97237e4 Revert "media: cec: call enable_adap on s_log_addrs"
* | f257da513d Revert "media: cec: abort if the current transmit was canceled"
* | baa6c4164b Revert "media: cec: correctly pass on reply results"
* | 802e36bc55 Revert "media: cec: use call_op and check for !unregistered"
* | 590dc9d34f Revert "media: cec-adap.c: drop activate_cnt, use state info instead"
* | c0342019d8 Revert "media: cec: core: avoid confusing "transmit timed out" message"
* | 8047831dc6 Revert "media: cec: core: avoid recursive cec_claim_log_addrs"
* | 0546f6a05d Revert "media: cec: core: add adap_nb_transmit_canceled() callback"
* | 054258ff89 ANDROID: ABI fixup for abi break in struct dst_ops
* | fedef46c69 Merge 5.10.219 into android12-5.10-lts
|/
* a2ed160621 Linux 5.10.219
* 487489c4c8 RDMA/hns: Fix CQ and QP cache affinity
* 68a9559376 RDMA/hns: Use mutex instead of spinlock for ida allocation
* 5fe764c781 f2fs: compress: fix compression chksum
* d7ae4792b5 scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW major version > 5
* 6285d50a23 NFS: Fix READ_PLUS when server doesn't support OP_READ_PLUS
* 3e41609e62 nfs: fix undefined behavior in nfs_block_bits()
* 7360cef95a s390/ap: Fix crash in AP internal function modify_bitmap()
* 76dc776153 ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find()
* 08018302f2 sparc: move struct termio to asm/termios.h
* 2295a7ef5c net: fix __dst_negative_advice() race
* 51664ef6ac kdb: Use format-specifiers rather than memset() for padding in kdb_read()
* e3d11ff45f kdb: Merge identical case statements in kdb_read()
* 2b5e1534df kdb: Fix console handling when editing and tab-completing commands
* 7c19e28f3a kdb: Use format-strings rather than '\0' injection in kdb_read()
* cfdc2fa4db kdb: Fix buffer overflow during tab-complete
* b487b48efd watchdog: rti_wdt: Set min_hw_heartbeat_ms to accommodate a safety margin
* 161f5a1189 sparc64: Fix number of online CPUs
* 6e7dd338c0 intel_th: pci: Add Meteor Lake-S CPU support
* 1249478555 net/9p: fix uninit-value in p9_client_rpc()
* 3cc7687f7f net/ipv6: Fix route deleting failure when metric equals 0
* a718b6d2a3 crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
* 6815376b7f crypto: ecrdsa - Fix module auto-load on add_key
* 4d8226bc7e KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode
* 32f92b0078 fbdev: savage: Handle err return when savagefb_check_var failed
* 68447c350f mmc: sdhci-acpi: Disable write protect detection on Toshiba WT10-A
* 63eda0f3eb mmc: sdhci-acpi: Fix Lenovo Yoga Tablet 2 Pro 1380 sdcard slot not working
* b3418751cc mmc: sdhci-acpi: Sort DMI quirks alphabetically
* 24b7af86a8 mmc: core: Add mmc_gpiod_set_cd_config() function
* e6823bb7f4 media: v4l2-core: hold videodev_lock until dev reg, finishes
* 567d3a4959 media: mxl5xx: Move xpt structures off stack
* 1514e1fb2a media: mc: mark the media devnode as registered from the, start
* 82e6eba1a5 arm64: dts: hi3798cv200: fix the size of GICR
* c539721e90 wifi: rtlwifi: rtl8192de: Fix endianness issue in RX path
* 6d5bfcd2cc wifi: rtlwifi: rtl8192de: Fix low speed with WPA3-SAE
* 8dffc574c7 wifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU
* aa64464c8f md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING
* 1f26711c08 arm64: dts: qcom: qcs404: fix bluetooth device address
* 5cd0428356 arm64: tegra: Correct Tegra132 I2C alias
* e2c6a9b342 ACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx
* 73485d6bd9 ata: pata_legacy: make legacy_exit() work again
* 8112fa72b7 drm/amdgpu: add error handle to avoid out-of-bounds
* b479fd59a1 media: lgdt3306a: Add a check against null-pointer-def
* 75c87e2ac6 f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode()
* cade34279c netfilter: nf_tables: Fix potential data-race in __nft_obj_type_get()
* 9c1c2ea099 netfilter: nf_tables: restrict tunnel object to NFPROTO_NETDEV
* a447f26830 x86/mm: Remove broken vsyscall emulation code from the page fault code
* 3ee36f0048 vxlan: Fix regression when dropping packets due to invalid src addresses
* 67fa90d4a2 nilfs2: fix use-after-free of timer for log writer thread
* e31fe702ed afs: Don't cross .backup mountpoint from backup volume
* b6920325ac io_uring: fail NOP if non-zero op flags is passed in
* 54e8f88d2b mmc: core: Do not force a retune before RPMB switch
* 75805481c3 binder: fix max_thread type inconsistency
* 4cefcd0af7 SUNRPC: Fix loop termination condition in gss_free_in_token_pages()
* 0cf6693d3f media: cec: core: add adap_nb_transmit_canceled() callback
* 6752dfcfff genirq/cpuhotplug, x86/vector: Prevent vector leak during CPU offline
* bdd0aa055b ALSA: timer: Set lower bound of start tick time
* 1f4b848935 hwmon: (shtc1) Fix property misspelling
* 1abbf079da ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound
* 3c5caaef46 spi: stm32: Don't warn about spurious interrupts
* 19e5a3d771 kconfig: fix comparison to constant symbols, 'm', 'n'
* 07eeedafc5 netfilter: tproxy: bail out if IP has been disabled on the device
* ddd2912a94 net:fec: Add fec_enet_deinit()
* 29467edc23 bpf: Allow delete from sockmap/sockhash only if update is allowed
* 117cacd72c net: usb: smsc95xx: fix changing LED_SEL bit value updated from EEPROM
* 3c0d36972e enic: Validate length of nl attributes in enic_set_vf_port
* 540d73a5c0 bpf: Fix potential integer overflow in resolve_btfids
* ae6fc4e6a3 dma-buf/sw-sync: don't enable IRQ from sync_print_obj()
* 72c6038d23 net/mlx5e: Use rx_missed_errors instead of rx_dropped for reporting buffer exhaustion
* 82fdfbf242 nvmet: fix ns enable/disable possible hang
* 5f72ba46f1 spi: Don't mark message DMA mapped when no transfer in it is
* 7ca9cf24b0 netfilter: nft_payload: restore vlan q-in-q match support
* e01065b339 netfilter: nfnetlink_queue: acquire rcu_read_lock() in instance_destroy_rcu()
* 0f26983c24 nfc: nci: Fix handling of zero-length payload packets in nci_rx_work()
* 728fb8b3b5 nfc: nci: Fix kcov check in nci_rx_work()
* d72e126e9a tls: fix missing memory barrier in tls_init
* cb95173e6c net: fec: avoid lock evasion when reading pps_enable
* 7fbe54f02a virtio: delete vq in vp_find_vqs_msix() when request_irq() fails
* 461a760d57 arm64: asm-bug: Add .align 2 to the end of __BUG_ENTRY
* 8cae65ace4 openvswitch: Set the skbuff pkt_type for proper pmtud support.
* e9b2f60636 tcp: Fix shift-out-of-bounds in dctcp_update_alpha().
* 42bd4e491c params: lift param_set_uint_minmax to common code
* daf341e0a2 ipv6: sr: fix memleak in seg6_hmac_init_algo
* 1c65ebce7d rpcrdma: fix handling for RDMA_CM_EVENT_DEVICE_REMOVAL
* f2b326b774 sunrpc: fix NFSACL RPC retry on soft mount
* 6f39d5aae6 ASoC: tas2552: Add TX path for capturing AUDIO-OUT data
* f80b786ab0 nfc: nci: Fix uninit-value in nci_rx_work
* ee6a497844 x86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER=y
* 8fb8be0e3b regulator: bd71828: Don't overwrite runtime voltages
* a2b0c3a6d4 null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION()
* 3166b2dffa media: cec: core: avoid confusing "transmit timed out" message
* 5103090f4e media: cec: core: avoid recursive cec_claim_log_addrs
* 3e938b7d40 media: cec-adap.c: drop activate_cnt, use state info instead
* 73ef9ae980 media: cec: use call_op and check for !unregistered
* 8fa7e4896f media: cec: correctly pass on reply results
* b64cb24a9e media: cec: abort if the current transmit was canceled
* 2c67f3634f media: cec: call enable_adap on s_log_addrs
* 0ab74ae99f media: cec: fix a deadlock situation
* ca55f013be media: core headers: fix kernel-doc warnings
* 9f6da5da3d media: cec: cec-api: add locking in cec_release()
* a0ca5ff242 media: cec: cec-adap: always cancel work in cec_transmit_msg_fh
* 6be4923ade um: Fix the -Wmissing-prototypes warning for __switch_mm
* 12ea1ec137 powerpc/pseries: Add failure related checks for h_get_mpp and h_get_ppp
* a2d61b328e media: flexcop-usb: fix sanity check of bNumEndpoints
* c11caf1339 media: flexcop-usb: clean up endpoint sanity checks
* ca17da9000 scsi: qla2xxx: Replace all non-returning strlcpy() with strscpy()
* a16775828a media: stk1160: fix bounds checking in stk1160_copy_video()
* f4b3d2585b drm/bridge: tc358775: fix support for jeida-18 and jeida-24
* 4d5ef7face um: vector: fix bpfflash parameter evaluation
* 351d1a6454 um: Add winch to winch_handlers before registering winch IRQ
* 1ef5d235be um: Fix return value in ubd_init()
* 96b9ed94dc drm/msm/dpu: Always flush the slave INTF on the CTL
* a3bb8070b7 Input: pm8xxx-vibrator - correct VIB_MAX_LEVELS calculation
* 580e47c282 mmc: sdhci_am654: Fix ITAPDLY for HS400 timing
* 2621bf50f5 mmc: sdhci_am654: Add ITAPDLYSEL in sdhci_j721e_4bit_set_clock
* b55d988df1 mmc: sdhci_am654: Add OTAP/ITAP delay enable
* 76f2b3ccbd mmc: sdhci_am654: Drop lookup for deprecated ti,otap-del-sel
* 8dcfbb27e4 mmc: sdhci_am654: Write ITAPDLY for DDR52 timing
* e7a444a35e mmc: sdhci_am654: Add tuning algorithm for delay chain
* 52f8d76769 Input: ioc3kbd - add device table
* 0096d223f7 Input: ioc3kbd - convert to platform remove callback returning void
* abeaeaee7f Input: ims-pcu - fix printf string overflow
* adc7dc29b7 s390/ipl: Fix incorrect initialization of nvme dump block
* 66a02effb8 s390/ipl: Fix incorrect initialization of len fields in nvme reipl block
* ec43f32f66 libsubcmd: Fix parse-options memory leak
* 158adcb7fd serial: sh-sci: protect invalidating RXDMA on shutdown
* b8962cf985 f2fs: compress: don't allow unaligned truncation on released compress inode
* c1958b978d f2fs: fix to release node block count in error path of f2fs_new_node_page()
* a6e1f7744e f2fs: compress: fix to cover {reserve,release}_compress_blocks() w/ cp_rwsem lock
* 4b6e5edefd PCI/EDR: Align EDR_PORT_LOCATE_DSM with PCI Firmware r3.3
* d2e2e90c76 PCI/EDR: Align EDR_PORT_DPC_ENABLE_DSM with PCI Firmware r3.3
* 9ca02da316 extcon: max8997: select IRQ_DOMAIN instead of depending on it
* d32caf5137 ppdev: Add an error check in register_device
* 9349e1f2c9 ppdev: Remove usage of the deprecated ida_simple_xx() API
* 713fc00c57 stm class: Fix a double free in stm_register_device()
* 7716b201d2 usb: gadget: u_audio: Clear uac pointer when freed.
* 23209f947d microblaze: Remove early printk call from cpuinfo-static.c
* 34ff72bb5d microblaze: Remove gcc flag for non existing early_printk.c file
* 26e6e25d74 fpga: region: add owner module and take its refcount
* af02dec83a fpga: region: Use standard dev_release for class driver
* b089bb733c docs: driver-api: fpga: avoid using UTF-8 chars
* 9fdd3d1cd0 fpga: region: Rename dev to parent for parent device
* 840c9c7d6a fpga: region: change FPGA indirect article to an
* be76107dc4 iio: pressure: dps310: support negative temperature values
* cdbe0477a0 f2fs: fix to check pinfile flag in f2fs_move_file_range()
* 2b16554fb2 f2fs: fix to relocate check condition in f2fs_fallocate()
* f1169d2b2a f2fs: fix typos in comments
* bdca4b6786 f2fs: do not allow partial truncation on pinned file
* d992b78026 f2fs: fix to force keeping write barrier for strict fsync mode
* eebbc4eb7e f2fs: add cp_error check in f2fs_write_compressed_pages
* 431ecafbff f2fs: compress: fix to relocate check condition in f2fs_{release,reserve}_compress_blocks()
* 8e1651cd66 f2fs: introduce FI_COMPRESS_RELEASED instead of using IMMUTABLE bit
* 486009bc2f f2fs: compress: remove unneeded preallocation
* df4978d968 f2fs: compress: clean up parameter of __f2fs_cluster_blocks()
* 5b09d2e790 f2fs: add compress_mode mount option
* 70fb69e05a f2fs: compress: support chksum
* 1ada965692 serial: sc16is7xx: add proper sched.h include for sched_set_fifo()
* 276bc8a7dc greybus: arche-ctrl: move device table to its right location
* d1f67d1d8c serial: max3100: Fix bitwise types
* e8e2a4339d serial: max3100: Update uart_driver_registered on driver removal
* cc121e3722 serial: max3100: Lock port->lock when calling uart_handle_cts_change()
* bc40d0e356 firmware: dmi-id: add a release callback function
* 83e078085f dmaengine: idma64: Add check for dma_set_max_seg_size
* fd4bcb991e soundwire: cadence: fix invalid PDI offset
* 7b98f1493a f2fs: fix to wait on page writeback in __clone_blkaddrs()
* eac10cf3a9 greybus: lights: check return of get_channel_from_mode
* ae20865fe6 sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level
* e892f9932d af_packet: do not call packet_read_pending() from tpacket_destruct_skb()
* b117e5b4f2 netrom: fix possible dead-lock in nr_rt_ioctl()
* cafccde429 net: qrtr: ns: Fix module refcnt
* 66fd37d0a8 net: qrtr: fix null-ptr-deref in qrtr_ns_remove
* 3e83903cd4 RDMA/IPoIB: Fix format truncation compilation errors
* 68e8c44c0d selftests/kcmp: remove unused open mode
* 08df7b006c selftests/kcmp: Make the test output consistent and clear
* f148a95f68 SUNRPC: Fix gss_free_in_token_pages()
* e28a16af4c ext4: fix potential unnitialized variable
* 4deaa4d5f8 ext4: remove unused parameter from ext4_mb_new_blocks_simple()
* fdbce45449 ext4: try all groups in ext4_mb_new_blocks_simple
* e498c2f441 ext4: fix unit mismatch in ext4_mb_new_blocks_simple
* f49c865d5b ext4: simplify calculation of blkoff in ext4_mb_new_blocks_simple
* 2a2bba3cbd sunrpc: removed redundant procp check
* 7c9ab0a449 ext4: avoid excessive credit estimate in ext4_tmpfile()
* 4d693ca24a x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map
* 9ff328de02 clk: qcom: mmcc-msm8998: fix venus clock issue
* 45b31be4dd RDMA/hns: Modify the print level of CQE error
* 9cce44567f RDMA/hns: Use complete parentheses in macros
* 9efed7448b RDMA/hns: Fix return value in hns_roce_map_mr_sg
* 4c91ad5ed5 RDMA/hns: Fix incorrect symbol types
* e612e695d3 RDMA/hns: Create QP with selected QPN for bank load balance
* 3c3744c309 RDMA/hns: Refactor the hns_roce_buf allocation flow
* eb9635b4a9 drm/mipi-dsi: use correct return type for the DSC functions
* 5d344b3089 drm/panel: simple: Add missing Innolux G121X1-L03 format, flags, connector
* f10aa595ee drm/bridge: tc358775: Don't log an error when DSI host can't be found
* ee751403fb drm/bridge: lt9611: Don't log an error when DSI host can't be found
* 3ce31a0e37 ASoC: tracing: Export SND_SOC_DAPM_DIR_OUT to its value
* 2d9adecc88 drm: vc4: Fix possible null pointer dereference
* a5fa5b40a2 drm/arm/malidp: fix a possible null pointer dereference
* 4b68b861b5 media: atomisp: ssh_css: Fix a null-pointer dereference in load_video_binaries
* 08ce354f3d fbdev: sh7760fb: allow modular build
* 85d1a27402 drm: bridge: cdns-mhdp8546: Fix possible null pointer dereference
* 552280a992 media: radio-shark2: Avoid led_names truncations
* 409f20085d media: ngene: Add dvb_ca_en50221_init return value check
* bb3c425921 fbdev: sisfb: hide unused variables
* 94349e015c powerpc/fsl-soc: hide unused const variable
* d17b75ee9c drm/mediatek: Add 0 size check to mtk_drm_gem_obj
* 7441f9e056 drm/meson: vclk: fix calculation of 59.94 fractional rates
* 078e02dcb4 fbdev: shmobile: fix snprintf truncation
* d3727d6e2b mtd: rawnand: hynix: fixed typo
* 613a349cbf ASoC: Intel: Disable route checks for Skylake boards
* ece8098579 ASoC: soc-acpi: add helper to identify parent driver.
* 04bc4d1090 drm/amd/display: Fix potential index out of bounds in color transformation function
* f6fbb8535e net/mlx5: Discard command completions in internal error
* 00e6335329 ipv6: sr: fix invalid unregister error path
* d33327a7c0 ipv6: sr: fix incorrect unregister order
* 1ba1b4cc3a ipv6: sr: add missing seg6_local_exit
* 5ab6aecbed net: openvswitch: fix overwriting ct original tuple for ICMPv6
* c3dc80f633 net: usb: smsc95xx: stop lying about skb->truesize
* 4d51845d73 af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg
* 161e43067b net: ethernet: cortina: Locking fixes
* e22b23f588 eth: sungem: remove .ndo_poll_controller to avoid deadlocks
* ad31e0e765 net: ipv6: fix wrong start position when receive hop-by-hop fragment
* 3eccf76b57 m68k: mac: Fix reboot hang on Mac IIci
* 4eeffecc8e m68k: Fix spinlock race in kernel thread creation
* d50b11c21f net: usb: sr9700: stop lying about skb->truesize
* 2093cc6e87 usb: aqc111: stop lying about skb->truesize
* 4cff6817ee wifi: mwl8k: initialize cmd->addr[] properly
* 769b9fd2af scsi: qedf: Ensure the copied buf is NUL terminated
* 00b425ff08 scsi: bfa: Ensure the copied buf is NUL terminated
* 2321281f19 HID: intel-ish-hid: ipc: Add check for pci_alloc_irq_vectors
* 2bd97a0868 selftests/binderfs: use the Makefile's rules, not Make's implicit rules
* 019ae041a5 Revert "sh: Handle calling csum_partial with misaligned data"
* 3557a7fc5c sh: kprobes: Merge arch_copy_kprobe() into arch_prepare_kprobe()
* ee25389df8 wifi: ar5523: enable proper endpoint verification
* 8650725bb0 wifi: carl9170: add a proper sanity check for endpoints
* 280619bbde macintosh/via-macii: Fix "BUG: sleeping function called from invalid context"
* 9d13202922 net: give more chances to rcu in netdev_wait_allrefs_any()
* bc7cae63fa tcp: avoid premature drops in tcp_add_backlog()
* 88aa40df8e wifi: ath10k: populate board data for WCN3990
* 5c4756e0fb wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger()
* 1b27468dbe x86/purgatory: Switch to the position-independent small code model
* 176fb7770d scsi: hpsa: Fix allocation size for Scsi_Host private data
* 0dc60ee1ed scsi: libsas: Fix the failure of adding phy with zero-address to port
* 69fab9d2e2 udp: Avoid call to compute_score on multiple sites
* 452f8dc251 net: remove duplicate reuseport_lookup functions
* 0ce990e6ef net: export inet_lookup_reuseport and inet6_lookup_reuseport
* dfc56ff5ec cpufreq: exit() callback is optional
* 92aca16797 cpufreq: Rearrange locking in cpufreq_remove_dev()
* 19b06dec36 cpufreq: Split cpufreq_offline()
* 3a28fbf533 cpufreq: Reorganize checks in cpufreq_offline()
* 7a4d18a27d selftests/bpf: Fix umount cgroup2 error in test_sockmap
* dd52e3bc4f gfs2: Fix "ignore unlock failures after withdraw"
* 11f9bd1102 ACPI: disable -Wstringop-truncation
* a8f0a14c3b irqchip/loongson-pch-msi: Fix off-by-one on allocation error path
* f31b49ba36 irqchip/alpine-msi: Fix off-by-one in allocation error path
* bb291d4d08 scsi: ufs: core: Perform read back after disabling UIC_COMMAND_COMPL
* 3bbfbd5a36 scsi: ufs: core: Perform read back after disabling interrupts
* bbc00d1b7a scsi: ufs: cdns-pltfrm: Perform read back after writing HCLKDIV
* dca9754276 scsi: ufs: qcom: Perform read back after writing CGC enable
* c8f2eefc49 scsi: ufs: qcom: Perform read back after writing unipro mode
* 506f63e97d scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW version major 5
* ee4bf03d26 scsi: ufs: ufs-qcom: Fix the Qcom register name for offset 0xD0
* d113c66bb4 scsi: ufs: qcom: Perform read back after writing REG_UFS_SYS1CLK_1US
* 82783759e8 scsi: ufs-qcom: Fix ufs RST_n spec violation
* d193f4a153 scsi: ufs: qcom: Perform read back after writing reset bit
* 742f580670 qed: avoid truncating work queue length
* 01ea6818fa x86/boot: Ignore relocations in .notes sections in walk_relocs() too
* 5fb37c456d wifi: ath10k: poll service ready message before failing
* 3f5b73ef8f md: fix resync softlockup when bitmap size is less than array size
* c62f315238 null_blk: Fix missing mutex_destroy() at module removal
* b2f8354f73 soc: mediatek: cmdq: Fix typo of CMDQ_JUMP_RELATIVE
* f0eea095ce jffs2: prevent xattr node from overflowing the eraseblock
* de1207e5fd s390/cio: fix tracepoint subchannel type field
* 9f6dbd0aa1 crypto: x86/sha256-avx2 - add missing vzeroupper
* 0ceb0a40c5 crypto: x86/nh-avx2 - add missing vzeroupper
* 6cd2cbd553 crypto: ccp - drop platform ifdef checks
* f24cac6459 parisc: add missing export of __cmpxchg_u8()
* dae53e39cd nilfs2: fix out-of-range warning
* edbfc42ab0 ecryptfs: Fix buffer size for tag 66 packet
* e05ee61361 firmware: raspberrypi: Use correct device for DMA mappings
* ebed0d666f crypto: bcm - Fix pointer arithmetic
* a81f072e50 openpromfs: finish conversion to the new mount API
* 904a590dab nvme: find numa distance only if controller has valid numa id
* 5b4d14a0bc drm/amdkfd: Flush the process wq before creating a kfd_process
* eb464a8d82 ASoC: da7219-aad: fix usage of device_get_named_child_node()
* 43ff957b96 ASoC: rt715: add vendor clear control register
* 0c71bfad14 regulator: vqmmc-ipq4019: fix module autoloading
* fcc54151a9 ASoC: dt-bindings: rt5645: add cbj sleeve gpio property
* 6cd625926e ASoC: rt5645: Fix the electric noise due to the CBJ contacts floating
* c9c742eaa5 drm/amd/display: Set color_mgmt_changed to true on unsuspend
* c393ce8157 net: usb: qmi_wwan: add Telit FN920C04 compositions
* c7d22022ec wifi: cfg80211: fix the order of arguments for trace events of the tx_rx_evt class
* d7ff29a429 ALSA: core: Fix NULL module pointer assignment at card init
* eff7cdf890 nilfs2: fix potential hang in nilfs_detach_log_writer()
* 89e07418a6 nilfs2: fix unexpected freezing of nilfs_segctor_sync()
* 0d0ecd841f net: smc91x: Fix m68k kernel compilation for ColdFire CPU
* 1e16019604 ring-buffer: Fix a race between readers and resize checks
* 07ef95cc7a speakup: Fix sizeof() vs ARRAY_SIZE() bug
* 0fb736c993 tty: n_gsm: fix possible out-of-bounds in gsm0_receive()
* 03a7939453 x86/tsc: Trust initial offset in architectural TSC-adjust MSRs

Change-Id: I1e3b04e5bcd7844daa82bc19f6db4faa4c8f9f7d
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-08-27 10:37:57 +00:00
Waiman Long
ab8b397d59 padata: Fix possible divide-by-0 panic in padata_mt_helper()
commit 6d45e1c948a8b7ed6ceddb14319af69424db730c upstream.

We are hit with a not easily reproducible divide-by-0 panic in padata.c at
bootup time.

  [   10.017908] Oops: divide error: 0000 1 PREEMPT SMP NOPTI
  [   10.017908] CPU: 26 PID: 2627 Comm: kworker/u1666:1 Not tainted 6.10.0-15.el10.x86_64 #1
  [   10.017908] Hardware name: Lenovo ThinkSystem SR950 [7X12CTO1WW]/[7X12CTO1WW], BIOS [PSE140J-2.30] 07/20/2021
  [   10.017908] Workqueue: events_unbound padata_mt_helper
  [   10.017908] RIP: 0010:padata_mt_helper+0x39/0xb0
    :
  [   10.017963] Call Trace:
  [   10.017968]  <TASK>
  [   10.018004]  ? padata_mt_helper+0x39/0xb0
  [   10.018084]  process_one_work+0x174/0x330
  [   10.018093]  worker_thread+0x266/0x3a0
  [   10.018111]  kthread+0xcf/0x100
  [   10.018124]  ret_from_fork+0x31/0x50
  [   10.018138]  ret_from_fork_asm+0x1a/0x30
  [   10.018147]  </TASK>

Looking at the padata_mt_helper() function, the only way a divide-by-0
panic can happen is when ps->chunk_size is 0.  The way that chunk_size is
initialized in padata_do_multithreaded(), chunk_size can be 0 when the
min_chunk in the passed-in padata_mt_job structure is 0.

Fix this divide-by-0 panic by making sure that chunk_size will be at least
1 no matter what the input parameters are.

Link: https://lkml.kernel.org/r/20240806174647.1050398-1-longman@redhat.com
Fixes: 004ed42638 ("padata: add basic support for multithreaded jobs")
Signed-off-by: Waiman Long <longman@redhat.com>
Cc: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Cc: Waiman Long <longman@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:41:20 +02:00
Tze-nan Wu
eb223bf01e tracing: Fix overflow in get_free_elt()
commit bcf86c01ca4676316557dd482c8416ece8c2e143 upstream.

"tracing_map->next_elt" in get_free_elt() is at risk of overflowing.

Once it overflows, new elements can still be inserted into the tracing_map
even though the maximum number of elements (`max_elts`) has been reached.
Continuing to insert elements after the overflow could result in the
tracing_map containing "tracing_map->max_size" elements, leaving no empty
entries.
If any attempt is made to insert an element into a full tracing_map using
`__tracing_map_insert()`, it will cause an infinite loop with preemption
disabled, leading to a CPU hang problem.

Fix this by preventing any further increments to "tracing_map->next_elt"
once it reaches "tracing_map->max_elt".

Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Fixes: 08d43a5fa0 ("tracing: Add lock-free tracing_map")
Co-developed-by: Cheng-Jui Wang <cheng-jui.wang@mediatek.com>
Link: https://lore.kernel.org/20240805055922.6277-1-Tze-nan.Wu@mediatek.com
Signed-off-by: Cheng-Jui Wang <cheng-jui.wang@mediatek.com>
Signed-off-by: Tze-nan Wu <Tze-nan.Wu@mediatek.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:41:20 +02:00
Shay Drory
a26bcfeea3 genirq/irqdesc: Honor caller provided affinity in alloc_desc()
commit edbbaae42a56f9a2b39c52ef2504dfb3fb0a7858 upstream.

Currently, whenever a caller is providing an affinity hint for an
interrupt, the allocation code uses it to calculate the node and copies the
cpumask into irq_desc::affinity.

If the affinity for the interrupt is not marked 'managed' then the startup
of the interrupt ignores irq_desc::affinity and uses the system default
affinity mask.

Prevent this by setting the IRQD_AFFINITY_SET flag for the interrupt in the
allocator, which causes irq_setup_affinity() to use irq_desc::affinity on
interrupt startup if the mask contains an online CPU.

[ tglx: Massaged changelog ]

Fixes: 45ddcecbfa ("genirq: Use affinity hint in irqdesc allocation")
Signed-off-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/all/20240806072044.837827-1-shayd@nvidia.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:41:19 +02:00
Justin Stitt
f3405f4997 ntp: Safeguard against time_constant overflow
commit 06c03c8edce333b9ad9c6b207d93d3a5ae7c10c0 upstream.

Using syzkaller with the recently reintroduced signed integer overflow
sanitizer produces this UBSAN report:

UBSAN: signed-integer-overflow in ../kernel/time/ntp.c:738:18
9223372036854775806 + 4 cannot be represented in type 'long'
Call Trace:
 handle_overflow+0x171/0x1b0
 __do_adjtimex+0x1236/0x1440
 do_adjtimex+0x2be/0x740

The user supplied time_constant value is incremented by four and then
clamped to the operating range.

Before commit eea83d896e ("ntp: NTP4 user space bits update") the user
supplied value was sanity checked to be in the operating range. That change
removed the sanity check and relied on clamping after incrementing which
does not work correctly when the user supplied value is in the overflow
zone of the '+ 4' operation.

The operation requires CAP_SYS_TIME and the side effect of the overflow is
NTP getting out of sync.

Similar to the fixups for time_maxerror and time_esterror, clamp the user
space supplied value to the operating range.

[ tglx: Switch to clamping ]

Fixes: eea83d896e ("ntp: NTP4 user space bits update")
Signed-off-by: Justin Stitt <justinstitt@google.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Miroslav Lichvar <mlichvar@redhat.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/20240517-b4-sio-ntp-c-v2-1-f3a80096f36f@google.com
Closes: https://github.com/KSPP/linux/issues/352
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:41:18 +02:00
Justin Stitt
dc335b92e5 ntp: Clamp maxerror and esterror to operating range
[ Upstream commit 87d571d6fb77ec342a985afa8744bb9bb75b3622 ]

Using syzkaller alongside the newly reintroduced signed integer overflow
sanitizer spits out this report:

UBSAN: signed-integer-overflow in ../kernel/time/ntp.c:461:16
9223372036854775807 + 500 cannot be represented in type 'long'
Call Trace:
 handle_overflow+0x171/0x1b0
 second_overflow+0x2d6/0x500
 accumulate_nsecs_to_secs+0x60/0x160
 timekeeping_advance+0x1fe/0x890
 update_wall_time+0x10/0x30

time_maxerror is unconditionally incremented and the result is checked
against NTP_PHASE_LIMIT, but the increment itself can overflow, resulting
in wrap-around to negative space.

Before commit eea83d896e ("ntp: NTP4 user space bits update") the user
supplied value was sanity checked to be in the operating range. That change
removed the sanity check and relied on clamping in handle_overflow() which
does not work correctly when the user supplied value is in the overflow
zone of the '+ 500' operation.

The operation requires CAP_SYS_TIME and the side effect of the overflow is
NTP getting out of sync.

Miroslav confirmed that the input value should be clamped to the operating
range and the same applies to time_esterror. The latter is not used by the
kernel, but the value still should be in the operating range as it was
before the sanity check got removed.

Clamp them to the operating range.

[ tglx: Changed it to clamping and included time_esterror ]

Fixes: eea83d896e ("ntp: NTP4 user space bits update")
Signed-off-by: Justin Stitt <justinstitt@google.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Miroslav Lichvar <mlichvar@redhat.com>
Link: https://lore.kernel.org/all/20240517-b4-sio-ntp-usec-v2-1-d539180f2b79@google.com
Closes: https://github.com/KSPP/linux/issues/354
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ cast things to long long to fix compiler warnings - gregkh ]
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:41:18 +02:00
Thomas Gleixner
668c6c4a7e tick/broadcast: Move per CPU pointer access into the atomic section
commit 6881e75237a84093d0986f56223db3724619f26e upstream.

The recent fix for making the take over of the broadcast timer more
reliable retrieves a per CPU pointer in preemptible context.

This went unnoticed as compilers hoist the access into the non-preemptible
region where the pointer is actually used. But of course it's valid that
the compiler keeps it at the place where the code puts it which rightfully
triggers:

  BUG: using smp_processor_id() in preemptible [00000000] code:
       caller is hotplug_cpu__broadcast_tick_pull+0x1c/0xc0

Move it to the actual usage site which is in a non-preemptible region.

Fixes: f7d43dd206e7 ("tick/broadcast: Make takeover of broadcast hrtimer reliable")
Reported-by: David Wang <00107082@163.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Yu Liao <liaoyu15@huawei.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/87ttg56ers.ffs@tglx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:41:18 +02:00
Masami Hiramatsu (Google)
c6ba514732 kprobes: Fix to check symbol prefixes correctly
[ Upstream commit 8c8acb8f26cbde665b233dd1b9bbcbb9b86822dc ]

Since str_has_prefix() takes the prefix as the 2nd argument and the string
as the first, is_cfi_preamble_symbol() always fails to check the prefix.
Fix the function parameter order so that it correctly check the prefix.

Link: https://lore.kernel.org/all/172260679559.362040.7360872132937227206.stgit@devnote2/

Fixes: de02f2ac5d8c ("kprobes: Prohibit probing on CFI preamble symbol")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:41:17 +02:00
Zheng Zucheng
1d21d41750 sched/cputime: Fix mul_u64_u64_div_u64() precision for cputime
commit 77baa5bafcbe1b2a15ef9c37232c21279c95481c upstream.

In extreme test scenarios:
the 14th field utime in /proc/xx/stat is greater than sum_exec_runtime,
utime = 18446744073709518790 ns, rtime = 135989749728000 ns

In cputime_adjust() process, stime is greater than rtime due to
mul_u64_u64_div_u64() precision problem.
before call mul_u64_u64_div_u64(),
stime = 175136586720000, rtime = 135989749728000, utime = 1416780000.
after call mul_u64_u64_div_u64(),
stime = 135989949653530

unsigned reversion occurs because rtime is less than stime.
utime = rtime - stime = 135989749728000 - 135989949653530
		      = -199925530
		      = (u64)18446744073709518790

Trigger condition:
  1). User task run in kernel mode most of time
  2). ARM64 architecture
  3). TICK_CPU_ACCOUNTING=y
      CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set

Fix mul_u64_u64_div_u64() conversion precision by reset stime to rtime

Fixes: 3dc167ba57 ("sched/cputime: Improve cputime_adjust()")
Signed-off-by: Zheng Zucheng <zhengzucheng@huawei.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20240726023235.217771-1-zhengzucheng@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:41:14 +02:00
Paul E. McKenney
464d242868 rcutorture: Fix rcu_torture_fwd_cb_cr() data race
[ Upstream commit 6040072f4774a575fa67b912efe7722874be337b ]

On powerpc systems, spinlock acquisition does not order prior stores
against later loads.  This means that this statement:

	rfcp->rfc_next = NULL;

Can be reordered to follow this statement:

	WRITE_ONCE(*rfcpp, rfcp);

Which is then a data race with rcu_torture_fwd_prog_cr(), specifically,
this statement:

	rfcpn = READ_ONCE(rfcp->rfc_next)

KCSAN located this data race, which represents a real failure on powerpc.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Acked-by: Marco Elver <elver@google.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: <kasan-dev@googlegroups.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:41:12 +02:00
Marc Zyngier
c476c5c7bb genirq: Allow irq_chip registration functions to take a const irq_chip
[ Upstream commit 393e1280f765661cf39785e967676a4e57324126 ]

In order to let a const irqchip be fed to the irqchip layer, adjust
the various prototypes. An extra cast in irq_set_chip()() is required
to avoid a warning.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20220209162607.1118325-3-maz@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:41:10 +02:00
Marc Zyngier
652e7b4d73 genirq: Allow the PM device to originate from irq domain
[ Upstream commit 1f8863bfb5ca500ea1c7669b16b1931ba27fce20 ]

As a preparation to moving the reference to the device used for
runtime power management, add a new 'dev' field to the irqdomain
structure for that exact purpose.

The irq_chip_pm_{get,put}() helpers are made aware of the dual
location via a new private helper.

No functional change intended.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Tony Lindgren <tony@atomide.com>
Acked-by: Bartosz Golaszewski <brgl@bgdev.pl>
Link: https://lore.kernel.org/r/20220201120310.878267-2-maz@kernel.org
Stable-dep-of: 33b1c47d1fc0 ("irqchip/imx-irqsteer: Handle runtime power management correctly")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:41:07 +02:00
Lance Richardson
257193083e dma: fix call order in dmam_free_coherent
[ Upstream commit 28e8b7406d3a1f5329a03aa25a43aa28e087cb20 ]

dmam_free_coherent() frees a DMA allocation, which makes the
freed vaddr available for reuse, then calls devres_destroy()
to remove and free the data structure used to track the DMA
allocation. Between the two calls, it is possible for a
concurrent task to make an allocation with the same vaddr
and add it to the devres list.

If this happens, there will be two entries in the devres list
with the same vaddr and devres_destroy() can free the wrong
entry, triggering the WARN_ON() in dmam_match.

Fix by destroying the devres entry before freeing the DMA
allocation.

Tested:
  kokonut //net/encryption
    http://sponge2/b9145fe6-0f72-4325-ac2f-a84d81075b03

Fixes: 9ac7849e35 ("devres: device resource management")
Signed-off-by: Lance Richardson <rlance@google.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:41:04 +02:00
Douglas Anderson
1c089efe76 kdb: Use the passed prompt in kdb_position_cursor()
[ Upstream commit e2e821095949cde46256034975a90f88626a2a73 ]

The function kdb_position_cursor() takes in a "prompt" parameter but
never uses it. This doesn't _really_ matter since all current callers
of the function pass the same value and it's a global variable, but
it's a bit ugly. Let's clean it up.

Found by code inspection. This patch is expected to functionally be a
no-op.

Fixes: 09b35989421d ("kdb: Use format-strings rather than '\0' injection in kdb_read()")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20240528071144.1.I0feb49839c6b6f4f2c4bf34764f5e95de3f55a66@changeid
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:41:03 +02:00
Arnd Bergmann
f0ad62559f kdb: address -Wformat-security warnings
[ Upstream commit 70867efacf4370b6c7cdfc7a5b11300e9ef7de64 ]

When -Wformat-security is not disabled, using a string pointer
as a format causes a warning:

kernel/debug/kdb/kdb_io.c: In function 'kdb_read':
kernel/debug/kdb/kdb_io.c:365:36: error: format not a string literal and no format arguments [-Werror=format-security]
  365 |                         kdb_printf(kdb_prompt_str);
      |                                    ^~~~~~~~~~~~~~
kernel/debug/kdb/kdb_io.c: In function 'kdb_getstr':
kernel/debug/kdb/kdb_io.c:456:20: error: format not a string literal and no format arguments [-Werror=format-security]
  456 |         kdb_printf(kdb_prompt_str);
      |                    ^~~~~~~~~~~~~~

Use an explcit "%s" format instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 5d5314d679 ("kdb: core for kgdb back end (1 of 2)")
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20240528121154.3662553-1-arnd@kernel.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:41:03 +02:00
Pavel Begunkov
65dba3c9ce kernel: rerun task_work while freezing in get_signal()
commit 943ad0b62e3c21f324c4884caa6cb4a871bca05c upstream.

io_uring can asynchronously add a task_work while the task is getting
freezed. TIF_NOTIFY_SIGNAL will prevent the task from sleeping in
do_freezer_trap(), and since the get_signal()'s relock loop doesn't
retry task_work, the task will spin there not being able to sleep
until the freezing is cancelled / the task is killed / etc.

Run task_works in the freezer path. Keep the patch small and simple
so it can be easily back ported, but we might need to do some cleaning
after and look if there are other places with similar problems.

Cc: stable@vger.kernel.org
Link: https://github.com/systemd/systemd/issues/33626
Fixes: 12db8b690010c ("entry: Add support for TIF_NOTIFY_SIGNAL")
Reported-by: Julian Orth <ju.orth@gmail.com>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/89ed3a52933370deaaf61a0a620a6ac91f1e754d.1720634146.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:41:03 +02:00
Thomas Gleixner
19f108b3d1 watchdog/perf: properly initialize the turbo mode timestamp and rearm counter
commit f944ffcbc2e1c759764850261670586ddf3bdabb upstream.

For systems on which the performance counter can expire early due to turbo
modes the watchdog handler has a safety net in place which validates that
since the last watchdog event there has at least 4/5th of the watchdog
period elapsed.

This works reliably only after the first watchdog event because the per
CPU variable which holds the timestamp of the last event is never
initialized.

So a first spurious event will validate against a timestamp of 0 which
results in a delta which is likely to be way over the 4/5 threshold of the
period.  As this might happen before the first watchdog hrtimer event
increments the watchdog counter, this can lead to false positives.

Fix this by initializing the timestamp before enabling the hardware event.
Reset the rearm counter as well, as that might be non zero after the
watchdog was disabled and reenabled.

Link: https://lkml.kernel.org/r/87frsfu15a.ffs@tglx
Fixes: 7edaeb6841 ("kernel/watchdog: Prevent false positives with turbo modes")
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:41:01 +02:00
Frederic Weisbecker
5c59cb8dd9 task_work: Introduce task_work_cancel() again
commit f409530e4db9dd11b88cb7703c97c8f326ff6566 upstream.

Re-introduce task_work_cancel(), this time to cancel an actual callback
and not *any* callback pointing to a given function. This is going to be
needed for perf events event freeing.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240621091601.18227-3-frederic@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:40:57 +02:00
Frederic Weisbecker
1fd27cc6f0 task_work: s/task_work_cancel()/task_work_cancel_func()/
commit 68cbd415dd4b9c5b9df69f0f091879e56bf5907a upstream.

A proper task_work_cancel() API that actually cancels a callback and not
*any* callback pointing to a given function is going to be needed for
perf events event freeing. Do the appropriate rename to prepare for
that.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240621091601.18227-2-frederic@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:40:57 +02:00
Pierre Gondois
eb46367187 sched/fair: Use all little CPUs for CPU-bound workloads
commit 3af7524b14198f5159a86692d57a9f28ec9375ce upstream.

Running N CPU-bound tasks on an N CPUs platform:

- with asymmetric CPU capacity

- not being a DynamIq system (i.e. having a PKG level sched domain
  without the SD_SHARE_PKG_RESOURCES flag set)

.. might result in a task placement where two tasks run on a big CPU
and none on a little CPU. This placement could be more optimal by
using all CPUs.

Testing platform:

  Juno-r2:
    - 2 big CPUs (1-2), maximum capacity of 1024
    - 4 little CPUs (0,3-5), maximum capacity of 383

Testing workload ([1]):

  Spawn 6 CPU-bound tasks. During the first 100ms (step 1), each tasks
  is affine to a CPU, except for:

    - one little CPU which is left idle.
    - one big CPU which has 2 tasks affine.

  After the 100ms (step 2), remove the cpumask affinity.

Behavior before the patch:

  During step 2, the load balancer running from the idle CPU tags sched
  domains as:

  - little CPUs: 'group_has_spare'. Cf. group_has_capacity() and
    group_is_overloaded(), 3 CPU-bound tasks run on a 4 CPUs
    sched-domain, and the idle CPU provides enough spare capacity
    regarding the imbalance_pct

  - big CPUs: 'group_overloaded'. Indeed, 3 tasks run on a 2 CPUs
    sched-domain, so the following path is used:

      group_is_overloaded()
      \-if (sgs->sum_nr_running <= sgs->group_weight) return true;

    The following path which would change the migration type to
    'migrate_task' is not taken:

      calculate_imbalance()
      \-if (env->idle != CPU_NOT_IDLE && env->imbalance == 0)

    as the local group has some spare capacity, so the imbalance
    is not 0.

  The migration type requested is 'migrate_util' and the busiest
  runqueue is the big CPU's runqueue having 2 tasks (each having a
  utilization of 512). The idle little CPU cannot pull one of these
  task as its capacity is too small for the task. The following path
  is used:

   detach_tasks()
   \-case migrate_util:
     \-if (util > env->imbalance) goto next;

After the patch:

As the number of failed balancing attempts grows (with
'nr_balance_failed'), progressively make it easier to migrate
a big task to the idling little CPU. A similar mechanism is
used for the 'migrate_load' migration type.

Improvement:

Running the testing workload [1] with the step 2 representing
a ~10s load for a big CPU:

  Before patch: ~19.3s
  After patch:  ~18s (-6.7%)

Similar issue reported at:

  https://lore.kernel.org/lkml/20230716014125.139577-1-qyousef@layalina.io/

Suggested-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Acked-by: Qais Yousef <qyousef@layalina.io>
Link: https://lore.kernel.org/r/20231206090043.634697-1-pierre.gondois@arm.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:40:56 +02:00
Tejun Heo
cf0c713c69 sched/fair: set_load_weight() must also call reweight_task() for SCHED_IDLE tasks
commit d329605287020c3d1c3b0dadc63d8208e7251382 upstream.

When a task's weight is being changed, set_load_weight() is called with
@update_load set. As weight changes aren't trivial for the fair class,
set_load_weight() calls fair.c::reweight_task() for fair class tasks.

However, set_load_weight() first tests task_has_idle_policy() on entry and
skips calling reweight_task() for SCHED_IDLE tasks. This is buggy as
SCHED_IDLE tasks are just fair tasks with a very low weight and they would
incorrectly skip load, vlag and position updates.

Fix it by updating reweight_task() to take struct load_weight as idle weight
can't be expressed with prio and making set_load_weight() call
reweight_task() for SCHED_IDLE tasks too when @update_load is set.

Fixes: 9059393e4e ("sched/fair: Use reweight_entity() for set_user_nice()")
Suggested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org # v4.15+
Link: http://lkml.kernel.org/r/20240624102331.GI31592@noisy.programming.kicks-ass.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:40:55 +02:00
Yu Liao
9ef7190228 tick/broadcast: Make takeover of broadcast hrtimer reliable
commit f7d43dd206e7e18c182f200e67a8db8c209907fa upstream.

Running the LTP hotplug stress test on a aarch64 machine results in
rcu_sched stall warnings when the broadcast hrtimer was owned by the
un-plugged CPU. The issue is the following:

CPU1 (owns the broadcast hrtimer)	CPU2

				tick_broadcast_enter()
				  // shutdown local timer device
				  broadcast_shutdown_local()
				...
				tick_broadcast_exit()
				  clockevents_switch_state(dev, CLOCK_EVT_STATE_ONESHOT)
				  // timer device is not programmed
				  cpumask_set_cpu(cpu, tick_broadcast_force_mask)

				initiates offlining of CPU1
take_cpu_down()
/*
 * CPU1 shuts down and does not
 * send broadcast IPI anymore
 */
				takedown_cpu()
				  hotplug_cpu__broadcast_tick_pull()
				    // move broadcast hrtimer to this CPU
				    clockevents_program_event()
				      bc_set_next()
					hrtimer_start()
					/*
					 * timer device is not programmed
					 * because only the first expiring
					 * timer will trigger clockevent
					 * device reprogramming
					 */

What happens is that CPU2 exits broadcast mode with force bit set, then the
local timer device is not reprogrammed and CPU2 expects to receive the
expired event by the broadcast IPI. But this does not happen because CPU1
is offlined by CPU2. CPU switches the clockevent device to ONESHOT state,
but does not reprogram the device.

The subsequent reprogramming of the hrtimer broadcast device does not
program the clockevent device of CPU2 either because the pending expiry
time is already in the past and the CPU expects the event to be delivered.
As a consequence all CPUs which wait for a broadcast event to be delivered
are stuck forever.

Fix this issue by reprogramming the local timer device if the broadcast
force bit of the CPU is set so that the broadcast hrtimer is delivered.

[ tglx: Massage comment and change log. Add Fixes tag ]

Fixes: 989dcb645c ("tick: Handle broadcast wakeup of multiple cpus")
Signed-off-by: Yu Liao <liaoyu15@huawei.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240711124843.64167-1-liaoyu15@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-19 05:40:55 +02:00
Alan Maguire
859bc76374 bpf: Eliminate remaining "make W=1" warnings in kernel/bpf/btf.o
[ Upstream commit 2454075f8e2915cebbe52a1195631bc7efe2b7e1 ]

As reported by Mirsad [1] we still see format warnings in kernel/bpf/btf.o
at W=1 warning level:

  CC      kernel/bpf/btf.o
./kernel/bpf/btf.c: In function ‘btf_type_seq_show_flags’:
./kernel/bpf/btf.c:7553:21: warning: assignment left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
 7553 |         sseq.showfn = btf_seq_show;
      |                     ^
./kernel/bpf/btf.c: In function ‘btf_type_snprintf_show’:
./kernel/bpf/btf.c:7604:31: warning: assignment left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
 7604 |         ssnprintf.show.showfn = btf_snprintf_show;
      |                               ^

Combined with CONFIG_WERROR=y these can halt the build.

The fix (annotating the structure field with __printf())
suggested by Mirsad resolves these. Apologies I missed this last time.
No other W=1 warnings were observed in kernel/bpf after this fix.

[1] https://lore.kernel.org/bpf/92c9d047-f058-400c-9c7d-81d4dc1ef71b@gmail.com/

Fixes: b3470da314fd ("bpf: annotate BTF show functions with __printf")
Reported-by: Mirsad Todorovac <mtodorovac69@gmail.com>
Suggested-by: Mirsad Todorovac <mtodorovac69@gmail.com>
Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20240712092859.1390960-1-alan.maguire@oracle.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:40:48 +02:00
Alan Maguire
28c8fce207 bpf: annotate BTF show functions with __printf
[ Upstream commit b3470da314fd8018ee237e382000c4154a942420 ]

-Werror=suggest-attribute=format warns about two functions
in kernel/bpf/btf.c [1]; add __printf() annotations to silence
these warnings since for CONFIG_WERROR=y they will trigger
build failures.

[1] https://lore.kernel.org/bpf/a8b20c72-6631-4404-9e1f-0410642d7d20@gmail.com/

Fixes: 31d0bc8163 ("bpf: Move to generic BTF show support, apply it to seq files/strings")
Reported-by: Mirsad Todorovac <mtodorovac69@gmail.com>
Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
Tested-by: Mirsad Todorovac <mtodorovac69@yahoo.com>
Link: https://lore.kernel.org/r/20240711182321.963667-1-alan.maguire@oracle.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:40:47 +02:00
Adrian Hunter
7f132aca18 perf: Prevent passing zero nr_pages to rb_alloc_aux()
[ Upstream commit dbc48c8f41c208082cfa95e973560134489e3309 ]

nr_pages is unsigned long but gets passed to rb_alloc_aux() as an int,
and is stored as an int.

Only power-of-2 values are accepted, so if nr_pages is a 64_bit value, it
will be passed to rb_alloc_aux() as zero.

That is not ideal because:
 1. the value is incorrect
 2. rb_alloc_aux() is at risk of misbehaving, although it manages to
 return -ENOMEM in that case, it is a result of passing zero to get_order()
 even though the get_order() result is documented to be undefined in that
 case.

Fix by simply validating the maximum supported value in the first place.
Use -ENOMEM error code for consistency with the current error code that
is returned in that case.

Fixes: 45bfb2e504 ("perf: Add AUX area to ring buffer for raw data streams")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20240624201101.60186-6-adrian.hunter@intel.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:40:46 +02:00
Adrian Hunter
a2450206c0 perf: Fix perf_aux_size() for greater-than 32-bit size
[ Upstream commit 3df94a5b1078dfe2b0c03f027d018800faf44c82 ]

perf_buffer->aux_nr_pages uses a 32-bit type, so a cast is needed to
calculate a 64-bit size.

Fixes: 45bfb2e504 ("perf: Add AUX area to ring buffer for raw data streams")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20240624201101.60186-5-adrian.hunter@intel.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:40:46 +02:00
Michael Bestas
d613c46b79
Merge tag 'ASB-2024-08-05_12-5.10' of https://android.googlesource.com/kernel/common into android13-5.10-waipio
https://source.android.com/docs/security/bulletin/2024-08-01
CVE-2024-36971

* tag 'ASB-2024-08-05_12-5.10' of https://android.googlesource.com/kernel/common:
  ANDROID: GKI: remove export of tracing control functions
  ANDROID: Incremental fs: Retry page faults on non-fatal errors
  ANDROID: update ABI XML due to struct clk_core change
  UPSTREAM: usb: gadget: configfs: Prevent OOB read/write in usb_string_copy()
  UPSTREAM: f2fs: avoid false alarm of circular locking
  UPSTREAM: f2fs: fix deadlock in i_xattr_sem and inode page lock
  ANDROID: userfaultfd: Fix use-after-free in userfaultfd_using_sigbus()
  ANDROID: 16K: Don't set padding vm_flags on 32-bit archs
  ANDROID: update .xml file due to struct clk_core abi change
  ANDROID: mark DRM_VMWGFX as BROKEN
  Revert "ANDROID: Setting up GS before calling __restore_processor_state."
  Revert "block: introduce zone_write_granularity limit"
  Revert "block: Clear zone limits for a non-zoned stacked queue"
  Revert "scsi: sd: Fix wrong zone_write_granularity value during revalidate"
  Revert "PCI/ERR: Cache RCEC EA Capability offset in pci_init_capabilities()"
  Revert "PCI: Cache PCIe Device Capabilities register"
  Revert "PCI: Work around Intel I210 ROM BAR overlap defect"
  Revert "PCI/ASPM: Make Intel DG2 L1 acceptable latency unlimited"
  Revert "PCI/DPC: Quirk PIO log size for certain Intel Root Ports"
  Revert "PCI/DPC: Quirk PIO log size for Intel Ice Lake Root Ports"
  Revert "PCI/DPC: Quirk PIO log size for Intel Raptor Lake Root Ports"
  Revert "timers: Rename del_timer_sync() to timer_delete_sync()"
  Linux 5.10.218
  docs: kernel_include.py: Cope with docutils 0.21
  serial: kgdboc: Fix NMI-safety problems from keyboard reset code
  usb: typec: ucsi: displayport: Fix potential deadlock
  drm/amdgpu: Fix possible NULL dereference in amdgpu_ras_query_error_status_helper()
  btrfs: add missing mutex_unlock in btrfs_relocate_sys_chunks()
  mptcp: ensure snd_nxt is properly initialized on connect
  firmware: arm_scmi: Harden accesses to the reset domains
  KVM: x86: Clear "has_error_code", not "error_code", for RM exception injection
  netlink: annotate lockless accesses to nlk->max_recvmsg_len
  ima: fix deadlock when traversing "ima_default_rules".
  net: bcmgenet: synchronize UMAC_CMD access
  net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access
  Revert "selftests: mm: fix map_hugetlb failure on 64K page size systems"
  x86/xen: Drop USERGS_SYSRET64 paravirt call
  pinctrl: core: handle radix_tree_insert() errors in pinctrl_register_one_pin()
  Linux 5.10.217
  md: fix kmemleak of rdev->serial
  keys: Fix overwrite of key expiration on instantiation
  regulator: core: fix debugfs creation regression
  hwmon: (pmbus/ucd9000) Increase delay from 250 to 500us
  net: fix out-of-bounds access in ops_init
  drm/vmwgfx: Fix invalid reads in fence signaled events
  mei: me: add lunar lake point M DID
  dyndbg: fix old BUG_ON in >control parser
  ASoC: tegra: Fix DSPK 16-bit playback
  net: bcmgenet: synchronize use of bcmgenet_set_rx_mode()
  tipc: fix UAF in error path
  iio: accel: mxc4005: Interrupt handling fixes
  iio:imu: adis16475: Fix sync mode setting
  ALSA: hda/realtek: Fix mute led of HP Laptop 15-da3001TU
  usb: dwc3: core: Prevent phy suspend during init
  usb: xhci-plat: Don't include xhci.h
  usb: gadget: f_fs: Fix a race condition when processing setup packets.
  usb: gadget: composite: fix OS descriptors w_value logic
  usb: ohci: Prevent missed ohci interrupts
  usb: Fix regression caused by invalid ep0 maxpacket in virtual SuperSpeed device
  usb: typec: ucsi: Fix connector check on init
  usb: typec: ucsi: Check for notifications after init
  arm64: dts: qcom: Fix 'interrupt-map' parent address cells
  firewire: nosy: ensure user_length is taken into account when fetching packet contents
  btrfs: fix kvcalloc() arguments order in btrfs_ioctl_send()
  net: hns3: use appropriate barrier function after setting a bit value
  ipv6: fib6_rules: avoid possible NULL dereference in fib6_rule_action()
  net: bridge: fix corrupted ethernet header on multicast-to-unicast
  kcov: Remove kcov include from sched.h and move it to its users.
  phonet: fix rtm_phonet_notify() skb allocation
  hwmon: (corsair-cpro) Protect ccp->wait_input_report with a spinlock
  hwmon: (corsair-cpro) Use complete_all() instead of complete() in ccp_raw_event()
  hwmon: (corsair-cpro) Use a separate buffer for sending commands
  rtnetlink: Correct nested IFLA_VF_VLAN_LIST attribute validation
  Bluetooth: l2cap: fix null-ptr-deref in l2cap_chan_timeout
  Bluetooth: Fix use-after-free bugs caused by sco_sock_timeout
  tcp: Use refcount_inc_not_zero() in tcp_twsk_unique().
  tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets
  xfrm: Preserve vlan tags for transport mode software GRO
  net:usb:qmi_wwan: support Rolling modules
  drm/nouveau/dp: Don't probe eDP ports twice harder
  fs/9p: drop inodes immediately on non-.L too
  clk: Don't hold prepare_lock when calling kref_put()
  gpio: crystalcove: Use -ENOTSUPP consistently
  gpio: wcove: Use -ENOTSUPP consistently
  9p: explicitly deny setlease attempts
  fs/9p: translate O_TRUNC into OTRUNC
  fs/9p: only translate RWX permissions for plain 9P2000
  selftests: timers: Fix valid-adjtimex signed left-shift undefined behavior
  MIPS: scall: Save thread_info.syscall unconditionally on entry
  gpu: host1x: Do not setup DMA for virtual devices
  blk-iocost: avoid out of bounds shift
  scsi: target: Fix SELinux error when systemd-modules loads the target module
  btrfs: always clear PERTRANS metadata during commit
  btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve
  tools/power turbostat: Fix Bzy_MHz documentation typo
  tools/power turbostat: Fix added raw MSR output
  firewire: ohci: mask bus reset interrupts between ISR and bottom half
  ata: sata_gemini: Check clk_enable() result
  net: bcmgenet: Reset RBUF on first open
  ALSA: line6: Zero-initialize message buffers
  btrfs: return accurate error code on open failure in open_fs_devices()
  scsi: bnx2fc: Remove spin_lock_bh while releasing resources after upload
  net: mark racy access on sk->sk_rcvbuf
  wifi: cfg80211: fix rdev_dump_mpp() arguments order
  wifi: mac80211: fix ieee80211_bss_*_flags kernel-doc
  gfs2: Fix invalid metadata access in punch_hole
  scsi: lpfc: Update lpfc_ramp_down_queue_handler() logic
  KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr()
  KVM: arm64: vgic-v2: Use cpuid from userspace as vcpu_id
  clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change
  net: gro: add flush check in udp_gro_receive_segment
  tipc: fix a possible memleak in tipc_buf_append
  net: core: reject skb_copy(_expand) for fraglist GSO skbs
  net: bridge: fix multicast-to-unicast with fraglist GSO
  net: dsa: mv88e6xxx: Fix number of databases for 88E6141 / 88E6341
  cxgb4: Properly lock TX queue for the selftest.
  ASoC: meson: cards: select SND_DYNAMIC_MINORS
  ASoC: Fix 7/8 spaces indentation in Kconfig
  net: qede: use return from qede_parse_actions()
  net: qede: use return from qede_parse_flow_attr() for flow_spec
  net: qede: use return from qede_parse_flow_attr() for flower
  net: qede: sanitize 'rc' in qede_add_tc_flower_fltr()
  s390/vdso: Add CFI for RA register to asm macro vdso_func
  net l2tp: drop flow hash on forward
  nsh: Restore skb->{protocol,data,mac_header} for outer header in nsh_gso_segment().
  octeontx2-af: avoid off-by-one read from userspace
  bna: ensure the copied buf is NUL terminated
  s390/mm: Fix clearing storage keys for huge pages
  s390/mm: Fix storage key clearing for guest huge pages
  regulator: mt6360: De-capitalize devicetree regulator subnodes
  pinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map()
  power: rt9455: hide unused rt9455_boost_voltage_values
  nfs: Handle error of rpc_proc_register() in nfs_net_init().
  nfs: make the rpc_stat per net namespace
  nfs: expose /proc/net/sunrpc/nfs in net namespaces
  sunrpc: add a struct rpc_stats arg to rpc_create_args
  pinctrl: mediatek: paris: Rework support for PIN_CONFIG_{INPUT,OUTPUT}_ENABLE
  pinctrl: mediatek: paris: Fix PIN_CONFIG_INPUT_SCHMITT_ENABLE readback
  pinctrl: mediatek: paris: Rework mtk_pinconf_{get,set} switch/case logic
  pinctrl: core: delete incorrect free in pinctrl_enable()
  pinctrl/meson: fix typo in PDM's pin name
  pinctrl: pinctrl-aspeed-g6: Fix register offset for pinconf of GPIOR-T
  eeprom: at24: fix memory corruption race condition
  eeprom: at24: Probe for DDR3 thermal sensor in the SPD case
  eeprom: at24: Use dev_err_probe for nvmem register failure
  wifi: nl80211: don't free NULL coalescing rule
  dmaengine: Revert "dmaengine: pl330: issue_pending waits until WFP state"
  dmaengine: pl330: issue_pending waits until WFP state
  Linux 5.10.216
  riscv: Disable STACKPROTECTOR_PER_TASK if GCC_PLUGIN_RANDSTRUCT is enabled
  serial: core: fix kernel-doc for uart_port_unlock_irqrestore()
  udp: preserve the connected status if only UDP cmsg
  bounds: Use the right number of bits for power-of-two CONFIG_NR_CPUS
  HID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up
  i2c: smbus: fix NULL function pointer dereference
  riscv: Fix TASK_SIZE on 64-bit NOMMU
  riscv: fix VMALLOC_START definition
  dma: xilinx_dpdma: Fix locking
  idma64: Don't try to serve interrupts when device is powered off
  dmaengine: owl: fix register access functions
  tcp: Fix NEW_SYN_RECV handling in inet_twsk_purge()
  tcp: Clean up kernel listener's reqsk in inet_twsk_purge()
  mtd: diskonchip: work around ubsan link failure
  stackdepot: respect __GFP_NOLOCKDEP allocation flag
  net: b44: set pause params only when interface is up
  ethernet: Add helper for assigning packet type when dest address does not match device address
  irqchip/gic-v3-its: Prevent double free on error
  drm/amdgpu: Fix leak when GPU memory allocation fails
  drm/amdgpu/sdma5.2: use legacy HDP flush for SDMA2/3
  arm64: dts: rockchip: enable internal pull-up for Q7_THRM# on RK3399 Puma
  cpu: Re-enable CPU mitigations by default for !X86 architectures
  btrfs: fix information leak in btrfs_ioctl_logical_to_ino()
  Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0bda:0x4853
  Bluetooth: Fix type of len in {l2cap,sco}_sock_getsockopt_old()
  PM / devfreq: Fix buffer overflow in trans_stat_show
  tracing: Increase PERF_MAX_TRACE_SIZE to handle Sentinel1 and docker together
  tracing: Show size of requested perf buffer
  net/mlx5e: Fix a race in command alloc flow
  Revert "crypto: api - Disallow identical driver names"
  serial: mxs-auart: add spinlock around changing cts state
  serial: core: Provide port lock wrappers
  af_unix: Suppress false-positive lockdep splat for spin_lock() in __unix_gc().
  net: ethernet: ti: am65-cpts: Fix PTPv1 message type on TX packets
  iavf: Fix TC config comparison with existing adapter TC config
  i40e: Report MFS in decimal base instead of hex
  i40e: Do not use WQ_MEM_RECLAIM flag for workqueue
  netfilter: nf_tables: honor table dormant flag from netdev release event path
  mlxsw: spectrum_acl_tcam: Fix memory leak when canceling rehash work
  mlxsw: spectrum_acl_tcam: Fix incorrect list API usage
  mlxsw: spectrum_acl_tcam: Fix warning during rehash
  mlxsw: spectrum_acl_tcam: Fix memory leak during rehash
  mlxsw: spectrum_acl_tcam: Rate limit error message
  mlxsw: spectrum_acl_tcam: Fix possible use-after-free during rehash
  mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity update
  mlxsw: spectrum_acl_tcam: Fix race during rehash delayed work
  net: openvswitch: Fix Use-After-Free in ovs_ct_exit
  ipvs: Fix checksumming on GSO of SCTP packets
  net: gtp: Fix Use-After-Free in gtp_dellink
  net: usb: ax88179_178a: stop lying about skb->truesize
  ipv4: check for NULL idev in ip_route_use_hint()
  NFC: trf7970a: disable all regulators on removal
  mlxsw: core: Unregister EMAD trap using FORWARD action
  vxlan: drop packets from invalid src-address
  wifi: iwlwifi: mvm: remove old PASN station when adding a new one
  ARC: [plat-hsdk]: Remove misplaced interrupt-cells property
  arm64: dts: mediatek: mt2712: fix validation errors
  arm64: dts: mediatek: mt7622: drop "reset-names" from thermal block
  arm64: dts: mediatek: mt7622: fix ethernet controller "compatible"
  arm64: dts: mediatek: mt7622: fix IR nodename
  arm64: dts: mediatek: mt7622: fix clock controllers
  arm64: dts: mediatek: mt7622: introduce nodes for Wireless Ethernet Dispatch
  arm64: dts: mediatek: mt7622: add support for coherent DMA
  arm64: dts: rockchip: Remove unsupported node from the Pinebook Pro dts
  arm64: dts: rockchip: enable internal pull-up on PCIE_WAKE# for RK3399 Puma
  arm64: dts: rockchip: fix alphabetical ordering RK3399 puma
  nilfs2: fix OOB in nilfs_set_de_type
  nouveau: fix instmem race condition around ptr stores
  drm/amdgpu: validate the parameters of bo mapping operations more clearly
  init/main.c: Fix potential static_command_line memory overflow
  fs: sysfs: Fix reference leak in sysfs_break_active_protection()
  speakup: Avoid crash on very long word
  mei: me: disable RPL-S on SPS and IGN firmwares
  usb: Disable USB3 LPM at shutdown
  usb: dwc2: host: Fix dereference issue in DDMA completion flow.
  Revert "usb: cdc-wdm: close race between read and workqueue"
  USB: serial: option: add Telit FN920C04 rmnet compositions
  USB: serial: option: add Rolling RW101-GL and RW135-GL support
  USB: serial: option: support Quectel EM060K sub-models
  USB: serial: option: add Lonsung U8300/U9300 product
  USB: serial: option: add support for Fibocom FM650/FG650
  USB: serial: option: add Fibocom FM135-GL variants
  serial/pmac_zilog: Remove flawed mitigation for rx irq flood
  comedi: vmk80xx: fix incomplete endpoint checking
  thunderbolt: Fix wake configurations after device unplug
  thunderbolt: Avoid notify PM core about runtime PM resume
  binder: check offset alignment in binder_get_object()
  x86/cpufeatures: Fix dependencies for GFNI, VAES, and VPCLMULQDQ
  clk: Get runtime PM before walking tree during disable_unused
  clk: Initialize struct clk_core kref earlier
  clk: Print an info line before disabling unused clocks
  clk: remove extra empty line
  clk: Mark 'all_lists' as const
  clk: Remove prepare_lock hold assertion in __clk_release()
  drm/panel: visionox-rm69299: don't unregister DSI device
  drm: nv04: Fix out of bounds access
  RDMA/mlx5: Fix port number for counter query in multi-port configuration
  RDMA/cm: Print the old state when cm_destroy_id gets timeout
  RDMA/rxe: Fix the problem "mutex_destroy missing"
  tun: limit printing rate when illegal packet received by tun dev
  netfilter: nft_set_pipapo: do not free live element
  netfilter: nf_tables: Fix potential data-race in __nft_expr_type_get()
  Revert "tracing/trigger: Fix to return error if failed to alloc snapshot"
  kprobes: Fix possible use-after-free issue on kprobe registration
  selftests/ftrace: Limit length in subsystem-enable tests
  riscv: process: Fix kernel gp leakage
  riscv: Enable per-task stack canaries
  btrfs: record delayed inode root in transaction
  irqflags: Explicitly ignore lockdep_hrtimer_exit() argument
  x86/apic: Force native_apic_mem_read() to use the MOV instruction
  selftests: timers: Fix abs() warning in posix_timers test
  x86/cpu: Actually turn off mitigations by default for SPECULATION_MITIGATIONS=n
  vhost: Add smp_rmb() in vhost_vq_avail_empty()
  drm/client: Fully protect modes[] with dev->mode_config.mutex
  btrfs: qgroup: correctly model root qgroup rsv in convert
  mailbox: imx: fix suspend failue
  iommu/vt-d: Allocate local memory for page request queue
  net: ena: Fix incorrect descriptor free behavior
  net: ena: Wrong missing IO completions check order
  net: ena: Fix potential sign extension issue
  af_unix: Fix garbage collector racing against connect()
  af_unix: Do not use atomic ops for unix_sk(sk)->inflight.
  net/mlx5: Properly link new fs rules into the tree
  netfilter: complete validation of user input
  Bluetooth: SCO: Fix not validating setsockopt user input
  ipv6: fix race condition between ipv6_get_ifaddr and ipv6_del_addr
  ipv4/route: avoid unused-but-set-variable warning
  ipv6: fib: hide unused 'pn' variable
  octeontx2-af: Fix NIX SQ mode and BP config
  geneve: fix header validation in geneve[6]_xmit_skb
  xsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING
  u64_stats: fix u64_stats_init() for lockdep when used repeatedly in one file
  net: openvswitch: fix unwanted error log on timeout policy probing
  nouveau: fix function cast warning
  media: cec: core: remove length check of Timer Status
  Bluetooth: Fix memory leak in hci_req_sync_complete()
  batman-adv: Avoid infinite loop trying to resize local TT
  Linux 5.10.215
  x86/head/64: Re-enable stack protection
  x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk
  scsi: sd: Fix wrong zone_write_granularity value during revalidate
  kbuild: dummy-tools: adjust to stricter stackprotector check
  VMCI: Fix possible memcpy() run-time warning in vmci_datagram_invoke_guest_handler()
  Bluetooth: btintel: Fixe build regression
  drm/i915/gt: Reset queue_priority_hint on parking
  x86/mm/pat: fix VM_PAT handling in COW mappings
  virtio: reenable config if freezing device failed
  tty: n_gsm: require CAP_NET_ADMIN to attach N_GSM0710 ldisc
  netfilter: nf_tables: discard table flag update with pending basechain deletion
  netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path
  netfilter: nf_tables: release batch on table validation from abort path
  fbmon: prevent division by zero in fb_videomode_from_videomode()
  drivers/nvme: Add quirks for device 126f:2262
  fbdev: viafb: fix typo in hw_bitblt_1 and hw_bitblt_2
  usb: sl811-hcd: only defined function checkdone if QUIRK2 is defined
  usb: typec: tcpci: add generic tcpci fallback compatible
  tools: iio: replace seekdir() in iio_generic_buffer
  ring-buffer: use READ_ONCE() to read cpu_buffer->commit_page in concurrent environment
  ktest: force $buildonly = 1 for 'make_warnings_file' test type
  platform/x86: touchscreen_dmi: Add an extra entry for a variant of the Chuwi Vi8 tablet
  Input: allocate keycode for Display refresh rate toggle
  RDMA/cm: add timeout to cm_destroy_id wait
  block: prevent division by zero in blk_rq_stat_sum()
  libperf evlist: Avoid out-of-bounds access
  Revert "ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default"
  SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int
  drm/amd/display: Fix nanosec stat overflow
  ext4: forbid commit inconsistent quota data when errors=remount-ro
  ext4: add a hint for block bitmap corrupt state in mb_groups
  media: sta2x11: fix irq handler cast
  isofs: handle CDs with bad root inode but good Joliet root directory
  scsi: lpfc: Fix possible memory leak in lpfc_rcv_padisc()
  sysv: don't call sb_bread() with pointers_lock held
  pinctrl: renesas: checker: Limit cfg reg enum checks to provided IDs
  Input: synaptics-rmi4 - fail probing if memory allocation for "phys" fails
  Bluetooth: btintel: Fix null ptr deref in btintel_read_version
  net/smc: reduce rtnl pressure in smc_pnet_create_pnetids_list()
  btrfs: send: handle path ref underflow in header iterate_inode_ref()
  btrfs: export: handle invalid inode or root reference in btrfs_get_parent()
  btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks()
  tools/power x86_energy_perf_policy: Fix file leak in get_pkg_num()
  pstore/zone: Add a null pointer check to the psz_kmsg_read
  ionic: set adminq irq affinity
  arm64: dts: rockchip: fix rk3399 hdmi ports node
  arm64: dts: rockchip: fix rk3328 hdmi ports node
  panic: Flush kernel log buffer at the end
  VMCI: Fix memcpy() run-time warning in dg_dispatch_as_host()
  wifi: ath9k: fix LNA selection in ath_ant_try_scan()
  objtool: Add asm version of STACK_FRAME_NON_STANDARD
  x86/cpufeatures: Add CPUID_LNX_5 to track recently added Linux-defined word
  mptcp: don't account accept() of non-MPC client as fallback to TCP
  x86/retpoline: Do the necessary fixup to the Zen3/4 srso return thunk for !SRSO
  x86/bugs: Fix the SRSO mitigation on Zen3/4
  riscv: Fix spurious errors from __get/put_kernel_nofault
  s390/entry: align system call table on 8 bytes
  x86/mce: Make sure to grab mce_sysfs_mutex in set_bank()
  of: dynamic: Synchronize of_changeset_destroy() with the devlink removals
  driver core: Introduce device_link_wait_removal()
  ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone
  ata: sata_mv: Fix PCI device ID table declaration compilation warning
  scsi: mylex: Fix sysfs buffer lengths
  ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit
  ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw
  arm64: dts: qcom: sc7180-trogdor: mark bluetooth address as broken
  arm64: dts: qcom: sc7180: Remove clock for bluetooth on Trogdor
  net: ravb: Always process TX descriptor ring
  udp: do not accept non-tunnel GSO skbs landing in a tunnel
  Revert "usb: phy: generic: Get the vbus supply"
  scsi: qla2xxx: Update manufacturer detail
  scsi: qla2xxx: Update manufacturer details
  i40e: fix vf may be used uninitialized in this function warning
  i40e: fix i40e_count_filters() to count only active/new filters
  octeontx2-pf: check negative error code in otx2_open()
  udp: do not transition UDP GRO fraglist partial checksums to unnecessary
  ipv6: Fix infinite recursion in fib6_dump_done().
  selftests: reuseaddr_conflict: add missing new line at the end of the output
  erspan: make sure erspan_base_hdr is present in skb->head
  net: stmmac: fix rx queue priority assignment
  net/sched: act_skbmod: prevent kernel-infoleak
  bpf, sockmap: Prevent lock inversion deadlock in map delete elem
  vboxsf: Avoid an spurious warning if load_nls_xxx() fails
  netfilter: validate user input for expected length
  netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get()
  netfilter: nf_tables: flush pending destroy work before exit_net release
  netfilter: nf_tables: reject new basechain after table flag update
  block: add check that partition length needs to be aligned with block size
  x86/srso: Add SRSO mitigation for Hygon processors
  mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_MAYFAIL allocations
  Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped."
  io_uring: ensure '0' is returned on file registration success
  vfio/fsl-mc: Block calling interrupt handler without trigger
  vfio/platform: Create persistent IRQ handlers
  vfio/pci: Create persistent INTx handler
  vfio: Introduce interface to flush virqfd inject workqueue
  vfio/pci: Lock external INTx masking ops
  vfio/pci: Disable auto-enable of exclusive INTx IRQ
  net/rds: fix possible cp null dereference
  netfilter: nf_tables: disallow timeout for anonymous sets
  Bluetooth: Fix TOCTOU in HCI debugfs implementation
  Bluetooth: hci_event: set the conn encrypted before conn establishes
  x86/cpufeatures: Add new word for scattered features
  r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d
  dm integrity: fix out-of-range warning
  Octeontx2-af: fix pause frame configuration in GMP mode
  bpf: Protect against int overflow for stack access size
  ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields()
  tcp: properly terminate timers for kernel sockets
  ixgbe: avoid sleeping allocation in ixgbe_ipsec_vf_add_sa()
  nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet
  USB: core: Fix deadlock in usb_deauthorize_interface()
  scsi: lpfc: Correct size for wqe for memset()
  PCI/DPC: Quirk PIO log size for Intel Ice Lake Root Ports
  x86/cpu: Enable STIBP on AMD if Automatic IBRS is enabled
  scsi: qla2xxx: Delay I/O Abort on PCI error
  scsi: qla2xxx: Fix command flush on cable pull
  scsi: qla2xxx: Split FCE|EFT trace control
  usb: typec: ucsi: Clear UCSI_CCI_RESET_COMPLETE before reset
  usb: typec: ucsi: Ack unsupported commands
  usb: udc: remove warning when queue disabled ep
  usb: dwc2: gadget: LPM flow fix
  usb: dwc2: host: Fix ISOC flow in DDMA mode
  usb: dwc2: host: Fix hibernation flow
  usb: dwc2: host: Fix remote wakeup from hibernation
  USB: core: Add hub_get() and hub_put() routines
  staging: vc04_services: fix information leak in create_component()
  staging: vc04_services: changen strncpy() to strscpy_pad()
  scsi: core: Fix unremoved procfs host directory regression
  ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs
  usb: cdc-wdm: close race between read and workqueue
  net: ll_temac: platform_get_resource replaced by wrong function
  mmc: core: Avoid negative index with array access
  mmc: core: Initialize mmc_blk_ioc_data
  hexagon: vmlinux.lds.S: handle attributes section
  exec: Fix NOMMU linux_binprm::exec in transfer_args_to_stack()
  wifi: mac80211: check/clear fast rx for non-4addr sta VLAN changes
  init: open /initrd.image with O_LARGEFILE
  mm/migrate: set swap entry values of THP tail pages properly.
  mm/memory-failure: fix an incorrect use of tail pages
  serial: sc16is7xx: convert from _raw_ to _noinc_ regmap functions for FIFO
  powerpc: xor_vmx: Add '-mhard-float' to CFLAGS
  efivarfs: Request at most 512 bytes for variable names
  perf/core: Fix reentry problem in perf_output_read_group()
  KVM/x86: Export RFDS_NO and RFDS_CLEAR to guests
  x86/rfds: Mitigate Register File Data Sampling (RFDS)
  Documentation/hw-vuln: Add documentation for RFDS
  x86/mmio: Disable KVM mitigation when X86_FEATURE_CLEAR_CPU_BUF is set
  KVM/VMX: Move VERW closer to VMentry for MDS mitigation
  KVM/VMX: Use BT+JNC, i.e. EFLAGS.CF to select VMRESUME vs. VMLAUNCH
  x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key
  x86/entry_32: Add VERW just before userspace transition
  x86/entry_64: Add VERW just before userspace transition
  x86/bugs: Add asm helpers for executing VERW
  x86/asm: Add _ASM_RIP() macro for x86-64 (%rip) suffix
  btrfs: allocate btrfs_ioctl_defrag_range_args on stack
  printk: Update @console_may_schedule in console_trylock_spinning()
  xen/events: close evtchn after mapping cleanup
  tee: optee: Fix kernel panic caused by incorrect error handling
  fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion
  vt: fix unicode buffer corruption when deleting characters
  mei: me: add arrow lake point H DID
  mei: me: add arrow lake point S DID
  tty: serial: fsl_lpuart: avoid idle preamble pending if CTS is enabled
  usb: port: Don't try to peer unused USB ports based on location
  usb: gadget: ncm: Fix handling of zero block length packets
  USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command
  ALSA: hda/realtek - Fix headset Mic no show at resume back for Lenovo ALC897 platform
  KVM: SVM: Flush pages under kvm->lock to fix UAF in svm_register_enc_region()
  xfrm: Avoid clang fortify warning in copy_to_user_tmpl()
  Drivers: hv: vmbus: Calculate ring buffer size for more efficient use of memory
  netfilter: nf_tables: reject constant set with timeout
  netfilter: nf_tables: disallow anonymous set with timeout flag
  netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout
  cpufreq: brcmstb-avs-cpufreq: fix up "add check for cpufreq_cpu_get's return value"
  comedi: comedi_test: Prevent timers rescheduling during deletion
  scripts: kernel-doc: Fix syntax error due to undeclared args variable
  x86/pm: Work around false positive kmemleak report in msr_build_context()
  x86/stackprotector/32: Make the canary into a regular percpu variable
  vxge: remove unnecessary cast in kfree()
  dm snapshot: fix lockup in dm_exception_table_exit
  drm/amd/display: Fix noise issue on HDMI AV mute
  drm/amd/display: Return the correct HDCP error code
  ahci: asm1064: asm1166: don't limit reported ports
  ahci: asm1064: correct count of reported ports
  wireguard: netlink: access device through ctx instead of peer
  wireguard: netlink: check for dangling peer via is_dead instead of empty list
  net: hns3: tracing: fix hclgevf trace event strings
  x86/CPU/AMD: Update the Zenbleed microcode revisions
  cpufreq: dt: always allocate zeroed cpumask
  nilfs2: prevent kernel bug at submit_bh_wbc()
  nilfs2: fix failure to detect DAT corruption in btree and direct mappings
  memtest: use {READ,WRITE}_ONCE in memory scanning
  drm/vc4: hdmi: do not return negative values from .get_modes()
  drm/imx/ipuv3: do not return negative values from .get_modes()
  drm/exynos: do not return negative values from .get_modes()
  drm/panel: do not return negative error codes from drm_panel_get_modes()
  s390/zcrypt: fix reference counting on zcrypt card objects
  soc: fsl: qbman: Use raw spinlock for cgr_lock
  soc: fsl: qbman: Add CGR update function
  soc: fsl: qbman: Add helper for sanity checking cgr ops
  soc: fsl: qbman: Always disable interrupts when taking cgr_lock
  ring-buffer: Fix full_waiters_pending in poll
  ring-buffer: Fix resetting of shortest_full
  ring-buffer: Do not set shortest_full when full target is hit
  ring-buffer: Fix waking up ring buffer readers
  vfio/platform: Disable virqfds on cleanup
  PCI: dwc: endpoint: Fix advertised resizable BAR size
  kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1
  nfs: fix UAF in direct writes
  PCI/AER: Block runtime suspend when handling errors
  PCI/ERR: Clear AER status only when we control AER
  speakup: Fix 8bit characters from direct synth
  usb: gadget: tegra-xudc: Fix USB3 PHY retrieval logic
  usb: gadget: tegra-xudc: Use dev_err_probe()
  phy: tegra: xusb: Add API to retrieve the port number of phy
  slimbus: core: Remove usage of the deprecated ida_simple_xx() API
  nvmem: meson-efuse: fix function pointer type mismatch
  ext4: fix corruption during on-line resize
  hwmon: (amc6821) add of_match table
  drm/etnaviv: Restore some id values
  mmc: core: Fix switch on gp3 partition
  mm: swap: fix race between free_swap_and_cache() and swapoff()
  mac802154: fix llsec key resources release in mac802154_llsec_key_del
  dm-raid: fix lockdep waring in "pers->hot_add_disk"
  Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d""
  PCI/DPC: Quirk PIO log size for Intel Raptor Lake Root Ports
  PCI/DPC: Quirk PIO log size for certain Intel Root Ports
  PCI/ASPM: Make Intel DG2 L1 acceptable latency unlimited
  PCI: Work around Intel I210 ROM BAR overlap defect
  PCI: Cache PCIe Device Capabilities register
  PCI/ERR: Cache RCEC EA Capability offset in pci_init_capabilities()
  PCI/PM: Drain runtime-idle callbacks before driver removal
  PCI: Drop pci_device_remove() test of pci_dev->driver
  btrfs: fix off-by-one chunk length calculation at contains_pending_extent()
  serial: Lock console when calling into driver before registration
  printk/console: Split out code that enables default console
  usb: typec: ucsi: Clean up UCSI_CABLE_PROP macros
  fuse: don't unhash root
  fuse: fix root lookup with nonzero generation
  mmc: tmio: avoid concurrent runs of mmc_request_done()
  PM: sleep: wakeirq: fix wake irq warning in system suspend
  USB: serial: cp210x: add pid/vid for TDK NC0110013M and MM0110113M
  USB: serial: option: add MeiG Smart SLM320 product
  USB: serial: cp210x: add ID for MGP Instruments PDS100
  USB: serial: add device ID for VeriFone adapter
  USB: serial: ftdi_sio: add support for GMC Z216C Adapter IR-USB
  powerpc/fsl: Fix mfpmr build errors with newer binutils
  clk: qcom: mmcc-msm8974: fix terminating of frequency table arrays
  clk: qcom: mmcc-apq8084: fix terminating of frequency table arrays
  clk: qcom: gcc-ipq8074: fix terminating of frequency table arrays
  clk: qcom: gcc-ipq6018: fix terminating of frequency table arrays
  PM: suspend: Set mem_sleep_current during kernel command line setup
  parisc: Strip upper 32 bit of sum in csum_ipv6_magic for 64-bit builds
  parisc: Fix csum_ipv6_magic on 64-bit systems
  parisc: Fix csum_ipv6_magic on 32-bit systems
  parisc: Fix ip_fast_csum
  parisc: Avoid clobbering the C/B bits in the PSW with tophys and tovirt macros
  mtd: rawnand: meson: fix scrambling mode value in command macro
  ubi: correct the calculation of fastmap size
  ubi: Check for too small LEB size in VTBL code
  ubifs: Set page uptodate in the correct place
  fat: fix uninitialized field in nostale filehandles
  bounds: support non-power-of-two CONFIG_NR_CPUS
  block: Clear zone limits for a non-zoned stacked queue
  block: introduce zone_write_granularity limit
  ext4: correct best extent lstart adjustment logic
  selftests/mqueue: Set timeout to 180 seconds
  crypto: qat - resolve race condition during AER recovery
  crypto: qat - fix double free during reset
  sparc: vDSO: fix return value of __setup handler
  sparc64: NMI watchdog: fix return value of __setup handler
  KVM: Always flush async #PF workqueue when vCPU is being destroyed
  media: xc4000: Fix atomicity violation in xc4000_get_frequency
  serial: max310x: fix NULL pointer dereference in I2C instantiation
  drm/vmwgfx: Fix possible null pointer derefence with invalid contexts
  drm/vmwgfx: Fix some static checker warnings
  drm/vmwgfx/vmwgfx_cmdbuf_res: Remove unused variable 'ret'
  drm/vmwgfx: switch over to the new pin interface v2
  drm/vmwgfx: stop using ttm_bo_create v2
  arm: dts: marvell: Fix maxium->maxim typo in brownstone dts
  smack: Handle SMACK64TRANSMUTE in smack_inode_setsecurity()
  smack: Set SMACK64TRANSMUTE only for dirs in smack_inode_setxattr()
  clk: qcom: gcc-sdm845: Add soft dependency on rpmhpd
  media: staging: ipu3-imgu: Set fields before media_entity_pads_init()
  wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach
  timers: Rename del_timer_sync() to timer_delete_sync()
  timers: Use del_timer_sync() even on UP
  timers: Update kernel-doc for various functions
  x86/bugs: Use sysfs_emit()
  x86/cpu: Support AMD Automatic IBRS
  Documentation/hw-vuln: Update spectre doc
  amdkfd: use calloc instead of kzalloc to avoid integer overflow

Change-Id: I7279a2f07527db00e298b47f8f8f44c457fa2ef6
2024-08-15 22:14:09 +03:00
Ashay Jaiswal
1abcb65dc8 sched: walt: uclamp based frequency guidance
Add support of frequency guidance at every enqueue
and dequeue for uclamp constrained runqueues.

Change-Id: I2535a4327cb602859f51808ae9a2583624f1b2ab
Signed-off-by: Ashay Jaiswal <quic_ashayj@quicinc.com>
2024-08-15 19:10:34 +05:30
Greg Kroah-Hartman
8c417688f0 This is the 5.10.223 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmaksnwACgkQONu9yGCS
 aT4PcQ//fATT8wjblT5zZ2dKy/LsTD8xKD8YfNKJDYvuYIMtli1hXmpQeeY237yt
 d/zepYo4pN6onVa00S0gob2TUeR+Zz1/o++blIGsHzU26wme6hkSyvrFys88dR+h
 BDTscrW9Q5ApFg7pJxvqkj+kpirqskXVXS1g2b7OA/8JY1hmDX6X9vxlwXJTaam2
 wjUv+xblOAptmuTmZWxvgiezqJ6nwU8085+F60TOhDdOjx5MAmDbdVqDv2hXQE/U
 VIjZqhUFXxomckwjaN9B2lAFYWxT30aR9+OKUzuck3eLEe4xrcohv6NdZ88obHRM
 8YWqjjubYhpkfnQ+AsCTPFFNeK3NbnhDADwLIazPdyNUnd76HhVfs/yZOuE/hWPi
 mLz7o+UUBwdmR13qJzYwAgN/ddLZV4VGCmRma3XneSwOAQhEkHomlSjplOc7GafG
 QgKTxM7tmbcdM/NTH6Am+Bc3y9nI2NkjgV5fafant6xj++n7HDAI07UK5L/vUMcF
 QxA/jn74MB9YG71BKXRT6xfVRhUGLQ/OMXBxdyUvUOFCa7nggYm7qCI+S5KdUz50
 UP7KPmBBntsd6Mr06QaH+fgXszjZSSHXhHgeL5QRFZDUVvOWK66XS5S3Z+Ll3xgc
 /26iJ1qYuGFj4k34ab6lM3q2ZuHAT1jS5URY6uVwxWN2BJDvGDQ=
 =7Kf2
 -----END PGP SIGNATURE-----

Merge 5.10.223 into android12-5.10-lts

Changes in 5.10.223
	gcc-plugins: Rename last_stmt() for GCC 14+
	filelock: Remove locks reliably when fcntl/close race is detected
	scsi: qedf: Set qed_slowpath_params to zero before use
	ACPI: EC: Abort address space access upon error
	ACPI: EC: Avoid returning AE_OK on errors in address space handler
	wifi: mac80211: mesh: init nonpeer_pm to active by default in mesh sdata
	wifi: mac80211: fix UBSAN noise in ieee80211_prep_hw_scan()
	selftests/openat2: Fix build warnings on ppc64
	Input: silead - Always support 10 fingers
	net: ipv6: rpl_iptunnel: block BH in rpl_output() and rpl_input()
	ila: block BH in ila_output()
	arm64: armv8_deprecated: Fix warning in isndep cpuhp starting process
	null_blk: fix validation of block size
	kconfig: gconf: give a proper initial state to the Save button
	kconfig: remove wrong expr_trans_bool()
	fs/file: fix the check in find_next_fd()
	mei: demote client disconnect warning on suspend to debug
	wifi: cfg80211: wext: add extra SIOCSIWSCAN data check
	KVM: PPC: Book3S HV: Prevent UAF in kvm_spapr_tce_attach_iommu_group()
	ALSA: hda/realtek: Add more codec ID to no shutup pins list
	mips: fix compat_sys_lseek syscall
	Input: elantech - fix touchpad state on resume for Lenovo N24
	Input: i8042 - add Ayaneo Kun to i8042 quirk table
	bytcr_rt5640 : inverse jack detect for Archos 101 cesium
	ALSA: dmaengine: Synchronize dma channel after drop()
	ASoC: ti: davinci-mcasp: Set min period size using FIFO config
	ASoC: ti: omap-hdmi: Fix too long driver name
	can: kvaser_usb: fix return value for hif_usb_send_regout
	s390/sclp: Fix sclp_init() cleanup on failure
	btrfs: qgroup: fix quota root leak after quota disable failure
	ALSA: hda/relatek: Enable Mute LED on HP Laptop 15-gw0xxx
	ALSA: dmaengine_pcm: terminate dmaengine before synchronize
	net: usb: qmi_wwan: add Telit FN912 compositions
	net: mac802154: Fix racy device stats updates by DEV_STATS_INC() and DEV_STATS_ADD()
	powerpc/pseries: Whitelist dtl slub object for copying to userspace
	powerpc/eeh: avoid possible crash when edev->pdev changes
	scsi: libsas: Fix exp-attached device scan after probe failure scanned in again after probe failed
	Bluetooth: hci_core: cancel all works upon hci_unregister_dev()
	fs: better handle deep ancestor chains in is_subdir()
	spi: imx: Don't expect DMA for i.MX{25,35,50,51,53} cspi devices
	selftests/vDSO: fix clang build errors and warnings
	hfsplus: fix uninit-value in copy_name
	spi: mux: set ctlr->bits_per_word_mask
	ARM: 9324/1: fix get_user() broken with veneer
	ACPI: processor_idle: Fix invalid comparison with insertion sort for latency
	bpf: Fix overrunning reservations in ringbuf
	bpf, skmsg: Fix NULL pointer dereference in sk_psock_skb_ingress_enqueue
	scsi: core: Fix a use-after-free
	ext4: fix error code saved on super block during file system abort
	ext4: Send notifications on error
	drm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq()
	net: relax socket state check at accept time.
	ocfs2: add bounds checking to ocfs2_check_dir_entry()
	jfs: don't walk off the end of ealist
	ALSA: hda/realtek: Enable headset mic on Positivo SU C1400
	ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360
	arm64: dts: qcom: msm8996: Disable SS instance in Parkmode for USB
	ALSA: pcm_dmaengine: Don't synchronize DMA channel when DMA is paused
	filelock: Fix fcntl/close race recovery compat path
	tun: add missing verification for short frame
	tap: add missing verification for short frame
	Linux 5.10.223

Change-Id: I588f4e47f0b1d442e0bf6d14ac923105e2e1909c
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-08-12 08:25:20 +00:00
Daniel Borkmann
be35504b95 bpf: Fix overrunning reservations in ringbuf
commit cfa1a2329a691ffd991fcf7248a57d752e712881 upstream.

The BPF ring buffer internally is implemented as a power-of-2 sized circular
buffer, with two logical and ever-increasing counters: consumer_pos is the
consumer counter to show which logical position the consumer consumed the
data, and producer_pos which is the producer counter denoting the amount of
data reserved by all producers.

Each time a record is reserved, the producer that "owns" the record will
successfully advance producer counter. In user space each time a record is
read, the consumer of the data advanced the consumer counter once it finished
processing. Both counters are stored in separate pages so that from user
space, the producer counter is read-only and the consumer counter is read-write.

One aspect that simplifies and thus speeds up the implementation of both
producers and consumers is how the data area is mapped twice contiguously
back-to-back in the virtual memory, allowing to not take any special measures
for samples that have to wrap around at the end of the circular buffer data
area, because the next page after the last data page would be first data page
again, and thus the sample will still appear completely contiguous in virtual
memory.

Each record has a struct bpf_ringbuf_hdr { u32 len; u32 pg_off; } header for
book-keeping the length and offset, and is inaccessible to the BPF program.
Helpers like bpf_ringbuf_reserve() return `(void *)hdr + BPF_RINGBUF_HDR_SZ`
for the BPF program to use. Bing-Jhong and Muhammad reported that it is however
possible to make a second allocated memory chunk overlapping with the first
chunk and as a result, the BPF program is now able to edit first chunk's
header.

For example, consider the creation of a BPF_MAP_TYPE_RINGBUF map with size
of 0x4000. Next, the consumer_pos is modified to 0x3000 /before/ a call to
bpf_ringbuf_reserve() is made. This will allocate a chunk A, which is in
[0x0,0x3008], and the BPF program is able to edit [0x8,0x3008]. Now, lets
allocate a chunk B with size 0x3000. This will succeed because consumer_pos
was edited ahead of time to pass the `new_prod_pos - cons_pos > rb->mask`
check. Chunk B will be in range [0x3008,0x6010], and the BPF program is able
to edit [0x3010,0x6010]. Due to the ring buffer memory layout mentioned
earlier, the ranges [0x0,0x4000] and [0x4000,0x8000] point to the same data
pages. This means that chunk B at [0x4000,0x4008] is chunk A's header.
bpf_ringbuf_submit() / bpf_ringbuf_discard() use the header's pg_off to then
locate the bpf_ringbuf itself via bpf_ringbuf_restore_from_rec(). Once chunk
B modified chunk A's header, then bpf_ringbuf_commit() refers to the wrong
page and could cause a crash.

Fix it by calculating the oldest pending_pos and check whether the range
from the oldest outstanding record to the newest would span beyond the ring
buffer size. If that is the case, then reject the request. We've tested with
the ring buffer benchmark in BPF selftests (./benchs/run_bench_ringbufs.sh)
before/after the fix and while it seems a bit slower on some benchmarks, it
is still not significantly enough to matter.

Fixes: 457f44363a ("bpf: Implement BPF ring buffer and verifier support for it")
Reported-by: Bing-Jhong Billy Jheng <billy@starlabs.sg>
Reported-by: Muhammad Ramdhan <ramdhan@starlabs.sg>
Co-developed-by: Bing-Jhong Billy Jheng <billy@starlabs.sg>
Co-developed-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Bing-Jhong Billy Jheng <billy@starlabs.sg>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20240621140828.18238-1-daniel@iogearbox.net
Signed-off-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-27 10:40:22 +02:00
Greg Kroah-Hartman
7541015675 ANDROID: GKI: remove export of tracing control functions
Android GKI kernel modules should NOT have the ability to control the
system-wide tracing functionality, nor query to determine if it is on or
not.  So remove the exports of these functions.

Upstream does not wish to do this, so an Android-only change is
required.  See the bug id for details.

Bug: 355584612
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I50f69cd9930ddc6b876c5c1dd86f51cfb2ee1bac
2024-07-26 08:54:19 +00:00
Jens Reidel
3d6f8a6ec1
Merge tag 'ASB-2024-07-05_12-5.10' of https://android.googlesource.com/kernel/common into android13-5.10-waipio
https://source.android.com/docs/security/bulletin/2024-07-01
CVE-2024-26923

* tag 'ASB-2024-07-05_12-5.10' of https://android.googlesource.com/kernel/common:
  FROMLIST: binder_alloc: Replace kcalloc with kvcalloc to mitigate OOM issues
  ANDROID: fix kernelci build breaks due to hid/uhid cyclic dependency
  UPSTREAM: af_unix: Fix garbage collector racing against connect()
  ANDROID: uid_sys_stats: Use llist for deferred work
  ANDROID: uid_sys_stats: Use a single work for deferred updates
  ANDROID: GKI: Add new ABI symbol list
  ANDROID: 16K: Only check basename of linker context
  UPSTREAM: af_unix: Do not use atomic ops for unix_sk(sk)->inflight.
  ANDROID: cpufreq: brcmstb-avs-cpufreq: fix build error
  Revert "remoteproc: Add new get_loaded_rsc_table() to rproc_ops"
  Revert "remoteproc: stm32: Move resource table setup to rproc_ops"
  Revert "remoteproc: stm32: Fix incorrect type assignment returned by stm32_rproc_get_loaded_rsc_tablef"
  Revert "remoteproc: stm32: fix phys_addr_t format string"
  Revert "remoteproc: stm32: use correct format strings on 64-bit"
  Revert "remoteproc: stm32: Fix incorrect type in assignment for va"
  Revert "block: add a new set_read_only method"
  Revert "md: implement ->set_read_only to hook into BLKROSET processing"
  Revert "md: Don't clear MD_CLOSING when the raid is about to stop"
  Revert "bpf: Defer the free of inner map when necessary"
  Revert "net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv()"
  Revert "regmap: allow to define reg_update_bits for no bus configuration"
  Revert "regmap: Add bulk read/write callbacks into regmap_config"
  Revert "serial: max310x: make accessing revision id interface-agnostic"
  Revert "serial: max310x: implement I2C support"
  Revert "serial: max310x: fix IO data corruption in batched operations"
  Revert "geneve: make sure to pull inner header in geneve_rx()"
  Revert "mptcp: fix lockless access in subflow ULP diag"
  Revert "net: dev: Convert sa_data to flexible array in struct sockaddr"
  Revert "arp: Prevent overflow in arp_req_get()."
  Revert "usb: roles: fix NULL pointer issue when put module's reference"
  Revert "usb: roles: don't get/set_role() when usb_role_switch is unregistered"
  Linux 5.10.214
  remoteproc: stm32: fix phys_addr_t format string
  regmap: Add missing map->bus check
  spi: spi-mt65xx: Fix NULL pointer access in interrupt handler
  bpf: report RCU QS in cpumap kthread
  rcu: add a helper to report consolidated flavor QS
  netfilter: nf_tables: do not compare internal table flags on updates
  ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add regulator nodes vcc-dram and vcc1v2
  scsi: fc: Update formal FPIN descriptor definitions
  netfilter: nft_set_pipapo: release elements in clone only from destroy path
  octeontx2-af: Use separate handlers for interrupts
  net/bnx2x: Prevent access to a freed page in page_pool
  hsr: Handle failures in module init
  rds: introduce acquire/release ordering in acquire/release_in_xmit()
  wireguard: receive: annotate data-race around receiving_counter.counter
  net: dsa: mt7530: prevent possible incorrect XTAL frequency selection
  packet: annotate data-races around ignore_outgoing
  hsr: Fix uninit-value access in hsr_get_node()
  soc: fsl: dpio: fix kcalloc() argument order
  s390/vtime: fix average steal time calculation
  octeontx2-af: Use matching wake_up API variant in CGX command interface
  io_uring: don't save/restore iowait state
  usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin
  staging: greybus: fix get_channel_from_mode() failure path
  serial: 8250_exar: Don't remove GPIO device on suspend
  rtc: mt6397: select IRQ_DOMAIN instead of depending on it
  kconfig: fix infinite loop when expanding a macro at the end of file
  tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT
  serial: max310x: fix syntax error in IRQ error message
  tty: vt: fix 20 vs 0x20 typo in EScsiignore
  remoteproc: stm32: Fix incorrect type assignment returned by stm32_rproc_get_loaded_rsc_tablef
  remoteproc: stm32: Fix incorrect type in assignment for va
  remoteproc: stm32: use correct format strings on 64-bit
  remoteproc: stm32: Move resource table setup to rproc_ops
  remoteproc: Add new get_loaded_rsc_table() to rproc_ops
  remoteproc: stm32: Constify st_rproc_ops
  afs: Revert "afs: Hide silly-rename files from userspace"
  NFS: Fix an off by one in root_nfs_cat()
  watchdog: stm32_iwdg: initialize default timeout
  NFSv4.2: fix listxattr maximum XDR buffer size
  NFSv4.2: fix nfs4_listxattr kernel BUG at mm/usercopy.c:102
  net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr()
  scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn
  RDMA/device: Fix a race between mad_client and cm_client init
  scsi: csiostor: Avoid function pointer casts
  f2fs: compress: fix to check unreleased compressed cluster
  RDMA/srpt: Do not register event handler until srpt device is fully setup
  ALSA: usb-audio: Stop parsing channels bits when all channels are found.
  ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops
  clk: Fix clk_core_get NULL dereference
  sparc32: Fix section mismatch in leon_pci_grpci
  backlight: lp8788: Fully initialize backlight_properties during probe
  backlight: lm3639: Fully initialize backlight_properties during probe
  backlight: da9052: Fully initialize backlight_properties during probe
  backlight: lm3630a: Don't set bl->props.brightness in get_brightness
  backlight: lm3630a: Initialize backlight_properties on init
  leds: sgm3140: Add missing timer cleanup and flash gpio control
  leds: aw2013: Unlock mutex before destroying it
  powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc.
  drm/msm/dpu: add division of drm_display_mode's hskew parameter
  powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks
  drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip
  media: mediatek: vcodec: avoid -Wcast-function-type-strict warning
  media: ttpci: fix two memleaks in budget_av_attach
  media: go7007: fix a memleak in go7007_load_encoder
  media: dvb-frontends: avoid stack overflow warnings with clang
  media: pvrusb2: fix uaf in pvr2_context_set_notify
  drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int()
  ASoC: meson: axg-tdm-interface: add frame rate constraint
  ASoC: meson: axg-tdm-interface: fix mclk setup without mclk-fs
  mtd: rawnand: lpc32xx_mlc: fix irq handler prototype
  mtd: maps: physmap-core: fix flash size larger than 32-bit
  drm/tidss: Fix initial plane zpos values
  crypto: arm/sha - fix function cast warnings
  mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref
  mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref
  drm/tegra: put drm_gem_object ref on error in tegra_fb_create
  clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister()
  PCI: Mark 3ware-9650SE Root Port Extended Tags as broken
  drm/mediatek: dsi: Fix DSI RGB666 formats and definitions
  clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times
  media: pvrusb2: fix pvr2_stream_callback casts
  media: pvrusb2: remove redundant NULL check
  media: go7007: add check of return value of go7007_read_addr()
  media: imx: csc/scaler: fix v4l2_ctrl_handler memory leak
  media: sun8i-di: Fix chroma difference threshold
  media: sun8i-di: Fix power on/off sequences
  media: sun8i-di: Fix coefficient writes
  ASoC: meson: t9015: fix function pointer type mismatch
  ASoC: meson: aiu: fix function pointer type mismatch
  ASoC: meson: Use dev_err_probe() helper
  perf stat: Avoid metric-only segv
  ALSA: seq: fix function cast warnings
  drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode()
  perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str()
  crypto: xilinx - call finalize with bh disabled
  PCI: switchtec: Fix an error handling path in switchtec_pci_probe()
  quota: Fix rcu annotations of inode dquot pointers
  quota: Fix potential NULL pointer dereference
  quota: simplify drop_dquot_ref()
  clk: qcom: reset: Ensure write completion on reset de/assertion
  clk: qcom: reset: Commonize the de/assert functions
  pinctrl: mediatek: Drop bogus slew rate register range for MT8192
  media: edia: dvbdev: fix a use-after-free
  media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity
  media: v4l2-tpg: fix some memleaks in tpg_alloc
  media: em28xx: annotate unchecked call to media_device_register()
  perf evsel: Fix duplicate initialization of data->id in evsel__parse_sample()
  drm/amd/display: Fix potential NULL pointer dereferences in 'dcn10_set_output_transfer_func()'
  drm/amd/display: Fix a potential buffer overflow in 'dp_dsc_clock_en_read()'
  HID: lenovo: Add middleclick_workaround sysfs knob for cptkbd
  perf record: Fix possible incorrect free in record__switch_output()
  PCI/DPC: Print all TLP Prefixes, not just the first
  media: tc358743: register v4l2 async device only after successful setup
  dmaengine: tegra210-adma: Update dependency to ARCH_TEGRA
  drm/lima: fix a memleak in lima_heap_alloc
  drm/rockchip: lvds: do not print scary message when probing defer
  drm/rockchip: lvds: do not overwrite error code
  drm: Don't treat 0 as -1 in drm_fixp2int_ceil
  drm/rockchip: inno_hdmi: Fix video timing
  drm/tegra: output: Fix missing i2c_put_adapter() in the error handling paths of tegra_output_probe()
  drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe()
  drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe()
  drm/tegra: dsi: Make use of the helper function dev_err_probe()
  drm/tegra: dsi: Add missing check for of_find_device_by_node
  dm: call the resume method on internal suspend
  dm raid: fix false positive for requeue needed during reshape
  nfp: flower: handle acti_netdevs allocation failure
  net/x25: fix incorrect parameter validation in the x25_getsockopt() function
  net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function
  udp: fix incorrect parameter validation in the udp_lib_getsockopt() function
  l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function
  ipmr: fix incorrect parameter validation in the ip_mroute_getsockopt() function
  bpf: net: Change do_ip_getsockopt() to take the sockptr_t argument
  net/ipv4/ipv6: Replace one-element arraya with flexible-array members
  net/ipv4: Revert use of struct_size() helper
  net/ipv4: Replace one-element array with flexible-array member
  tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function
  OPP: debugfs: Fix warning around icc_get_name()
  net: phy: dp83822: Fix RGMII TX delay configuration
  net: phy: DP83822: enable rgmii mode if phy_interface_is_rgmii
  net: hns3: fix port duplex configure error in IMP reset
  net: phy: fix phy_get_internal_delay accessing an empty array
  net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv()
  ipv6: fib6_rules: flush route cache when rule is changed
  bpf: Fix stackmap overflow check on 32-bit arches
  bpf: Fix hashtab overflow check on 32-bit arches
  bpf: Fix DEVMAP_HASH overflow check on 32-bit arches
  bpf: Eliminate rlimit-based memory accounting for devmap maps
  sr9800: Add check for usbnet_get_endpoints
  Bluetooth: hci_core: Fix possible buffer overflow
  Bluetooth: Remove superfluous call to hci_conn_check_pending()
  igb: Fix missing time sync events
  igb: move PEROUT and EXTTS isr logic to separate functions
  iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected
  PCI: Make pci_dev_is_disconnected() helper public for other drivers
  wifi: rtw88: 8821c: Fix false alarm count
  mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function
  SUNRPC: fix some memleaks in gssx_dec_option_array
  x86, relocs: Ignore relocations in .notes section
  ACPI: scan: Fix device check notification handling
  arm64: dts: marvell: reorder crypto interrupts on Armada SoCs
  ARM: dts: imx6dl-yapp4: Move the internal switch PHYs under the switch node
  ARM: dts: imx6dl-yapp4: Fix typo in the QCA switch register address
  ARM: dts: imx6dl-yapp4: Move phy reset into switch node
  ARM: dts: arm: realview: Fix development chip ROM compatible value
  net: ena: Remove ena_select_queue
  wifi: brcmsmac: avoid function pointer casts
  iommu/amd: Mark interrupt as managed
  bus: tegra-aconnect: Update dependency to ARCH_TEGRA
  ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit()
  wifi: wilc1000: prevent use-after-free on vif when cleaning up all interfaces
  wireless: Remove redundant 'flush_workqueue()' calls
  bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly
  bpf: Factor out bpf_spin_lock into helpers.
  arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes
  wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer()
  net: blackhole_dev: fix build warning for ethh set but not used
  wifi: iwlwifi: fix EWRD table validity check
  wifi: iwlwifi: dbg-tlv: ensure NUL termination
  wifi: ath9k: delay all of ath9k_wmi_event_tasklet() until init is complete
  af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc().
  bpftool: Silence build warning about calloc()
  inet_diag: annotate data-races around inet_diag_table[]
  sock_diag: annotate data-races around sock_diag_handlers[family]
  cpufreq: brcmstb-avs-cpufreq: add check for cpufreq_cpu_get's return value
  wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir()
  wifi: wilc1000: fix multi-vif management when deleting a vif
  wifi: rtl8xxxu: add cancel_work_sync() for c2hcmd_work
  wifi: wilc1000: fix RCU usage in connect path
  wifi: wilc1000: fix declarations ordering
  wifi: b43: Disable QoS for bcm4331
  wifi: b43: Stop correct queue in DMA worker when QoS is disabled
  wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled
  wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled
  wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev()
  timekeeping: Fix cross-timestamp interpolation for non-x86
  timekeeping: Fix cross-timestamp interpolation corner case decision
  timekeeping: Fix cross-timestamp interpolation on counter wrap
  aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts
  md: Don't clear MD_CLOSING when the raid is about to stop
  md: implement ->set_read_only to hook into BLKROSET processing
  block: add a new set_read_only method
  fs/select: rework stack allocation hack for clang
  nbd: null check for nla_nest_start
  do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak
  x86/paravirt: Fix build due to __text_gen_insn() backport
  ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll
  ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode
  ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC
  Input: gpio_keys_polled - suppress deferred probe error for gpio
  ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet
  firewire: core: use long bus reset on gap count error
  Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security
  scsi: mpt3sas: Prevent sending diag_reset when the controller is ready
  dm-verity, dm-crypt: align "struct bvec_iter" correctly
  block: sed-opal: handle empty atoms when parsing response
  parisc/ftrace: add missing CONFIG_DYNAMIC_FTRACE check
  net/iucv: fix the allocation size of iucv_path_table array
  x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault()
  x86/mm: Move is_vsyscall_vaddr() into asm/vsyscall.h
  RDMA/mlx5: Relax DEVX access upon modify commands
  RDMA/mlx5: Fix fortify source warning while accessing Eth segment
  gen_compile_commands: fix invalid escape sequence warning
  HID: multitouch: Add required quirk for Synaptics 0xcddc device
  MIPS: Clear Cause.BD in instruction_pointer_set
  x86/xen: Add some null pointer checking to smp.c
  ASoC: rt5645: Make LattePanda board DMI match more precise
  selftests: tls: use exact comparison in recv_partial
  bpf: Defer the free of inner map when necessary
  rcu-tasks: Provide rcu_trace_implies_rcu_gp()
  io_uring: drop any code related to SCM_RIGHTS
  io_uring/unix: drop usage of io_uring socket
  Linux 5.10.213
  serial: max310x: fix IO data corruption in batched operations
  serial: max310x: implement I2C support
  serial: max310x: make accessing revision id interface-agnostic
  regmap: Add bulk read/write callbacks into regmap_config
  regmap: allow to define reg_update_bits for no bus configuration
  Drivers: hv: vmbus: Drop error message when 'No request id available'
  serial: max310x: Unprepare and disable clock in error path
  getrusage: use sig->stats_lock rather than lock_task_sighand()
  getrusage: use __for_each_thread()
  getrusage: move thread_group_cputime_adjusted() outside of lock_task_sighand()
  getrusage: add the "signal_struct *sig" local variable
  mm: hugetlb pages should not be reserved by shmat() if SHM_NORESERVE
  mm/hugetlb: change hugetlb_reserve_pages() to type bool
  hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed
  hv_netvsc: use netif_is_bond_master() instead of open code
  hv_netvsc: Make netvsc/VF binding check both MAC and serial number
  hv_netvsc: Process NETDEV_GOING_DOWN on VF hot remove
  hv_netvsc: Wait for completion on request SWITCH_DATA_PATH
  hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening
  Drivers: hv: vmbus: Add vmbus_requestor data structure for VMBus hardening
  ext4: convert to exclusive lock while inserting delalloc extents
  ext4: refactor ext4_da_map_blocks()
  ext4: make ext4_es_insert_extent() return void
  lsm: fix default return value of the socket_getpeersec_*() hooks
  lsm: make security_socket_getpeersec_stream() sockptr_t safe
  bpf: net: Change sk_getsockopt() to take the sockptr_t argument
  net: Change sock_getsockopt() to take the sk ptr instead of the sock ptr
  serial: max310x: prevent infinite while() loop in port startup
  serial: max310x: use a separate regmap for each port
  serial: max310x: use regmap methods for SPI batch operations
  serial: max310x: Make use of device properties
  serial: max310x: fail probe if clock crystal is unstable
  serial: max310x: Try to get crystal clock rate from property
  serial: max310x: Use devm_clk_get_optional() to get the input clock
  xhci: handle isoc Babble and Buffer Overrun events properly
  xhci: process isoc TD properly when there was a transaction error mid TD.
  xhci: prevent double-fetch of transfer and transfer event TRBs
  xhci: remove extra loop in interrupt context
  um: allow not setting extra rpaths in the linux binary
  selftests: mm: fix map_hugetlb failure on 64K page size systems
  selftests/mm: switch to bash from sh
  netrom: Fix data-races around sysctl_net_busy_read
  netrom: Fix a data-race around sysctl_netrom_link_fails_count
  netrom: Fix a data-race around sysctl_netrom_routing_control
  netrom: Fix a data-race around sysctl_netrom_transport_no_activity_timeout
  netrom: Fix a data-race around sysctl_netrom_transport_requested_window_size
  netrom: Fix a data-race around sysctl_netrom_transport_busy_delay
  netrom: Fix a data-race around sysctl_netrom_transport_acknowledge_delay
  netrom: Fix a data-race around sysctl_netrom_transport_maximum_tries
  netrom: Fix a data-race around sysctl_netrom_transport_timeout
  netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser
  netrom: Fix a data-race around sysctl_netrom_obsolescence_count_initialiser
  netrom: Fix a data-race around sysctl_netrom_default_path_quality
  netfilter: nf_conntrack_h323: Add protection for bmp length out of range
  netfilter: nft_ct: fix l3num expectations with inet pseudo family
  net/rds: fix WARNING in rds_conn_connect_if_down
  cpumap: Zero-initialise xdp_rxq_info struct before running XDP program
  net/ipv6: avoid possible UAF in ip6_route_mpath_notify()
  net: ice: Fix potential NULL pointer dereference in ice_bridge_setlink()
  geneve: make sure to pull inner header in geneve_rx()
  tracing/net_sched: Fix tracepoints that save qdisc_dev() as a string
  i40e: disable NAPI right after disabling irqs when handling xsk_pool
  ixgbe: {dis, en}able irqs in ixgbe_txrx_ring_{dis, en}able
  net: lan78xx: fix runtime PM count underflow on link stop
  lan78xx: Fix race conditions in suspend/resume handling
  lan78xx: Fix partial packet errors on suspend/resume
  lan78xx: Add missing return code checks
  lan78xx: Fix white space and style issues
  mmc: mmci: stm32: fix DMA API overlapping mappings warning
  mmc: mmci: stm32: use a buffer for unaligned DMA requests
  Linux 5.10.212
  mptcp: fix double-free on socket dismantle
  mtd: spinand: gigadevice: fix Quad IO for GD5F1GQ5UExxG
  gpio: fix resource unwinding order in error path
  gpiolib: Fix the error path order in gpiochip_add_data_with_key()
  gpio: 74x164: Enable output pins after registers are reset
  fs,hugetlb: fix NULL pointer dereference in hugetlbs_fill_super
  cachefiles: fix memory leak in cachefiles_add_cache()
  ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()
  mptcp: fix possible deadlock in subflow diag
  x86/cpu/intel: Detect TME keyid bits before setting MTRR mask registers
  pmdomain: qcom: rpmhpd: Fix enabled_corner aggregation
  mmc: sdhci-xenon: fix PHY init clock stability
  mmc: sdhci-xenon: add timeout for PHY init complete
  mmc: core: Fix eMMC initialization with 1-bit bus connection
  dmaengine: fsl-qdma: init irq after reg initialization
  dmaengine: fsl-qdma: fix SoC may hang on 16 byte unaligned read
  btrfs: dev-replace: properly validate device names
  wifi: nl80211: reject iftype change with mesh ID change
  gtp: fix use-after-free and null-ptr-deref in gtp_newlink()
  tomoyo: fix UAF write bug in tomoyo_write_control()
  riscv: Sparse-Memory/vmemmap out-of-bounds fix
  afs: Fix endless loop in directory parsing
  ALSA: Drop leftover snd-rtctimer stuff from Makefile
  power: supply: bq27xxx-i2c: Do not free non existing IRQ
  efi/capsule-loader: fix incorrect allocation size
  rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back
  netfilter: nf_tables: allow NFPROTO_INET in nft_(match/target)_validate()
  Bluetooth: Enforce validation on max value of connection interval
  Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST
  Bluetooth: hci_event: Fix wrongly recorded wakeup BD_ADDR
  Bluetooth: Avoid potential use-after-free in hci_error_reset
  net: usb: dm9601: fix wrong return value in dm9601_mdio_read
  lan78xx: enable auto speed configuration for LAN7850 if no EEPROM is detected
  ipv6: fix potential "struct net" leak in inet6_rtm_getaddr()
  tun: Fix xdp_rxq_info's queue_index when detaching
  net: ip_tunnel: prevent perpetual headroom growth
  netlink: Fix kernel-infoleak-after-free in __skb_datagram_iter
  mtd: spinand: gigadevice: Fix the get ecc status issue
  mtd: spinand: gigadevice: Support GD5F1GQ5UExxG
  crypto: virtio/akcipher - Fix stack overflow on memcpy
  platform/x86: touchscreen_dmi: Allow partial (prefix) matches for ACPI names
  Linux 5.10.211
  ext4: regenerate buddy after block freeing failed if under fc replay
  arp: Prevent overflow in arp_req_get().
  fs/aio: Restrict kiocb_set_cancel_fn() to I/O submitted via libaio
  block: ataflop: more blk-mq refactoring fixes
  drm/amd/display: Fix memory leak in dm_sw_fini()
  drm/syncobj: call drm_syncobj_fence_add_wait when WAIT_AVAILABLE flag is set
  drm/syncobj: make lockdep complain on WAIT_FOR_SUBMIT v3
  netfilter: nf_tables: set dormant flag on hook register failure
  tls: stop recv() if initial process_rx_list gave us non-DATA
  tls: rx: drop pointless else after goto
  tls: rx: jump to a more appropriate label
  s390: use the correct count for __iowrite64_copy()
  net: dev: Convert sa_data to flexible array in struct sockaddr
  packet: move from strlcpy with unused retval to strscpy
  ipv6: sr: fix possible use-after-free and null-ptr-deref
  afs: Increase buffer size in afs_update_volume_status()
  ipv6: properly combine dev_base_seq and ipv6.dev_addr_genid
  ipv4: properly combine dev_base_seq and ipv4.dev_addr_genid
  nouveau: fix function cast warnings
  scsi: jazz_esp: Only build if SCSI core is builtin
  bpf, scripts: Correct GPL license name
  RDMA/srpt: fix function pointer cast warnings
  arm64: dts: rockchip: set num-cs property for spi on px30
  RDMA/qedr: Fix qedr_create_user_qp error flow
  RDMA/srpt: Support specifying the srpt_service_guid parameter
  RDMA/bnxt_re: Return error for SRQ resize
  IB/hfi1: Fix a memleak in init_credit_return
  mptcp: fix lockless access in subflow ULP diag
  usb: roles: don't get/set_role() when usb_role_switch is unregistered
  usb: roles: fix NULL pointer issue when put module's reference
  usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs
  usb: cdns3: fix memory double free when handle zero packet
  usb: cdns3: fixed memory use after free at cdns3_gadget_ep_disable()
  x86/alternative: Make custom return thunk unconditional
  Revert "x86/alternative: Make custom return thunk unconditional"
  x86/returnthunk: Allow different return thunks
  x86/ftrace: Use alternative RET encoding
  x86/ibt,paravirt: Use text_gen_insn() for paravirt_patch()
  x86/text-patching: Make text_gen_insn() play nice with ANNOTATE_NOENDBR
  Revert "x86/ftrace: Use alternative RET encoding"
  ARM: ep93xx: Add terminator to gpiod_lookup_table
  l2tp: pass correct message length to ip6_append_data
  PCI/MSI: Prevent MSI hardware interrupt number truncation
  gtp: fix use-after-free and null-ptr-deref in gtp_genl_dump_pdp()
  KVM: arm64: vgic-its: Test for valid IRQ in its_sync_lpi_pending_table()
  KVM: arm64: vgic-its: Test for valid IRQ in MOVALL handler
  dm-crypt: don't modify the data when using authenticated encryption
  s390/cio: fix invalid -EBUSY on ccw_device_start
  IB/hfi1: Fix sdma.h tx->num_descs off-by-one error
  erofs: fix lz4 inplace decompression
  x86: drop bogus "cc" clobber from __try_cmpxchg_user_asm()
  jbd2: Fix wrongly judgement for buffer head removing while doing checkpoint
  jbd2: recheck chechpointing non-dirty buffer
  jbd2: remove redundant buffer io error checks
  iwlwifi: mvm: write queue_sync_state only for sync
  iwlwifi: mvm: do more useful queue sync accounting
  platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
  lan743x: fix for potential NULL pointer dereference with bare card
  btrfs: do not pin logs too early during renames
  btrfs: unify lookup return value when dir entry is missing
  btrfs: introduce btrfs_lookup_match_dir
  btrfs: tree-checker: check for overlapping extent items
  task_stack, x86/cea: Force-inline stack helpers
  ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use
  ASoC: Intel: boards: get codec device with ACPI instead of bus search
  ASoC: Intel: boards: harden codec property handling
  mtd: spinand: macronix: Add support for MX35LFxGE4AD
  cifs: add a warning when the in-flight count goes negative
  powerpc/watchpoints: Annotate atomic context in more places
  powerpc/watchpoint: Workaround P10 DD1 issue with VSX-32 byte instructions
  block: ataflop: fix breakage introduced at blk-mq refactoring
  seccomp: Invalidate seccomp mode to catch death failures
  x86/uaccess: Implement macros for CMPXCHG on user addresses
  hsr: Avoid double remove of a node.
  hvc/xen: prevent concurrent accesses to the shared ring
  media: av7110: prevent underflow in write_ts_to_decoder()
  ASoC: fsl_micfil: register platform component before registering cpu dai
  ARM: dts: imx: Set default tuning step for imx6sx usdhc
  irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
  ARM: dts: BCM53573: Drop nonexistent "default-off" LED trigger
  pmdomain: renesas: r8a77980-sysc: CR7 must be always on
  virtio-blk: Ensure no requests in virtqueues before deleting vqs.
  firewire: core: send bus reset promptly on gap count error
  scsi: lpfc: Use unsigned type for num_sge
  hwmon: (coretemp) Enlarge per package core count limit
  efi: Don't add memblocks for soft-reserved memory
  efi: runtime: Fix potential overflow of soft-reserved region size
  Input: i8042 - add Fujitsu Lifebook U728 to i8042 quirk table
  ext4: correct the hole length returned by ext4_map_blocks()
  nvmet-fc: abort command when there is no binding
  nvmet-fc: release reference on target port
  nvmet-fcloop: swap the list_add_tail arguments
  nvme-fc: do not wait in vain when unloading module
  netfilter: conntrack: check SCTP_CID_SHUTDOWN_ACK for vtag setting in sctp_new
  spi: sh-msiof: avoid integer overflow in constants
  ASoC: sunxi: sun4i-spdif: Add support for Allwinner H616
  nvmet-tcp: fix nvme tcp ida memory leak
  regulator: pwm-regulator: Add validity checks in continuous .get_voltage
  dmaengine: ti: edma: Add some null pointer checks to the edma_probe
  ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal()
  ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()
  ahci: add 43-bit DMA address quirk for ASMedia ASM1061 controllers
  ahci: asm1166: correct count of reported ports
  spi: hisi-sfc-v3xx: Return IRQ_NONE if no interrupts were detected
  fbdev: sis: Error out if pixclock equals zero
  fbdev: savage: Error out if pixclock equals zero
  wifi: mac80211: fix race condition on enabling fast-xmit
  wifi: cfg80211: fix missing interfaces when dumping
  dmaengine: fsl-qdma: increase size of 'irq_name'
  dmaengine: shdma: increase size of 'dev_id'
  scsi: target: core: Add TMF to tmr_list handling
  sched/rt: Disallow writing invalid values to sched_rt_period_us
  sched/rt: Fix sysctl_sched_rr_timeslice intial value
  zonefs: Improve error handling
  userfaultfd: fix mmap_changing checking in mfill_atomic_hugetlb
  sched/rt: sysctl_sched_rr_timeslice show default timeslice after reset
  smb: client: fix parsing of SMB3.1.1 POSIX create context
  smb: client: fix potential OOBs in smb2_parse_contexts()
  smb: client: fix OOB in receive_encrypted_standard()
  net/sched: Retire dsmark qdisc
  net/sched: Retire ATM qdisc
  net/sched: Retire CBQ qdisc

Change-Id: I27b365859804c2c84cb821e94fb84a971429c6d0
2024-07-23 09:40:40 +02:00
Greg Kroah-Hartman
875057880e This is the 5.10.222 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmaY9zYACgkQONu9yGCS
 aT6v5g//WMifSZz85CUFaqgs65rwVfhTMpYtUeL5LiDuy+SMou6ViV3A93FpTkmj
 FJBvrr2y0bn8Y5Dp/fwYj10XUz+THZte/yEVnPh/NkV107FZD3fKa6GTnJY7H/XY
 4SoOGfPB4yfx+MpN6ZpLsu4cAt6FW8P+QfKOxBEboGkJSGpjEbGYFMtyZAMjknia
 QE8cKQ3LnMrQzHIizil5dZVlYaiMgJtlKTtUeVI1ixmaGDb3rCsnCVvMRvZnW95V
 aSgyJNrNix7a5tRgYwZHZp4t3p9iT2lyIFM3/y7TKcglVCMPw4nbsDdLNNq11qrk
 RdTdScR+9eKyJsEGVYOhXZFUFzOgHW22xyx0CCZmDMeu08WPNl4vhGewnndQy3yd
 6jdTRYDrU6SQNQ0AjRZXcdmfopIQxetHE7ZEKvbgBW6+u9oySYU8phPCNkma2JWr
 O2eY5AOF8zgPAdAzvF9Bt/qTlwLNjP0zczoIRX7HSvV03Nh9cQvgzKdSCfuPDU4a
 FX7mlokgweYa7WoWGPkzOlgMaJZksqstDnhbuwONoMPrNFTUjgm429K87iPdwzqC
 Yv4uDrpFXgkhfD4Aoks4wDpE2LgBKWz5Wnpo+WW4fjcrXtcIV2tTD9FkMjBv3ECv
 A8TTWsXxQtm3V54R4h7fAXg9KnZBuIYYDnB2u1317ZdaDkZRuPQ=
 =X2/A
 -----END PGP SIGNATURE-----

Merge 5.10.222 into android12-5.10-lts

Changes in 5.10.222
	Compiler Attributes: Add __uninitialized macro
	drm/lima: fix shared irq handling on driver remove
	media: dvb: as102-fe: Fix as10x_register_addr packing
	media: dvb-usb: dib0700_devices: Add missing release_firmware()
	IB/core: Implement a limit on UMAD receive List
	scsi: qedf: Make qedf_execute_tmf() non-preemptible
	crypto: aead,cipher - zeroize key buffer after use
	drm/amdgpu: Initialize timestamp for some legacy SOCs
	drm/amd/display: Check index msg_id before read or write
	drm/amd/display: Check pipe offset before setting vblank
	drm/amd/display: Skip finding free audio for unknown engine_id
	media: dw2102: Don't translate i2c read into write
	sctp: prefer struct_size over open coded arithmetic
	firmware: dmi: Stop decoding on broken entry
	Input: ff-core - prefer struct_size over open coded arithmetic
	net: dsa: mv88e6xxx: Correct check for empty list
	media: dvb-frontends: tda18271c2dd: Remove casting during div
	media: s2255: Use refcount_t instead of atomic_t for num_channels
	media: dvb-frontends: tda10048: Fix integer overflow
	i2c: i801: Annotate apanel_addr as __ro_after_init
	powerpc/64: Set _IO_BASE to POISON_POINTER_DELTA not 0 for CONFIG_PCI=n
	orangefs: fix out-of-bounds fsid access
	kunit: Fix timeout message
	powerpc/xmon: Check cpu id in commands "c#", "dp#" and "dx#"
	bpf: Avoid uninitialized value in BPF_CORE_READ_BITFIELD
	jffs2: Fix potential illegal address access in jffs2_free_inode
	s390/pkey: Wipe sensitive data on failure
	UPSTREAM: tcp: fix DSACK undo in fast recovery to call tcp_try_to_open()
	tcp_metrics: validate source addr length
	wifi: wilc1000: fix ies_len type in connect path
	bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set()
	selftests: fix OOM in msg_zerocopy selftest
	selftests: make order checking verbose in msg_zerocopy selftest
	inet_diag: Initialize pad field in struct inet_diag_req_v2
	nilfs2: fix inode number range checks
	nilfs2: add missing check for inode numbers on directory entries
	mm: optimize the redundant loop of mm_update_owner_next()
	mm: avoid overflows in dirty throttling logic
	Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot
	can: kvaser_usb: Explicitly initialize family in leafimx driver_info struct
	fsnotify: Do not generate events for O_PATH file descriptors
	Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again"
	drm/nouveau: fix null pointer dereference in nouveau_connector_get_modes
	drm/amdgpu/atomfirmware: silence UBSAN warning
	mtd: rawnand: Bypass a couple of sanity checks during NAND identification
	bnx2x: Fix multiple UBSAN array-index-out-of-bounds
	bpf, sockmap: Fix sk->sk_forward_alloc warn_on in sk_stream_kill_queues
	ima: Avoid blocking in RCU read-side critical section
	media: dw2102: fix a potential buffer overflow
	i2c: pnx: Fix potential deadlock warning from del_timer_sync() call in isr
	ALSA: hda/realtek: Enable headset mic of JP-IK LEAP W502 with ALC897
	nvme-multipath: find NUMA path only for online numa-node
	nvme: adjust multiples of NVME_CTRL_PAGE_SIZE in offset
	platform/x86: touchscreen_dmi: Add info for GlobalSpace SolT IVW 11.6" tablet
	platform/x86: touchscreen_dmi: Add info for the EZpad 6s Pro
	nvmet: fix a possible leak when destroy a ctrl during qp establishment
	kbuild: fix short log for AS in link-vmlinux.sh
	nilfs2: fix incorrect inode allocation from reserved inodes
	mm: prevent derefencing NULL ptr in pfn_section_valid()
	filelock: fix potential use-after-free in posix_lock_inode
	fs/dcache: Re-use value stored to dentry->d_flags instead of re-reading
	vfs: don't mod negative dentry count when on shrinker list
	tcp: fix incorrect undo caused by DSACK of TLP retransmit
	octeontx2-af: Fix incorrect value output on error path in rvu_check_rsrc_availability()
	net: lantiq_etop: add blank line after declaration
	net: ethernet: lantiq_etop: fix double free in detach
	ppp: reject claimed-as-LCP but actually malformed packets
	ethtool: netlink: do not return SQI value if link is down
	udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port().
	net/sched: Fix UAF when resolving a clash
	s390: Mark psw in __load_psw_mask() as __unitialized
	ARM: davinci: Convert comma to semicolon
	octeontx2-af: fix detection of IP layer
	tcp: use signed arithmetic in tcp_rtx_probe0_timed_out()
	tcp: avoid too many retransmit packets
	net: ks8851: Fix potential TX stall after interface reopen
	USB: serial: option: add Telit generic core-dump composition
	USB: serial: option: add Telit FN912 rmnet compositions
	USB: serial: option: add Fibocom FM350-GL
	USB: serial: option: add support for Foxconn T99W651
	USB: serial: option: add Netprisma LCUK54 series modules
	USB: serial: option: add Rolling RW350-GL variants
	USB: serial: mos7840: fix crash on resume
	USB: Add USB_QUIRK_NO_SET_INTF quirk for START BP-850k
	usb: gadget: configfs: Prevent OOB read/write in usb_string_copy()
	USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor
	hpet: Support 32-bit userspace
	nvmem: meson-efuse: Fix return value of nvmem callbacks
	ALSA: hda/realtek: Enable Mute LED on HP 250 G7
	ALSA: hda/realtek: Limit mic boost on VAIO PRO PX
	libceph: fix race between delayed_work() and ceph_monc_stop()
	wireguard: allowedips: avoid unaligned 64-bit memory accesses
	wireguard: queueing: annotate intentional data race in cpu round robin
	wireguard: send: annotate intentional data race in checking empty queue
	x86/retpoline: Move a NOENDBR annotation to the SRSO dummy return thunk
	efi: ia64: move IA64-only declarations to new asm/efi.h header
	ipv6: annotate data-races around cnf.disable_ipv6
	ipv6: prevent NULL dereference in ip6_output()
	bpf: Allow reads from uninit stack
	nilfs2: fix kernel bug on rename operation of broken directory
	i2c: rcar: bring hardware to known state when probing
	i2c: mark HostNotify target address as used
	i2c: rcar: Add R-Car Gen4 support
	i2c: rcar: reset controller is mandatory for Gen3+
	i2c: rcar: introduce Gen4 devices
	i2c: rcar: ensure Gen3+ reset does not disturb local targets
	i2c: rcar: clear NO_RXDMA flag after resetting
	i2c: rcar: fix error code in probe()
	Linux 5.10.222

Change-Id: I39dedaef039a49c1b8b53dd83b83d481593ffb95
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-07-20 13:33:30 +00:00
Eduard Zingerman
ca42be8dd1 bpf: Allow reads from uninit stack
commit 6715df8d5d24655b9fd368e904028112b54c7de1 upstream.

This commits updates the following functions to allow reads from
uninitialized stack locations when env->allow_uninit_stack option is
enabled:
- check_stack_read_fixed_off()
- check_stack_range_initialized(), called from:
  - check_stack_read_var_off()
  - check_helper_mem_access()

Such change allows to relax logic in stacksafe() to treat STACK_MISC
and STACK_INVALID in a same way and make the following stack slot
configurations equivalent:

  |  Cached state    |  Current state   |
  |   stack slot     |   stack slot     |
  |------------------+------------------|
  | STACK_INVALID or | STACK_INVALID or |
  | STACK_MISC       | STACK_SPILL   or |
  |                  | STACK_MISC    or |
  |                  | STACK_ZERO    or |
  |                  | STACK_DYNPTR     |

This leads to significant verification speed gains (see below).

The idea was suggested by Andrii Nakryiko [1] and initial patch was
created by Alexei Starovoitov [2].

Currently the env->allow_uninit_stack is allowed for programs loaded
by users with CAP_PERFMON or CAP_SYS_ADMIN capabilities.

A number of test cases from verifier/*.c were expecting uninitialized
stack access to be an error. These test cases were updated to execute
in unprivileged mode (thus preserving the tests).

The test progs/test_global_func10.c expected "invalid indirect read
from stack" error message because of the access to uninitialized
memory region. This error is no longer possible in privileged mode.
The test is updated to provoke an error "invalid indirect access to
stack" because of access to invalid stack address (such error is not
verified by progs/test_global_func*.c series of tests).

The following tests had to be removed because these can't be made
unprivileged:
- verifier/sock.c:
  - "sk_storage_get(map, skb->sk, &stack_value, 1): partially init
  stack_value"
  BPF_PROG_TYPE_SCHED_CLS programs are not executed in unprivileged mode.
- verifier/var_off.c:
  - "indirect variable-offset stack access, max_off+size > max_initialized"
  - "indirect variable-offset stack access, uninitialized"
  These tests verify that access to uninitialized stack values is
  detected when stack offset is not a constant. However, variable
  stack access is prohibited in unprivileged mode, thus these tests
  are no longer valid.

 * * *

Here is veristat log comparing this patch with current master on a
set of selftest binaries listed in tools/testing/selftests/bpf/veristat.cfg
and cilium BPF binaries (see [3]):

$ ./veristat -e file,prog,states -C -f 'states_pct<-30' master.log current.log
File                        Program                     States (A)  States (B)  States    (DIFF)
--------------------------  --------------------------  ----------  ----------  ----------------
bpf_host.o                  tail_handle_ipv6_from_host         349         244    -105 (-30.09%)
bpf_host.o                  tail_handle_nat_fwd_ipv4          1320         895    -425 (-32.20%)
bpf_lxc.o                   tail_handle_nat_fwd_ipv4          1320         895    -425 (-32.20%)
bpf_sock.o                  cil_sock4_connect                   70          48     -22 (-31.43%)
bpf_sock.o                  cil_sock4_sendmsg                   68          46     -22 (-32.35%)
bpf_xdp.o                   tail_handle_nat_fwd_ipv4          1554         803    -751 (-48.33%)
bpf_xdp.o                   tail_lb_ipv4                      6457        2473   -3984 (-61.70%)
bpf_xdp.o                   tail_lb_ipv6                      7249        3908   -3341 (-46.09%)
pyperf600_bpf_loop.bpf.o    on_event                           287         145    -142 (-49.48%)
strobemeta.bpf.o            on_event                         15915        4772  -11143 (-70.02%)
strobemeta_nounroll2.bpf.o  on_event                         17087        3820  -13267 (-77.64%)
xdp_synproxy_kern.bpf.o     syncookie_tc                     21271        6635  -14636 (-68.81%)
xdp_synproxy_kern.bpf.o     syncookie_xdp                    23122        6024  -17098 (-73.95%)
--------------------------  --------------------------  ----------  ----------  ----------------

Note: I limited selection by states_pct<-30%.

Inspection of differences in pyperf600_bpf_loop behavior shows that
the following patch for the test removes almost all differences:

    - a/tools/testing/selftests/bpf/progs/pyperf.h
    + b/tools/testing/selftests/bpf/progs/pyperf.h
    @ -266,8 +266,8 @ int __on_event(struct bpf_raw_tracepoint_args *ctx)
            }

            if (event->pthread_match || !pidData->use_tls) {
    -               void* frame_ptr;
    -               FrameData frame;
    +               void* frame_ptr = 0;
    +               FrameData frame = {};
                    Symbol sym = {};
                    int cur_cpu = bpf_get_smp_processor_id();

W/o this patch the difference comes from the following pattern
(for different variables):

    static bool get_frame_data(... FrameData *frame ...)
    {
        ...
        bpf_probe_read_user(&frame->f_code, ...);
        if (!frame->f_code)
            return false;
        ...
        bpf_probe_read_user(&frame->co_name, ...);
        if (frame->co_name)
            ...;
    }

    int __on_event(struct bpf_raw_tracepoint_args *ctx)
    {
        FrameData frame;
        ...
        get_frame_data(... &frame ...) // indirectly via a bpf_loop & callback
        ...
    }

    SEC("raw_tracepoint/kfree_skb")
    int on_event(struct bpf_raw_tracepoint_args* ctx)
    {
        ...
        ret |= __on_event(ctx);
        ret |= __on_event(ctx);
        ...
    }

With regards to value `frame->co_name` the following is important:
- Because of the conditional `if (!frame->f_code)` each call to
  __on_event() produces two states, one with `frame->co_name` marked
  as STACK_MISC, another with it as is (and marked STACK_INVALID on a
  first call).
- The call to bpf_probe_read_user() does not mark stack slots
  corresponding to `&frame->co_name` as REG_LIVE_WRITTEN but it marks
  these slots as BPF_MISC, this happens because of the following loop
  in the check_helper_call():

	for (i = 0; i < meta.access_size; i++) {
		err = check_mem_access(env, insn_idx, meta.regno, i, BPF_B,
				       BPF_WRITE, -1, false);
		if (err)
			return err;
	}

  Note the size of the write, it is a one byte write for each byte
  touched by a helper. The BPF_B write does not lead to write marks
  for the target stack slot.
- Which means that w/o this patch when second __on_event() call is
  verified `if (frame->co_name)` will propagate read marks first to a
  stack slot with STACK_MISC marks and second to a stack slot with
  STACK_INVALID marks and these states would be considered different.

[1] https://lore.kernel.org/bpf/CAEf4BzY3e+ZuC6HUa8dCiUovQRg2SzEk7M-dSkqNZyn=xEmnPA@mail.gmail.com/
[2] https://lore.kernel.org/bpf/CAADnVQKs2i1iuZ5SUGuJtxWVfGYR9kDgYKhq3rNV+kBLQCu7rA@mail.gmail.com/
[3] git@github.com:anakryiko/cilium.git

Suggested-by: Andrii Nakryiko <andrii@kernel.org>
Co-developed-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20230219200427.606541-2-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Maxim Mikityanskiy <maxim@isovalent.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-18 13:05:50 +02:00
GUO Zihua
a6176a802c ima: Avoid blocking in RCU read-side critical section
commit 9a95c5bfbf02a0a7f5983280fe284a0ff0836c34 upstream.

A panic happens in ima_match_policy:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
PGD 42f873067 P4D 0
Oops: 0000 [#1] SMP NOPTI
CPU: 5 PID: 1286325 Comm: kubeletmonit.sh
Kdump: loaded Tainted: P
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
               BIOS 0.0.0 02/06/2015
RIP: 0010:ima_match_policy+0x84/0x450
Code: 49 89 fc 41 89 cf 31 ed 89 44 24 14 eb 1c 44 39
      7b 18 74 26 41 83 ff 05 74 20 48 8b 1b 48 3b 1d
      f2 b9 f4 00 0f 84 9c 01 00 00 <44> 85 73 10 74 ea
      44 8b 6b 14 41 f6 c5 01 75 d4 41 f6 c5 02 74 0f
RSP: 0018:ff71570009e07a80 EFLAGS: 00010207
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000200
RDX: ffffffffad8dc7c0 RSI: 0000000024924925 RDI: ff3e27850dea2000
RBP: 0000000000000000 R08: 0000000000000000 R09: ffffffffabfce739
R10: ff3e27810cc42400 R11: 0000000000000000 R12: ff3e2781825ef970
R13: 00000000ff3e2785 R14: 000000000000000c R15: 0000000000000001
FS:  00007f5195b51740(0000)
GS:ff3e278b12d40000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000010 CR3: 0000000626d24002 CR4: 0000000000361ee0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 ima_get_action+0x22/0x30
 process_measurement+0xb0/0x830
 ? page_add_file_rmap+0x15/0x170
 ? alloc_set_pte+0x269/0x4c0
 ? prep_new_page+0x81/0x140
 ? simple_xattr_get+0x75/0xa0
 ? selinux_file_open+0x9d/0xf0
 ima_file_check+0x64/0x90
 path_openat+0x571/0x1720
 do_filp_open+0x9b/0x110
 ? page_counter_try_charge+0x57/0xc0
 ? files_cgroup_alloc_fd+0x38/0x60
 ? __alloc_fd+0xd4/0x250
 ? do_sys_open+0x1bd/0x250
 do_sys_open+0x1bd/0x250
 do_syscall_64+0x5d/0x1d0
 entry_SYSCALL_64_after_hwframe+0x65/0xca

Commit c7423dbdbc9e ("ima: Handle -ESTALE returned by
ima_filter_rule_match()") introduced call to ima_lsm_copy_rule within a
RCU read-side critical section which contains kmalloc with GFP_KERNEL.
This implies a possible sleep and violates limitations of RCU read-side
critical sections on non-PREEMPT systems.

Sleeping within RCU read-side critical section might cause
synchronize_rcu() returning early and break RCU protection, allowing a
UAF to happen.

The root cause of this issue could be described as follows:
|	Thread A	|	Thread B	|
|			|ima_match_policy	|
|			|  rcu_read_lock	|
|ima_lsm_update_rule	|			|
|  synchronize_rcu	|			|
|			|    kmalloc(GFP_KERNEL)|
|			|      sleep		|
==> synchronize_rcu returns early
|  kfree(entry)		|			|
|			|    entry = entry->next|
==> UAF happens and entry now becomes NULL (or could be anything).
|			|    entry->action	|
==> Accessing entry might cause panic.

To fix this issue, we are converting all kmalloc that is called within
RCU read-side critical section to use GFP_ATOMIC.

Fixes: c7423dbdbc9e ("ima: Handle -ESTALE returned by ima_filter_rule_match()")
Cc: stable@vger.kernel.org
Signed-off-by: GUO Zihua <guozihua@huawei.com>
Acked-by: John Johansen <john.johansen@canonical.com>
Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
Reviewed-by: Casey Schaufler <casey@schaufler-ca.com>
[PM: fixed missing comment, long lines, !CONFIG_IMA_LSM_RULES case]
Signed-off-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-18 13:05:44 +02:00
Jinliang Zheng
f033241a7c mm: optimize the redundant loop of mm_update_owner_next()
commit cf3f9a593dab87a032d2b6a6fb205e7f3de4f0a1 upstream.

When mm_update_owner_next() is racing with swapoff (try_to_unuse()) or
/proc or ptrace or page migration (get_task_mm()), it is impossible to
find an appropriate task_struct in the loop whose mm_struct is the same as
the target mm_struct.

If the above race condition is combined with the stress-ng-zombie and
stress-ng-dup tests, such a long loop can easily cause a Hard Lockup in
write_lock_irq() for tasklist_lock.

Recognize this situation in advance and exit early.

Link: https://lkml.kernel.org/r/20240620122123.3877432-1-alexjlzheng@tencent.com
Signed-off-by: Jinliang Zheng <alexjlzheng@tencent.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Mateusz Guzik <mjguzik@gmail.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Tycho Andersen <tandersen@netflix.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-18 13:05:42 +02:00
Greg Kroah-Hartman
2ebd481b31 Merge 5.10.221 into android12-5.10-lts
Changes in 5.10.221
	tracing/selftests: Fix kprobe event name test for .isra. functions
	null_blk: Print correct max open zones limit in null_init_zoned_dev()
	wifi: mac80211: mesh: Fix leak of mesh_preq_queue objects
	wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup()
	wifi: cfg80211: pmsr: use correct nla_get_uX functions
	wifi: iwlwifi: mvm: revert gen2 TX A-MPDU size to 64
	wifi: iwlwifi: dbg_ini: move iwl_dbg_tlv_free outside of debugfs ifdef
	wifi: iwlwifi: mvm: check n_ssids before accessing the ssids
	wifi: iwlwifi: mvm: don't read past the mfuart notifcation
	wifi: mac80211: correctly parse Spatial Reuse Parameter Set element
	net/ncsi: add NCSI Intel OEM command to keep PHY up
	net/ncsi: Simplify Kconfig/dts control flow
	net/ncsi: Fix the multi thread manner of NCSI driver
	ipv6: sr: block BH in seg6_output_core() and seg6_input_core()
	net: sched: sch_multiq: fix possible OOB write in multiq_tune()
	vxlan: Fix regression when dropping packets due to invalid src addresses
	tcp: count CLOSE-WAIT sockets for TCP_MIB_CURRESTAB
	net/sched: taprio: always validate TCA_TAPRIO_ATTR_PRIOMAP
	ptp: Fix error message on failed pin verification
	af_unix: Annotate data-race of sk->sk_state in unix_inq_len().
	af_unix: Annotate data-races around sk->sk_state in unix_write_space() and poll().
	af_unix: Annotate data-races around sk->sk_state in sendmsg() and recvmsg().
	af_unix: Annotate data-races around sk->sk_state in UNIX_DIAG.
	af_unix: Annotate data-race of net->unx.sysctl_max_dgram_qlen.
	af_unix: Use unix_recvq_full_lockless() in unix_stream_connect().
	af_unix: Use skb_queue_len_lockless() in sk_diag_show_rqlen().
	af_unix: Annotate data-race of sk->sk_shutdown in sk_diag_fill().
	ipv6: fix possible race in __fib6_drop_pcpu_from()
	usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete
	drm/amd/display: Handle Y carry-over in VCP X.Y calculation
	serial: sc16is7xx: replace hardcoded divisor value with BIT() macro
	serial: sc16is7xx: fix bug in sc16is7xx_set_baud() when using prescaler
	mmc: davinci: Don't strip remove function when driver is builtin
	selftests/mm: compaction_test: fix incorrect write of zero to nr_hugepages
	selftests/mm: conform test to TAP format output
	selftests/mm: compaction_test: fix bogus test success on Aarch64
	btrfs: fix leak of qgroup extent records after transaction abort
	nilfs2: Remove check for PageError
	nilfs2: return the mapped address from nilfs_get_page()
	nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors
	USB: class: cdc-wdm: Fix CPU lockup caused by excessive log messages
	mei: me: release irq in mei_me_pci_resume error path
	jfs: xattr: fix buffer overflow for invalid xattr
	xhci: Set correct transferred length for cancelled bulk transfers
	xhci: Apply reset resume quirk to Etron EJ188 xHCI host
	xhci: Apply broken streams quirk to Etron EJ188 xHCI host
	scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory
	powerpc/uaccess: Fix build errors seen with GCC 13/14
	Input: try trimming too long modalias strings
	SUNRPC: return proper error from gss_wrap_req_priv
	gpio: tqmx86: fix typo in Kconfig label
	HID: core: remove unnecessary WARN_ON() in implement()
	gpio: tqmx86: store IRQ trigger type and unmask status separately
	iommu/amd: Introduce pci segment structure
	iommu/amd: Fix sysfs leak in iommu init
	iommu: Return right value in iommu_sva_bind_device()
	HID: logitech-dj: Fix memory leak in logi_dj_recv_switch_to_dj_mode()
	drm/vmwgfx: 3D disabled should not effect STDU memory limits
	net: sfp: Always call `sfp_sm_mod_remove()` on remove
	net: hns3: add cond_resched() to hns3 ring buffer init process
	liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet
	drm/komeda: check for error-valued pointer
	drm/bridge/panel: Fix runtime warning on panel bridge release
	tcp: fix race in tcp_v6_syn_recv_sock()
	net/mlx5e: Fix features validation check for tunneled UDP (non-VXLAN) packets
	Bluetooth: L2CAP: Fix rejecting L2CAP_CONN_PARAM_UPDATE_REQ
	netfilter: ipset: Fix race between namespace cleanup and gc in the list:set type
	net: stmmac: replace priv->speed with the portTransmitRate from the tc-cbs parameters
	net/ipv6: Fix the RT cache flush via sysctl using a previous delay
	ionic: fix use after netif_napi_del()
	iio: adc: ad9467: fix scan type sign
	iio: dac: ad5592r: fix temperature channel scaling value
	iio: imu: inv_icm42600: delete unneeded update watermark call
	drivers: core: synchronize really_probe() and dev_uevent()
	drm/exynos/vidi: fix memory leak in .get_modes()
	drm/exynos: hdmi: report safe 640x480 mode as a fallback when no EDID found
	vmci: prevent speculation leaks by sanitizing event in event_deliver()
	fs/proc: fix softlockup in __read_vmcore
	ocfs2: use coarse time for new created files
	ocfs2: fix races between hole punching and AIO+DIO
	PCI: rockchip-ep: Remove wrong mask on subsys_vendor_id
	dmaengine: axi-dmac: fix possible race in remove()
	remoteproc: k3-r5: Do not allow core1 to power up before core0 via sysfs
	intel_th: pci: Add Granite Rapids support
	intel_th: pci: Add Granite Rapids SOC support
	intel_th: pci: Add Sapphire Rapids SOC support
	intel_th: pci: Add Meteor Lake-S support
	intel_th: pci: Add Lunar Lake support
	nilfs2: fix potential kernel bug due to lack of writeback flag waiting
	tick/nohz_full: Don't abuse smp_call_function_single() in tick_setup_device()
	serial: 8250_pxa: Configure tx_loadsz to match FIFO IRQ level
	hugetlb_encode.h: fix undefined behaviour (34 << 26)
	mptcp: ensure snd_una is properly initialized on connect
	mptcp: pm: inc RmAddr MIB counter once per RM_ADDR ID
	mptcp: pm: update add_addr counters after connect
	remoteproc: k3-r5: Jump to error handling labels in start/stop errors
	greybus: Fix use-after-free bug in gb_interface_release due to race condition.
	usb-storage: alauda: Check whether the media is initialized
	i2c: at91: Fix the functionality flags of the slave-only interface
	i2c: designware: Fix the functionality flags of the slave-only interface
	zap_pid_ns_processes: clear TIF_NOTIFY_SIGNAL along with TIF_SIGPENDING
	padata: Disable BH when taking works lock on MT path
	rcutorture: Fix rcu_torture_one_read() pipe_count overflow comment
	rcutorture: Fix invalid context warning when enable srcu barrier testing
	block/ioctl: prefer different overflow check
	selftests/bpf: Prevent client connect before server bind in test_tc_tunnel.sh
	selftests/bpf: Fix flaky test btf_map_in_map/lookup_update
	batman-adv: bypass empty buckets in batadv_purge_orig_ref()
	wifi: ath9k: work around memset overflow warning
	af_packet: avoid a false positive warning in packet_setsockopt()
	drop_monitor: replace spin_lock by raw_spin_lock
	scsi: qedi: Fix crash while reading debugfs attribute
	kselftest: arm64: Add a null pointer check
	netpoll: Fix race condition in netpoll_owner_active
	HID: Add quirk for Logitech Casa touchpad
	ACPI: video: Add backlight=native quirk for Lenovo Slim 7 16ARH7
	Bluetooth: ath3k: Fix multiple issues reported by checkpatch.pl
	drm/amd/display: Exit idle optimizations before HDCP execution
	ASoC: Intel: sof_sdw: add JD2 quirk for HP Omen 14
	drm/lima: add mask irq callback to gp and pp
	drm/lima: mask irqs in timeout path before hard reset
	powerpc/pseries: Enforce hcall result buffer validity and size
	powerpc/io: Avoid clang null pointer arithmetic warnings
	power: supply: cros_usbpd: provide ID table for avoiding fallback match
	iommu/arm-smmu-v3: Free MSIs in case of ENOMEM
	f2fs: remove clear SB_INLINECRYPT flag in default_options
	usb: misc: uss720: check for incompatible versions of the Belkin F5U002
	udf: udftime: prevent overflow in udf_disk_stamp_to_time()
	PCI/PM: Avoid D3cold for HP Pavilion 17 PC/1972 PCIe Ports
	MIPS: Octeon: Add PCIe link status check
	serial: exar: adding missing CTI and Exar PCI ids
	MIPS: Routerboard 532: Fix vendor retry check code
	mips: bmips: BCM6358: make sure CBR is correctly set
	tracing: Build event generation tests only as modules
	cipso: fix total option length computation
	netrom: Fix a memory leak in nr_heartbeat_expiry()
	ipv6: prevent possible NULL deref in fib6_nh_init()
	ipv6: prevent possible NULL dereference in rt6_probe()
	xfrm6: check ip6_dst_idev() return value in xfrm6_get_saddr()
	netns: Make get_net_ns() handle zero refcount net
	qca_spi: Make interrupt remembering atomic
	net/sched: act_api: rely on rcu in tcf_idr_check_alloc
	net/sched: act_api: fix possible infinite loop in tcf_idr_check_alloc()
	tipc: force a dst refcount before doing decryption
	net/sched: act_ct: set 'net' pointer when creating new nf_flow_table
	sched: act_ct: add netns into the key of tcf_ct_flow_table
	net: stmmac: No need to calculate speed divider when offload is disabled
	virtio_net: checksum offloading handling fix
	netfilter: ipset: Fix suspicious rcu_dereference_protected()
	net: usb: rtl8150 fix unintiatilzed variables in rtl8150_get_link_ksettings
	regulator: core: Fix modpost error "regulator_get_regmap" undefined
	dmaengine: ioat: switch from 'pci_' to 'dma_' API
	dmaengine: ioat: Drop redundant pci_enable_pcie_error_reporting()
	dmaengine: ioatdma: Fix leaking on version mismatch
	dmaengine: ioat: use PCI core macros for PCIe Capability
	dmaengine: ioatdma: Fix error path in ioat3_dma_probe()
	dmaengine: ioatdma: Fix kmemleak in ioat_pci_probe()
	dmaengine: ioatdma: Fix missing kmem_cache_destroy()
	ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."
	RDMA/mlx5: Add check for srq max_sge attribute
	ALSA: hda/realtek: Limit mic boost on N14AP7
	drm/radeon: fix UBSAN warning in kv_dpm.c
	gcov: add support for GCC 14
	kcov: don't lose track of remote references during softirqs
	i2c: ocores: set IACK bit after core is enabled
	dt-bindings: i2c: google,cros-ec-i2c-tunnel: correct path to i2c-controller schema
	drm/amd/display: revert Exit idle optimizations before HDCP execution
	ARM: dts: samsung: smdkv310: fix keypad no-autorepeat
	ARM: dts: samsung: exynos4412-origen: fix keypad no-autorepeat
	ARM: dts: samsung: smdk4412: fix keypad no-autorepeat
	rtlwifi: rtl8192de: Style clean-ups
	wifi: rtlwifi: rtl8192de: Fix 5 GHz TX power
	pmdomain: ti-sci: Fix duplicate PD referrals
	knfsd: LOOKUP can return an illegal error value
	spmi: hisi-spmi-controller: Do not override device identifier
	bcache: fix variable length array abuse in btree_iter
	tracing: Add MODULE_DESCRIPTION() to preemptirq_delay_test
	x86/cpu/vfm: Add new macros to work with (vendor/family/model) values
	x86/cpu: Fix x86_match_cpu() to match just X86_VENDOR_INTEL
	r8169: remove unneeded memory barrier in rtl_tx
	r8169: improve rtl_tx
	r8169: improve rtl8169_start_xmit
	r8169: remove nr_frags argument from rtl_tx_slots_avail
	r8169: remove not needed check in rtl8169_start_xmit
	r8169: Fix possible ring buffer corruption on fragmented Tx packets.
	Revert "kheaders: substituting --sort in archive creation"
	kheaders: explicitly define file modes for archived headers
	perf/core: Fix missing wakeup when waiting for context reference
	PCI: Add PCI_ERROR_RESPONSE and related definitions
	x86/amd_nb: Check for invalid SMN reads
	cifs: missed ref-counting smb session in find
	smb: client: fix deadlock in smb2_find_smb_tcon()
	ACPI: Add quirks for AMD Renoir/Lucienne CPUs to force the D3 hint
	ACPI: x86: Add a quirk for Dell Inspiron 14 2-in-1 for StorageD3Enable
	ACPI: x86: Add another system to quirk list for forcing StorageD3Enable
	ACPI: x86: utils: Add Cezanne to the list for forcing StorageD3Enable
	ACPI: x86: utils: Add Picasso to the list for forcing StorageD3Enable
	ACPI: x86: Force StorageD3Enable on more products
	Input: ili210x - fix ili251x_read_touch_data() return value
	pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER
	pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins
	pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins
	pinctrl/rockchip: separate struct rockchip_pin_bank to a head file
	pinctrl: rockchip: use dedicated pinctrl type for RK3328
	pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set
	drm/amdgpu: fix UBSAN warning in kv_dpm.c
	netfilter: nf_tables: validate family when identifying table via handle
	SUNRPC: Fix null pointer dereference in svc_rqst_free()
	SUNRPC: Fix a NULL pointer deref in trace_svc_stats_latency()
	SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation
	SUNRPC: Fix svcxdr_init_encode's buflen calculation
	nfsd: hold a lighter-weight client reference over CB_RECALL_ANY
	ASoC: fsl-asoc-card: set priv->pdev before using it
	net: dsa: microchip: fix initial port flush problem
	net: phy: micrel: add Microchip KSZ 9477 to the device table
	xdp: Move the rxq_info.mem clearing to unreg_mem_model()
	xdp: Allow registering memory model without rxq reference
	xdp: Remove WARN() from __xdp_reg_mem_model()
	sparc: fix old compat_sys_select()
	sparc: fix compat recv/recvfrom syscalls
	parisc: use correct compat recv/recvfrom syscalls
	netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers
	drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep
	mtd: partitions: redboot: Added conversion of operands to a larger type
	bpf: Add a check for struct bpf_fib_lookup size
	net/iucv: Avoid explicit cpumask var allocation on stack
	net/dpaa2: Avoid explicit cpumask var allocation on stack
	ALSA: emux: improve patch ioctl data validation
	media: dvbdev: Initialize sbuf
	soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message
	drm/radeon/radeon_display: Decrease the size of allocated memory
	nvme: fixup comment for nvme RDMA Provider Type
	drm/panel: simple: Add missing display timing flags for KOE TX26D202VM0BWA
	gpio: davinci: Validate the obtained number of IRQs
	gpiolib: cdev: Disallow reconfiguration without direction (uAPI v1)
	x86: stop playing stack games in profile_pc()
	ocfs2: fix DIO failure due to insufficient transaction credits
	mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos
	mmc: sdhci: Do not invert write-protect twice
	mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro()
	counter: ti-eqep: enable clock at probe
	iio: adc: ad7266: Fix variable checking bug
	iio: chemical: bme680: Fix pressure value output
	iio: chemical: bme680: Fix calibration data variable
	iio: chemical: bme680: Fix overflows in compensate() functions
	iio: chemical: bme680: Fix sensor data read operation
	net: usb: ax88179_178a: improve link status logs
	usb: gadget: printer: SS+ support
	usb: gadget: printer: fix races against disable
	usb: musb: da8xx: fix a resource leak in probe()
	usb: atm: cxacru: fix endpoint checking in cxacru_bind()
	serial: 8250_omap: Implementation of Errata i2310
	tty: mcf: MCF54418 has 10 UARTS
	net: can: j1939: Initialize unused data in j1939_send_one()
	net: can: j1939: recover socket queue on CAN bus error during BAM transmission
	net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new
	kbuild: Install dtb files as 0644 in Makefile.dtbinst
	csky, hexagon: fix broken sys_sync_file_range
	hexagon: fix fadvise64_64 calling conventions
	drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes
	drm/i915/gt: Fix potential UAF by revoke of fence registers
	drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes
	batman-adv: Don't accept TT entries for out-of-spec VIDs
	ata: ahci: Clean up sysfs file on error
	ata: libata-core: Fix double free on error
	ftruncate: pass a signed offset
	syscalls: fix compat_sys_io_pgetevents_time64 usage
	mtd: spinand: macronix: Add support for serial NAND flash
	pwm: stm32: Refuse too small period requests
	nfs: Leave pages in the pagecache if readpage failed
	ipv6: annotate some data-races around sk->sk_prot
	ipv6: Fix data races around sk->sk_prot.
	tcp: Fix data races around icsk->icsk_af_ops.
	drivers: fix typo in firmware/efi/memmap.c
	efi: Correct comment on efi_memmap_alloc
	efi: memmap: Move manipulation routines into x86 arch tree
	efi: xen: Set EFI_PARAVIRT for Xen dom0 boot on all architectures
	efi/x86: Free EFI memory map only when installing a new one.
	KVM: arm64: vgic-v4: Make the doorbell request robust w.r.t preemption
	ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node
	arm64: dts: rockchip: Add sound-dai-cells for RK3368
	xdp: xdp_mem_allocator can be NULL in trace_mem_connect().
	serial: 8250_omap: Fix Errata i2310 with RX FIFO level check
	tracing/net_sched: NULL pointer dereference in perf_trace_qdisc_reset()
	Linux 5.10.221

Change-Id: Icac1c62fcbda5102be7ea031121f28d6fee36875
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-07-17 09:08:09 +00:00
Greg Kroah-Hartman
88eb084d18 Revert "Merge 5.10.220 into android12-5.10-lts"
This reverts commit 87a7f35a24, reversing
changes made to 640645c85b.

5.10.220 is a bunch of vfs and nfs changes that are not needed in
Android systems, so revert the whole lot all at once, except for the
version number bump.

Change-Id: If28dc2231f27d326d3730716f23545dd0a2cdc75
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-07-16 16:33:14 +00:00
Greg Kroah-Hartman
87a7f35a24 Merge 5.10.220 into android12-5.10-lts
Changes in 5.10.220
	SUNRPC: Rename svc_encode_read_payload()
	NFSD: Invoke svc_encode_result_payload() in "read" NFSD encoders
	NFSD: A semicolon is not needed after a switch statement.
	nfsd/nfs3: remove unused macro nfsd3_fhandleres
	NFSD: Clean up the show_nf_may macro
	NFSD: Remove extra "0x" in tracepoint format specifier
	NFSD: Add SPDX header for fs/nfsd/trace.c
	nfsd: Fix error return code in nfsd_file_cache_init()
	SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer()
	SUNRPC: Prepare for xdr_stream-style decoding on the server-side
	NFSD: Add common helpers to decode void args and encode void results
	NFSD: Add tracepoints in nfsd_dispatch()
	NFSD: Add tracepoints in nfsd4_decode/encode_compound()
	NFSD: Replace the internals of the READ_BUF() macro
	NFSD: Replace READ* macros in nfsd4_decode_access()
	NFSD: Replace READ* macros in nfsd4_decode_close()
	NFSD: Replace READ* macros in nfsd4_decode_commit()
	NFSD: Change the way the expected length of a fattr4 is checked
	NFSD: Replace READ* macros that decode the fattr4 size attribute
	NFSD: Replace READ* macros that decode the fattr4 acl attribute
	NFSD: Replace READ* macros that decode the fattr4 mode attribute
	NFSD: Replace READ* macros that decode the fattr4 owner attribute
	NFSD: Replace READ* macros that decode the fattr4 owner_group attribute
	NFSD: Replace READ* macros that decode the fattr4 time_set attributes
	NFSD: Replace READ* macros that decode the fattr4 security label attribute
	NFSD: Replace READ* macros that decode the fattr4 umask attribute
	NFSD: Replace READ* macros in nfsd4_decode_fattr()
	NFSD: Replace READ* macros in nfsd4_decode_create()
	NFSD: Replace READ* macros in nfsd4_decode_delegreturn()
	NFSD: Replace READ* macros in nfsd4_decode_getattr()
	NFSD: Replace READ* macros in nfsd4_decode_link()
	NFSD: Relocate nfsd4_decode_opaque()
	NFSD: Add helpers to decode a clientid4 and an NFSv4 state owner
	NFSD: Add helper for decoding locker4
	NFSD: Replace READ* macros in nfsd4_decode_lock()
	NFSD: Replace READ* macros in nfsd4_decode_lockt()
	NFSD: Replace READ* macros in nfsd4_decode_locku()
	NFSD: Replace READ* macros in nfsd4_decode_lookup()
	NFSD: Add helper to decode NFSv4 verifiers
	NFSD: Add helper to decode OPEN's createhow4 argument
	NFSD: Add helper to decode OPEN's openflag4 argument
	NFSD: Replace READ* macros in nfsd4_decode_share_access()
	NFSD: Replace READ* macros in nfsd4_decode_share_deny()
	NFSD: Add helper to decode OPEN's open_claim4 argument
	NFSD: Replace READ* macros in nfsd4_decode_open()
	NFSD: Replace READ* macros in nfsd4_decode_open_confirm()
	NFSD: Replace READ* macros in nfsd4_decode_open_downgrade()
	NFSD: Replace READ* macros in nfsd4_decode_putfh()
	NFSD: Replace READ* macros in nfsd4_decode_read()
	NFSD: Replace READ* macros in nfsd4_decode_readdir()
	NFSD: Replace READ* macros in nfsd4_decode_remove()
	NFSD: Replace READ* macros in nfsd4_decode_rename()
	NFSD: Replace READ* macros in nfsd4_decode_renew()
	NFSD: Replace READ* macros in nfsd4_decode_secinfo()
	NFSD: Replace READ* macros in nfsd4_decode_setattr()
	NFSD: Replace READ* macros in nfsd4_decode_setclientid()
	NFSD: Replace READ* macros in nfsd4_decode_setclientid_confirm()
	NFSD: Replace READ* macros in nfsd4_decode_verify()
	NFSD: Replace READ* macros in nfsd4_decode_write()
	NFSD: Replace READ* macros in nfsd4_decode_release_lockowner()
	NFSD: Replace READ* macros in nfsd4_decode_cb_sec()
	NFSD: Replace READ* macros in nfsd4_decode_backchannel_ctl()
	NFSD: Replace READ* macros in nfsd4_decode_bind_conn_to_session()
	NFSD: Add a separate decoder to handle state_protect_ops
	NFSD: Add a separate decoder for ssv_sp_parms
	NFSD: Add a helper to decode state_protect4_a
	NFSD: Add a helper to decode nfs_impl_id4
	NFSD: Add a helper to decode channel_attrs4
	NFSD: Replace READ* macros in nfsd4_decode_create_session()
	NFSD: Replace READ* macros in nfsd4_decode_destroy_session()
	NFSD: Replace READ* macros in nfsd4_decode_free_stateid()
	NFSD: Replace READ* macros in nfsd4_decode_getdeviceinfo()
	NFSD: Replace READ* macros in nfsd4_decode_layoutcommit()
	NFSD: Replace READ* macros in nfsd4_decode_layoutget()
	NFSD: Replace READ* macros in nfsd4_decode_layoutreturn()
	NFSD: Replace READ* macros in nfsd4_decode_secinfo_no_name()
	NFSD: Replace READ* macros in nfsd4_decode_sequence()
	NFSD: Replace READ* macros in nfsd4_decode_test_stateid()
	NFSD: Replace READ* macros in nfsd4_decode_destroy_clientid()
	NFSD: Replace READ* macros in nfsd4_decode_reclaim_complete()
	NFSD: Replace READ* macros in nfsd4_decode_fallocate()
	NFSD: Replace READ* macros in nfsd4_decode_nl4_server()
	NFSD: Replace READ* macros in nfsd4_decode_copy()
	NFSD: Replace READ* macros in nfsd4_decode_copy_notify()
	NFSD: Replace READ* macros in nfsd4_decode_offload_status()
	NFSD: Replace READ* macros in nfsd4_decode_seek()
	NFSD: Replace READ* macros in nfsd4_decode_clone()
	NFSD: Replace READ* macros in nfsd4_decode_xattr_name()
	NFSD: Replace READ* macros in nfsd4_decode_setxattr()
	NFSD: Replace READ* macros in nfsd4_decode_listxattrs()
	NFSD: Make nfsd4_ops::opnum a u32
	NFSD: Replace READ* macros in nfsd4_decode_compound()
	NFSD: Remove macros that are no longer used
	nfsd: only call inode_query_iversion in the I_VERSION case
	nfsd: simplify nfsd4_change_info
	nfsd: minor nfsd4_change_attribute cleanup
	nfsd4: don't query change attribute in v2/v3 case
	Revert "nfsd4: support change_attr_type attribute"
	nfsd: add a new EXPORT_OP_NOWCC flag to struct export_operations
	nfsd: allow filesystems to opt out of subtree checking
	nfsd: close cached files prior to a REMOVE or RENAME that would replace target
	exportfs: Add a function to return the raw output from fh_to_dentry()
	nfsd: Fix up nfsd to ensure that timeout errors don't result in ESTALE
	nfsd: Set PF_LOCAL_THROTTLE on local filesystems only
	nfsd: Record NFSv4 pre/post-op attributes as non-atomic
	exec: Don't open code get_close_on_exec
	exec: Move unshare_files to fix posix file locking during exec
	exec: Simplify unshare_files
	exec: Remove reset_files_struct
	kcmp: In kcmp_epoll_target use fget_task
	bpf: In bpf_task_fd_query use fget_task
	proc/fd: In proc_fd_link use fget_task
	Revert "fget: clarify and improve __fget_files() implementation"
	file: Rename __fcheck_files to files_lookup_fd_raw
	file: Factor files_lookup_fd_locked out of fcheck_files
	file: Replace fcheck_files with files_lookup_fd_rcu
	file: Rename fcheck lookup_fd_rcu
	file: Implement task_lookup_fd_rcu
	proc/fd: In tid_fd_mode use task_lookup_fd_rcu
	kcmp: In get_file_raw_ptr use task_lookup_fd_rcu
	file: Implement task_lookup_next_fd_rcu
	proc/fd: In proc_readfd_common use task_lookup_next_fd_rcu
	proc/fd: In fdinfo seq_show don't use get_files_struct
	file: Merge __fd_install into fd_install
	file: In f_dupfd read RLIMIT_NOFILE once.
	file: Merge __alloc_fd into alloc_fd
	file: Rename __close_fd to close_fd and remove the files parameter
	file: Replace ksys_close with close_fd
	inotify: Increase default inotify.max_user_watches limit to 1048576
	fs/lockd: convert comma to semicolon
	NFSD: Fix sparse warning in nfssvc.c
	NFSD: Restore NFSv4 decoding's SAVEMEM functionality
	SUNRPC: Make trace_svc_process() display the RPC procedure symbolically
	SUNRPC: Display RPC procedure names instead of proc numbers
	SUNRPC: Move definition of XDR_UNIT
	NFSD: Update GETATTR3args decoder to use struct xdr_stream
	NFSD: Update ACCESS3arg decoder to use struct xdr_stream
	NFSD: Update READ3arg decoder to use struct xdr_stream
	NFSD: Update WRITE3arg decoder to use struct xdr_stream
	NFSD: Update READLINK3arg decoder to use struct xdr_stream
	NFSD: Fix returned READDIR offset cookie
	NFSD: Add helper to set up the pages where the dirlist is encoded
	NFSD: Update READDIR3args decoders to use struct xdr_stream
	NFSD: Update COMMIT3arg decoder to use struct xdr_stream
	NFSD: Update the NFSv3 DIROPargs decoder to use struct xdr_stream
	NFSD: Update the RENAME3args decoder to use struct xdr_stream
	NFSD: Update the LINK3args decoder to use struct xdr_stream
	NFSD: Update the SETATTR3args decoder to use struct xdr_stream
	NFSD: Update the CREATE3args decoder to use struct xdr_stream
	NFSD: Update the MKDIR3args decoder to use struct xdr_stream
	NFSD: Update the SYMLINK3args decoder to use struct xdr_stream
	NFSD: Update the MKNOD3args decoder to use struct xdr_stream
	NFSD: Update the NFSv2 GETATTR argument decoder to use struct xdr_stream
	NFSD: Update the NFSv2 READ argument decoder to use struct xdr_stream
	NFSD: Update the NFSv2 WRITE argument decoder to use struct xdr_stream
	NFSD: Update the NFSv2 READLINK argument decoder to use struct xdr_stream
	NFSD: Add helper to set up the pages where the dirlist is encoded
	NFSD: Update the NFSv2 READDIR argument decoder to use struct xdr_stream
	NFSD: Update NFSv2 diropargs decoding to use struct xdr_stream
	NFSD: Update the NFSv2 RENAME argument decoder to use struct xdr_stream
	NFSD: Update the NFSv2 LINK argument decoder to use struct xdr_stream
	NFSD: Update the NFSv2 SETATTR argument decoder to use struct xdr_stream
	NFSD: Update the NFSv2 CREATE argument decoder to use struct xdr_stream
	NFSD: Update the NFSv2 SYMLINK argument decoder to use struct xdr_stream
	NFSD: Remove argument length checking in nfsd_dispatch()
	NFSD: Update the NFSv2 GETACL argument decoder to use struct xdr_stream
	NFSD: Add an xdr_stream-based decoder for NFSv2/3 ACLs
	NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream
	NFSD: Update the NFSv2 ACL GETATTR argument decoder to use struct xdr_stream
	NFSD: Update the NFSv2 ACL ACCESS argument decoder to use struct xdr_stream
	NFSD: Clean up after updating NFSv2 ACL decoders
	NFSD: Update the NFSv3 GETACL argument decoder to use struct xdr_stream
	NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream
	NFSD: Clean up after updating NFSv3 ACL decoders
	nfsd: remove unused stats counters
	nfsd: protect concurrent access to nfsd stats counters
	nfsd: report per-export stats
	nfsd4: simplify process_lookup1
	nfsd: simplify process_lock
	nfsd: simplify nfsd_renew
	nfsd: rename lookup_clientid->set_client
	nfsd: refactor set_client
	nfsd: find_cpntf_state cleanup
	nfsd: remove unused set_client argument
	nfsd: simplify nfsd4_check_open_reclaim
	nfsd: cstate->session->se_client -> cstate->clp
	NFSv4_2: SSC helper should use its own config.
	nfs: use change attribute for NFS re-exports
	nfsd: skip some unnecessary stats in the v4 case
	inotify, memcg: account inotify instances to kmemcg
	module: unexport find_module and module_mutex
	module: use RCU to synchronize find_module
	kallsyms: refactor {,module_}kallsyms_on_each_symbol
	kallsyms: only build {,module_}kallsyms_on_each_symbol when required
	fs: add file and path permissions helpers
	namei: introduce struct renamedata
	NFSD: Extract the svcxdr_init_encode() helper
	NFSD: Update the GETATTR3res encoder to use struct xdr_stream
	NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream
	NFSD: Update the NFSv3 LOOKUP3res encoder to use struct xdr_stream
	NFSD: Update the NFSv3 wccstat result encoder to use struct xdr_stream
	NFSD: Update the NFSv3 READLINK3res encoder to use struct xdr_stream
	NFSD: Update the NFSv3 READ3res encode to use struct xdr_stream
	NFSD: Update the NFSv3 WRITE3res encoder to use struct xdr_stream
	NFSD: Update the NFSv3 CREATE family of encoders to use struct xdr_stream
	NFSD: Update the NFSv3 RENAMEv3res encoder to use struct xdr_stream
	NFSD: Update the NFSv3 LINK3res encoder to use struct xdr_stream
	NFSD: Update the NFSv3 FSSTAT3res encoder to use struct xdr_stream
	NFSD: Update the NFSv3 FSINFO3res encoder to use struct xdr_stream
	NFSD: Update the NFSv3 PATHCONF3res encoder to use struct xdr_stream
	NFSD: Update the NFSv3 COMMIT3res encoder to use struct xdr_stream
	NFSD: Add a helper that encodes NFSv3 directory offset cookies
	NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder
	NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream
	NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream
	NFSD: Remove unused NFSv3 directory entry encoders
	NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations
	NFSD: Update the NFSv2 stat encoder to use struct xdr_stream
	NFSD: Update the NFSv2 attrstat encoder to use struct xdr_stream
	NFSD: Update the NFSv2 diropres encoder to use struct xdr_stream
	NFSD: Update the NFSv2 READLINK result encoder to use struct xdr_stream
	NFSD: Update the NFSv2 READ result encoder to use struct xdr_stream
	NFSD: Update the NFSv2 STATFS result encoder to use struct xdr_stream
	NFSD: Add a helper that encodes NFSv3 directory offset cookies
	NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder
	NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream
	NFSD: Update the NFSv2 READDIR entry encoder to use struct xdr_stream
	NFSD: Remove unused NFSv2 directory entry encoders
	NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs
	NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream
	NFSD: Update the NFSv2 SETACL result encoder to use struct xdr_stream
	NFSD: Update the NFSv2 ACL GETATTR result encoder to use struct xdr_stream
	NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream
	NFSD: Clean up after updating NFSv2 ACL encoders
	NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream
	NFSD: Update the NFSv3 SETACL result encoder to use struct xdr_stream
	NFSD: Clean up after updating NFSv3 ACL encoders
	NFSD: Add a tracepoint to record directory entry encoding
	NFSD: Clean up NFSDDBG_FACILITY macro
	nfsd: helper for laundromat expiry calculations
	nfsd: Log client tracking type log message as info instead of warning
	nfsd: Fix typo "accesible"
	nfsd: COPY with length 0 should copy to end of file
	nfsd: don't ignore high bits of copy count
	nfsd: report client confirmation status in "info" file
	SUNRPC: Export svc_xprt_received()
	UAPI: nfsfh.h: Replace one-element array with flexible-array member
	NFSD: Use DEFINE_SPINLOCK() for spinlock
	fsnotify: allow fsnotify_{peek,remove}_first_event with empty queue
	Revert "fanotify: limit number of event merge attempts"
	fanotify: reduce event objectid to 29-bit hash
	fanotify: mix event info and pid into merge key hash
	fsnotify: use hash table for faster events merge
	fanotify: limit number of event merge attempts
	fanotify: configurable limits via sysfs
	fanotify: support limited functionality for unprivileged users
	fanotify_user: use upper_32_bits() to verify mask
	nfsd: remove unused function
	nfsd: removed unused argument in nfsd_startup_generic()
	nfsd: hash nfs4_files by inode number
	nfsd: track filehandle aliasing in nfs4_files
	nfsd: reshuffle some code
	nfsd: grant read delegations to clients holding writes
	nfsd: Fix fall-through warnings for Clang
	NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code.
	NFS: fix nfs_fetch_iversion()
	fanotify: fix permission model of unprivileged group
	NFSD: Add an RPC authflavor tracepoint display helper
	NFSD: Add nfsd_clid_cred_mismatch tracepoint
	NFSD: Add nfsd_clid_verf_mismatch tracepoint
	NFSD: Remove trace_nfsd_clid_inuse_err
	NFSD: Add nfsd_clid_confirmed tracepoint
	NFSD: Add nfsd_clid_reclaim_complete tracepoint
	NFSD: Add nfsd_clid_destroyed tracepoint
	NFSD: Add a couple more nfsd_clid_expired call sites
	NFSD: Add tracepoints for SETCLIENTID edge cases
	NFSD: Add tracepoints for EXCHANGEID edge cases
	NFSD: Constify @fh argument of knfsd_fh_hash()
	NFSD: Capture every CB state transition
	NFSD: Drop TRACE_DEFINE_ENUM for NFSD4_CB_<state> macros
	NFSD: Add cb_lost tracepoint
	NFSD: Adjust cb_shutdown tracepoint
	NFSD: Enhance the nfsd_cb_setup tracepoint
	NFSD: Add an nfsd_cb_lm_notify tracepoint
	NFSD: Add an nfsd_cb_offload tracepoint
	NFSD: Replace the nfsd_deleg_break tracepoint
	NFSD: Add an nfsd_cb_probe tracepoint
	NFSD: Remove the nfsd_cb_work and nfsd_cb_done tracepoints
	NFSD: Update nfsd_cb_args tracepoint
	nfsd: Prevent truncation of an unlinked inode from blocking access to its directory
	nfsd: move some commit_metadata()s outside the inode lock
	NFSD add vfs_fsync after async copy is done
	NFSD: delay unmount source's export after inter-server copy completed.
	nfsd: move fsnotify on client creation outside spinlock
	nfsd4: Expose the callback address and state of each NFS4 client
	nfsd: fix kernel test robot warning in SSC code
	NFSD: Fix error return code in nfsd4_interssc_connect()
	nfsd: rpc_peeraddr2str needs rcu lock
	lockd: Remove stale comments
	lockd: Create a simplified .vs_dispatch method for NLM requests
	lockd: Common NLM XDR helpers
	lockd: Update the NLMv1 void argument decoder to use struct xdr_stream
	lockd: Update the NLMv1 TEST arguments decoder to use struct xdr_stream
	lockd: Update the NLMv1 LOCK arguments decoder to use struct xdr_stream
	lockd: Update the NLMv1 CANCEL arguments decoder to use struct xdr_stream
	lockd: Update the NLMv1 UNLOCK arguments decoder to use struct xdr_stream
	lockd: Update the NLMv1 nlm_res arguments decoder to use struct xdr_stream
	lockd: Update the NLMv1 SM_NOTIFY arguments decoder to use struct xdr_stream
	lockd: Update the NLMv1 SHARE arguments decoder to use struct xdr_stream
	lockd: Update the NLMv1 FREE_ALL arguments decoder to use struct xdr_stream
	lockd: Update the NLMv1 void results encoder to use struct xdr_stream
	lockd: Update the NLMv1 TEST results encoder to use struct xdr_stream
	lockd: Update the NLMv1 nlm_res results encoder to use struct xdr_stream
	lockd: Update the NLMv1 SHARE results encoder to use struct xdr_stream
	lockd: Update the NLMv4 void arguments decoder to use struct xdr_stream
	lockd: Update the NLMv4 TEST arguments decoder to use struct xdr_stream
	lockd: Update the NLMv4 LOCK arguments decoder to use struct xdr_stream
	lockd: Update the NLMv4 CANCEL arguments decoder to use struct xdr_stream
	lockd: Update the NLMv4 UNLOCK arguments decoder to use struct xdr_stream
	lockd: Update the NLMv4 nlm_res arguments decoder to use struct xdr_stream
	lockd: Update the NLMv4 SM_NOTIFY arguments decoder to use struct xdr_stream
	lockd: Update the NLMv4 SHARE arguments decoder to use struct xdr_stream
	lockd: Update the NLMv4 FREE_ALL arguments decoder to use struct xdr_stream
	lockd: Update the NLMv4 void results encoder to use struct xdr_stream
	lockd: Update the NLMv4 TEST results encoder to use struct xdr_stream
	lockd: Update the NLMv4 nlm_res results encoder to use struct xdr_stream
	lockd: Update the NLMv4 SHARE results encoder to use struct xdr_stream
	nfsd: remove redundant assignment to pointer 'this'
	NFSD: Prevent a possible oops in the nfs_dirent() tracepoint
	nfsd: fix NULL dereference in nfs3svc_encode_getaclres
	kernel/pid.c: remove static qualifier from pidfd_create()
	kernel/pid.c: implement additional checks upon pidfd_create() parameters
	fanotify: minor cosmetic adjustments to fid labels
	fanotify: introduce a generic info record copying helper
	fanotify: add pidfd support to the fanotify API
	fsnotify: replace igrab() with ihold() on attach connector
	fsnotify: count s_fsnotify_inode_refs for attached connectors
	fsnotify: count all objects with attached connectors
	fsnotify: optimize the case of no marks of any type
	NFSD: Clean up splice actor
	SUNRPC: Add svc_rqst_replace_page() API
	NFSD: Batch release pages during splice read
	NFSD: remove vanity comments
	sysctl: introduce new proc handler proc_dobool
	lockd: change the proc_handler for nsm_use_hostnames
	nlm: minor nlm_lookup_file argument change
	nlm: minor refactoring
	lockd: update nlm_lookup_file reexport comment
	Keep read and write fds with each nlm_file
	nfs: don't atempt blocking locks on nfs reexports
	lockd: don't attempt blocking locks on nfs reexports
	nfs: don't allow reexport reclaims
	SUNRPC: Add svc_rqst::rq_auth_stat
	SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
	SUNRPC: Eliminate the RQ_AUTHERR flag
	NFS: Add a private local dispatcher for NFSv4 callback operations
	NFS: Remove unused callback void decoder
	fsnotify: fix sb_connectors leak
	NLM: Fix svcxdr_encode_owner()
	nfsd: Fix a warning for nfsd_file_close_inode
	fsnotify: pass data_type to fsnotify_name()
	fsnotify: pass dentry instead of inode data
	fsnotify: clarify contract for create event hooks
	fsnotify: Don't insert unmergeable events in hashtable
	fanotify: Fold event size calculation to its own function
	fanotify: Split fsid check from other fid mode checks
	inotify: Don't force FS_IN_IGNORED
	fsnotify: Add helper to detect overflow_event
	fsnotify: Add wrapper around fsnotify_add_event
	fsnotify: Retrieve super block from the data field
	fsnotify: Protect fsnotify_handle_inode_event from no-inode events
	fsnotify: Pass group argument to free_event
	fanotify: Support null inode event in fanotify_dfid_inode
	fanotify: Allow file handle encoding for unhashed events
	fanotify: Encode empty file handle when no inode is provided
	fanotify: Require fid_mode for any non-fd event
	fsnotify: Support FS_ERROR event type
	fanotify: Reserve UAPI bits for FAN_FS_ERROR
	fanotify: Pre-allocate pool of error events
	fanotify: Support enqueueing of error events
	fanotify: Support merging of error events
	fanotify: Wrap object_fh inline space in a creator macro
	fanotify: Add helpers to decide whether to report FID/DFID
	fanotify: WARN_ON against too large file handles
	fanotify: Report fid info for file related file system errors
	fanotify: Emit generic error info for error event
	fanotify: Allow users to request FAN_FS_ERROR events
	SUNRPC: Trace calls to .rpc_call_done
	NFSD: Optimize DRC bucket pruning
	NFSD: move filehandle format declarations out of "uapi".
	NFSD: drop support for ancient filehandles
	NFSD: simplify struct nfsfh
	NFSD: Initialize pointer ni with NULL and not plain integer 0
	NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment()
	SUNRPC: Replace the "__be32 *p" parameter to .pc_decode
	SUNRPC: Change return value type of .pc_decode
	NFSD: Save location of NFSv4 COMPOUND status
	SUNRPC: Replace the "__be32 *p" parameter to .pc_encode
	SUNRPC: Change return value type of .pc_encode
	nfsd: update create verifier comment
	NFSD:fix boolreturn.cocci warning
	nfsd4: remove obselete comment
	NFSD: Fix exposure in nfsd4_decode_bitmap()
	NFSD: Fix READDIR buffer overflow
	fsnotify: clarify object type argument
	fsnotify: separate mark iterator type from object type enum
	fanotify: introduce group flag FAN_REPORT_TARGET_FID
	fsnotify: generate FS_RENAME event with rich information
	fanotify: use macros to get the offset to fanotify_info buffer
	fanotify: use helpers to parcel fanotify_info buffer
	fanotify: support secondary dir fh and name in fanotify_info
	fanotify: record old and new parent and name in FAN_RENAME event
	fanotify: record either old name new name or both for FAN_RENAME
	fanotify: report old and/or new parent+name in FAN_RENAME event
	fanotify: wire up FAN_RENAME event
	exit: Implement kthread_exit
	exit: Rename module_put_and_exit to module_put_and_kthread_exit
	NFSD: Fix sparse warning
	NFSD: handle errors better in write_ports_addfd()
	SUNRPC: change svc_get() to return the svc.
	SUNRPC/NFSD: clean up get/put functions.
	SUNRPC: stop using ->sv_nrthreads as a refcount
	nfsd: make nfsd_stats.th_cnt atomic_t
	SUNRPC: use sv_lock to protect updates to sv_nrthreads.
	NFSD: narrow nfsd_mutex protection in nfsd thread
	NFSD: Make it possible to use svc_set_num_threads_sync
	SUNRPC: discard svo_setup and rename svc_set_num_threads_sync()
	NFSD: simplify locking for network notifier.
	lockd: introduce nlmsvc_serv
	lockd: simplify management of network status notifiers
	lockd: move lockd_start_svc() call into lockd_create_svc()
	lockd: move svc_exit_thread() into the thread
	lockd: introduce lockd_put()
	lockd: rename lockd_create_svc() to lockd_get()
	SUNRPC: move the pool_map definitions (back) into svc.c
	SUNRPC: always treat sv_nrpools==1 as "not pooled"
	lockd: use svc_set_num_threads() for thread start and stop
	NFS: switch the callback service back to non-pooled.
	NFSD: Remove be32_to_cpu() from DRC hash function
	NFSD: Fix inconsistent indenting
	NFSD: simplify per-net file cache management
	NFSD: Combine XDR error tracepoints
	nfsd: improve stateid access bitmask documentation
	NFSD: De-duplicate nfsd4_decode_bitmap4()
	nfs: block notification on fs with its own ->lock
	nfsd4: add refcount for nfsd4_blocked_lock
	NFSD: Fix zero-length NFSv3 WRITEs
	nfsd: map EBADF
	nfsd: Add errno mapping for EREMOTEIO
	nfsd: Retry once in nfsd_open on an -EOPENSTALE return
	NFSD: Clean up nfsd_vfs_write()
	NFSD: De-duplicate net_generic(SVC_NET(rqstp), nfsd_net_id)
	NFSD: De-duplicate net_generic(nf->nf_net, nfsd_net_id)
	nfsd: Add a tracepoint for errors in nfsd4_clone_file_range()
	NFSD: Write verifier might go backwards
	NFSD: Clean up the nfsd_net::nfssvc_boot field
	NFSD: Rename boot verifier functions
	NFSD: Trace boot verifier resets
	Revert "nfsd: skip some unnecessary stats in the v4 case"
	NFSD: Move fill_pre_wcc() and fill_post_wcc()
	nfsd: fix crash on COPY_NOTIFY with special stateid
	fanotify: remove variable set but not used
	lockd: fix server crash on reboot of client holding lock
	lockd: fix failure to cleanup client locks
	NFSD: Fix the behavior of READ near OFFSET_MAX
	NFSD: Fix ia_size underflow
	NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes
	NFSD: COMMIT operations must not return NFS?ERR_INVAL
	NFSD: Deprecate NFS_OFFSET_MAX
	nfsd: Add support for the birth time attribute
	NFSD: De-duplicate hash bucket indexing
	NFSD: Skip extra computation for RC_NOCACHE case
	NFSD: Streamline the rare "found" case
	SUNRPC: Remove the .svo_enqueue_xprt method
	SUNRPC: Merge svc_do_enqueue_xprt() into svc_enqueue_xprt()
	SUNRPC: Remove svo_shutdown method
	SUNRPC: Rename svc_create_xprt()
	SUNRPC: Rename svc_close_xprt()
	SUNRPC: Remove svc_shutdown_net()
	NFSD: Remove svc_serv_ops::svo_module
	NFSD: Move svc_serv_ops::svo_function into struct svc_serv
	NFSD: Remove CONFIG_NFSD_V3
	NFSD: Clean up _lm_ operation names
	nfsd: fix using the correct variable for sizeof()
	fsnotify: fix merge with parent's ignored mask
	fsnotify: optimize FS_MODIFY events with no ignored masks
	fsnotify: remove redundant parameter judgment
	SUNRPC: Return true/false (not 1/0) from bool functions
	nfsd: Fix a write performance regression
	nfsd: Clean up nfsd_file_put()
	fanotify: do not allow setting dirent events in mask of non-dir
	fs/lock: documentation cleanup. Replace inode->i_lock with flc_lock.
	inotify: move control flags from mask to mark flags
	fsnotify: pass flags argument to fsnotify_alloc_group()
	fsnotify: make allow_dups a property of the group
	fsnotify: create helpers for group mark_mutex lock
	inotify: use fsnotify group lock helpers
	nfsd: use fsnotify group lock helpers
	dnotify: use fsnotify group lock helpers
	fsnotify: allow adding an inode mark without pinning inode
	fanotify: create helper fanotify_mark_user_flags()
	fanotify: factor out helper fanotify_mark_update_flags()
	fanotify: implement "evictable" inode marks
	fanotify: use fsnotify group lock helpers
	fanotify: enable "evictable" inode marks
	fsnotify: introduce mark type iterator
	fsnotify: consistent behavior for parent not watching children
	fanotify: fix incorrect fmode_t casts
	NFSD: Clean up nfsd_splice_actor()
	NFSD: add courteous server support for thread with only delegation
	NFSD: add support for share reservation conflict to courteous server
	NFSD: move create/destroy of laundry_wq to init_nfsd and exit_nfsd
	fs/lock: add helper locks_owner_has_blockers to check for blockers
	fs/lock: add 2 callbacks to lock_manager_operations to resolve conflict
	NFSD: add support for lock conflict to courteous server
	NFSD: Show state of courtesy client in client info
	NFSD: Clean up nfsd3_proc_create()
	NFSD: Avoid calling fh_drop_write() twice in do_nfsd_create()
	NFSD: Refactor nfsd_create_setattr()
	NFSD: Refactor NFSv3 CREATE
	NFSD: Refactor NFSv4 OPEN(CREATE)
	NFSD: Remove do_nfsd_create()
	NFSD: Clean up nfsd_open_verified()
	NFSD: Instantiate a struct file when creating a regular NFSv4 file
	NFSD: Remove dprintk call sites from tail of nfsd4_open()
	NFSD: Fix whitespace
	NFSD: Move documenting comment for nfsd4_process_open2()
	NFSD: Trace filecache opens
	NFSD: Clean up the show_nf_flags() macro
	SUNRPC: Use RMW bitops in single-threaded hot paths
	nfsd: Unregister the cld notifier when laundry_wq create failed
	nfsd: Fix null-ptr-deref in nfsd_fill_super()
	nfsd: destroy percpu stats counters after reply cache shutdown
	NFSD: Modernize nfsd4_release_lockowner()
	NFSD: Add documenting comment for nfsd4_release_lockowner()
	NFSD: nfsd_file_put() can sleep
	NFSD: Fix potential use-after-free in nfsd_file_put()
	SUNRPC: Optimize xdr_reserve_space()
	fanotify: refine the validation checks on non-dir inode mask
	NFS: restore module put when manager exits.
	NFSD: Decode NFSv4 birth time attribute
	lockd: set fl_owner when unlocking files
	lockd: fix nlm_close_files
	fs: inotify: Fix typo in inotify comment
	fanotify: prepare for setting event flags in ignore mask
	fanotify: cleanups for fanotify_mark() input validations
	fanotify: introduce FAN_MARK_IGNORE
	fsnotify: Fix comment typo
	nfsd: eliminate the NFSD_FILE_BREAK_* flags
	SUNRPC: Fix xdr_encode_bool()
	NLM: Defend against file_lock changes after vfs_test_lock()
	NFSD: Fix space and spelling mistake
	nfsd: remove redundant assignment to variable len
	NFSD: Demote a WARN to a pr_warn()
	NFSD: Report filecache LRU size
	NFSD: Report count of calls to nfsd_file_acquire()
	NFSD: Report count of freed filecache items
	NFSD: Report average age of filecache items
	NFSD: Add nfsd_file_lru_dispose_list() helper
	NFSD: Refactor nfsd_file_gc()
	NFSD: Refactor nfsd_file_lru_scan()
	NFSD: Report the number of items evicted by the LRU walk
	NFSD: Record number of flush calls
	NFSD: Zero counters when the filecache is re-initialized
	NFSD: Hook up the filecache stat file
	NFSD: WARN when freeing an item still linked via nf_lru
	NFSD: Trace filecache LRU activity
	NFSD: Leave open files out of the filecache LRU
	NFSD: Fix the filecache LRU shrinker
	NFSD: Never call nfsd_file_gc() in foreground paths
	NFSD: No longer record nf_hashval in the trace log
	NFSD: Remove lockdep assertion from unhash_and_release_locked()
	NFSD: nfsd_file_unhash can compute hashval from nf->nf_inode
	NFSD: Refactor __nfsd_file_close_inode()
	NFSD: nfsd_file_hash_remove can compute hashval
	NFSD: Remove nfsd_file::nf_hashval
	NFSD: Replace the "init once" mechanism
	NFSD: Set up an rhashtable for the filecache
	NFSD: Convert the filecache to use rhashtable
	NFSD: Clean up unused code after rhashtable conversion
	NFSD: Separate tracepoints for acquire and create
	NFSD: Move nfsd_file_trace_alloc() tracepoint
	NFSD: NFSv4 CLOSE should release an nfsd_file immediately
	NFSD: Ensure nf_inode is never dereferenced
	NFSD: refactoring v4 specific code to a helper in nfs4state.c
	NFSD: keep track of the number of v4 clients in the system
	NFSD: limit the number of v4 clients to 1024 per 1GB of system memory
	nfsd: silence extraneous printk on nfsd.ko insertion
	NFSD: Optimize nfsd4_encode_operation()
	NFSD: Optimize nfsd4_encode_fattr()
	NFSD: Clean up SPLICE_OK in nfsd4_encode_read()
	NFSD: Add an nfsd4_read::rd_eof field
	NFSD: Optimize nfsd4_encode_readv()
	NFSD: Simplify starting_len
	NFSD: Use xdr_pad_size()
	NFSD: Clean up nfsd4_encode_readlink()
	NFSD: Fix strncpy() fortify warning
	NFSD: nfserrno(-ENOMEM) is nfserr_jukebox
	NFSD: Shrink size of struct nfsd4_copy_notify
	NFSD: Shrink size of struct nfsd4_copy
	NFSD: Reorder the fields in struct nfsd4_op
	NFSD: Make nfs4_put_copy() static
	NFSD: Replace boolean fields in struct nfsd4_copy
	NFSD: Refactor nfsd4_cleanup_inter_ssc() (1/2)
	NFSD: Refactor nfsd4_cleanup_inter_ssc() (2/2)
	NFSD: Refactor nfsd4_do_copy()
	NFSD: Remove kmalloc from nfsd4_do_async_copy()
	NFSD: Add nfsd4_send_cb_offload()
	NFSD: Move copy offload callback arguments into a separate structure
	NFSD: drop fh argument from alloc_init_deleg
	NFSD: verify the opened dentry after setting a delegation
	NFSD: introduce struct nfsd_attrs
	NFSD: set attributes when creating symlinks
	NFSD: add security label to struct nfsd_attrs
	NFSD: add posix ACLs to struct nfsd_attrs
	NFSD: change nfsd_create()/nfsd_symlink() to unlock directory before returning.
	NFSD: always drop directory lock in nfsd_unlink()
	NFSD: only call fh_unlock() once in nfsd_link()
	NFSD: reduce locking in nfsd_lookup()
	NFSD: use explicit lock/unlock for directory ops
	NFSD: use (un)lock_inode instead of fh_(un)lock for file operations
	NFSD: discard fh_locked flag and fh_lock/fh_unlock
	lockd: detect and reject lock arguments that overflow
	NFSD: fix regression with setting ACLs.
	nfsd_splice_actor(): handle compound pages
	NFSD: move from strlcpy with unused retval to strscpy
	lockd: move from strlcpy with unused retval to strscpy
	NFSD enforce filehandle check for source file in COPY
	NFSD: remove redundant variable status
	nfsd: Avoid some useless tests
	nfsd: Propagate some error code returned by memdup_user()
	NFSD: Increase NFSD_MAX_OPS_PER_COMPOUND
	NFSD: Protect against send buffer overflow in NFSv2 READDIR
	NFSD: Protect against send buffer overflow in NFSv3 READDIR
	NFSD: Protect against send buffer overflow in NFSv2 READ
	NFSD: Protect against send buffer overflow in NFSv3 READ
	NFSD: drop fname and flen args from nfsd_create_locked()
	NFSD: Fix handling of oversized NFSv4 COMPOUND requests
	nfsd: clean up mounted_on_fileid handling
	nfsd: remove nfsd4_prepare_cb_recall() declaration
	NFSD: Add tracepoints to report NFSv4 callback completions
	NFSD: Add a mechanism to wait for a DELEGRETURN
	NFSD: Refactor nfsd_setattr()
	NFSD: Make nfsd4_setattr() wait before returning NFS4ERR_DELAY
	NFSD: Make nfsd4_rename() wait before returning NFS4ERR_DELAY
	NFSD: Make nfsd4_remove() wait before returning NFS4ERR_DELAY
	NFSD: keep track of the number of courtesy clients in the system
	NFSD: add shrinker to reap courtesy clients on low memory condition
	SUNRPC: Parametrize how much of argsize should be zeroed
	NFSD: Reduce amount of struct nfsd4_compoundargs that needs clearing
	NFSD: Refactor common code out of dirlist helpers
	NFSD: Use xdr_inline_decode() to decode NFSv3 symlinks
	NFSD: Clean up WRITE arg decoders
	NFSD: Clean up nfs4svc_encode_compoundres()
	NFSD: Remove "inline" directives on op_rsize_bop helpers
	NFSD: Remove unused nfsd4_compoundargs::cachetype field
	NFSD: Pack struct nfsd4_compoundres
	nfsd: use DEFINE_PROC_SHOW_ATTRIBUTE to define nfsd_proc_ops
	nfsd: use DEFINE_SHOW_ATTRIBUTE to define export_features_fops and supported_enctypes_fops
	nfsd: use DEFINE_SHOW_ATTRIBUTE to define client_info_fops
	nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_reply_cache_stats_fops
	nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_file_cache_stats_fops
	NFSD: Rename the fields in copy_stateid_t
	NFSD: Cap rsize_bop result based on send buffer size
	nfsd: only fill out return pointer on success in nfsd4_lookup_stateid
	nfsd: fix comments about spinlock handling with delegations
	nfsd: make nfsd4_run_cb a bool return function
	nfsd: extra checks when freeing delegation stateids
	fs/notify: constify path
	fsnotify: remove unused declaration
	fanotify: Remove obsoleted fanotify_event_has_path()
	nfsd: fix nfsd_file_unhash_and_dispose
	nfsd: rework hashtable handling in nfsd_do_file_acquire
	NFSD: unregister shrinker when nfsd_init_net() fails
	nfsd: fix net-namespace logic in __nfsd_file_cache_purge
	nfsd: fix use-after-free in nfsd_file_do_acquire tracepoint
	nfsd: put the export reference in nfsd4_verify_deleg_dentry
	NFSD: Fix reads with a non-zero offset that don't end on a page boundary
	filelock: add a new locks_inode_context accessor function
	lockd: use locks_inode_context helper
	nfsd: use locks_inode_context helper
	NFSD: Simplify READ_PLUS
	NFSD: Remove redundant assignment to variable host_err
	NFSD: Finish converting the NFSv2 GETACL result encoder
	NFSD: Finish converting the NFSv3 GETACL result encoder
	nfsd: ignore requests to disable unsupported versions
	nfsd: move nfserrno() to vfs.c
	nfsd: allow disabling NFSv2 at compile time
	exportfs: use pr_debug for unreachable debug statements
	NFSD: Pass the target nfsd_file to nfsd_commit()
	NFSD: Revert "NFSD: NFSv4 CLOSE should release an nfsd_file immediately"
	NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection
	NFSD: Flesh out a documenting comment for filecache.c
	NFSD: Clean up nfs4_preprocess_stateid_op() call sites
	NFSD: Trace stateids returned via DELEGRETURN
	NFSD: Trace delegation revocations
	NFSD: Use const pointers as parameters to fh_ helpers
	NFSD: Update file_hashtbl() helpers
	NFSD: Clean up nfsd4_init_file()
	NFSD: Add a nfsd4_file_hash_remove() helper
	NFSD: Clean up find_or_add_file()
	NFSD: Refactor find_file()
	NFSD: Use rhashtable for managing nfs4_file objects
	NFSD: Fix licensing header in filecache.c
	nfsd: remove the pages_flushed statistic from filecache
	nfsd: reorganize filecache.c
	nfsd: fix up the filecache laundrette scheduling
	NFSD: Add an nfsd_file_fsync tracepoint
	lockd: set other missing fields when unlocking files
	nfsd: return error if nfs4_setacl fails
	NFSD: Use struct_size() helper in alloc_session()
	lockd: set missing fl_flags field when retrieving args
	lockd: ensure we use the correct file descriptor when unlocking
	lockd: fix file selection in nlmsvc_cancel_blocked
	NFSD: pass range end to vfs_fsync_range() instead of count
	NFSD: refactoring courtesy_client_reaper to a generic low memory shrinker
	NFSD: add support for sending CB_RECALL_ANY
	NFSD: add delegation reaper to react to low memory condition
	NFSD: Use only RQ_DROPME to signal the need to drop a reply
	NFSD: Avoid clashing function prototypes
	nfsd: rework refcounting in filecache
	nfsd: fix handling of cached open files in nfsd4_open codepath
	Revert "SUNRPC: Use RMW bitops in single-threaded hot paths"
	NFSD: Use set_bit(RQ_DROPME)
	NFSD: fix use-after-free in nfsd4_ssc_setup_dul()
	NFSD: register/unregister of nfsd-client shrinker at nfsd startup/shutdown time
	NFSD: replace delayed_work with work_struct for nfsd_client_shrinker
	nfsd: don't free files unconditionally in __nfsd_file_cache_purge
	nfsd: don't destroy global nfs4_file table in per-net shutdown
	NFSD: enhance inter-server copy cleanup
	nfsd: allow nfsd_file_get to sanely handle a NULL pointer
	nfsd: clean up potential nfsd_file refcount leaks in COPY codepath
	NFSD: fix leaked reference count of nfsd4_ssc_umount_item
	nfsd: don't hand out delegation on setuid files being opened for write
	NFSD: fix problems with cleanup on errors in nfsd4_copy
	nfsd: fix courtesy client with deny mode handling in nfs4_upgrade_open
	nfsd: don't fsync nfsd_files on last close
	NFSD: copy the whole verifier in nfsd_copy_write_verifier
	NFSD: Protect against filesystem freezing
	lockd: set file_lock start and end when decoding nlm4 testargs
	nfsd: don't replace page in rq_pages if it's a continuation of last page
	NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL
	nfsd: call op_release, even when op_func returns an error
	nfsd: don't open-code clear_and_wake_up_bit
	nfsd: NFSD_FILE_KEY_INODE only needs to find GC'ed entries
	nfsd: simplify test_bit return in NFSD_FILE_KEY_FULL comparator
	nfsd: don't kill nfsd_files because of lease break error
	nfsd: add some comments to nfsd_file_do_acquire
	nfsd: don't take/put an extra reference when putting a file
	nfsd: update comment over __nfsd_file_cache_purge
	nfsd: allow reaping files still under writeback
	NFSD: Convert filecache to rhltable
	nfsd: simplify the delayed disposal list code
	NFSD: Fix problem of COMMIT and NFS4ERR_DELAY in infinite loop
	nfsd: make a copy of struct iattr before calling notify_change
	nfsd: fix double fget() bug in __write_ports_addfd()
	lockd: drop inappropriate svc_get() from locked_get()
	NFSD: Add an nfsd4_encode_nfstime4() helper
	nfsd: Fix creation time serialization order
	nfsd: don't allow nfsd threads to be signalled.
	nfsd: Simplify code around svc_exit_thread() call in nfsd()
	nfsd: separate nfsd_last_thread() from nfsd_put()
	Documentation: Add missing documentation for EXPORT_OP flags
	NFSD: fix possible oops when nfsd/pool_stats is closed.
	nfsd: call nfsd_last_thread() before final nfsd_put()
	nfsd: drop the nfsd_put helper
	nfsd: fix RELEASE_LOCKOWNER
	nfsd: don't take fi_lock in nfsd_break_deleg_cb()
	nfsd: don't call locks_release_private() twice concurrently
	nfsd: Fix a regression in nfsd_setattr()
	Linux 5.10.220

Change-Id: I589ec5e63d1f985ab69f9755b9a87330627d44c5
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-07-16 15:58:54 +00:00
Greg Kroah-Hartman
fedef46c69 This is the 5.10.219 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmZuzl4ACgkQONu9yGCS
 aT7+ohAAyRkTis6xeME1FWIJthCJl8FzUq9nfN+OccK3TwCbXyZKXlZK8lVz0T5U
 DvG1Tg+rR76+hIJghMIy2FEPRBA19WMq9a+Ms2ZyyggPrlgksFivO8N8YgnIxabb
 EJPN7pAzO+GA+vd8YeGeK1ldq8QUISlN35s+hkur1jeBctWRcpHeOTjIej/Qytmj
 ny1o7hCp179+SPygSEYEYtguACaQflhfBjOgAQ9DwWjP6vO2W9Vb16X4tiT0udHm
 ExPjOwxbEMN/7m9gKrnl6WcIROSOy55FnfcYZP+NRY4jBlANUgXF1ca9hAhcIKSv
 oOyeRN5S3FZAdxIHG9SFU9b6MPwJSeO5ETQyfiRGNFRkXOa2tKknNSsuACu8kSwx
 SKJIpcuW1DkortwsYFbilXdl6TrK6oCcEczV5qtludcRoDznfUGejb5e81v3yYkO
 no6ORvBJSBnEObY+gpexvxQp2Ae1+YkSLJaDzYWMC+JHBIgWTz2F2qJJkP6bRAUV
 QduFTdTenDnL7zW3DseZGJKotU95cUoKNAwa7wfboZeygHc2+KaUOchKcqI0P9dZ
 pS27RzcAJJ2uufujofyxOOhzFKw98WFurfNsMZTDBwHuqReoiRAS7pi0PeTMuqUv
 GC8V1eIKgeWdI+pdTZLXylziiM41IylLjU/hxCrsykb+EwFa5NY=
 =B1lK
 -----END PGP SIGNATURE-----

Merge 5.10.219 into android12-5.10-lts

Changes in 5.10.219
	x86/tsc: Trust initial offset in architectural TSC-adjust MSRs
	tty: n_gsm: fix possible out-of-bounds in gsm0_receive()
	speakup: Fix sizeof() vs ARRAY_SIZE() bug
	ring-buffer: Fix a race between readers and resize checks
	net: smc91x: Fix m68k kernel compilation for ColdFire CPU
	nilfs2: fix unexpected freezing of nilfs_segctor_sync()
	nilfs2: fix potential hang in nilfs_detach_log_writer()
	ALSA: core: Fix NULL module pointer assignment at card init
	wifi: cfg80211: fix the order of arguments for trace events of the tx_rx_evt class
	net: usb: qmi_wwan: add Telit FN920C04 compositions
	drm/amd/display: Set color_mgmt_changed to true on unsuspend
	ASoC: rt5645: Fix the electric noise due to the CBJ contacts floating
	ASoC: dt-bindings: rt5645: add cbj sleeve gpio property
	regulator: vqmmc-ipq4019: fix module autoloading
	ASoC: rt715: add vendor clear control register
	ASoC: da7219-aad: fix usage of device_get_named_child_node()
	drm/amdkfd: Flush the process wq before creating a kfd_process
	nvme: find numa distance only if controller has valid numa id
	openpromfs: finish conversion to the new mount API
	crypto: bcm - Fix pointer arithmetic
	firmware: raspberrypi: Use correct device for DMA mappings
	ecryptfs: Fix buffer size for tag 66 packet
	nilfs2: fix out-of-range warning
	parisc: add missing export of __cmpxchg_u8()
	crypto: ccp - drop platform ifdef checks
	crypto: x86/nh-avx2 - add missing vzeroupper
	crypto: x86/sha256-avx2 - add missing vzeroupper
	s390/cio: fix tracepoint subchannel type field
	jffs2: prevent xattr node from overflowing the eraseblock
	soc: mediatek: cmdq: Fix typo of CMDQ_JUMP_RELATIVE
	null_blk: Fix missing mutex_destroy() at module removal
	md: fix resync softlockup when bitmap size is less than array size
	wifi: ath10k: poll service ready message before failing
	x86/boot: Ignore relocations in .notes sections in walk_relocs() too
	qed: avoid truncating work queue length
	scsi: ufs: qcom: Perform read back after writing reset bit
	scsi: ufs-qcom: Fix ufs RST_n spec violation
	scsi: ufs: qcom: Perform read back after writing REG_UFS_SYS1CLK_1US
	scsi: ufs: ufs-qcom: Fix the Qcom register name for offset 0xD0
	scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW version major 5
	scsi: ufs: qcom: Perform read back after writing unipro mode
	scsi: ufs: qcom: Perform read back after writing CGC enable
	scsi: ufs: cdns-pltfrm: Perform read back after writing HCLKDIV
	scsi: ufs: core: Perform read back after disabling interrupts
	scsi: ufs: core: Perform read back after disabling UIC_COMMAND_COMPL
	irqchip/alpine-msi: Fix off-by-one in allocation error path
	irqchip/loongson-pch-msi: Fix off-by-one on allocation error path
	ACPI: disable -Wstringop-truncation
	gfs2: Fix "ignore unlock failures after withdraw"
	selftests/bpf: Fix umount cgroup2 error in test_sockmap
	cpufreq: Reorganize checks in cpufreq_offline()
	cpufreq: Split cpufreq_offline()
	cpufreq: Rearrange locking in cpufreq_remove_dev()
	cpufreq: exit() callback is optional
	net: export inet_lookup_reuseport and inet6_lookup_reuseport
	net: remove duplicate reuseport_lookup functions
	udp: Avoid call to compute_score on multiple sites
	scsi: libsas: Fix the failure of adding phy with zero-address to port
	scsi: hpsa: Fix allocation size for Scsi_Host private data
	x86/purgatory: Switch to the position-independent small code model
	wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger()
	wifi: ath10k: populate board data for WCN3990
	tcp: avoid premature drops in tcp_add_backlog()
	net: give more chances to rcu in netdev_wait_allrefs_any()
	macintosh/via-macii: Fix "BUG: sleeping function called from invalid context"
	wifi: carl9170: add a proper sanity check for endpoints
	wifi: ar5523: enable proper endpoint verification
	sh: kprobes: Merge arch_copy_kprobe() into arch_prepare_kprobe()
	Revert "sh: Handle calling csum_partial with misaligned data"
	selftests/binderfs: use the Makefile's rules, not Make's implicit rules
	HID: intel-ish-hid: ipc: Add check for pci_alloc_irq_vectors
	scsi: bfa: Ensure the copied buf is NUL terminated
	scsi: qedf: Ensure the copied buf is NUL terminated
	wifi: mwl8k: initialize cmd->addr[] properly
	usb: aqc111: stop lying about skb->truesize
	net: usb: sr9700: stop lying about skb->truesize
	m68k: Fix spinlock race in kernel thread creation
	m68k: mac: Fix reboot hang on Mac IIci
	net: ipv6: fix wrong start position when receive hop-by-hop fragment
	eth: sungem: remove .ndo_poll_controller to avoid deadlocks
	net: ethernet: cortina: Locking fixes
	af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg
	net: usb: smsc95xx: stop lying about skb->truesize
	net: openvswitch: fix overwriting ct original tuple for ICMPv6
	ipv6: sr: add missing seg6_local_exit
	ipv6: sr: fix incorrect unregister order
	ipv6: sr: fix invalid unregister error path
	net/mlx5: Discard command completions in internal error
	drm/amd/display: Fix potential index out of bounds in color transformation function
	ASoC: soc-acpi: add helper to identify parent driver.
	ASoC: Intel: Disable route checks for Skylake boards
	mtd: rawnand: hynix: fixed typo
	fbdev: shmobile: fix snprintf truncation
	drm/meson: vclk: fix calculation of 59.94 fractional rates
	drm/mediatek: Add 0 size check to mtk_drm_gem_obj
	powerpc/fsl-soc: hide unused const variable
	fbdev: sisfb: hide unused variables
	media: ngene: Add dvb_ca_en50221_init return value check
	media: radio-shark2: Avoid led_names truncations
	drm: bridge: cdns-mhdp8546: Fix possible null pointer dereference
	fbdev: sh7760fb: allow modular build
	media: atomisp: ssh_css: Fix a null-pointer dereference in load_video_binaries
	drm/arm/malidp: fix a possible null pointer dereference
	drm: vc4: Fix possible null pointer dereference
	ASoC: tracing: Export SND_SOC_DAPM_DIR_OUT to its value
	drm/bridge: lt9611: Don't log an error when DSI host can't be found
	drm/bridge: tc358775: Don't log an error when DSI host can't be found
	drm/panel: simple: Add missing Innolux G121X1-L03 format, flags, connector
	drm/mipi-dsi: use correct return type for the DSC functions
	RDMA/hns: Refactor the hns_roce_buf allocation flow
	RDMA/hns: Create QP with selected QPN for bank load balance
	RDMA/hns: Fix incorrect symbol types
	RDMA/hns: Fix return value in hns_roce_map_mr_sg
	RDMA/hns: Use complete parentheses in macros
	RDMA/hns: Modify the print level of CQE error
	clk: qcom: mmcc-msm8998: fix venus clock issue
	x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map
	ext4: avoid excessive credit estimate in ext4_tmpfile()
	sunrpc: removed redundant procp check
	ext4: simplify calculation of blkoff in ext4_mb_new_blocks_simple
	ext4: fix unit mismatch in ext4_mb_new_blocks_simple
	ext4: try all groups in ext4_mb_new_blocks_simple
	ext4: remove unused parameter from ext4_mb_new_blocks_simple()
	ext4: fix potential unnitialized variable
	SUNRPC: Fix gss_free_in_token_pages()
	selftests/kcmp: Make the test output consistent and clear
	selftests/kcmp: remove unused open mode
	RDMA/IPoIB: Fix format truncation compilation errors
	net: qrtr: fix null-ptr-deref in qrtr_ns_remove
	net: qrtr: ns: Fix module refcnt
	netrom: fix possible dead-lock in nr_rt_ioctl()
	af_packet: do not call packet_read_pending() from tpacket_destruct_skb()
	sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level
	greybus: lights: check return of get_channel_from_mode
	f2fs: fix to wait on page writeback in __clone_blkaddrs()
	soundwire: cadence: fix invalid PDI offset
	dmaengine: idma64: Add check for dma_set_max_seg_size
	firmware: dmi-id: add a release callback function
	serial: max3100: Lock port->lock when calling uart_handle_cts_change()
	serial: max3100: Update uart_driver_registered on driver removal
	serial: max3100: Fix bitwise types
	greybus: arche-ctrl: move device table to its right location
	serial: sc16is7xx: add proper sched.h include for sched_set_fifo()
	f2fs: compress: support chksum
	f2fs: add compress_mode mount option
	f2fs: compress: clean up parameter of __f2fs_cluster_blocks()
	f2fs: compress: remove unneeded preallocation
	f2fs: introduce FI_COMPRESS_RELEASED instead of using IMMUTABLE bit
	f2fs: compress: fix to relocate check condition in f2fs_{release,reserve}_compress_blocks()
	f2fs: add cp_error check in f2fs_write_compressed_pages
	f2fs: fix to force keeping write barrier for strict fsync mode
	f2fs: do not allow partial truncation on pinned file
	f2fs: fix typos in comments
	f2fs: fix to relocate check condition in f2fs_fallocate()
	f2fs: fix to check pinfile flag in f2fs_move_file_range()
	iio: pressure: dps310: support negative temperature values
	fpga: region: change FPGA indirect article to an
	fpga: region: Rename dev to parent for parent device
	docs: driver-api: fpga: avoid using UTF-8 chars
	fpga: region: Use standard dev_release for class driver
	fpga: region: add owner module and take its refcount
	microblaze: Remove gcc flag for non existing early_printk.c file
	microblaze: Remove early printk call from cpuinfo-static.c
	usb: gadget: u_audio: Clear uac pointer when freed.
	stm class: Fix a double free in stm_register_device()
	ppdev: Remove usage of the deprecated ida_simple_xx() API
	ppdev: Add an error check in register_device
	extcon: max8997: select IRQ_DOMAIN instead of depending on it
	PCI/EDR: Align EDR_PORT_DPC_ENABLE_DSM with PCI Firmware r3.3
	PCI/EDR: Align EDR_PORT_LOCATE_DSM with PCI Firmware r3.3
	f2fs: compress: fix to cover {reserve,release}_compress_blocks() w/ cp_rwsem lock
	f2fs: fix to release node block count in error path of f2fs_new_node_page()
	f2fs: compress: don't allow unaligned truncation on released compress inode
	serial: sh-sci: protect invalidating RXDMA on shutdown
	libsubcmd: Fix parse-options memory leak
	s390/ipl: Fix incorrect initialization of len fields in nvme reipl block
	s390/ipl: Fix incorrect initialization of nvme dump block
	Input: ims-pcu - fix printf string overflow
	Input: ioc3kbd - convert to platform remove callback returning void
	Input: ioc3kbd - add device table
	mmc: sdhci_am654: Add tuning algorithm for delay chain
	mmc: sdhci_am654: Write ITAPDLY for DDR52 timing
	mmc: sdhci_am654: Drop lookup for deprecated ti,otap-del-sel
	mmc: sdhci_am654: Add OTAP/ITAP delay enable
	mmc: sdhci_am654: Add ITAPDLYSEL in sdhci_j721e_4bit_set_clock
	mmc: sdhci_am654: Fix ITAPDLY for HS400 timing
	Input: pm8xxx-vibrator - correct VIB_MAX_LEVELS calculation
	drm/msm/dpu: Always flush the slave INTF on the CTL
	um: Fix return value in ubd_init()
	um: Add winch to winch_handlers before registering winch IRQ
	um: vector: fix bpfflash parameter evaluation
	drm/bridge: tc358775: fix support for jeida-18 and jeida-24
	media: stk1160: fix bounds checking in stk1160_copy_video()
	scsi: qla2xxx: Replace all non-returning strlcpy() with strscpy()
	media: flexcop-usb: clean up endpoint sanity checks
	media: flexcop-usb: fix sanity check of bNumEndpoints
	powerpc/pseries: Add failure related checks for h_get_mpp and h_get_ppp
	um: Fix the -Wmissing-prototypes warning for __switch_mm
	media: cec: cec-adap: always cancel work in cec_transmit_msg_fh
	media: cec: cec-api: add locking in cec_release()
	media: core headers: fix kernel-doc warnings
	media: cec: fix a deadlock situation
	media: cec: call enable_adap on s_log_addrs
	media: cec: abort if the current transmit was canceled
	media: cec: correctly pass on reply results
	media: cec: use call_op and check for !unregistered
	media: cec-adap.c: drop activate_cnt, use state info instead
	media: cec: core: avoid recursive cec_claim_log_addrs
	media: cec: core: avoid confusing "transmit timed out" message
	null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION()
	regulator: bd71828: Don't overwrite runtime voltages
	x86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER=y
	nfc: nci: Fix uninit-value in nci_rx_work
	ASoC: tas2552: Add TX path for capturing AUDIO-OUT data
	sunrpc: fix NFSACL RPC retry on soft mount
	rpcrdma: fix handling for RDMA_CM_EVENT_DEVICE_REMOVAL
	ipv6: sr: fix memleak in seg6_hmac_init_algo
	params: lift param_set_uint_minmax to common code
	tcp: Fix shift-out-of-bounds in dctcp_update_alpha().
	openvswitch: Set the skbuff pkt_type for proper pmtud support.
	arm64: asm-bug: Add .align 2 to the end of __BUG_ENTRY
	virtio: delete vq in vp_find_vqs_msix() when request_irq() fails
	net: fec: avoid lock evasion when reading pps_enable
	tls: fix missing memory barrier in tls_init
	nfc: nci: Fix kcov check in nci_rx_work()
	nfc: nci: Fix handling of zero-length payload packets in nci_rx_work()
	netfilter: nfnetlink_queue: acquire rcu_read_lock() in instance_destroy_rcu()
	netfilter: nft_payload: restore vlan q-in-q match support
	spi: Don't mark message DMA mapped when no transfer in it is
	nvmet: fix ns enable/disable possible hang
	net/mlx5e: Use rx_missed_errors instead of rx_dropped for reporting buffer exhaustion
	dma-buf/sw-sync: don't enable IRQ from sync_print_obj()
	bpf: Fix potential integer overflow in resolve_btfids
	enic: Validate length of nl attributes in enic_set_vf_port
	net: usb: smsc95xx: fix changing LED_SEL bit value updated from EEPROM
	bpf: Allow delete from sockmap/sockhash only if update is allowed
	net:fec: Add fec_enet_deinit()
	netfilter: tproxy: bail out if IP has been disabled on the device
	kconfig: fix comparison to constant symbols, 'm', 'n'
	spi: stm32: Don't warn about spurious interrupts
	ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound
	hwmon: (shtc1) Fix property misspelling
	ALSA: timer: Set lower bound of start tick time
	genirq/cpuhotplug, x86/vector: Prevent vector leak during CPU offline
	media: cec: core: add adap_nb_transmit_canceled() callback
	SUNRPC: Fix loop termination condition in gss_free_in_token_pages()
	binder: fix max_thread type inconsistency
	mmc: core: Do not force a retune before RPMB switch
	io_uring: fail NOP if non-zero op flags is passed in
	afs: Don't cross .backup mountpoint from backup volume
	nilfs2: fix use-after-free of timer for log writer thread
	vxlan: Fix regression when dropping packets due to invalid src addresses
	x86/mm: Remove broken vsyscall emulation code from the page fault code
	netfilter: nf_tables: restrict tunnel object to NFPROTO_NETDEV
	netfilter: nf_tables: Fix potential data-race in __nft_obj_type_get()
	f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode()
	media: lgdt3306a: Add a check against null-pointer-def
	drm/amdgpu: add error handle to avoid out-of-bounds
	ata: pata_legacy: make legacy_exit() work again
	ACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx
	arm64: tegra: Correct Tegra132 I2C alias
	arm64: dts: qcom: qcs404: fix bluetooth device address
	md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING
	wifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU
	wifi: rtlwifi: rtl8192de: Fix low speed with WPA3-SAE
	wifi: rtlwifi: rtl8192de: Fix endianness issue in RX path
	arm64: dts: hi3798cv200: fix the size of GICR
	media: mc: mark the media devnode as registered from the, start
	media: mxl5xx: Move xpt structures off stack
	media: v4l2-core: hold videodev_lock until dev reg, finishes
	mmc: core: Add mmc_gpiod_set_cd_config() function
	mmc: sdhci-acpi: Sort DMI quirks alphabetically
	mmc: sdhci-acpi: Fix Lenovo Yoga Tablet 2 Pro 1380 sdcard slot not working
	mmc: sdhci-acpi: Disable write protect detection on Toshiba WT10-A
	fbdev: savage: Handle err return when savagefb_check_var failed
	KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode
	crypto: ecrdsa - Fix module auto-load on add_key
	crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
	net/ipv6: Fix route deleting failure when metric equals 0
	net/9p: fix uninit-value in p9_client_rpc()
	intel_th: pci: Add Meteor Lake-S CPU support
	sparc64: Fix number of online CPUs
	watchdog: rti_wdt: Set min_hw_heartbeat_ms to accommodate a safety margin
	kdb: Fix buffer overflow during tab-complete
	kdb: Use format-strings rather than '\0' injection in kdb_read()
	kdb: Fix console handling when editing and tab-completing commands
	kdb: Merge identical case statements in kdb_read()
	kdb: Use format-specifiers rather than memset() for padding in kdb_read()
	net: fix __dst_negative_advice() race
	sparc: move struct termio to asm/termios.h
	ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find()
	s390/ap: Fix crash in AP internal function modify_bitmap()
	nfs: fix undefined behavior in nfs_block_bits()
	NFS: Fix READ_PLUS when server doesn't support OP_READ_PLUS
	scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW major version > 5
	f2fs: compress: fix compression chksum
	RDMA/hns: Use mutex instead of spinlock for ida allocation
	RDMA/hns: Fix CQ and QP cache affinity
	Linux 5.10.219

Change-Id: I0e21ff44d28df2a2802a9fb35f0959bb5ab528fc
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-07-10 14:41:23 +00:00
Arnd Bergmann
d5f75f0199 syscalls: fix compat_sys_io_pgetevents_time64 usage
commit d3882564a77c21eb746ba5364f3fa89b88de3d61 upstream.

Using sys_io_pgetevents() as the entry point for compat mode tasks
works almost correctly, but misses the sign extension for the min_nr
and nr arguments.

This was addressed on parisc by switching to
compat_sys_io_pgetevents_time64() in commit 6431e92fc827 ("parisc:
io_pgetevents_time64() needs compat syscall in 32-bit compat mode"),
as well as by using more sophisticated system call wrappers on x86 and
s390. However, arm64, mips, powerpc, sparc and riscv still have the
same bug.

Change all of them over to use compat_sys_io_pgetevents_time64()
like parisc already does. This was clearly the intention when the
function was originally added, but it got hooked up incorrectly in
the tables.

Cc: stable@vger.kernel.org
Fixes: 48166e6ea4 ("y2038: add 64-bit time_t syscalls to all 32-bit architectures")
Acked-by: Heiko Carstens <hca@linux.ibm.com> # s390
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-05 09:12:55 +02:00
Haifeng Xu
a335ad77bd perf/core: Fix missing wakeup when waiting for context reference
[ Upstream commit 74751ef5c1912ebd3e65c3b65f45587e05ce5d36 ]

In our production environment, we found many hung tasks which are
blocked for more than 18 hours. Their call traces are like this:

[346278.191038] __schedule+0x2d8/0x890
[346278.191046] schedule+0x4e/0xb0
[346278.191049] perf_event_free_task+0x220/0x270
[346278.191056] ? init_wait_var_entry+0x50/0x50
[346278.191060] copy_process+0x663/0x18d0
[346278.191068] kernel_clone+0x9d/0x3d0
[346278.191072] __do_sys_clone+0x5d/0x80
[346278.191076] __x64_sys_clone+0x25/0x30
[346278.191079] do_syscall_64+0x5c/0xc0
[346278.191083] ? syscall_exit_to_user_mode+0x27/0x50
[346278.191086] ? do_syscall_64+0x69/0xc0
[346278.191088] ? irqentry_exit_to_user_mode+0x9/0x20
[346278.191092] ? irqentry_exit+0x19/0x30
[346278.191095] ? exc_page_fault+0x89/0x160
[346278.191097] ? asm_exc_page_fault+0x8/0x30
[346278.191102] entry_SYSCALL_64_after_hwframe+0x44/0xae

The task was waiting for the refcount become to 1, but from the vmcore,
we found the refcount has already been 1. It seems that the task didn't
get woken up by perf_event_release_kernel() and got stuck forever. The
below scenario may cause the problem.

Thread A					Thread B
...						...
perf_event_free_task				perf_event_release_kernel
						   ...
						   acquire event->child_mutex
						   ...
						   get_ctx
   ...						   release event->child_mutex
   acquire ctx->mutex
   ...
   perf_free_event (acquire/release event->child_mutex)
   ...
   release ctx->mutex
   wait_var_event
						   acquire ctx->mutex
						   acquire event->child_mutex
						   # move existing events to free_list
						   release event->child_mutex
						   release ctx->mutex
						   put_ctx
...						...

In this case, all events of the ctx have been freed, so we couldn't
find the ctx in free_list and Thread A will miss the wakeup. It's thus
necessary to add a wakeup after dropping the reference.

Fixes: 1cf8dfe8a6 ("perf/core: Fix race between close() and fork()")
Signed-off-by: Haifeng Xu <haifeng.xu@shopee.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20240513103948.33570-1-haifeng.xu@shopee.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:12:44 +02:00
Matthias Maennich
695f20c678 kheaders: explicitly define file modes for archived headers
[ Upstream commit 3bd27a847a3a4827a948387cc8f0dbc9fa5931d5 ]

Build environments might be running with different umask settings
resulting in indeterministic file modes for the files contained in
kheaders.tar.xz. The file itself is served with 444, i.e. world
readable. Archive the files explicitly with 744,a+X to improve
reproducibility across build environments.

--mode=0444 is not suitable as directories need to be executable. Also,
444 makes it hard to delete all the readonly files after extraction.

Cc: stable@vger.kernel.org
Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:12:44 +02:00
Masahiro Yamada
247c3f8958 Revert "kheaders: substituting --sort in archive creation"
[ Upstream commit 49c386ebbb43394ff4773ce24f726f6afc4c30c8 ]

This reverts commit 700dea5a0b.

The reason for that commit was --sort=ORDER introduced in
tar 1.28 (2014). More than 3 years have passed since then.

Requiring GNU tar 1.28 should be fine now because we require
GCC 5.1 (2015).

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Stable-dep-of: 3bd27a847a3a ("kheaders: explicitly define file modes for archived headers")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:12:44 +02:00
Jeff Johnson
0e84701753 tracing: Add MODULE_DESCRIPTION() to preemptirq_delay_test
[ Upstream commit 23748e3e0fbfe471eff5ce439921629f6a427828 ]

Fix the 'make W=1' warning:

WARNING: modpost: missing MODULE_DESCRIPTION() in kernel/trace/preemptirq_delay_test.o

Link: https://lore.kernel.org/linux-trace-kernel/20240518-md-preemptirq_delay_test-v1-1-387d11b30d85@quicinc.com

Cc: stable@vger.kernel.org
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fixes: f96e8577da ("lib: Add module for testing preemptoff/irqsoff latency tracers")
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:12:43 +02:00
Aleksandr Nogikh
7879b54f0b kcov: don't lose track of remote references during softirqs
commit 01c8f9806bde438ca1c8cbbc439f0a14a6694f6c upstream.

In kcov_remote_start()/kcov_remote_stop(), we swap the previous KCOV
metadata of the current task into a per-CPU variable.  However, the
kcov_mode_enabled(mode) check is not sufficient in the case of remote KCOV
coverage: current->kcov_mode always remains KCOV_MODE_DISABLED for remote
KCOV objects.

If the original task that has invoked the KCOV_REMOTE_ENABLE ioctl happens
to get interrupted and kcov_remote_start() is called, it ultimately leads
to kcov_remote_stop() NOT restoring the original KCOV reference.  So when
the task exits, all registered remote KCOV handles remain active forever.

The most uncomfortable effect (at least for syzkaller) is that the bug
prevents the reuse of the same /sys/kernel/debug/kcov descriptor.  If
we obtain it in the parent process and then e.g.  drop some
capabilities and continuously fork to execute individual programs, at
some point current->kcov of the forked process is lost,
kcov_task_exit() takes no action, and all KCOV_REMOTE_ENABLE ioctls
calls from subsequent forks fail.

And, yes, the efficiency is also affected if we keep on losing remote
kcov objects.
a) kcov_remote_map keeps on growing forever.
b) (If I'm not mistaken), we're also not freeing the memory referenced
by kcov->area.

Fix it by introducing a special kcov_mode that is assigned to the task
that owns a KCOV remote object.  It makes kcov_mode_enabled() return true
and yet does not trigger coverage collection in __sanitizer_cov_trace_pc()
and write_comp_data().

[nogikh@google.com: replace WRITE_ONCE() with an ordinary assignment]
  Link: https://lkml.kernel.org/r/20240614171221.2837584-1-nogikh@google.com
Link: https://lkml.kernel.org/r/20240611133229.527822-1-nogikh@google.com
Fixes: 5ff3b30ab5 ("kcov: collect coverage from interrupts")
Signed-off-by: Aleksandr Nogikh <nogikh@google.com>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>
Tested-by: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Marco Elver <elver@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-05 09:12:41 +02:00
Peter Oberparleiter
b1684798a3 gcov: add support for GCC 14
commit c1558bc57b8e5b4da5d821537cd30e2e660861d8 upstream.

Using gcov on kernels compiled with GCC 14 results in truncated 16-byte
long .gcda files with no usable data.  To fix this, update GCOV_COUNTERS
to match the value defined by GCC 14.

Tested with GCC versions 14.1.0 and 13.2.0.

Link: https://lkml.kernel.org/r/20240610092743.1609845-1-oberpar@linux.ibm.com
Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reported-by: Allison Henderson <allison.henderson@oracle.com>
Reported-by: Chuck Lever III <chuck.lever@oracle.com>
Tested-by: Chuck Lever <chuck.lever@oracle.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-05 09:12:41 +02:00
Masami Hiramatsu (Google)
a85bae262c tracing: Build event generation tests only as modules
[ Upstream commit 3572bd5689b0812b161b40279e39ca5b66d73e88 ]

The kprobes and synth event generation test modules add events and lock
(get a reference) those event file reference in module init function,
and unlock and delete it in module exit function. This is because those
are designed for playing as modules.

If we make those modules as built-in, those events are left locked in the
kernel, and never be removed. This causes kprobe event self-test failure
as below.

[   97.349708] ------------[ cut here ]------------
[   97.353453] WARNING: CPU: 3 PID: 1 at kernel/trace/trace_kprobe.c:2133 kprobe_trace_self_tests_init+0x3f1/0x480
[   97.357106] Modules linked in:
[   97.358488] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 6.9.0-g699646734ab5-dirty #14
[   97.361556] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
[   97.363880] RIP: 0010:kprobe_trace_self_tests_init+0x3f1/0x480
[   97.365538] Code: a8 24 08 82 e9 ae fd ff ff 90 0f 0b 90 48 c7 c7 e5 aa 0b 82 e9 ee fc ff ff 90 0f 0b 90 48 c7 c7 2d 61 06 82 e9 8e fd ff ff 90 <0f> 0b 90 48 c7 c7 33 0b 0c 82 89 c6 e8 6e 03 1f ff 41 ff c7 e9 90
[   97.370429] RSP: 0000:ffffc90000013b50 EFLAGS: 00010286
[   97.371852] RAX: 00000000fffffff0 RBX: ffff888005919c00 RCX: 0000000000000000
[   97.373829] RDX: ffff888003f40000 RSI: ffffffff8236a598 RDI: ffff888003f40a68
[   97.375715] RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000
[   97.377675] R10: ffffffff811c9ae5 R11: ffffffff8120c4e0 R12: 0000000000000000
[   97.379591] R13: 0000000000000001 R14: 0000000000000015 R15: 0000000000000000
[   97.381536] FS:  0000000000000000(0000) GS:ffff88807dcc0000(0000) knlGS:0000000000000000
[   97.383813] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   97.385449] CR2: 0000000000000000 CR3: 0000000002244000 CR4: 00000000000006b0
[   97.387347] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   97.389277] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[   97.391196] Call Trace:
[   97.391967]  <TASK>
[   97.392647]  ? __warn+0xcc/0x180
[   97.393640]  ? kprobe_trace_self_tests_init+0x3f1/0x480
[   97.395181]  ? report_bug+0xbd/0x150
[   97.396234]  ? handle_bug+0x3e/0x60
[   97.397311]  ? exc_invalid_op+0x1a/0x50
[   97.398434]  ? asm_exc_invalid_op+0x1a/0x20
[   97.399652]  ? trace_kprobe_is_busy+0x20/0x20
[   97.400904]  ? tracing_reset_all_online_cpus+0x15/0x90
[   97.402304]  ? kprobe_trace_self_tests_init+0x3f1/0x480
[   97.403773]  ? init_kprobe_trace+0x50/0x50
[   97.404972]  do_one_initcall+0x112/0x240
[   97.406113]  do_initcall_level+0x95/0xb0
[   97.407286]  ? kernel_init+0x1a/0x1a0
[   97.408401]  do_initcalls+0x3f/0x70
[   97.409452]  kernel_init_freeable+0x16f/0x1e0
[   97.410662]  ? rest_init+0x1f0/0x1f0
[   97.411738]  kernel_init+0x1a/0x1a0
[   97.412788]  ret_from_fork+0x39/0x50
[   97.413817]  ? rest_init+0x1f0/0x1f0
[   97.414844]  ret_from_fork_asm+0x11/0x20
[   97.416285]  </TASK>
[   97.417134] irq event stamp: 13437323
[   97.418376] hardirqs last  enabled at (13437337): [<ffffffff8110bc0c>] console_unlock+0x11c/0x150
[   97.421285] hardirqs last disabled at (13437370): [<ffffffff8110bbf1>] console_unlock+0x101/0x150
[   97.423838] softirqs last  enabled at (13437366): [<ffffffff8108e17f>] handle_softirqs+0x23f/0x2a0
[   97.426450] softirqs last disabled at (13437393): [<ffffffff8108e346>] __irq_exit_rcu+0x66/0xd0
[   97.428850] ---[ end trace 0000000000000000 ]---

And also, since we can not cleanup dynamic_event file, ftracetest are
failed too.

To avoid these issues, build these tests only as modules.

Link: https://lore.kernel.org/all/171811263754.85078.5877446624311852525.stgit@devnote2/

Fixes: 9fe41efaca ("tracing: Add synth event generation test module")
Fixes: 64836248dd ("tracing: Add kprobe event command generation test module")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:12:37 +02:00
Zqiang
c15df6f498 rcutorture: Fix invalid context warning when enable srcu barrier testing
[ Upstream commit 668c0406d887467d53f8fe79261dda1d22d5b671 ]

When the torture_type is set srcu or srcud and cb_barrier is
non-zero, running the rcutorture test will trigger the
following warning:

[  163.910989][    C1] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48
[  163.910994][    C1] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/1
[  163.910999][    C1] preempt_count: 10001, expected: 0
[  163.911002][    C1] RCU nest depth: 0, expected: 0
[  163.911005][    C1] INFO: lockdep is turned off.
[  163.911007][    C1] irq event stamp: 30964
[  163.911010][    C1] hardirqs last  enabled at (30963): [<ffffffffabc7df52>] do_idle+0x362/0x500
[  163.911018][    C1] hardirqs last disabled at (30964): [<ffffffffae616eff>] sysvec_call_function_single+0xf/0xd0
[  163.911025][    C1] softirqs last  enabled at (0): [<ffffffffabb6475f>] copy_process+0x16ff/0x6580
[  163.911033][    C1] softirqs last disabled at (0): [<0000000000000000>] 0x0
[  163.911038][    C1] Preemption disabled at:
[  163.911039][    C1] [<ffffffffacf1964b>] stack_depot_save_flags+0x24b/0x6c0
[  163.911063][    C1] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G        W          6.8.0-rc4-rt4-yocto-preempt-rt+ #3 1e39aa9a737dd024a3275c4f835a872f673a7d3a
[  163.911071][    C1] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org 04/01/2014
[  163.911075][    C1] Call Trace:
[  163.911078][    C1]  <IRQ>
[  163.911080][    C1]  dump_stack_lvl+0x88/0xd0
[  163.911089][    C1]  dump_stack+0x10/0x20
[  163.911095][    C1]  __might_resched+0x36f/0x530
[  163.911105][    C1]  rt_spin_lock+0x82/0x1c0
[  163.911112][    C1]  spin_lock_irqsave_ssp_contention+0xb8/0x100
[  163.911121][    C1]  srcu_gp_start_if_needed+0x782/0xf00
[  163.911128][    C1]  ? _raw_spin_unlock_irqrestore+0x46/0x70
[  163.911136][    C1]  ? debug_object_active_state+0x336/0x470
[  163.911148][    C1]  ? __pfx_srcu_gp_start_if_needed+0x10/0x10
[  163.911156][    C1]  ? __pfx_lock_release+0x10/0x10
[  163.911165][    C1]  ? __pfx_rcu_torture_barrier_cbf+0x10/0x10
[  163.911188][    C1]  __call_srcu+0x9f/0xe0
[  163.911196][    C1]  call_srcu+0x13/0x20
[  163.911201][    C1]  srcu_torture_call+0x1b/0x30
[  163.911224][    C1]  rcu_torture_barrier1cb+0x4a/0x60
[  163.911247][    C1]  __flush_smp_call_function_queue+0x267/0xca0
[  163.911256][    C1]  ? __pfx_rcu_torture_barrier1cb+0x10/0x10
[  163.911281][    C1]  generic_smp_call_function_single_interrupt+0x13/0x20
[  163.911288][    C1]  __sysvec_call_function_single+0x7d/0x280
[  163.911295][    C1]  sysvec_call_function_single+0x93/0xd0
[  163.911302][    C1]  </IRQ>
[  163.911304][    C1]  <TASK>
[  163.911308][    C1]  asm_sysvec_call_function_single+0x1b/0x20
[  163.911313][    C1] RIP: 0010:default_idle+0x17/0x20
[  163.911326][    C1] RSP: 0018:ffff888001997dc8 EFLAGS: 00000246
[  163.911333][    C1] RAX: 0000000000000000 RBX: dffffc0000000000 RCX: ffffffffae618b51
[  163.911337][    C1] RDX: 0000000000000000 RSI: ffffffffaea80920 RDI: ffffffffaec2de80
[  163.911342][    C1] RBP: ffff888001997dc8 R08: 0000000000000001 R09: ffffed100d740cad
[  163.911346][    C1] R10: ffffed100d740cac R11: ffff88806ba06563 R12: 0000000000000001
[  163.911350][    C1] R13: ffffffffafe460c0 R14: ffffffffafe460c0 R15: 0000000000000000
[  163.911358][    C1]  ? ct_kernel_exit.constprop.3+0x121/0x160
[  163.911369][    C1]  ? lockdep_hardirqs_on+0xc4/0x150
[  163.911376][    C1]  arch_cpu_idle+0x9/0x10
[  163.911383][    C1]  default_idle_call+0x7a/0xb0
[  163.911390][    C1]  do_idle+0x362/0x500
[  163.911398][    C1]  ? __pfx_do_idle+0x10/0x10
[  163.911404][    C1]  ? complete_with_flags+0x8b/0xb0
[  163.911416][    C1]  cpu_startup_entry+0x58/0x70
[  163.911423][    C1]  start_secondary+0x221/0x280
[  163.911430][    C1]  ? __pfx_start_secondary+0x10/0x10
[  163.911440][    C1]  secondary_startup_64_no_verify+0x17f/0x18b
[  163.911455][    C1]  </TASK>

This commit therefore use smp_call_on_cpu() instead of
smp_call_function_single(), make rcu_torture_barrier1cb() invoked
happens on task-context.

Signed-off-by: Zqiang <qiang.zhang1211@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:12:33 +02:00
Paul E. McKenney
dd2cb39afc rcutorture: Fix rcu_torture_one_read() pipe_count overflow comment
[ Upstream commit 8b9b443fa860276822b25057cb3ff3b28734dec0 ]

The "pipe_count > RCU_TORTURE_PIPE_LEN" check has a comment saying "Should
not happen, but...".  This is only true when testing an RCU whose grace
periods are always long enough.  This commit therefore fixes this comment.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Closes: https://lore.kernel.org/lkml/CAHk-=wi7rJ-eGq+xaxVfzFEgbL9tdf6Kc8Z89rCpfcQOKm74Tw@mail.gmail.com/
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:12:33 +02:00
Herbert Xu
ec58e6ff29 padata: Disable BH when taking works lock on MT path
[ Upstream commit 58329c4312031603bb1786b44265c26d5065fe72 ]

As the old padata code can execute in softirq context, disable
softirqs for the new padata_do_mutithreaded code too as otherwise
lockdep will get antsy.

Reported-by: syzbot+0cb5bb0f4bf9e79db3b3@syzkaller.appspotmail.com
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:12:33 +02:00
Oleg Nesterov
82c7acf9a1 zap_pid_ns_processes: clear TIF_NOTIFY_SIGNAL along with TIF_SIGPENDING
[ Upstream commit 7fea700e04bd3f424c2d836e98425782f97b494e ]

kernel_wait4() doesn't sleep and returns -EINTR if there is no
eligible child and signal_pending() is true.

That is why zap_pid_ns_processes() clears TIF_SIGPENDING but this is not
enough, it should also clear TIF_NOTIFY_SIGNAL to make signal_pending()
return false and avoid a busy-wait loop.

Link: https://lkml.kernel.org/r/20240608120616.GB7947@redhat.com
Fixes: 12db8b690010 ("entry: Add support for TIF_NOTIFY_SIGNAL")
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reported-by: Rachel Menge <rachelmenge@linux.microsoft.com>
Closes: https://lore.kernel.org/all/1386cd49-36d0-4a5c-85e9-bc42056a5a38@linux.microsoft.com/
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Tested-by: Wei Fu <fuweid89@gmail.com>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Cc: Allen Pais <apais@linux.microsoft.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Frederic Weisbecker <frederic@kernel.org>
Cc: Joel Fernandes (Google) <joel@joelfernandes.org>
Cc: Joel Granados <j.granados@samsung.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: Mateusz Guzik <mjguzik@gmail.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Mike Christie <michael.christie@oracle.com>
Cc: Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
Cc: Paul E. McKenney <paulmck@kernel.org>
Cc: Steven Rostedt (Google) <rostedt@goodmis.org>
Cc: Zqiang <qiang.zhang1211@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:12:33 +02:00
Oleg Nesterov
33eae51f65 tick/nohz_full: Don't abuse smp_call_function_single() in tick_setup_device()
commit 07c54cc5988f19c9642fd463c2dbdac7fc52f777 upstream.

After the recent commit 5097cbcb38e6 ("sched/isolation: Prevent boot crash
when the boot CPU is nohz_full") the kernel no longer crashes, but there is
another problem.

In this case tick_setup_device() calls tick_take_do_timer_from_boot() to
update tick_do_timer_cpu and this triggers the WARN_ON_ONCE(irqs_disabled)
in smp_call_function_single().

Kill tick_take_do_timer_from_boot() and just use WRITE_ONCE(), the new
comment explains why this is safe (thanks Thomas!).

Fixes: 08ae95f4fd ("nohz_full: Allow the boot CPU to be nohz_full")
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240528122019.GA28794@redhat.com
Link: https://lore.kernel.org/all/20240522151742.GA10400@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-05 09:12:32 +02:00
Greg Kroah-Hartman
b07354bd32 Merge tag 'android12-5.10.214_r00' into android12-5.10
This catches the android12-5.10 branch up to the 5.10.214 LTS release.
Included in here are the following commits:

* ca0eb54113 ANDROID: cpufreq: brcmstb-avs-cpufreq: fix build error
* 8215d23ef6 Revert "remoteproc: Add new get_loaded_rsc_table() to rproc_ops"
* 453106487d Revert "remoteproc: stm32: Move resource table setup to rproc_ops"
* 14fe873d43 Revert "remoteproc: stm32: Fix incorrect type assignment returned by stm32_rproc_get_loaded_rsc_tablef"
* 7cb2a3c384 Revert "remoteproc: stm32: fix phys_addr_t format string"
* a626900b07 Revert "remoteproc: stm32: use correct format strings on 64-bit"
* b05356dd8a Revert "remoteproc: stm32: Fix incorrect type in assignment for va"
* f21d21f05e Revert "block: add a new set_read_only method"
* 560f181cad Revert "md: implement ->set_read_only to hook into BLKROSET processing"
* 2c7d369ecc Revert "md: Don't clear MD_CLOSING when the raid is about to stop"
* e2ddf25269 Revert "bpf: Defer the free of inner map when necessary"
* 38a24db1c2 Revert "net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv()"
*   dd27b89022 Merge 5.10.214 into android12-5.10-lts
|\
| * dfa3825910 Linux 5.10.214
| * 5148026b65 remoteproc: stm32: fix phys_addr_t format string
| * a943eb8283 regmap: Add missing map->bus check
| * bcfcdf1969 spi: spi-mt65xx: Fix NULL pointer access in interrupt handler
| * 6c46d680e4 bpf: report RCU QS in cpumap kthread
| * aad6bb260b rcu: add a helper to report consolidated flavor QS
| * fcf32a5bfc netfilter: nf_tables: do not compare internal table flags on updates
| * 096245bb7f ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add regulator nodes vcc-dram and vcc1v2
| * f205ed8d9e scsi: fc: Update formal FPIN descriptor definitions
| * b36b83297f netfilter: nft_set_pipapo: release elements in clone only from destroy path
| * 766c2627ac octeontx2-af: Use separate handlers for interrupts
| * 8eebff95ce net/bnx2x: Prevent access to a freed page in page_pool
| * f6c6ca618e hsr: Handle failures in module init
| * 1e1e4316fc rds: introduce acquire/release ordering in acquire/release_in_xmit()
| * f87884e0df wireguard: receive: annotate data-race around receiving_counter.counter
| * d0ab075e34 net: dsa: mt7530: prevent possible incorrect XTAL frequency selection
| * 68e8412031 packet: annotate data-races around ignore_outgoing
| * 7fb2d4d6bb hsr: Fix uninit-value access in hsr_get_node()
| * cdff6144b0 soc: fsl: dpio: fix kcalloc() argument order
| * 76d1394d9b s390/vtime: fix average steal time calculation
| * ce061bf4ef octeontx2-af: Use matching wake_up API variant in CGX command interface
| * 2ddc931ccc io_uring: don't save/restore iowait state
| * ed71e73693 usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin
| * 745c27184b staging: greybus: fix get_channel_from_mode() failure path
| * a4d503856a serial: 8250_exar: Don't remove GPIO device on suspend
| * 864f17c134 rtc: mt6397: select IRQ_DOMAIN instead of depending on it
| * 87ddba29e7 kconfig: fix infinite loop when expanding a macro at the end of file
| * 1639e9c7a3 tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT
| * 1eb9ab1f9f serial: max310x: fix syntax error in IRQ error message
| * 6199e1942e tty: vt: fix 20 vs 0x20 typo in EScsiignore
| * 40260d0649 remoteproc: stm32: Fix incorrect type assignment returned by stm32_rproc_get_loaded_rsc_tablef
| * 0dd5b63ae2 remoteproc: stm32: Fix incorrect type in assignment for va
| * f0b0a4de78 remoteproc: stm32: use correct format strings on 64-bit
| * 9d057eacf8 remoteproc: stm32: Move resource table setup to rproc_ops
| * 7b95472049 remoteproc: Add new get_loaded_rsc_table() to rproc_ops
| * 1d7e9bc40a remoteproc: stm32: Constify st_rproc_ops
| * b94f434fe9 afs: Revert "afs: Hide silly-rename files from userspace"
| * b8c52f7d08 NFS: Fix an off by one in root_nfs_cat()
| * 32903ecf21 watchdog: stm32_iwdg: initialize default timeout
| * 916ee6deae NFSv4.2: fix listxattr maximum XDR buffer size
| * 4403438eac NFSv4.2: fix nfs4_listxattr kernel BUG at mm/usercopy.c:102
| * 84ec5c0a7f net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr()
| * a2b74f35ee scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn
| * 11adfabee1 RDMA/device: Fix a race between mad_client and cm_client init
| * 3ac85382bc scsi: csiostor: Avoid function pointer casts
| * 6370d070e2 f2fs: compress: fix to check unreleased compressed cluster
| * bdd895e019 RDMA/srpt: Do not register event handler until srpt device is fully setup
| * 5cd466673b ALSA: usb-audio: Stop parsing channels bits when all channels are found.
| * 4266f6e726 ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops
| * 239174535d clk: Fix clk_core_get NULL dereference
| * e55a601463 sparc32: Fix section mismatch in leon_pci_grpci
| * 6ec49d0790 backlight: lp8788: Fully initialize backlight_properties during probe
| * ad70a7888e backlight: lm3639: Fully initialize backlight_properties during probe
| * f3bd1e36f0 backlight: da9052: Fully initialize backlight_properties during probe
| * f58ce2bed9 backlight: lm3630a: Don't set bl->props.brightness in get_brightness
| * fc43d668c9 backlight: lm3630a: Initialize backlight_properties on init
| * 97b397aa3f leds: sgm3140: Add missing timer cleanup and flash gpio control
| * b9040d5746 leds: aw2013: Unlock mutex before destroying it
| * 72f9bf6ddb powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc.
| * cfb3a57e7b drm/msm/dpu: add division of drm_display_mode's hskew parameter
| * fd639cb8fa powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks
| * 4688be96d2 drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip
| * 6c5a15622e media: mediatek: vcodec: avoid -Wcast-function-type-strict warning
| * 910363473e media: ttpci: fix two memleaks in budget_av_attach
| * b49fe84c6c media: go7007: fix a memleak in go7007_load_encoder
| * fb07104a02 media: dvb-frontends: avoid stack overflow warnings with clang
| * ab896d93fd media: pvrusb2: fix uaf in pvr2_context_set_notify
| * 1c5620f99a drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int()
| * 24d71c7e46 ASoC: meson: axg-tdm-interface: add frame rate constraint
| * 4bc8e7f3a1 ASoC: meson: axg-tdm-interface: fix mclk setup without mclk-fs
| * fe9796edda mtd: rawnand: lpc32xx_mlc: fix irq handler prototype
| * 2c8a6d2bef mtd: maps: physmap-core: fix flash size larger than 32-bit
| * 858839c64b drm/tidss: Fix initial plane zpos values
| * 9e42bebd4b crypto: arm/sha - fix function cast warnings
| * 9883ac6894 mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref
| * df6924449f mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref
| * bd5f2747e3 drm/tegra: put drm_gem_object ref on error in tegra_fb_create
| * 2d476959f2 clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister()
| * 7057b8fa76 PCI: Mark 3ware-9650SE Root Port Extended Tags as broken
| * 792e642859 drm/mediatek: dsi: Fix DSI RGB666 formats and definitions
| * 85e2d91660 clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times
| * 0680a58e2d media: pvrusb2: fix pvr2_stream_callback casts
| * 964f45a784 media: pvrusb2: remove redundant NULL check
| * 1f8d45cd0e media: go7007: add check of return value of go7007_read_addr()
| * 5d9fe604bf media: imx: csc/scaler: fix v4l2_ctrl_handler memory leak
| * c753ca1e5a media: sun8i-di: Fix chroma difference threshold
| * 6b5791c540 media: sun8i-di: Fix power on/off sequences
| * d2f806664c media: sun8i-di: Fix coefficient writes
| * 47588154b1 ASoC: meson: t9015: fix function pointer type mismatch
| * 3df9cd610b ASoC: meson: aiu: fix function pointer type mismatch
| * ac85b84241 ASoC: meson: Use dev_err_probe() helper
| * bae8577ea7 perf stat: Avoid metric-only segv
| * eca94a4b07 ALSA: seq: fix function cast warnings
| * 33a44d8759 drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode()
| * 89526d7728 perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str()
| * 8a01335aed crypto: xilinx - call finalize with bh disabled
| * 38e61b7511 PCI: switchtec: Fix an error handling path in switchtec_pci_probe()
| * ca1cd5605a quota: Fix rcu annotations of inode dquot pointers
| * 61380537aa quota: Fix potential NULL pointer dereference
| * 00684e9328 quota: simplify drop_dquot_ref()
| * 2e005642a6 clk: qcom: reset: Ensure write completion on reset de/assertion
| * b30800467c clk: qcom: reset: Commonize the de/assert functions
| * 160095aada pinctrl: mediatek: Drop bogus slew rate register range for MT8192
| * 096237039d media: edia: dvbdev: fix a use-after-free
| * afd2a82fe3 media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity
| * 94303a06e1 media: v4l2-tpg: fix some memleaks in tpg_alloc
| * 19cb33fa22 media: em28xx: annotate unchecked call to media_device_register()
| * 892d955f8e perf evsel: Fix duplicate initialization of data->id in evsel__parse_sample()
| * 330caa061a drm/amd/display: Fix potential NULL pointer dereferences in 'dcn10_set_output_transfer_func()'
| * ff28893c96 drm/amd/display: Fix a potential buffer overflow in 'dp_dsc_clock_en_read()'
| * 53dea95c23 HID: lenovo: Add middleclick_workaround sysfs knob for cptkbd
| * 7007354d0c perf record: Fix possible incorrect free in record__switch_output()
| * ed2be47b8d PCI/DPC: Print all TLP Prefixes, not just the first
| * 610f20e5cf media: tc358743: register v4l2 async device only after successful setup
| * 2c58c4dda2 dmaengine: tegra210-adma: Update dependency to ARCH_TEGRA
| * f2e80ac934 drm/lima: fix a memleak in lima_heap_alloc
| * e0d4850ecd drm/rockchip: lvds: do not print scary message when probing defer
| * 375a60fce4 drm/rockchip: lvds: do not overwrite error code
| * 2cb881069e drm: Don't treat 0 as -1 in drm_fixp2int_ceil
| * fbb37b3977 drm/rockchip: inno_hdmi: Fix video timing
| * b7a82cfb85 drm/tegra: output: Fix missing i2c_put_adapter() in the error handling paths of tegra_output_probe()
| * f95401a509 drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe()
| * 317155c5fa drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe()
| * 0e8c9283e5 drm/tegra: dsi: Make use of the helper function dev_err_probe()
| * 92003981a6 drm/tegra: dsi: Add missing check for of_find_device_by_node
| * f89bd27709 dm: call the resume method on internal suspend
| * 94a6a9cfbf dm raid: fix false positive for requeue needed during reshape
| * 928705e341 nfp: flower: handle acti_netdevs allocation failure
| * e9b72f729d net/x25: fix incorrect parameter validation in the x25_getsockopt() function
| * 3627f21b9e net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function
| * 03c74f548f udp: fix incorrect parameter validation in the udp_lib_getsockopt() function
| * b42e564358 l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function
| * 5a98fa3332 ipmr: fix incorrect parameter validation in the ip_mroute_getsockopt() function
| * 8693e3cf0c bpf: net: Change do_ip_getsockopt() to take the sockptr_t argument
| * 415edd2d66 net/ipv4/ipv6: Replace one-element arraya with flexible-array members
| * 7394669d59 net/ipv4: Revert use of struct_size() helper
| * 1ebd0d898f net/ipv4: Replace one-element array with flexible-array member
| * c805987631 tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function
| * 1f6244e995 OPP: debugfs: Fix warning around icc_get_name()
| * 6cf2e53315 net: phy: dp83822: Fix RGMII TX delay configuration
| * c44a5aa4be net: phy: DP83822: enable rgmii mode if phy_interface_is_rgmii
| * a352d039ff net: hns3: fix port duplex configure error in IMP reset
| * 06dd21045a net: phy: fix phy_get_internal_delay accessing an empty array
| * 77fd5294ea net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv()
| * edcec23634 ipv6: fib6_rules: flush route cache when rule is changed
| * 15641007df bpf: Fix stackmap overflow check on 32-bit arches
| * 64f00b4df0 bpf: Fix hashtab overflow check on 32-bit arches
| * 225da02acd bpf: Fix DEVMAP_HASH overflow check on 32-bit arches
| * 70294d8bc3 bpf: Eliminate rlimit-based memory accounting for devmap maps
| * 6b4a39acaf sr9800: Add check for usbnet_get_endpoints
| * d47e6c1932 Bluetooth: hci_core: Fix possible buffer overflow
| * 69d9425b88 Bluetooth: Remove superfluous call to hci_conn_check_pending()
| * cbe742db8b igb: Fix missing time sync events
| * 02cba67662 igb: move PEROUT and EXTTS isr logic to separate functions
| * f873b85ec7 iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected
| * f858c084eb PCI: Make pci_dev_is_disconnected() helper public for other drivers
| * 722c24cddc wifi: rtw88: 8821c: Fix false alarm count
| * c55cc63638 mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function
| * bb336cd8d5 SUNRPC: fix some memleaks in gssx_dec_option_array
| * a4e7ff1a74 x86, relocs: Ignore relocations in .notes section
| * 47a429a524 ACPI: scan: Fix device check notification handling
| * 5f99b46dce arm64: dts: marvell: reorder crypto interrupts on Armada SoCs
| * 46792f9ba3 ARM: dts: imx6dl-yapp4: Move the internal switch PHYs under the switch node
| * 2d1e515789 ARM: dts: imx6dl-yapp4: Fix typo in the QCA switch register address
| * 23d0549448 ARM: dts: imx6dl-yapp4: Move phy reset into switch node
| * 229563e216 ARM: dts: arm: realview: Fix development chip ROM compatible value
| * 2478026f94 net: ena: Remove ena_select_queue
| * 98d186a142 wifi: brcmsmac: avoid function pointer casts
| * fb7601ebf6 iommu/amd: Mark interrupt as managed
| * be8c53390a bus: tegra-aconnect: Update dependency to ARCH_TEGRA
| * c2a30c81bf ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit()
| * 5956f4203b wifi: wilc1000: prevent use-after-free on vif when cleaning up all interfaces
| * 115252fc61 wireless: Remove redundant 'flush_workqueue()' calls
| * 23278c845a bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly
| * c5f2076aaa bpf: Factor out bpf_spin_lock into helpers.
| * dfd8a62a10 arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes
| * f0dd27314c wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer()
| * 7d4b47f20f net: blackhole_dev: fix build warning for ethh set but not used
| * 918d7f0d3e wifi: iwlwifi: fix EWRD table validity check
| * fabe2db7de wifi: iwlwifi: dbg-tlv: ensure NUL termination
| * 1bc5461a21 wifi: ath9k: delay all of ath9k_wmi_event_tasklet() until init is complete
| * bdaf08b472 af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc().
| * 1524f46376 bpftool: Silence build warning about calloc()
| * 926d95eb39 inet_diag: annotate data-races around inet_diag_table[]
| * 784412247e sock_diag: annotate data-races around sock_diag_handlers[family]
| * 9127599c07 cpufreq: brcmstb-avs-cpufreq: add check for cpufreq_cpu_get's return value
| * 11824d6a8a wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir()
| * 5aa586bf80 wifi: wilc1000: fix multi-vif management when deleting a vif
| * dddedfa3b2 wifi: rtl8xxxu: add cancel_work_sync() for c2hcmd_work
| * b4bbf38c35 wifi: wilc1000: fix RCU usage in connect path
| * fd86efb897 wifi: wilc1000: fix declarations ordering
| * caa839d40e wifi: b43: Disable QoS for bcm4331
| * 39c915a323 wifi: b43: Stop correct queue in DMA worker when QoS is disabled
| * 871788995c wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled
| * 49f067726a wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled
| * e1dc7aa814 wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev()
| * c6fd906c3c timekeeping: Fix cross-timestamp interpolation for non-x86
| * 763a009228 timekeeping: Fix cross-timestamp interpolation corner case decision
| * fe90806209 timekeeping: Fix cross-timestamp interpolation on counter wrap
| * faf0b4c5e0 aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts
| * bb567cb5cd md: Don't clear MD_CLOSING when the raid is about to stop
| * ab25f7cd49 md: implement ->set_read_only to hook into BLKROSET processing
| * 2a0f8202f7 block: add a new set_read_only method
| * a0bccba5f5 fs/select: rework stack allocation hack for clang
| * 4af837db0f nbd: null check for nla_nest_start
| * cde76b3af2 do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak
| * cc6ddd6fa9 x86/paravirt: Fix build due to __text_gen_insn() backport
| * 0344b12a97 ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll
| * cd72f7de5b ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode
| * 423d747fa3 ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC
| * 442864752b Input: gpio_keys_polled - suppress deferred probe error for gpio
| * 020601445f ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet
| * 713eaf5c51 firewire: core: use long bus reset on gap count error
| * 81d7d920a2 Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security
| * ba3a55d118 scsi: mpt3sas: Prevent sending diag_reset when the controller is ready
| * e30b8525e1 dm-verity, dm-crypt: align "struct bvec_iter" correctly
| * 87221877ed block: sed-opal: handle empty atoms when parsing response
| * d2e2cb5258 parisc/ftrace: add missing CONFIG_DYNAMIC_FTRACE check
| * 3e0f73be40 net/iucv: fix the allocation size of iucv_path_table array
| * 6e4694e65b x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault()
| * aa64355c45 x86/mm: Move is_vsyscall_vaddr() into asm/vsyscall.h
| * 434a709df1 RDMA/mlx5: Relax DEVX access upon modify commands
| * d27c48dc30 RDMA/mlx5: Fix fortify source warning while accessing Eth segment
| * 0f9fa4e6b2 gen_compile_commands: fix invalid escape sequence warning
| * a8fee6674b HID: multitouch: Add required quirk for Synaptics 0xcddc device
| * df14e946ea MIPS: Clear Cause.BD in instruction_pointer_set
| * eb279074ba x86/xen: Add some null pointer checking to smp.c
| * eddf7e95b8 ASoC: rt5645: Make LattePanda board DMI match more precise
| * 8e2113f61d selftests: tls: use exact comparison in recv_partial
| * 90c445799f bpf: Defer the free of inner map when necessary
| * 93c37f1c63 rcu-tasks: Provide rcu_trace_implies_rcu_gp()
| * a6771f343a io_uring: drop any code related to SCM_RIGHTS
| * 875f5fed30 io_uring/unix: drop usage of io_uring socket
* | 4a3d04deae Revert "regmap: allow to define reg_update_bits for no bus configuration"
* | d499d2888d Revert "regmap: Add bulk read/write callbacks into regmap_config"
* | 2f6cd4ffaf Revert "serial: max310x: make accessing revision id interface-agnostic"
* | 505653748e Revert "serial: max310x: implement I2C support"
* | d845bebb84 Revert "serial: max310x: fix IO data corruption in batched operations"
* | bbcfe35f4e Revert "geneve: make sure to pull inner header in geneve_rx()"
* | 578a3af78b Merge 5.10.213 into android12-5.10-lts
|\|
| * d35f38551c Linux 5.10.213
| * 738845b022 serial: max310x: fix IO data corruption in batched operations
| * 85d7947871 serial: max310x: implement I2C support
| * 8082cc992d serial: max310x: make accessing revision id interface-agnostic
| * f36ef837a7 regmap: Add bulk read/write callbacks into regmap_config
| * 915848be2f regmap: allow to define reg_update_bits for no bus configuration
| * 82a62478b9 Drivers: hv: vmbus: Drop error message when 'No request id available'
| * 74d83d0fe0 serial: max310x: Unprepare and disable clock in error path
| * f610023e67 getrusage: use sig->stats_lock rather than lock_task_sighand()
| * 9ca9786820 getrusage: use __for_each_thread()
| * 21677f35e1 getrusage: move thread_group_cputime_adjusted() outside of lock_task_sighand()
| * 811415fe76 getrusage: add the "signal_struct *sig" local variable
| * 14136bed41 mm: hugetlb pages should not be reserved by shmat() if SHM_NORESERVE
| * 05edf43452 mm/hugetlb: change hugetlb_reserve_pages() to type bool
| * 5b10a88f64 hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed
| * 8f41b33d24 hv_netvsc: use netif_is_bond_master() instead of open code
| * 0d54d2240d hv_netvsc: Make netvsc/VF binding check both MAC and serial number
| * 3cfee5668b hv_netvsc: Process NETDEV_GOING_DOWN on VF hot remove
| * 0db98ee09b hv_netvsc: Wait for completion on request SWITCH_DATA_PATH
| * cdba035680 hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening
| * 2ce3663500 Drivers: hv: vmbus: Add vmbus_requestor data structure for VMBus hardening
| * 58bf67d524 ext4: convert to exclusive lock while inserting delalloc extents
| * 5b69dabd7e ext4: refactor ext4_da_map_blocks()
| * b3bca5e8c7 ext4: make ext4_es_insert_extent() return void
| * c09ffff246 lsm: fix default return value of the socket_getpeersec_*() hooks
| * ea6e87db90 lsm: make security_socket_getpeersec_stream() sockptr_t safe
| * a9482f3b48 bpf: net: Change sk_getsockopt() to take the sockptr_t argument
| * be155e9466 net: Change sock_getsockopt() to take the sk ptr instead of the sock ptr
| * 518ec3da99 serial: max310x: prevent infinite while() loop in port startup
| * fe0d16b3a3 serial: max310x: use a separate regmap for each port
| * c1ecaadbcd serial: max310x: use regmap methods for SPI batch operations
| * 32e32ab1da serial: max310x: Make use of device properties
| * c7e9e6d5ee serial: max310x: fail probe if clock crystal is unstable
| * c2b9cbf09e serial: max310x: Try to get crystal clock rate from property
| * 569154b29a serial: max310x: Use devm_clk_get_optional() to get the input clock
| * 696e4112e5 xhci: handle isoc Babble and Buffer Overrun events properly
| * fe2322caa0 xhci: process isoc TD properly when there was a transaction error mid TD.
| * fa5aaf31e5 xhci: prevent double-fetch of transfer and transfer event TRBs
| * 89ed7ebae4 xhci: remove extra loop in interrupt context
| * 9c398afd49 um: allow not setting extra rpaths in the linux binary
| * c9c3cc6a13 selftests: mm: fix map_hugetlb failure on 64K page size systems
| * 1dee72c021 selftests/mm: switch to bash from sh
| * bbf950a6e9 netrom: Fix data-races around sysctl_net_busy_read
| * cfe0f73fb3 netrom: Fix a data-race around sysctl_netrom_link_fails_count
| * b7d33e083f netrom: Fix a data-race around sysctl_netrom_routing_control
| * 01d4e3afe2 netrom: Fix a data-race around sysctl_netrom_transport_no_activity_timeout
| * 652b0b3581 netrom: Fix a data-race around sysctl_netrom_transport_requested_window_size
| * f3315a6eda netrom: Fix a data-race around sysctl_netrom_transport_busy_delay
| * 34c84e0036 netrom: Fix a data-race around sysctl_netrom_transport_acknowledge_delay
| * 34a164d244 netrom: Fix a data-race around sysctl_netrom_transport_maximum_tries
| * 291d36d772 netrom: Fix a data-race around sysctl_netrom_transport_timeout
| * d1261bde59 netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser
| * 18c95d11c3 netrom: Fix a data-race around sysctl_netrom_obsolescence_count_initialiser
| * e041df5dc9 netrom: Fix a data-race around sysctl_netrom_default_path_quality
| * ccd1108b16 netfilter: nf_conntrack_h323: Add protection for bmp length out of range
| * 2b4e7cb7d5 netfilter: nft_ct: fix l3num expectations with inet pseudo family
| * 9dfc15a10d net/rds: fix WARNING in rds_conn_connect_if_down
| * 5f4e51abfb cpumap: Zero-initialise xdp_rxq_info struct before running XDP program
| * 79ce2e54cc net/ipv6: avoid possible UAF in ip6_route_mpath_notify()
| * 37fe99016b net: ice: Fix potential NULL pointer dereference in ice_bridge_setlink()
| * c713790069 geneve: make sure to pull inner header in geneve_rx()
| * fdb63c179f tracing/net_sched: Fix tracepoints that save qdisc_dev() as a string
| * 71e21eb1f8 i40e: disable NAPI right after disabling irqs when handling xsk_pool
| * ad91d5d1b6 ixgbe: {dis, en}able irqs in ixgbe_txrx_ring_{dis, en}able
| * 336261af04 net: lan78xx: fix runtime PM count underflow on link stop
| * 11a3c9f489 lan78xx: Fix race conditions in suspend/resume handling
| * 69215f8eda lan78xx: Fix partial packet errors on suspend/resume
| * e5d7f43c4c lan78xx: Add missing return code checks
| * 061336268e lan78xx: Fix white space and style issues
| * 0224cbc53b mmc: mmci: stm32: fix DMA API overlapping mappings warning
| * abda366ece mmc: mmci: stm32: use a buffer for unaligned DMA requests
* | 52795b4903 Merge 5.10.212 into android12-5.10-lts
|\|
| * 7cfcd0ed92 Linux 5.10.212
| * f74362a004 mptcp: fix double-free on socket dismantle
| * 30d84d87c3 mtd: spinand: gigadevice: fix Quad IO for GD5F1GQ5UExxG
| * 1805131d8f gpio: fix resource unwinding order in error path
| * 51f7044d10 gpiolib: Fix the error path order in gpiochip_add_data_with_key()
| * 947baae185 gpio: 74x164: Enable output pins after registers are reset
| * 80d8522999 fs,hugetlb: fix NULL pointer dereference in hugetlbs_fill_super
| * 43eccc5823 cachefiles: fix memory leak in cachefiles_add_cache()
| * 2871728127 ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()
| * 70e5b01353 mptcp: fix possible deadlock in subflow diag
| * 36103f8cb9 x86/cpu/intel: Detect TME keyid bits before setting MTRR mask registers
| * 7a7cb5266b pmdomain: qcom: rpmhpd: Fix enabled_corner aggregation
| * 36b02df0a6 mmc: sdhci-xenon: fix PHY init clock stability
| * d3c703c22b mmc: sdhci-xenon: add timeout for PHY init complete
| * 3fd14520dd mmc: core: Fix eMMC initialization with 1-bit bus connection
| * 9579a21e99 dmaengine: fsl-qdma: init irq after reg initialization
| * bb3a06e9b9 dmaengine: fsl-qdma: fix SoC may hang on 16 byte unaligned read
| * 2886fe308a btrfs: dev-replace: properly validate device names
| * 99eb215968 wifi: nl80211: reject iftype change with mesh ID change
| * e668b92a3a gtp: fix use-after-free and null-ptr-deref in gtp_newlink()
| * a23ac1788e tomoyo: fix UAF write bug in tomoyo_write_control()
| * 8af1c121b0 riscv: Sparse-Memory/vmemmap out-of-bounds fix
| * 96370ba395 afs: Fix endless loop in directory parsing
| * 14aacfcd73 ALSA: Drop leftover snd-rtctimer stuff from Makefile
| * d7acc4a569 power: supply: bq27xxx-i2c: Do not free non existing IRQ
| * 537e3f49db efi/capsule-loader: fix incorrect allocation size
| * 882a51a10e rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back
| * 80fabcd5d1 netfilter: nf_tables: allow NFPROTO_INET in nft_(match/target)_validate()
| * e24acaefdd Bluetooth: Enforce validation on max value of connection interval
| * df193568d6 Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST
| * 0309b68aea Bluetooth: hci_event: Fix wrongly recorded wakeup BD_ADDR
| * 6dd0a9dfa9 Bluetooth: Avoid potential use-after-free in hci_error_reset
| * 6782a54e1a net: usb: dm9601: fix wrong return value in dm9601_mdio_read
| * c1c7396b57 lan78xx: enable auto speed configuration for LAN7850 if no EEPROM is detected
| * 810fa7d5e5 ipv6: fix potential "struct net" leak in inet6_rtm_getaddr()
| * 906986fed8 tun: Fix xdp_rxq_info's queue_index when detaching
| * 2e95350fe9 net: ip_tunnel: prevent perpetual headroom growth
| * f19d1f98e6 netlink: Fix kernel-infoleak-after-free in __skb_datagram_iter
| * acd9f6d481 mtd: spinand: gigadevice: Fix the get ecc status issue
| * 8e3a867593 mtd: spinand: gigadevice: Support GD5F1GQ5UExxG
| * 37077ed16c crypto: virtio/akcipher - Fix stack overflow on memcpy
| * bf85def4b6 platform/x86: touchscreen_dmi: Allow partial (prefix) matches for ACPI names
* | 67b086c845 Revert "mptcp: fix lockless access in subflow ULP diag"
* | 92a0d7e20f Revert "net: dev: Convert sa_data to flexible array in struct sockaddr"
* | bb807b14f3 Revert "arp: Prevent overflow in arp_req_get()."
* | 888e5e5b56 Revert "usb: roles: fix NULL pointer issue when put module's reference"
* | 72f354f396 Revert "usb: roles: don't get/set_role() when usb_role_switch is unregistered"
* | e92b643b4b Merge 5.10.211 into android12-5.10-lts
|/
* 9985c44f23 Linux 5.10.211
* 94ebf71bdd ext4: regenerate buddy after block freeing failed if under fc replay
* dbc9b22d0e arp: Prevent overflow in arp_req_get().
* ea1cd64d59 fs/aio: Restrict kiocb_set_cancel_fn() to I/O submitted via libaio
* bff0a0658e block: ataflop: more blk-mq refactoring fixes
* b49b022f7d drm/amd/display: Fix memory leak in dm_sw_fini()
* c6551ff227 drm/syncobj: call drm_syncobj_fence_add_wait when WAIT_AVAILABLE flag is set
* 144ec5e1ce drm/syncobj: make lockdep complain on WAIT_FOR_SUBMIT v3
* 31ea574aec netfilter: nf_tables: set dormant flag on hook register failure
* 31e10d6cb0 tls: stop recv() if initial process_rx_list gave us non-DATA
* 7c54eaa3b0 tls: rx: drop pointless else after goto
* 4820e84e28 tls: rx: jump to a more appropriate label
* 5d4e4eff79 s390: use the correct count for __iowrite64_copy()
* f6ce90567e net: dev: Convert sa_data to flexible array in struct sockaddr
* c1b447a21a packet: move from strlcpy with unused retval to strscpy
* 65c38f23d1 ipv6: sr: fix possible use-after-free and null-ptr-deref
* d9b5e2b7a8 afs: Increase buffer size in afs_update_volume_status()
* 2f56d71262 ipv6: properly combine dev_base_seq and ipv6.dev_addr_genid
* dcc1375d41 ipv4: properly combine dev_base_seq and ipv4.dev_addr_genid
* fc30793e06 nouveau: fix function cast warnings
* 49ef33a90e scsi: jazz_esp: Only build if SCSI core is builtin
* b42b801aba bpf, scripts: Correct GPL license name
* a2d1e1f8f0 RDMA/srpt: fix function pointer cast warnings
* 905de68fcd arm64: dts: rockchip: set num-cs property for spi on px30
* 5639414a52 RDMA/qedr: Fix qedr_create_user_qp error flow
* 5a5c039dac RDMA/srpt: Support specifying the srpt_service_guid parameter
* 179bb08834 RDMA/bnxt_re: Return error for SRQ resize
* 3fa240bb6b IB/hfi1: Fix a memleak in init_credit_return
* 8affdbb3e2 mptcp: fix lockless access in subflow ULP diag
* eb3693454b usb: roles: don't get/set_role() when usb_role_switch is unregistered
* e279bf8e51 usb: roles: fix NULL pointer issue when put module's reference
* 57ca0e16f3 usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs
* 1e204a8e9e usb: cdns3: fix memory double free when handle zero packet
* b40328eea9 usb: cdns3: fixed memory use after free at cdns3_gadget_ep_disable()
* 1dfe6393d1 x86/alternative: Make custom return thunk unconditional
* dd1a169b44 Revert "x86/alternative: Make custom return thunk unconditional"
* e8e9d1f6cf x86/returnthunk: Allow different return thunks
* 4eb421fa71 x86/ftrace: Use alternative RET encoding
* b253061d4b x86/ibt,paravirt: Use text_gen_insn() for paravirt_patch()
* e752912ce1 x86/text-patching: Make text_gen_insn() play nice with ANNOTATE_NOENDBR
* c13d426040 Revert "x86/ftrace: Use alternative RET encoding"
* 70d92abbe2 ARM: ep93xx: Add terminator to gpiod_lookup_table
* dcb4d14268 l2tp: pass correct message length to ip6_append_data
* 03366ad111 PCI/MSI: Prevent MSI hardware interrupt number truncation
* 2e534fd15e gtp: fix use-after-free and null-ptr-deref in gtp_genl_dump_pdp()
* 6e5069b40f KVM: arm64: vgic-its: Test for valid IRQ in its_sync_lpi_pending_table()
* 615af9cb3e KVM: arm64: vgic-its: Test for valid IRQ in MOVALL handler
* 3c652f6fa1 dm-crypt: don't modify the data when using authenticated encryption
* f6a765a61e s390/cio: fix invalid -EBUSY on ccw_device_start
* 3f38d22e64 IB/hfi1: Fix sdma.h tx->num_descs off-by-one error
* a0180e940c erofs: fix lz4 inplace decompression
* 841b9f6f68 x86: drop bogus "cc" clobber from __try_cmpxchg_user_asm()
* 6360869cc4 jbd2: Fix wrongly judgement for buffer head removing while doing checkpoint
* 69389d82ab jbd2: recheck chechpointing non-dirty buffer
* cb1609ef8a jbd2: remove redundant buffer io error checks
* 52b9609b89 iwlwifi: mvm: write queue_sync_state only for sync
* f5e6da2ca1 iwlwifi: mvm: do more useful queue sync accounting
* 87b7d049ce platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
* 6c367739cd lan743x: fix for potential NULL pointer dereference with bare card
* a1ccc4f441 btrfs: do not pin logs too early during renames
* 16b70511bd btrfs: unify lookup return value when dir entry is missing
* fccb8a6109 btrfs: introduce btrfs_lookup_match_dir
* aaf2d6b7ec btrfs: tree-checker: check for overlapping extent items
* b8034ca2fd task_stack, x86/cea: Force-inline stack helpers
* 68ffe3ec19 ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use
* edeef1b4fb ASoC: Intel: boards: get codec device with ACPI instead of bus search
* 151b360f47 ASoC: Intel: boards: harden codec property handling
* 877037eff7 mtd: spinand: macronix: Add support for MX35LFxGE4AD
* b6c4a44e89 cifs: add a warning when the in-flight count goes negative
* e410dfaaac powerpc/watchpoints: Annotate atomic context in more places
* 2641aa3f56 powerpc/watchpoint: Workaround P10 DD1 issue with VSX-32 byte instructions
* d021ba1142 block: ataflop: fix breakage introduced at blk-mq refactoring
* 1dd3dc3892 seccomp: Invalidate seccomp mode to catch death failures
* 7ab8a3bac5 x86/uaccess: Implement macros for CMPXCHG on user addresses
* 13f6937f53 hsr: Avoid double remove of a node.
* b2e72d88c3 hvc/xen: prevent concurrent accesses to the shared ring
* 86ba65e535 media: av7110: prevent underflow in write_ts_to_decoder()
* d6e60c53d2 ASoC: fsl_micfil: register platform component before registering cpu dai
* de899edac7 ARM: dts: imx: Set default tuning step for imx6sx usdhc
* 51582123dd irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
* ef6128a1ba ARM: dts: BCM53573: Drop nonexistent "default-off" LED trigger
* a4c0234b16 pmdomain: renesas: r8a77980-sysc: CR7 must be always on
* 5fe446b245 virtio-blk: Ensure no requests in virtqueues before deleting vqs.
* 92a1090b47 firewire: core: send bus reset promptly on gap count error
* 6a375022b0 scsi: lpfc: Use unsigned type for num_sge
* 7fb1979274 hwmon: (coretemp) Enlarge per package core count limit
* 988ae00e69 efi: Don't add memblocks for soft-reserved memory
* 4fff3d735b efi: runtime: Fix potential overflow of soft-reserved region size
* 865f99f641 Input: i8042 - add Fujitsu Lifebook U728 to i8042 quirk table
* 30a8784572 ext4: correct the hole length returned by ext4_map_blocks()
* a72037da4a nvmet-fc: abort command when there is no binding
* a0fa157bd4 nvmet-fc: release reference on target port
* 5da866be3d nvmet-fcloop: swap the list_add_tail arguments
* 4f2c95015e nvme-fc: do not wait in vain when unloading module
* f82ed69f6a netfilter: conntrack: check SCTP_CID_SHUTDOWN_ACK for vtag setting in sctp_new
* da47fc8d30 spi: sh-msiof: avoid integer overflow in constants
* 0a840d7984 ASoC: sunxi: sun4i-spdif: Add support for Allwinner H616
* 5b33bbeefb nvmet-tcp: fix nvme tcp ida memory leak
* d21c122de3 regulator: pwm-regulator: Add validity checks in continuous .get_voltage
* c432094aa7 dmaengine: ti: edma: Add some null pointer checks to the edma_probe
* ffeb72a80a ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal()
* 927794a021 ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()
* 2b39c1a0a8 ahci: add 43-bit DMA address quirk for ASMedia ASM1061 controllers
* 15bb22da0f ahci: asm1166: correct count of reported ports
* e94da8aca2 spi: hisi-sfc-v3xx: Return IRQ_NONE if no interrupts were detected
* cd36da760b fbdev: sis: Error out if pixclock equals zero
* 512ee6d604 fbdev: savage: Error out if pixclock equals zero
* 5ffab99e07 wifi: mac80211: fix race condition on enabling fast-xmit
* 7e71fbc68d wifi: cfg80211: fix missing interfaces when dumping
* 17c976fe2c dmaengine: fsl-qdma: increase size of 'irq_name'
* d94a80da90 dmaengine: shdma: increase size of 'dev_id'
* 168ed59170 scsi: target: core: Add TMF to tmr_list handling
* e4bc311745 sched/rt: Disallow writing invalid values to sched_rt_period_us
* 13c6bce76d sched/rt: Fix sysctl_sched_rr_timeslice intial value
* b1ba065137 zonefs: Improve error handling
* 19087d70e9 userfaultfd: fix mmap_changing checking in mfill_atomic_hugetlb
* 18d88bf9c2 sched/rt: sysctl_sched_rr_timeslice show default timeslice after reset
* 94b064984a smb: client: fix parsing of SMB3.1.1 POSIX create context
* 13fb0fc491 smb: client: fix potential OOBs in smb2_parse_contexts()
* b03c8099a7 smb: client: fix OOB in receive_encrypted_standard()
* 3fa31e7a9d net/sched: Retire dsmark qdisc
* 71925d6863 net/sched: Retire ATM qdisc
* 56a6720d9b net/sched: Retire CBQ qdisc

Change-Id: Ifcdb2a0a24ed57b62d73c24ab1e6d8918b9c4068
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-06-28 16:12:51 +00:00
Michael Bestas
768f49ccbc
Merge tag 'ASB-2024-06-05_12-5.10' of https://android.googlesource.com/kernel/common into android13-5.10-waipio
https://source.android.com/docs/security/bulletin/2024-06-01
CVE-2024-26926

* tag 'ASB-2024-06-05_12-5.10' of https://android.googlesource.com/kernel/common:
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: ABI fixup for abi break in struct dst_ops
  BACKPORT: net: fix __dst_negative_advice() race
  ANDROID: Add __nocfi return for swsusp_arch_resume
  BACKPORT: arm64: mm: Make hibernation aware of KFENCE
  UPSTREAM: selftests: timers: Fix valid-adjtimex signed left-shift undefined behavior
  ANDROID: kbuild: Search external devicetree path when running clean target
  ANDROID: kbuild: add support for compiling external device trees
  ANDROID: usb: gadget: ncm: Introduce vendor opts to deal with ABI breakage
  UPSTREAM: usb: gadget: ncm: Fix endianness of wMaxSegmentSize variable in ecm_desc
  UPSTREAM: usb: gadget: ncm: Add support to update wMaxSegmentSize via configfs
  ANDROID: usb: Optimize the problem of slow transfer rate in USB accessory mode
  ANDROID: ABI: Update honor symbol list
  ANDROID: add vendor hook in do_read_fault to tune fault_around_bytes
  FROMGIT: usb: dwc3: Wait unconditionally after issuing EndXfer command
  ANDROID: irq: put irq_resolve_mapping under protection of __irq_enter_raw
  ANDROID: abi_gki_aarch64_qcom: Add clk_restore_context and clk_save_context
  UPSTREAM: usb: gadget: ncm: Fix handling of zero block length packets
  UPSTREAM: usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs
  Revert "hrtimer: Report offline hrtimer enqueue"
  Revert "scsi: core: Introduce enum scsi_disposition"
  Revert "scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler"
  Revert "scsi: core: Move scsi_host_busy() out of host lock if it is for per-command"
  Revert "bpf: Add map and need_defer parameters to .map_fd_put_ptr()"
  Revert "drm/mipi-dsi: Fix detach call without attach"
  Revert "serial: Add rs485_supported to uart_port"
  Revert "serial: 8250_exar: Fill in rs485_supported"
  Revert "serial: 8250_exar: Set missing rs485_supported flag"
  Revert "ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()"
  Linux 5.10.210
  PCI: dwc: Fix a 64bit bug in dw_pcie_ep_raise_msix_irq()
  net: bcmgenet: Fix EEE implementation
  netfilter: nf_tables: fix pointer math issue in nft_byteorder_eval()
  drm/msm/dsi: Enable runtime PM
  PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()
  PM: runtime: add devm_pm_runtime_enable helper
  dm: limit the number of targets and parameter size area
  nilfs2: replace WARN_ONs for invalid DAT metadata block requests
  nilfs2: fix potential bug in end_buffer_async_write
  sched/membarrier: reduce the ability to hammer on sys_membarrier
  net: prevent mss overflow in skb_segment()
  Revert "arm64: Stash shadow stack pointer in the task struct on interrupt"
  hrtimer: Ignore slack time for RT tasks in schedule_hrtimeout_range()
  netfilter: ipset: Missing gc cancellations fixed
  netfilter: ipset: fix performance regression in swap operation
  scripts/decode_stacktrace.sh: optionally use LLVM utilities
  scripts: decode_stacktrace: demangle Rust symbols
  scripts/decode_stacktrace.sh: support old bash version
  scripts/decode_stacktrace.sh: silence stderr messages from addr2line/nm
  serial: 8250_exar: Set missing rs485_supported flag
  serial: 8250_exar: Fill in rs485_supported
  serial: Add rs485_supported to uart_port
  crypto: lib/mpi - Fix unexpected pointer access in mpi_ec_init
  mips: Fix max_mapnr being uninitialized on early stages
  PCI: dwc: endpoint: Fix dw_pcie_ep_raise_msix_irq() alignment support
  bus: moxtet: Add spi device table
  Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"
  tracing: Inform kmemleak of saved_cmdlines allocation
  pmdomain: core: Move the unused cleanup to a _sync initcall
  can: j1939: Fix UAF in j1939_sk_match_filter during setsockopt(SO_J1939_FILTER)
  of: property: fix typo in io-channels
  ceph: prevent use-after-free in encode_cap_msg()
  s390/qeth: Fix potential loss of L3-IP@ in case of network issues
  irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update
  irqchip/irq-brcmstb-l2: Add write memory barrier before exit
  wifi: mac80211: reload info pointer in ieee80211_tx_dequeue()
  nfp: flower: prevent re-adding mac index for bonded port
  nfp: use correct macro for LengthSelect in BAR config
  crypto: ccp - Fix null pointer dereference in __sev_platform_shutdown_locked
  nilfs2: fix hang in nilfs_lookup_dirty_data_buffers()
  nilfs2: fix data corruption in dsync block recovery for small block sizes
  ALSA: hda/conexant: Add quirk for SWS JS201D
  mmc: slot-gpio: Allow non-sleeping GPIO ro
  x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
  x86/Kconfig: Transmeta Crusoe is CPU family 5, not 6
  serial: max310x: improve crystal stable clock detection
  serial: max310x: set default value when reading clock ready bit
  ring-buffer: Clean ring_buffer_poll_wait() error return
  hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove
  media: rc: bpf attach/detach requires write permission
  iio: accel: bma400: Fix a compilation problem
  iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC
  staging: iio: ad5933: fix type mismatch regression
  tracing: Fix wasted memory in saved_cmdlines logic
  ext4: fix double-free of blocks due to wrong extents moved_len
  misc: fastrpc: Mark all sessions as invalid in cb_remove
  binder: signal epoll threads of self-work
  ALSA: hda/realtek: Enable headset mic on Vaio VJFE-ADL
  xen-netback: properly sync TX responses
  net: hsr: remove WARN_ONCE() in send_hsr_supervision_frame()
  nfc: nci: free rx_data_reassembly skb on NCI device cleanup
  kbuild: Fix changing ELF file type for output of gen_btf for big endian
  firewire: core: correct documentation of fw_csr_string() kernel API
  lsm: fix the logic in security_inode_getsecctx()
  scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock"
  modpost: trim leading spaces when processing source files list
  i2c: i801: Fix block process call transactions
  i2c: i801: Remove i801_set_block_buffer_mode
  powerpc/kasan: Fix addr error caused by page alignment
  media: ir_toy: fix a memleak in irtoy_tx
  usb: f_mass_storage: forbid async queue when shutdown happen
  USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT
  usb: ucsi_acpi: Fix command completion handling
  HID: wacom: Do not register input devices until after hid_hw_start
  HID: wacom: generic: Avoid reporting a serial of '0' to userspace
  ALSA: hda/realtek: Enable Mute LED on HP Laptop 14-fq0xxx
  ALSA: hda/realtek: Fix the external mic not being recognised for Acer Swift 1 SF114-32
  mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again
  tracing/trigger: Fix to return error if failed to alloc snapshot
  i40e: Fix waiting for queues of all VSIs to be disabled
  MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler
  net: sysfs: Fix /sys/class/net/<iface> path for statistics
  ASoC: rt5645: Fix deadlock in rt5645_jack_detect_work()
  spi: ppc4xx: Drop write-only variable
  net: openvswitch: limit the number of recursions from action sets
  of: unittest: Fix compile in the non-dynamic case
  btrfs: send: return EOPNOTSUPP on unknown flags
  btrfs: forbid deleting live subvol qgroup
  btrfs: do not ASSERT() if the newly created subvolume already got read
  btrfs: forbid creating subvol qgroups
  netfilter: nft_set_rbtree: skip end interval element from gc
  net: stmmac: xgmac: fix a typo of register name in DPP safety handling
  net: stmmac: xgmac: use #define for string constants
  clocksource: Skip watchdog check for large watchdog intervals
  vhost: use kzalloc() instead of kmalloc() followed by memset()
  Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID
  Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU
  hrtimer: Report offline hrtimer enqueue
  usb: host: xhci-plat: Add support for XHCI_SG_TRB_CACHE_SIZE_QUIRK
  USB: serial: cp210x: add ID for IMST iM871A-USB
  USB: serial: option: add Fibocom FM101-GL variant
  USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e
  net/af_iucv: clean up a try_then_request_module()
  blk-iocost: Fix an UBSAN shift-out-of-bounds warning
  scsi: core: Move scsi_host_busy() out of host lock if it is for per-command
  netfilter: nft_set_pipapo: remove scratch_aligned pointer
  netfilter: nft_set_pipapo: add helper to release pcpu scratch area
  netfilter: nft_set_pipapo: store index in scratch maps
  netfilter: nft_ct: reject direction for ct id
  netfilter: nft_compat: restrict match/target protocol to u16
  netfilter: nft_compat: reject unused compat flag
  ppp_async: limit MRU to 64K
  tipc: Check the bearer type before calling tipc_udp_nl_bearer_add()
  rxrpc: Fix response to PING RESPONSE ACKs to a dead call
  inet: read sk->sk_family once in inet_recv_error()
  hwmon: (coretemp) Fix bogus core_id to attr name mapping
  hwmon: (coretemp) Fix out-of-bounds memory access
  hwmon: (aspeed-pwm-tacho) mutex for tach reading
  atm: idt77252: fix a memleak in open_card_ubr0
  tunnels: fix out of bounds access when building IPv6 PMTU error
  selftests: net: avoid just another constant wait
  net: stmmac: xgmac: fix handling of DPP safety error for DMA channels
  drm/msm/dp: return correct Colorimetry for DP_TEST_DYNAMIC_RANGE_CEA case
  phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
  dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV
  phy: renesas: rcar-gen3-usb2: Fix returning wrong error code
  dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA
  dmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA
  dmaengine: ti: k3-udma: Report short packet errors
  dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools
  PM: sleep: Fix error handling in dpm_prepare()
  uapi: stddef.h: Fix __DECLARE_FLEX_ARRAY for C++
  bonding: remove print in bond_verify_device_path
  HID: apple: Add 2021 magic keyboard FN key mapping
  HID: apple: Add support for the 2021 Magic Keyboard
  net: sysfs: Fix /sys/class/net/<iface> path
  af_unix: fix lockdep positive in sk_diag_dump_icons()
  net: ipv4: fix a memleak in ip_setup_cork
  netfilter: nft_ct: sanitize layer 3 and 4 protocol number in custom expectations
  netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger
  llc: call sock_orphan() at release time
  ipv6: Ensure natural alignment of const ipv6 loopback and router addresses
  ixgbe: Fix an error handling path in ixgbe_read_iosf_sb_reg_x550()
  ixgbe: Refactor overtemp event handling
  ixgbe: Refactor returning internal error codes
  ixgbe: Remove non-inclusive language
  tcp: add sanity checks to rx zerocopy
  net-zerocopy: Refactor frag-is-remappable test.
  ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()
  ip6_tunnel: use dev_sw_netstats_rx_add()
  scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler
  scsi: core: Introduce enum scsi_disposition
  scsi: isci: Fix an error code problem in isci_io_request_build()
  drm: using mul_u32_u32() requires linux/math64.h
  wifi: cfg80211: fix RCU dereference in __cfg80211_bss_update
  perf: Fix the nr_addr_filters fix
  drm/amdgpu: Release 'adev->pm.fw' before return in 'amdgpu_device_need_post()'
  drm/amd/powerplay: Fix kzalloc parameter 'ATOM_Tonga_PPM_Table' in 'get_platform_power_management_table()'
  ceph: fix deadlock or deadcode of misusing dget()
  blk-mq: fix IO hang from sbitmap wakeup race
  virtio_net: Fix "‘%d’ directive writing between 1 and 11 bytes into a region of size 10" warnings
  libsubcmd: Fix memory leak in uniq()
  PCI/AER: Decode Requester ID when no error info found
  fs/kernfs/dir: obey S_ISGID
  tty: allow TIOCSLCKTRMIOS with CAP_CHECKPOINT_RESTORE
  usb: hub: Replace hardcoded quirk value with BIT() macro
  PCI: switchtec: Fix stdev_release() crash after surprise hot remove
  PCI: Only override AMD USB controller if required
  mfd: ti_am335x_tscadc: Fix TI SoC dependencies
  xen/gntdev: Fix the abuse of underlying struct page in DMA-buf import
  i3c: master: cdns: Update maximum prescaler value for i2c clock
  um: net: Fix return type of uml_net_start_xmit()
  um: Don't use vfprintf() for os_info()
  um: Fix naming clash between UML and scheduler
  leds: trigger: panic: Don't register panic notifier if creating the trigger failed
  drm/amdgpu: Drop 'fence' check in 'to_amdgpu_amdkfd_fence()'
  drm/amdgpu: Let KFD sync with VM fences
  watchdog: it87_wdt: Keep WDTCTRL bit 3 unmodified for IT8784/IT8786
  clk: mmp: pxa168: Fix memory leak in pxa168_clk_init()
  clk: hi3620: Fix memory leak in hi3620_mmc_clk_init()
  drm/msm/dpu: Ratelimit framedone timeout msgs
  media: ddbridge: fix an error code problem in ddb_probe
  IB/ipoib: Fix mcast list locking
  drm/exynos: Call drm_atomic_helper_shutdown() at shutdown/unbind time
  ALSA: hda: intel-dspcfg: add filters for ARL-S and ARL
  ALSA: hda: Intel: add HDA_ARL PCI ID support
  PCI: add INTEL_HDA_ARL to pci_ids.h
  media: rockchip: rga: fix swizzling for RGB formats
  media: stk1160: Fixed high volume of stk1160_dbg messages
  drm/mipi-dsi: Fix detach call without attach
  drm/framebuffer: Fix use of uninitialized variable
  drm/drm_file: fix use of uninitialized variable
  f2fs: fix write pointers on zoned device after roll forward
  drm/amd/display: Fix tiled display misalignment
  RDMA/IPoIB: Fix error code return in ipoib_mcast_join
  fast_dput(): handle underflows gracefully
  ASoC: doc: Fix undefined SND_SOC_DAPM_NOPM argument
  ALSA: hda: Refer to correct stream index at loops
  f2fs: fix to check return value of f2fs_reserve_new_block()
  i40e: Fix VF disable behavior to block all traffic
  Bluetooth: L2CAP: Fix possible multiple reject send
  Bluetooth: qca: Set both WIDEBAND_SPEECH and LE_STATES quirks for QCA2066
  wifi: cfg80211: free beacon_ies when overridden from hidden BSS
  wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift()
  wifi: rtl8xxxu: Add additional USB IDs for RTL8192EU devices
  arm64: dts: qcom: msm8998: Fix 'out-ports' is a required property
  arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property
  md: Whenassemble the array, consult the superblock of the freshest device
  block: prevent an integer overflow in bvec_try_merge_hw_page
  net: dsa: mv88e6xxx: Fix mv88e6352_serdes_get_stats error path
  ARM: dts: imx23/28: Fix the DMA controller node name
  ARM: dts: imx23-sansa: Use preferred i2c-gpios properties
  ARM: dts: imx27-apf27dev: Fix LED name
  ARM: dts: imx25/27: Pass timing0
  ARM: dts: imx25: Fix the iim compatible string
  block/rnbd-srv: Check for unlikely string overflow
  ionic: pass opcode to devcmd_wait
  ARM: dts: imx1: Fix sram node
  ARM: dts: imx27: Fix sram node
  ARM: dts: imx: Use flash@0,0 pattern
  ARM: dts: imx25/27-eukrea: Fix RTC node name
  ARM: dts: rockchip: fix rk3036 hdmi ports node
  bpf: Set uattr->batch.count as zero before batched update or deletion
  scsi: libfc: Fix up timeout error in fc_fcp_rec_error()
  scsi: libfc: Don't schedule abort twice
  bpf: Add map and need_defer parameters to .map_fd_put_ptr()
  wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus()
  ARM: dts: imx7s: Fix nand-controller #size-cells
  ARM: dts: imx7s: Fix lcdif compatible
  ARM: dts: imx7d: Fix coresight funnel ports
  scsi: arcmsr: Support new PCI device IDs 1883 and 1886
  bonding: return -ENOMEM instead of BUG in alb_upper_dev_walk
  PCI: Add no PM reset quirk for NVIDIA Spectrum devices
  scsi: lpfc: Fix possible file string name overflow when updating firmware
  selftests/bpf: Fix pyperf180 compilation failure with clang18
  selftests/bpf: satisfy compiler by having explicit return in btf test
  wifi: rt2x00: restart beacon queue when hardware reset
  ext4: avoid online resizing failures due to oversized flex bg
  ext4: remove unnecessary check from alloc_flex_gd()
  ext4: unify the type of flexbg_size to unsigned int
  ext4: fix inconsistent between segment fstrim and full fstrim
  ecryptfs: Reject casefold directory inodes
  SUNRPC: Fix a suspicious RCU usage warning
  KVM: s390: fix setting of fpc register
  s390/ptrace: handle setting of fpc register correctly
  jfs: fix array-index-out-of-bounds in diNewExt
  rxrpc_find_service_conn_rcu: fix the usage of read_seqbegin_or_lock()
  afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*()
  afs: fix the usage of read_seqbegin_or_lock() in afs_lookup_volume_rcu()
  crypto: stm32/crc32 - fix parsing list of devices
  pstore/ram: Fix crash when setting number of cpus to an odd number
  jfs: fix uaf in jfs_evict_inode
  jfs: fix array-index-out-of-bounds in dbAdjTree
  jfs: fix slab-out-of-bounds Read in dtSearch
  UBSAN: array-index-out-of-bounds in dtSplitRoot
  FS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree
  ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events
  PM / devfreq: Synchronize devfreq_monitor_[start/stop]
  ACPI: extlog: fix NULL pointer dereference check
  PNP: ACPI: fix fortify warning
  ACPI: video: Add quirk for the Colorful X15 AT 23 Laptop
  audit: Send netlink ACK before setting connection in auditd_set
  regulator: core: Only increment use_count when enable_count changes
  debugobjects: Stop accessing objects after releasing hash bucket lock
  perf/core: Fix narrow startup race when creating the perf nr_addr_filters sysfs file
  x86/mce: Mark fatal MCE's page as poison to avoid panic in the kdump kernel
  powerpc/lib: Validate size for vector operations
  powerpc: pmd_move_must_withdraw() is only needed for CONFIG_TRANSPARENT_HUGEPAGE
  x86/boot: Ignore NMIs during very early boot
  powerpc/mm: Fix build failures due to arch_reserved_kernel_pages()
  powerpc: Fix build error due to is_valid_bugaddr()
  drivers/perf: pmuv3: don't expose SW_INCR event in sysfs
  powerpc/mm: Fix null-pointer dereference in pgtable_cache_add
  x86/entry/ia32: Ensure s32 is sign extended to s64
  tick/sched: Preserve number of idle sleeps across CPU hotplug events
  mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan
  spi: bcm-qspi: fix SFDP BFPT read by usig mspi read
  gpio: eic-sprd: Clear interrupt after set the interrupt type
  drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume
  drm/exynos: fix accidental on-stack copy of exynos_drm_plane
  drm: panel-simple: add missing bus flags for Tianma tm070jvhg[30/33]
  btrfs: avoid copying BTRFS_ROOT_SUBVOL_DEAD flag to snapshot of subvolume being deleted
  btrfs: remove err variable from btrfs_delete_subvolume
  mm/sparsemem: fix race in accessing memory_section->usage
  mm: use __pfn_to_section() instead of open coding it
  media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run
  arm64: dts: qcom: sc7180: fix USB wakeup interrupt types
  arm64: dts: qcom: sc7180: Use pdc interrupts for USB instead of GIC interrupts
  ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12
  pipe: wakeup wr_wait after setting max_usage
  fs/pipe: move check to pipe_has_watch_queue()
  PM: sleep: Fix possible deadlocks in core system-wide PM code
  PM: core: Remove unnecessary (void *) conversions
  PM: sleep: Avoid calling put_device() under dpm_list_mtx
  PM: sleep: Use dev_printk() when possible
  drm/bridge: nxp-ptn3460: simplify some error checking
  drm/tidss: Fix atomic_flush check
  drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking
  drm: Don't unref the same fb many times by mistake due to deadlock handling
  gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04
  netfilter: nf_tables: reject QUEUE/DROP verdict parameters
  netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain
  wifi: iwlwifi: fix a memory corruption
  exec: Fix error handling in begin_new_exec()
  rbd: don't move requests to the running list on errors
  btrfs: don't abort filesystem when attempting to snapshot deleted subvolume
  btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args
  btrfs: don't warn if discard range is not aligned to sector
  btrfs: tree-checker: fix inline ref size in error messages
  btrfs: ref-verify: free ref cache before clearing mount opt
  net: fec: fix the unhandled context fault from smmu
  fjes: fix memleaks in fjes_hw_setup
  selftests: netdevsim: fix the udp_tunnel_nic test
  net: mvpp2: clear BM pool before initialization
  netfilter: nf_tables: validate NFPROTO_* family
  netfilter: nf_tables: restrict anonymous set and map names to 16 bytes
  net/mlx5e: fix a double-free in arfs_create_groups
  net/mlx5: DR, Use the right GVMI number for drop action
  ipv6: init the accept_queue's spinlocks in inet6_create
  netlink: fix potential sleeping issue in mqueue_flush_file
  tcp: Add memory barrier to tcp_push()
  afs: Hide silly-rename files from userspace
  tracing: Ensure visibility when inserting an element into tracing_map
  net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv
  llc: Drop support for ETH_P_TR_802_2.
  llc: make llc_ui_sendmsg() more robust against bonding changes
  vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING
  bnxt_en: Wait for FLR to complete during probe
  tcp: make sure init the accept_queue's spinlocks once
  net/smc: fix illegal rmb_desc access in SMC-D connection dump
  KVM: use __vcalloc for very large allocations
  mm: vmalloc: introduce array allocation functions
  smb3: Replace smb2pdu 1-element arrays with flex-arrays
  stddef: Introduce DECLARE_FLEX_ARRAY() helper
  block: Remove special-casing of compound pages
  rename(): fix the locking of subdirectories
  ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path
  nouveau/vmm: don't set addr on the fail path to avoid warning
  rtc: Adjust failure return code for cmos_set_alarm()
  mmc: mmc_spi: remove custom DMA mapped buffers
  mmc: core: Use mrq.sbc in close-ended ffu
  scripts/get_abi: fix source path leak
  lsm: new security_file_ioctl_compat() hook
  arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts
  arm64: dts: qcom: sdm845: fix USB wakeup interrupt types
  async: Introduce async_schedule_dev_nocall()
  async: Split async_schedule_node_domain()
  parisc/firmware: Fix F-extend for PDC addresses
  bus: mhi: host: Drop chan lock before queuing buffers
  rpmsg: virtio: Free driver_override when rpmsg_remove()
  crypto: s390/aes - Fix buffer overread in CTR mode
  hwrng: core - Fix page fault dead lock on mmap-ed hwrng
  PM: hibernate: Enforce ordering during image compression/decompression
  crypto: api - Disallow identical driver names
  ext4: allow for the last group to be marked as trimmed
  iio:adc:ad7091r: Move exports into IIO_AD7091R namespace.
  dmaengine: fix NULL pointer in channel unregistration function
  iio: adc: ad7091r: Enable internal vref if external vref is not supplied
  iio: adc: ad7091r: Allow users to configure device events
  iio: adc: ad7091r: Set alert bit in config register
  serial: sc16is7xx: add check for unsupported SPI modes during probe
  spi: introduce SPI_MODE_X_MASK macro
  serial: sc16is7xx: set safe default SPI clock frequency
  units: add the HZ macros
  units: change from 'L' to 'UL'
  PCI: mediatek: Clear interrupt status before dispatching handler
  usb: cdns3: Fix uvc fail when DMA cross 4k boundery since sg enabled
  usb: cdns3: fix iso transfer error when mult is not zero
  usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config
  usb: cdns3: fix uvc failure work since sg support enabled
  usb: cdns3: Fixes for sparse warnings

 Conflicts:
	Makefile
	scripts/Makefile.lib
	scripts/decode_stacktrace.sh

Change-Id: I843d5be296c4237694a7ff1c21600b0ee1d57b5f
2024-06-22 20:23:45 +03:00
Amir Goldstein
74f9be7f64 fsnotify: make allow_dups a property of the group
[ Upstream commit f3010343d9e119da35ee864b3a28993bb5c78ed7 ]

Instead of passing the allow_dups argument to fsnotify_add_mark()
as an argument, define the group flag FSNOTIFY_GROUP_DUPS to express
the allow_dups behavior and set this behavior at group creation time
for all calls of fsnotify_add_mark().

Rename the allow_dups argument to generic add_flags argument for future
use.

Link: https://lore.kernel.org/r/20220422120327.3459282-6-amir73il@gmail.com
Suggested-by: Jan Kara <jack@suse.cz>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:53:39 +02:00
Amir Goldstein
4dc30393bd fsnotify: pass flags argument to fsnotify_alloc_group()
[ Upstream commit 867a448d587e7fa845bceaf4ee1c632448f2a9fa ]

Add flags argument to fsnotify_alloc_group(), define and use the flag
FSNOTIFY_GROUP_USER in inotify and fanotify instead of the helper
fsnotify_alloc_user_group() to indicate user allocation.

Although the flag FSNOTIFY_GROUP_USER is currently not used after group
allocation, we store the flags argument in the group struct for future
use of other group flags.

Link: https://lore.kernel.org/r/20220422120327.3459282-5-amir73il@gmail.com
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:53:39 +02:00
Chuck Lever
9802c57460 NFSD: Remove svc_serv_ops::svo_module
[ Upstream commit f49169c97fceb21ad6a0aaf671c50b0f520f15a5 ]

struct svc_serv_ops is about to be removed.

Neil Brown says:
> I suspect svo_module can go as well - I don't think the thread is
> ever the thing that primarily keeps a module active.

A random sample of kthread_create() callers shows sunrpc is the only
one that manages module reference count in this way.

Suggested-by: Neil Brown <neilb@suse.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:53:37 +02:00
Eric W. Biederman
c59dc174b2 exit: Rename module_put_and_exit to module_put_and_kthread_exit
[ Upstream commit ca3574bd653aba234a4b31955f2778947403be16 ]

Update module_put_and_exit to call kthread_exit instead of do_exit.

Change the name to reflect this change in functionality.  All of the
users of module_put_and_exit are causing the current kthread to exit
so this change makes it clear what is happening.  There is no
functional change.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:53:29 +02:00
Eric W. Biederman
15606c8d52 exit: Implement kthread_exit
[ Upstream commit bbda86e988d4c124e4cfa816291cbd583ae8bfb1 ]

The way the per task_struct exit_code is used by kernel threads is not
quite compatible how it is used by userspace applications.  The low
byte of the userspace exit_code value encodes the exit signal.  While
kthreads just use the value as an int holding ordinary kernel function
exit status like -EPERM.

Add kthread_exit to clearly separate the two kinds of uses.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Stable-dep-of: ca3574bd653a ("exit: Rename module_put_and_exit to module_put_and_kthread_exit")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:53:28 +02:00
Amir Goldstein
60b6dab8c8 fsnotify: clarify contract for create event hooks
[ Upstream commit dabe729dddca550446e9cc118c96d1f91703345b ]

Clarify argument names and contract for fsnotify_create() and
fsnotify_mkdir() to reflect the anomaly of kernfs, which leaves dentries
negavite after mkdir/create.

Remove the WARN_ON(!inode) in audit code that were added by the Fixes
commit under the wrong assumption that dentries cannot be negative after
mkdir/create.

Fixes: aa93bdc550 ("fsnotify: use helpers to access data by data_type")
Link: https://lore.kernel.org/linux-fsdevel/87mtp5yz0q.fsf@collabora.com/
Link: https://lore.kernel.org/r/20211025192746.66445-4-krisman@collabora.com
Reviewed-by: Jan Kara <jack@suse.cz>
Reported-by: Gabriel Krisman Bertazi <krisman@collabora.com>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:53:21 +02:00
Jia He
f469e60f9a sysctl: introduce new proc handler proc_dobool
[ Upstream commit a2071573d6346819cc4e5787b4206f2184985160 ]

This is to let bool variable could be correctly displayed in
big/little endian sysctl procfs. sizeof(bool) is arch dependent,
proc_dobool should work in all arches.

Suggested-by: Pan Xinhui <xinhui@linux.vnet.ibm.com>
Signed-off-by: Jia He <hejianet@gmail.com>
[thuth: rebased the patch to the current kernel version]
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:53:18 +02:00
Matthew Bobrowski
03b5d3ee50 kernel/pid.c: implement additional checks upon pidfd_create() parameters
[ Upstream commit 490b9ba881e2c6337bb09b68010803ae98e59f4a ]

By adding the pidfd_create() declaration to linux/pid.h, we
effectively expose this function to the rest of the kernel. In order
to avoid any unintended behavior, or set false expectations upon this
function, ensure that constraints are forced upon each of the passed
parameters. This includes the checking of whether the passed struct
pid is a thread-group leader as pidfd creation is currently limited to
such pid types.

Link: https://lore.kernel.org/r/2e9b91c2d529d52a003b8b86c45f866153be9eb5.1628398044.git.repnop@google.com
Signed-off-by: Matthew Bobrowski <repnop@google.com>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:53:17 +02:00
Matthew Bobrowski
774c2dbca7 kernel/pid.c: remove static qualifier from pidfd_create()
[ Upstream commit c576e0fcd6188d0edb50b0fb83f853433ef4819b ]

With the idea of returning pidfds from the fanotify API, we need to
expose a mechanism for creating pidfds. We drop the static qualifier
from pidfd_create() and add its declaration to linux/pid.h so that the
pidfd_create() helper can be called from other kernel subsystems
i.e. fanotify.

Link: https://lore.kernel.org/r/0c68653ec32f1b7143301f0231f7ed14062fd82b.1628398044.git.repnop@google.com
Signed-off-by: Matthew Bobrowski <repnop@google.com>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:53:16 +02:00
Amir Goldstein
3e441a872a fanotify: configurable limits via sysfs
[ Upstream commit 5b8fea65d197f408bb00b251c70d842826d6b70b ]

fanotify has some hardcoded limits. The only APIs to escape those limits
are FAN_UNLIMITED_QUEUE and FAN_UNLIMITED_MARKS.

Allow finer grained tuning of the system limits via sysfs tunables under
/proc/sys/fs/fanotify, similar to tunables under /proc/sys/fs/inotify,
with some minor differences.

- max_queued_events - global system tunable for group queue size limit.
  Like the inotify tunable with the same name, it defaults to 16384 and
  applies on initialization of a new group.

- max_user_marks - user ns tunable for marks limit per user.
  Like the inotify tunable named max_user_watches, on a machine with
  sufficient RAM and it defaults to 1048576 in init userns and can be
  further limited per containing user ns.

- max_user_groups - user ns tunable for number of groups per user.
  Like the inotify tunable named max_user_instances, it defaults to 128
  in init userns and can be further limited per containing user ns.

The slightly different tunable names used for fanotify are derived from
the "group" and "mark" terminology used in the fanotify man pages and
throughout the code.

Considering the fact that the default value for max_user_instances was
increased in kernel v5.10 from 8192 to 1048576, leaving the legacy
fanotify limit of 8192 marks per group in addition to the max_user_marks
limit makes little sense, so the per group marks limit has been removed.

Note that when a group is initialized with FAN_UNLIMITED_MARKS, its own
marks are not accounted in the per user marks account, so in effect the
limit of max_user_marks is only for the collection of groups that are
not initialized with FAN_UNLIMITED_MARKS.

Link: https://lore.kernel.org/r/20210304112921.3996419-2-amir73il@gmail.com
Suggested-by: Jan Kara <jack@suse.cz>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:53:06 +02:00
Christian Brauner
b0fa673c8c fs: add file and path permissions helpers
[ Upstream commit 02f92b3868a1b34ab98464e76b0e4e060474ba10 ]

Add two simple helpers to check permissions on a file and path
respectively and convert over some callers. It simplifies quite a few
codepaths and also reduces the churn in later patches quite a bit.
Christoph also correctly points out that this makes codepaths (e.g.
ioctls) way easier to follow that would otherwise have to do more
complex argument passing than necessary.

Link: https://lore.kernel.org/r/20210121131959.646623-4-christian.brauner@ubuntu.com
Cc: David Howells <dhowells@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-fsdevel@vger.kernel.org
Suggested-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: James Morris <jamorris@linux.microsoft.com>
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:52:58 +02:00
Christoph Hellwig
666a413295 kallsyms: only build {,module_}kallsyms_on_each_symbol when required
[ Upstream commit 3e3552056ab42f883d7723eeb42fed712b66bacf ]

kallsyms_on_each_symbol and module_kallsyms_on_each_symbol are only used
by the livepatching code, so don't build them if livepatching is not
enabled.

Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:52:58 +02:00
Christoph Hellwig
f8d8568627 kallsyms: refactor {,module_}kallsyms_on_each_symbol
[ Upstream commit 013c1667cf78c1d847152f7116436d82dcab3db4 ]

Require an explicit call to module_kallsyms_on_each_symbol to look
for symbols in modules instead of the call from kallsyms_on_each_symbol,
and acquire module_mutex inside of module_kallsyms_on_each_symbol instead
of leaving that up to the caller.  Note that this slightly changes the
behavior for the livepatch code in that the symbols from vmlinux are not
iterated anymore if objname is set, but that actually is the desired
behavior in this case.

Reviewed-by: Petr Mladek <pmladek@suse.com>
Acked-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:52:58 +02:00
Christoph Hellwig
bef9d8b4f8 module: use RCU to synchronize find_module
[ Upstream commit a006050575745ca2be25118b90f1c37f454ac542 ]

Allow for a RCU-sched critical section around find_module, following
the lower level find_module_all helper, and switch the two callers
outside of module.c to use such a RCU-sched critical section instead
of module_mutex.

Reviewed-by: Petr Mladek <pmladek@suse.com>
Acked-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:52:58 +02:00
Christoph Hellwig
32edffff86 module: unexport find_module and module_mutex
[ Upstream commit 089049f6c9956c5cf1fc89fe10229c76e99f4bef ]

find_module is not used by modular code any more, and random driver code
has no business calling it to start with.

Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:52:58 +02:00
Eric W. Biederman
6007aeeaef kcmp: In get_file_raw_ptr use task_lookup_fd_rcu
[ Upstream commit ed77e80e14a3cd55c73848b9e8043020e717ce12 ]

Modify get_file_raw_ptr to use task_lookup_fd_rcu.  The helper
task_lookup_fd_rcu does the work of taking the task lock and verifying
that task->files != NULL and then calls files_lookup_fd_rcu.  So let
use the helper to make a simpler implementation of get_file_raw_ptr.

Acked-by: Cyrill Gorcunov <gorcunov@gmail.com>
Link: https://lkml.kernel.org/r/20201120231441.29911-13-ebiederm@xmission.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:52:48 +02:00
Eric W. Biederman
23f5564992 file: Replace fcheck_files with files_lookup_fd_rcu
[ Upstream commit f36c2943274199cb8aef32ac96531ffb7c4b43d0 ]

This change renames fcheck_files to files_lookup_fd_rcu.  All of the
remaining callers take the rcu_read_lock before calling this function
so the _rcu suffix is appropriate.  This change also tightens up the
debug check to verify that all callers hold the rcu_read_lock.

All callers that used to call files_check with the files->file_lock
held have now been changed to call files_lookup_fd_locked.

This change of name has helped remind me of which locks and which
guarantees are in place helping me to catch bugs later in the
patchset.

The need for better names became apparent in the last round of
discussion of this set of changes[1].

[1] https://lkml.kernel.org/r/CAHk-=wj8BQbgJFLa+J0e=iT-1qpmCRTbPAJ8gd6MJQ=kbRPqyQ@mail.gmail.com
Link: https://lkml.kernel.org/r/20201120231441.29911-9-ebiederm@xmission.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:52:48 +02:00
Eric W. Biederman
c874ec02cb bpf: In bpf_task_fd_query use fget_task
[ Upstream commit b48845af0152d790a54b8ab78cc2b7c07485fc98 ]

Use the helper fget_task to simplify bpf_task_fd_query.

As well as simplifying the code this removes one unnecessary increment of
struct files_struct.  This unnecessary increment of files_struct.count can
result in exec unnecessarily unsharing files_struct and breaking posix
locks, and it can result in fget_light having to fallback to fget reducing
performance.

This simplification comes from the observation that none of the
callers of get_files_struct actually need to call get_files_struct
that was made when discussing[1] exec and posix file locks.

[1] https://lkml.kernel.org/r/20180915160423.GA31461@redhat.com
Suggested-by: Oleg Nesterov <oleg@redhat.com>
v1: https://lkml.kernel.org/r/20200817220425.9389-5-ebiederm@xmission.com
Link: https://lkml.kernel.org/r/20201120231441.29911-5-ebiederm@xmission.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:52:47 +02:00
Eric W. Biederman
fe1722255e kcmp: In kcmp_epoll_target use fget_task
[ Upstream commit f43c283a89a7dc531a47d4b1e001503cf3dc3234 ]

Use the helper fget_task and simplify the code.

As well as simplifying the code this removes one unnecessary increment of
struct files_struct.  This unnecessary increment of files_struct.count can
result in exec unnecessarily unsharing files_struct and breaking posix
locks, and it can result in fget_light having to fallback to fget reducing
performance.

Suggested-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Cyrill Gorcunov <gorcunov@gmail.com>
v1: https://lkml.kernel.org/r/20200817220425.9389-4-ebiederm@xmission.com
Link: https://lkml.kernel.org/r/20201120231441.29911-4-ebiederm@xmission.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:52:47 +02:00
Eric W. Biederman
44f79df28b exec: Simplify unshare_files
[ Upstream commit 1f702603e7125a390b5cdf5ce00539781cfcc86a ]

Now that exec no longer needs to return the unshared files to their
previous value there is no reason to return displaced.

Instead when unshare_fd creates a copy of the file table, call
put_files_struct before returning from unshare_files.

Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
v1: https://lkml.kernel.org/r/20200817220425.9389-2-ebiederm@xmission.com
Link: https://lkml.kernel.org/r/20201120231441.29911-2-ebiederm@xmission.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:52:47 +02:00
Daniel Thompson
51664ef6ac kdb: Use format-specifiers rather than memset() for padding in kdb_read()
commit c9b51ddb66b1d96e4d364c088da0f1dfb004c574 upstream.

Currently when the current line should be removed from the display
kdb_read() uses memset() to fill a temporary buffer with spaces.
The problem is not that this could be trivially implemented using a
format string rather than open coding it. The real problem is that
it is possible, on systems with a long kdb_prompt_str, to write past
the end of the tmpbuffer.

Happily, as mentioned above, this can be trivially implemented using a
format string. Make it so!

Cc: stable@vger.kernel.org
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Justin Stitt <justinstitt@google.com>
Link: https://lore.kernel.org/r/20240424-kgdb_read_refactor-v3-5-f236dbe9828d@linaro.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:32:35 +02:00