Commit Graph

1163317 Commits

Author SHA1 Message Date
Monish Chunara
30f8a76da5 ANDROID: abi_gki_aarch64_qcom: Add missing symbol to QCOM list
Add the following symbol for power_supply_core driver to be used in
bq27xxx_battery driver.

1 function symbol(s) added
  'struct power_supply *__must_check power_supply_register_no_ws(struct
          device *, const struct power_supply_desc *, const struct
          power_supply_config *)'

Bug: 370695775
Change-Id: Ie47064f9724b52ef260c33f12e7681e0eee74a1e
Signed-off-by: Monish Chunara <quic_mchunara@quicinc.com>
2024-10-03 14:43:20 +00:00
Victor Shutemov
6f2e0215d7 ANDROID: GKI: Add KMI symbols for virtio-audio
virtio-audio is used in Haleytek and Volvo Cars audio.
Symbols added:
  snd_device_new
  snd_pcm_hw_limit_rates
  _snd_pcm_stream_lock_irqsave
  snd_pcm_stream_unlock_irqrestore

Bug: 370896645
Change-Id: I741aa41e4ecb873994e567734ebe6728e1de2a69
Signed-off-by: Victor Shutemov <victor@haleytek.com>
2024-10-03 14:34:54 +00:00
Giuliano Procida
ba06e1f121 ANDROID: fix up ABI with change to private struct geni_wrapper
Commit 63fc9af83c ("soc: qcom: geni-se:
add desc struct to specify clocks from device match data") modifies a
structure in drivers/soc/qcom/qcom-geni-se.c as follows.

type 'struct geni_wrapper' changed
  byte size changed from 48 to 56
  member 'struct clk_bulk_data ahb_clks[2]' was removed
  member 'struct clk_bulk_data clks[2]' was added
  member 'unsigned int num_clks' was added

The Android 14 ABI tooling does not exclude this type definition.
This commit updates the ABI representation with the apparent break.
This is safe because the type is not visible to any other code.

Bug: 370629635
Change-Id: I9caeba4a48c4485e209352fa8fe56244e7859ea7
Signed-off-by: Giuliano Procida <gprocida@google.com>
2024-10-03 11:55:35 +00:00
Neil Armstrong
e0de5c9e33 UPSTREAM: soc: qcom: geni-se: add desc struct to specify clocks from device match data
The I2C Master Hub is a stripped down version of the GENI Serial Engine
QUP Wrapper Controller but only supporting I2C serial engines without
DMA support.

Prepare support for the I2C Master Hub variant by moving the required
clocks list to a new desc struct then passing it through the compatible
match data.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>

Bug: 370629635
Change-Id: I3dacf29d5a1c630b676bf35644222fd96b399446
(cherry picked from commit 63fc9af83c)
Signed-off-by: Praveen Talari <quic_ptalari@quicinc.com>
2024-10-03 11:55:35 +00:00
Seiya Wang
1cdc168f1e ANDROID: GKI: Update symbol list for mtk
2 function symbol(s) added
  'int alloc_contig_range(unsigned long start, unsigned long end, unsigned migratetype, gfp_t gfp_mask)'
  'void free_contig_range(unsigned long pfn, unsigned long nr_pages)'

Bug: 370415608
Change-Id: I6ed58458b26364c07779d4b4f662444f14e9a146
Signed-off-by: Seiya Wang <seiya.wang@mediatek.com>
2024-10-01 22:33:24 +00:00
Mark Rutland
7c49c3acea UPSTREAM: arm64: cputype: Add Neoverse-V3 definitions
[ Upstream commit 0ce85db6c2141b7ffb95709d76fc55a27ff3cdc1 ]

Add cputype definitions for Neoverse-V3. These will be used for errata
detection in subsequent patches.

These values can be found in Table B-249 ("MIDR_EL1 bit descriptions")
in issue 0001-04 of the Neoverse-V3 TRM, which can be found at:

  https://developer.arm.com/documentation/107734/0001/?lang=en

Bug: 342491759
Change-Id: Ia2aefecb1f4e0b9c9ae613884f07dfd7d4961fa4
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240508081400.235362-4-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
[ Mark: trivial backport ]
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Chunhui Li <chunhui.li@mediatek.com>
2024-10-01 16:48:05 +00:00
Mark Rutland
53769a60e3 UPSTREAM: arm64: cputype: Add Cortex-X4 definitions
[ Upstream commit 02a0a04676fa7796d9cbc9eb5ca120aaa194d2dd ]

Add cputype definitions for Cortex-X4. These will be used for errata
detection in subsequent patches.

These values can be found in Table B-249 ("MIDR_EL1 bit descriptions")
in issue 0002-05 of the Cortex-X4 TRM, which can be found at:

  https://developer.arm.com/documentation/102484/0002/?lang=en

Bug: 342491759
Change-Id: I0c13397cb6b2220dc511a039bf18f462d70ba08d
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240508081400.235362-3-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
[ Mark: fix conflict (dealt with upstream via a later merge) ]
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Chunhui Li <chunhui.li@mediatek.com>
2024-10-01 16:48:05 +00:00
Mark Rutland
ecc82c7e71 UPSTREAM: arm64: barrier: Restore spec_bar() macro
[ Upstream commit ebfc726eae3f31bdb5fae1bbd74ef235d71046ca ]

Upcoming errata workarounds will need to use SB from C code. Restore the
spec_bar() macro so that we can use SB.

This is effectively a revert of commit:

  4f30ba1cce ("arm64: barrier: Remove spec_bar() macro")

Bug: 342491759
Change-Id: Ib62a0e6c1934c61d6cc46ea412a342dd002bcb5c
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240508081400.235362-2-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
[ Mark: trivial backport ]
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Chunhui Li <chunhui.li@mediatek.com>
2024-10-01 16:47:55 +00:00
Snehal Koukuntla
bd3cc5c733 UPSTREAM: KVM: arm64: Add memory length checks and remove inline in do_ffa_mem_xfer
When we share memory through FF-A and the description of the buffers
exceeds the size of the mapped buffer, the fragmentation API is used.
The fragmentation API allows specifying chunks of descriptors in subsequent
FF-A fragment calls and no upper limit has been established for this.
The entire memory region transferred is identified by a handle which can be
used to reclaim the transferred memory.
To be able to reclaim the memory, the description of the buffers has to fit
in the ffa_desc_buf.
Add a bounds check on the FF-A sharing path to prevent the memory reclaim
from failing.

Also do_ffa_mem_xfer() does not need __always_inline, except for the
BUILD_BUG_ON() aspect, which gets moved to a macro.

[maz: fixed the BUILD_BUG_ON() breakage with LLVM, thanks to Wei-Lin Chang
 for the timely report]

Fixes: 634d90cf0a ("KVM: arm64: Handle FFA_MEM_LEND calls from the host")
Cc: stable@vger.kernel.org
Reviewed-by: Sebastian Ene <sebastianene@google.com>
Signed-off-by: Snehal Koukuntla <snehalreddy@google.com>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20240909180154.3267939-1-snehalreddy@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit f26a525b77e040d584e967369af1e018d2d59112)

Bug: 298514256
Change-Id: If515f5c03db42e7c994f9f82bef6167b104d75e2
Signed-off-by: Snehal Koukuntla <snehalreddy@google.com>
2024-10-01 08:13:54 +00:00
Pierre Couillaud
a43e7c2c12 ANDROID: GKI: Update symbol list for BCMSTB
INFO: 6 function symbol(s) added
  'void __read_overflow2_field(size_t, size_t)'
  'int iommu_fwspec_init(struct device*, struct fwnode_handle*, const struct iommu_ops*)'
  'struct pci_host_bridge* pci_find_host_bridge(struct pci_bus*)'
  'long strnlen_user(const char*, long)'
  'int tty_buffer_request_room(struct tty_port*, size_t)'
  'int tty_buffer_set_limit(struct tty_port*, int)'

Bug: 369085303
Change-Id: Ia56882467e3f523ad476db0d237f69ffc4e80084
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2024-09-30 22:48:00 +00:00
Besar Wicaksono
5162f9a67b UPSTREAM: arm64: Add Neoverse-V2 part
[ Upstream commit f4d9d9dcc70b96b5e5d7801bd5fbf8491b07b13d ]

Add the part number and MIDR for Neoverse-V2

Bug: 342491759

Signed-off-by: Besar Wicaksono <bwicaksono@nvidia.com>
Reviewed-by: James Clark <james.clark@arm.com>
Link: https://lore.kernel.org/r/20240109192310.16234-2-bwicaksono@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
[ Mark: trivial backport ]
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Chunhui Li <chunhui.li@mediatek.com>
Change-Id: I2811f794a836d7c8f868b4f069e5d1e05ed69741
2024-09-30 18:10:28 +00:00
Faisal Hassan
1105954181 UPSTREAM: usb: dwc3: core: update LC timer as per USB Spec V3.2
This fix addresses STAR 9001285599, which only affects DWC_usb3 version
3.20a. The timer value for PM_LC_TIMER in DWC_usb3 3.20a for the Link
ECN changes is incorrect. If the PM TIMER ECN is enabled via GUCTL2[19],
the link compliance test (TD7.21) may fail. If the ECN is not enabled
(GUCTL2[19] = 0), the controller will use the old timer value (5us),
which is still acceptable for the link compliance test. Therefore, clear
GUCTL2[19] to pass the USB link compliance test: TD 7.21.

Cc: stable@vger.kernel.org
Signed-off-by: Faisal Hassan <quic_faisalh@quicinc.com>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/20240829094502.26502-1-quic_faisalh@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

Bug: 366400205
Change-Id: I8708984ce6c626df0c02045199301aa536520e83
Signed-off-by: Faisal Hassan <quic_faisalh@quicinc.com>
2024-09-27 18:42:18 +00:00
Kever Yang
cc274231f6 ANDROID: GKI: Add symbol for pci power limit
INFO: 1 function symbol(s) added
  'u32 of_pci_get_slot_power_limit(struct device_node*, u8*, u8*)'

Bug: 300024866
Change-Id: I558dbc6126dfd509ef200b08d5394c888aef9685
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2024-09-27 18:29:11 +08:00
Anant Goel
5a912daf87 ANDROID: OPP: fix function args mismatch for dev_pm_opp_add in pm_opp.h
The function prototype for dev_pm_opp_add differs between a
configuration when CONFIG_PM_OPP is set versus when CONFIG_PM_OPP is not
set.
Fix this mismatch by aligning the function arguments for the dummy
dev_pm_opp_add with the non-dummy version.

Bug: 369659366
Fixes: adf41f4737 ("BACKPORT: OPP: Add dev_pm_opp_add_dynamic() to allow more flexibility")
Change-Id: If23af6ba28bb493d619f96846545cb86608b285d
Signed-off-by: Anant Goel <quic_anantg@quicinc.com>
2024-09-27 00:34:46 +00:00
meitaogao
bcc435d374 ANDROID: GKI: Update KMI symbol list for ASR
INFO: 9 function symbol(s) added
  'unsigned int kmem_cache_size(struct kmem_cache*)'
  'void media_device_unregister_entity(struct media_entity*)'
  'void* memset16(uint16_t*, uint16_t, size_t)'
  'const char* const* v4l2_ctrl_get_menu(u32)'
  'bool v4l2_ctrl_type_op_equal(const struct v4l2_ctrl*, union v4l2_ctrl_ptr, union v4l2_ctrl_ptr)'
  'void v4l2_ctrl_type_op_init(const struct v4l2_ctrl*, u32, union v4l2_ctrl_ptr)'
  'void v4l2_ctrl_type_op_log(const struct v4l2_ctrl*)'
  'void v4l2_m2m_buf_done_and_job_finish(struct v4l2_m2m_dev*, struct v4l2_m2m_ctx*, enum vb2_buffer_state)'
  'struct vb2_v4l2_buffer* v4l2_m2m_last_buf(struct v4l2_m2m_queue_ctx*)'

Bug: 369670477
Change-Id: I5c3fa32e903685836b7812d33df8ddd6b2c65054
Signed-off-by: meitaogao <meitaogao@asrmicro.com>
2024-09-26 18:25:55 +08:00
yipeng xiang
9e167c1c27 ANDROID: GKI: Export a symbol “next_arg” for honor
Export a symbol “next_arg” in android/abi_gki_aarch64_honor

Bug: 368221985
Change-Id: I0bd8fc321752f0fa3d103b56510b33eadcb6e39b
Signed-off-by: yipeng xiang <yipengxiang@honor.corp-partner.google.com>
2024-09-25 19:24:24 +00:00
Stephen Hemminger
4dcae85afd BACKPORT: netem: fix return value if duplicate enqueue fails
[ Upstream commit c07ff8592d57ed258afee5a5e04991a48dbaf382 ]

There is a bug in netem_enqueue() introduced by
commit 5845f70638 ("net: netem: fix skb length BUG_ON in __skb_to_sgvec")
that can lead to a use-after-free.

This commit made netem_enqueue() always return NET_XMIT_SUCCESS
when a packet is duplicated, which can cause the parent qdisc's q.qlen
to be mistakenly incremented. When this happens qlen_notify() may be
skipped on the parent during destruction, leaving a dangling pointer
for some classful qdiscs like DRR.

There are two ways for the bug happen:

- If the duplicated packet is dropped by rootq->enqueue() and then
  the original packet is also dropped.
- If rootq->enqueue() sends the duplicated packet to a different qdisc
  and the original packet is dropped.

In both cases NET_XMIT_SUCCESS is returned even though no packets
are enqueued at the netem qdisc.

The fix is to defer the enqueue of the duplicate packet until after
the original packet has been guaranteed to return NET_XMIT_SUCCESS.

Bug: 362391455
Fixes: 5845f70638 ("net: netem: fix skb length BUG_ON in __skb_to_sgvec")
Reported-by: Budimir Markovic <markovicbudimir@gmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20240819175753.5151-1-stephen@networkplumber.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 0486d31dd8)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I390f02549c726e961f57daace468d5cd48468722
2024-09-25 18:41:03 +00:00
Kalesh Singh
f4bcd4ef0f ANDROID: 16K: Fixup padding vm_flags bits on VMA splits
In some cases VMAs are split without the mmap write lock held;
later the lock is taken to fixup vm_flags of the original VMA.
Since some uppper bits of vm_flags are used to encode the ELF
padding ranges, they need to be modified on splits. This is
usually handled correctly by __split_vma(). However in the above
case, the flags get over witten later under the write lock.

Preserve vm_flag bits on reset to correctly represent padding.

Bug: 357901498
Change-Id: I1cb75419e614791a47cbdb0341373f619daf0bf2
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-09-25 17:23:10 +00:00
Kalesh Singh
9027204d5a ANDROID: 16K: Introduce pgsize_migration_inline.h
Introduce inline header to avoid circular dependency. This
will be used in a subsequent patch.

Also take opportunity to do some small noop refactor in
vma_pad_pages() and split_pad_vma() for more robust code.

Bug: 357901498
Change-Id: Ia5f447758d0d07ed3e1429ca1e35dcc0741cc22a
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-09-25 17:23:10 +00:00
Carlos Llamas
03b93dc707 FROMLIST: binder: fix BINDER_WORK_FROZEN_BINDER debug logs
The BINDER_WORK_FROZEN_BINDER type is not handled in the binder_logs
entries and it shows up as "unknown work" when logged:

  proc 649
  context binder-test
    thread 649: l 00 need_return 0 tr 0
    ref 13: desc 1 node 8 s 1 w 0 d 0000000053c4c0c3
    unknown work: type 10

This patch add the freeze work type and is now logged as such:

  proc 637
  context binder-test
    thread 637: l 00 need_return 0 tr 0
    ref 8: desc 1 node 3 s 1 w 0 d 00000000dc39e9c6
    has frozen binder

Fixes: d579b04a52a1 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>

Bug: 366003708
Link: https://lore.kernel.org/all/20240924184401.76043-5-cmllamas@google.com/
Change-Id: I06f888aa5218db19eeda79e315385506af09d9d5
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-09-25 03:06:31 +00:00
Carlos Llamas
9c6fdb6bf8 BACKPORT: FROMLIST: binder: fix freeze UAF in binder_release_work()
When a binder reference is cleaned up, any freeze work queued in the
associated process should also be removed. Otherwise, the reference is
freed while its ref->freeze.work is still queued in proc->work leading
to a use-after-free issue as shown by the following KASAN report:

  ==================================================================
  BUG: KASAN: slab-use-after-free in binder_release_work+0x398/0x3d0
  Read of size 8 at addr ffff31600ee91488 by task kworker/5:1/211

  CPU: 5 UID: 0 PID: 211 Comm: kworker/5:1 Not tainted 6.11.0-rc7-00382-gfc6c92196396 #22
  Hardware name: linux,dummy-virt (DT)
  Workqueue: events binder_deferred_func
  Call trace:
   binder_release_work+0x398/0x3d0
   binder_deferred_func+0xb60/0x109c
   process_one_work+0x51c/0xbd4
   worker_thread+0x608/0xee8

  Allocated by task 703:
   __kmalloc_cache_noprof+0x130/0x280
   binder_thread_write+0xdb4/0x42a0
   binder_ioctl+0x18f0/0x25ac
   __arm64_sys_ioctl+0x124/0x190
   invoke_syscall+0x6c/0x254

  Freed by task 211:
   kfree+0xc4/0x230
   binder_deferred_func+0xae8/0x109c
   process_one_work+0x51c/0xbd4
   worker_thread+0x608/0xee8
  ==================================================================

This commit fixes the issue by ensuring any queued freeze work is removed
when cleaning up a binder reference.

Fixes: d579b04a52a1 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>

Bug: 366003708
Link: https://lore.kernel.org/all/20240924184401.76043-4-cmllamas@google.com/
Change-Id: Icc40e7dd6157981f4adbea7243e55be118552321
[cmllamas: drop BINDER_STAT_FREEZE as it's not supported here]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-09-25 03:06:31 +00:00
Carlos Llamas
07a43515b0 FROMLIST: binder: fix OOB in binder_add_freeze_work()
In binder_add_freeze_work() we iterate over the proc->nodes with the
proc->inner_lock held. However, this lock is temporarily dropped to
acquire the node->lock first (lock nesting order). This can race with
binder_deferred_release() which removes the nodes from the proc->nodes
rbtree and adds them into binder_dead_nodes list. This leads to a broken
iteration in binder_add_freeze_work() as rb_next() will use data from
binder_dead_nodes, triggering an out-of-bounds access:

  ==================================================================
  BUG: KASAN: global-out-of-bounds in rb_next+0xfc/0x124
  Read of size 8 at addr ffffcb84285f7170 by task freeze/660

  CPU: 8 UID: 0 PID: 660 Comm: freeze Not tainted 6.11.0-07343-ga727812a8d45 #18
  Hardware name: linux,dummy-virt (DT)
  Call trace:
   rb_next+0xfc/0x124
   binder_add_freeze_work+0x344/0x534
   binder_ioctl+0x1e70/0x25ac
   __arm64_sys_ioctl+0x124/0x190

  The buggy address belongs to the variable:
   binder_dead_nodes+0x10/0x40
  [...]
  ==================================================================

This is possible because proc->nodes (rbtree) and binder_dead_nodes
(list) share entries in binder_node through a union:

	struct binder_node {
	[...]
		union {
			struct rb_node rb_node;
			struct hlist_node dead_node;
		};

Fix the race by checking that the proc is still alive. If not, simply
break out of the iteration.

Fixes: d579b04a52a1 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>

Bug: 366003708
Link: https://lore.kernel.org/all/20240924184401.76043-3-cmllamas@google.com/
Change-Id: I5ec9d49277a23b864862665b52213460750c535e
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-09-25 03:06:31 +00:00
Carlos Llamas
a26cde4055 FROMLIST: binder: fix node UAF in binder_add_freeze_work()
In binder_add_freeze_work() we iterate over the proc->nodes with the
proc->inner_lock held. However, this lock is temporarily dropped in
order to acquire the node->lock first (lock nesting order). This can
race with binder_node_release() and trigger a use-after-free:

  ==================================================================
  BUG: KASAN: slab-use-after-free in _raw_spin_lock+0xe4/0x19c
  Write of size 4 at addr ffff53c04c29dd04 by task freeze/640

  CPU: 5 UID: 0 PID: 640 Comm: freeze Not tainted 6.11.0-07343-ga727812a8d45 #17
  Hardware name: linux,dummy-virt (DT)
  Call trace:
   _raw_spin_lock+0xe4/0x19c
   binder_add_freeze_work+0x148/0x478
   binder_ioctl+0x1e70/0x25ac
   __arm64_sys_ioctl+0x124/0x190

  Allocated by task 637:
   __kmalloc_cache_noprof+0x12c/0x27c
   binder_new_node+0x50/0x700
   binder_transaction+0x35ac/0x6f74
   binder_thread_write+0xfb8/0x42a0
   binder_ioctl+0x18f0/0x25ac
   __arm64_sys_ioctl+0x124/0x190

  Freed by task 637:
   kfree+0xf0/0x330
   binder_thread_read+0x1e88/0x3a68
   binder_ioctl+0x16d8/0x25ac
   __arm64_sys_ioctl+0x124/0x190
  ==================================================================

Fix the race by taking a temporary reference on the node before
releasing the proc->inner lock. This ensures the node remains alive
while in use.

Fixes: d579b04a52a1 ("binder: frozen notification")
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Llamas <cmllamas@google.com>

Bug: 366003708
Link: https://lore.kernel.org/all/20240924184401.76043-2-cmllamas@google.com/
Change-Id: I47b053532dd4cd3424d35d6f254ca4d00c426411
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-09-25 03:06:31 +00:00
Philip Chen
df571cd9f1 FROMGIT: virtio_pmem: Check device status before requesting flush
If a pmem device is in a bad status, the driver side could wait for
host ack forever in virtio_pmem_flush(), causing the system to hang.

So add a status check in the beginning of virtio_pmem_flush() to return
early if the device is not activated.

Signed-off-by: Philip Chen <philipchen@chromium.org>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com

Bug: 358391069
Change-Id: I325e6f0ea047c4c5fa82cf4b590cbf7240f39b7b
(cherry picked from commit e25fbcd97cf52c3c9824d44b5c56c19673c3dd50 https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master)
Signed-off-by: Philip Chen <philipchen@google.com>
2024-09-25 00:08:28 +00:00
Kever Yang
b2a0a8f709 ANDROID: GKI: update rockchip symbols sync with kernel update
INFO: 2 function symbol(s) added
  'struct clk* devm_clk_get_enabled(struct device*, const char*)'
  'int devm_regulator_bulk_get_enable(struct device*, int, const char* const*)'

Bug: 300024866
Change-Id: Ib10dc7eb710fc09c185513ba8bf5789c2c7ef5d1
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2024-09-24 23:09:49 +00:00
Chenghao Zhao
83e7e0486e ANDROID: GKI: Update symbol list for honor
Update symbol list for honor in android/abi_gki_aarch64_honor

Bug: 369259421
Change-Id: I6954293467a50a758b27444bf51b7205d68dd34d
Signed-off-by: Chenghao Zhao <zhaochenghao@honor.com>
2024-09-24 23:07:46 +00:00
Vilas Bhat
5c7d0d4f4a ANDROID: GKI: Update kernel_aarch64_16k build config to match kernel_aarch64
Test: Built & Flashed 16k page size kernel to Pixel 8a.
Bug: 361155105
Change-Id: Ibfaa96aeabe627f99effc1ae8dbaf3e86156425e
Signed-off-by: Vilas Bhat <vilasbhat@google.com>
2024-09-24 19:54:26 +00:00
Chenghao Zhao
2cd8ac816d ANDROID: ABI: update symbol list for honor
2 function symbol(s) added
  'int netdev_get_name(struct net*, char*, int)'
  'void tcp_send_active_reset(struct sock*, gfp_t)'

Bug: 334000512
Change-Id: I83507ca33d4547088b61c6f83cfb48cc94474185
Signed-off-by: Chenghao Zhao <zhaochenghao@honor.com>
2024-09-23 20:37:44 +00:00
Dezhi Huang
b5ee53c64e ANDROID: Allow vendor modules perform more operationson on sock.
Export netdev_get_name, tcp_send_active_reset functions, allow vendor
modules perform more operations on socks and improve users' online
experience.When users browse websites or watch videos, we will sense
the bad sock is on which device, so that the sock can be switched to
another good device by us, so that the internet service will no longer
be stuck. In a similar scenario, if the user downloads from multiple
devices and the rate of one device is low,we can reset the TCP stream
with a lower rate and establish it on the device with a higher rate.

Bug: 334000512
Change-Id: I9ed90ea9fe6f3dc9f11ae1661ca9f2f5fdad5820
Signed-off-by: Dezhi Huang <huangdezhi@hihonor.com>
(cherry picked from commit 21614c79408f0342363db9874d315fbb3ff6553b)
2024-09-23 20:37:44 +00:00
Yuxuan Yan
e64a80a096 ANDROID: GKI: update symbol list file for xiaomi
add 3 function:
    android_vh_page_should_be_protected()
    android_vh_page_referenced_check_bypass()
    __page_mapcount()

Bug: 348285765

Change-Id: Idbcdf69693a3f4e83ada35aebf3f138648c73d10
Signed-off-by: Yuxuan Yan <yanyuxuan3@xiaomi.corp-partner.google.com>
2024-09-23 18:25:57 +00:00
Yuxuan Yan
530ff6a3e6 ANDROID: GKI: add vendor hooks android_vh_page_should_be_protected() and
android_vh_modify_scan_control().

add two vendor hooks:
    android_vh_page_should_be_protected():protect pages from memory
reclaim.
    android_vh_page_referenced_check_bypass():bypass rmap in active list
shrink.

The new vendor data field in scan_control are used to track how many
pages are protected in current reclaim and the "protected / scanned"
rate. These parameters are useful for understanding the impact of page
protection operations on LRU and reclaim, helping us make better
decsions.

Bug: 348285765
Change-Id: I49567a4b1f978821a94da0a8339b2b8fdfd52daf
Signed-off-by: Yuxuan Yan <yanyuxuan3@xiaomi.corp-partner.google.com>
2024-09-23 18:25:57 +00:00
Greg Kroah-Hartman
41e1c6f937 Merge tag 'android14-6.1.99_r00' into android14-6.1
This merges up to the 6.1.99 LTS release into android14-6.1.  This
includes the following commits:

*   12f9bcc034 Merge 6.1.99 into android14-6.1-lts
|\
| * cac15753b8 Linux 6.1.99
| * 1f4a10cb82 Revert "usb: xhci: prevent potential failure in handle_tx_event() for Transfer events without TRB"
* | e6e7b1084c Merge 6.1.98 into android14-6.1-lts
|\|
| * 266ee8e06d Linux 6.1.98
| * 86e3ffeab5 nilfs2: fix incorrect inode allocation from reserved inodes
| * a077a6cdb3 null_blk: Do not allow runt zone with zone capacity smaller then zone size
| * 2fed4a94bc spi: cadence: Ensure data lines set to low during dummy-cycle period
| * 41f5e2840c nfc/nci: Add the inconsistency check between the input data length and count
| * 833112b7f1 kbuild: fix short log for AS in link-vmlinux.sh
| * 940a71f08e nvmet: fix a possible leak when destroy a ctrl during qp establishment
| * 273a824a9c platform/x86: touchscreen_dmi: Add info for the EZpad 6s Pro
| * 363585e3fc platform/x86: touchscreen_dmi: Add info for GlobalSpace SolT IVW 11.6" tablet
| * 85646d7796 regmap-i2c: Subtract reg size from max_write
| * 62fc41a69c nvme: adjust multiples of NVME_CTRL_PAGE_SIZE in offset
| * ce39d85705 dma-mapping: benchmark: avoid needless copy_to_user if benchmark fails
| * d62da841bf nvme-multipath: find NUMA path only for online numa-node
| * 154f4ca807 ALSA: hda/realtek: Enable headset mic of JP-IK LEAP W502 with ALC897
| * 850ef5d239 fs/ntfs3: Mark volume as dirty if xattr is broken
| * 3d32327f5c i2c: pnx: Fix potential deadlock warning from del_timer_sync() call in isr
| * 7069aa6d41 clk: mediatek: mt8183: Only enable runtime PM on mt8183-mfgcfg
| * e3e33879d6 clk: mediatek: clk-mtk: Register MFG notifier in mtk_clk_simple_probe()
| * 661baa1711 clk: qcom: gcc-sm6350: Fix gpll6* & gpll7 parents
| * e5411f2653 media: dw2102: fix a potential buffer overflow
| * 9c3906c373 ima: Avoid blocking in RCU read-side critical section
| * ee42c15083 arm64: dts: rockchip: Fix the DCDC_REG2 minimum voltage on Quartz64 Model B
| * 9504a15506 bnx2x: Fix multiple UBSAN array-index-out-of-bounds
| * 1c67f79350 mtd: rawnand: rockchip: ensure NVDDR timings are rejected
| * 670f841c07 mtd: rawnand: Bypass a couple of sanity checks during NAND identification
| * ca0f2e7244 mtd: rawnand: Ensure ECC configuration is propagated to upper layers
| * c550679d60 powerpc/pseries: Fix scv instruction crash with kexec
| * dd4674d016 drm: panel-orientation-quirks: Add quirk for Valve Galileo
| * 742cac675f drm/amdgpu/atomfirmware: silence UBSAN warning
| * 1f32535238 drm/nouveau: fix null pointer dereference in nouveau_connector_get_modes
| * cbbe17a324 Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again"
| * 4e0716110a fsnotify: Do not generate events for O_PATH file descriptors
| * 44aa3e76f4 can: kvaser_usb: Explicitly initialize family in leafimx driver_info struct
| * e6e200b264 Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot
| * c126aff74a scsi: mpi3mr: Use proper format specifier in mpi3mr_sas_port_add()
| * 525ad8dd9a f2fs: Add inline to f2fs_build_fault_attr() stub
| * aa1d8cc0cc btrfs: fix adding block group to a reclaim list and the unused list during reclaim
| * c83ed422c2 mm: avoid overflows in dirty throttling logic
| * d259d0c375 mm: optimize the redundant loop of mm_update_owner_next()
| * 1b7d549ed2 nilfs2: add missing check for inode numbers on directory entries
| * fae1959d6a nilfs2: fix inode number range checks
| * 98c8958980 Revert "igc: fix a log entry using uninitialized netdev"
| * 89a5f0625f platform/x86: toshiba_acpi: Fix quickstart quirk handling
| * ab557f5cd9 mlxsw: core_linecards: Fix double memory deallocation in case of invalid INI file
| * d6f487e070 inet_diag: Initialize pad field in struct inet_diag_req_v2
| * 8d9fa5e82e selftests: make order checking verbose in msg_zerocopy selftest
| * fb8fc89b5c selftests: fix OOM in msg_zerocopy selftest
| * c8eb8ab9a4 bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set()
| * 4c06c13317 netfilter: nf_tables: unconditionally flush pending work before notifier
| * 653deee48a riscv: kexec: Avoid deadlock in kexec crash path
| * b610a87538 wifi: wilc1000: fix ies_len type in connect path
| * 4b3b6c7efe net: ntb_netdev: Move ntb_netdev_rx_handler() to call netif_rx() from __netif_rx()
| * 12f6119d86 net: allow skb_datagram_iter to be called from any context
| * b368762d1e e1000e: Fix S0ix residency on corporate systems
| * c159afd3b5 KVM: s390: fix LPSWEY handling
| * 31f03bb041 tcp_metrics: validate source addr length
| * f8b7bd500d net/mlx5e: Add mqprio_rl cleanup and free in mlx5e_priv_cleanup()
| * bc3ff8d3c0 net/mlx5: E-switch, Create ingress ACL when needed
| * 965fbc6d9a UPSTREAM: tcp: fix DSACK undo in fast recovery to call tcp_try_to_open()
| * a0d1afe8a9 mac802154: fix time calculation in ieee802154_configure_durations()
| * 325d8659b8 tools/power turbostat: Remember global max_die_id
| * 0c97527e91 cdrom: rearrange last_media_change check to avoid unintentional overflow
| * c0d7a3b290 btrfs: scrub: initialize ret in scrub_simple_mirror() to fix compilation warning
| * c51795885c s390/pkey: Wipe sensitive data on failure
| * 751987a5d8 jffs2: Fix potential illegal address access in jffs2_free_inode
| * e1683ff4eb serial: imx: Raise TX trigger level to 8
| * b869ec89d2 scsi: mpi3mr: Sanitise num_phys
| * bc84dd2c33 f2fs: check validation of fault attrs in f2fs_build_fault_attr()
| * a21d76bd0b bpf: Avoid uninitialized value in BPF_CORE_READ_BITFIELD
| * 2e9d8aa52b igc: fix a log entry using uninitialized netdev
| * ce8d496786 powerpc/xmon: Check cpu id in commands "c#", "dp#" and "dx#"
| * ae9edc2b17 kunit: Fix timeout message
| * 74159d409d orangefs: fix out-of-bounds fsid access
| * 9c06fe8cfb powerpc/64: Set _IO_BASE to POISON_POINTER_DELTA not 0 for CONFIG_PCI=n
| * d4889c95bc i2c: i801: Annotate apanel_addr as __ro_after_init
| * 1663e2474e media: dvb-frontends: tda10048: Fix integer overflow
| * 1aa04c84a3 media: s2255: Use refcount_t instead of atomic_t for num_channels
| * fa547cdd7b media: dvb-frontends: tda18271c2dd: Remove casting during div
| * aa03f591ef net: dsa: mv88e6xxx: Correct check for empty list
| * 22ea2a7f0b wifi: mt76: replace skb_put with skb_put_zero
| * 948554f1bb usb: xhci: prevent potential failure in handle_tx_event() for Transfer events without TRB
| * 46c82c5e4c Input: ff-core - prefer struct_size over open coded arithmetic
| * d792fc8f7a firmware: dmi: Stop decoding on broken entry
| * f2c9c42f6b sctp: prefer struct_size over open coded arithmetic
| * a010daa33e media: dw2102: Don't translate i2c read into write
| * ee18ed34a2 drm/amdgpu: fix uninitialized scalar variable warning
| * 874261358d drm/amd/display: Skip finding free audio for unknown engine_id
| * d2c3645a4a drm/amd/display: Check pipe offset before setting vblank
| * ae91ffbc8b drm/amd/display: Check index msg_id before read or write
| * bf312c0529 drm/amdgpu: Initialize timestamp for some legacy SOCs
| * 7eb74d14c7 drm/amdgpu: Fix uninitialized variable warnings
| * 28c8d27484 crypto: aead,cipher - zeroize key buffer after use
| * fa49c65a1c scsi: qedf: Make qedf_execute_tmf() non-preemptible
| * 63d202d948 IB/core: Implement a limit on UMAD receive List
| * 95e9377c7c media: dvb-usb: dib0700_devices: Add missing release_firmware()
| * c72990a6a7 media: dvb: as102-fe: Fix as10x_register_addr packing
| * 8d3f83dfb2 powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt.
| * 0a487e977c drm/lima: fix shared irq handling on driver remove
| * eda60520cf crypto: hisilicon/debugfs - Fix debugfs uninit process issue
| * 42d64dbe4b locking/mutex: Introduce devm_mutex_init()
* | e44db5756e ANDROID: db845c symbol list additions
* | ab63f81b3a Revert "mm/page_alloc: Separate THP PCP into movable and non-movable categories"
* | 9a2454ec58 Merge 6.1.97 into android14-6.1-lts
|\|
| * 7753af06ee Linux 6.1.97
| * f19cca5d16 tracing/net_sched: NULL pointer dereference in perf_trace_qdisc_reset()
| * fbfd2c876c serial: 8250_omap: Fix Errata i2310 with RX FIFO level check
| * 1dc9d05040 serial: imx: only set receiver level if it is zero
| * 16d92a6dfa arm64: dts: rockchip: Add sound-dai-cells for RK3368
| * 4e66009d35 arm64: dts: rockchip: fix PMIC interrupt pin on ROCK Pi E
| * 2581e814d7 ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node
| * bccc0c847f arm64: dts: rockchip: Rename LED related pinctrl nodes on rk3308-rock-pi-s
| * b619f741b6 arm64: dts: rockchip: Fix SD NAND and eMMC init on rk3308-rock-pi-s
| * fcafdf32ac efi/x86: Free EFI memory map only when installing a new one.
| * 01b3cddfa6 efi: xen: Set EFI_PARAVIRT for Xen dom0 boot on all architectures
| * 0d01140e92 efi: memmap: Move manipulation routines into x86 arch tree
| * 7ad4e0a4f6 gfs2: Fix slab-use-after-free in gfs2_qd_dealloc
| * 447434eaaf mm/page_alloc: Separate THP PCP into movable and non-movable categories
| * 978e27ff31 Revert "cpufreq: amd-pstate: Fix the inconsistency in max frequency units"
| * d2b5636883 pwm: stm32: Refuse too small period requests
| * f910aee90b syscalls: fix sys_fanotify_mark prototype
| * e1b88ac1fe syscalls: fix compat_sys_io_pgetevents_time64 usage
| * 5ae6af6841 ftruncate: pass a signed offset
| * 702c1edbaf ata: libata-core: Fix double free on error
| * 5f0d0bf9f5 ata: ahci: Clean up sysfs file on error
| * f926c022eb can: mcp251xfd: fix infinite loop when xmit fails
| * 778a8e67c7 batman-adv: Don't accept TT entries for out-of-spec VIDs
| * c92a15b3b2 drm/amdgpu/atomfirmware: fix parsing of vram_info
| * 30cbf6ffaf drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes
| * ca0fabd365 drm/i915/gt: Fix potential UAF by revoke of fence registers
| * 6ce0544cab drm/amdgpu: avoid using null object of framebuffer
| * f95ed0f54b drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes
| * 948dc69f4b hexagon: fix fadvise64_64 calling conventions
| * 0f92275527 csky, hexagon: fix broken sys_sync_file_range
| * 87936f517b btrfs: zoned: fix initial free space detection
| * 41dd6b0ec7 sh: rework sync_file_range ABI
| * bf3c44f67c kbuild: Install dtb files as 0644 in Makefile.dtbinst
| * 84394f35b6 irqchip/loongson-liointc: Set different ISRs for different cores
| * 71af0f2f22 cpu/hotplug: Fix dynstate assignment in __cpuhp_setup_state_cpuslocked()
| * e0560219db cpufreq: intel_pstate: Use HWP to initialize ITMT if CPPC is missing
| * 26b18dd30e net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new
| * 4ff6978921 net: can: j1939: recover socket queue on CAN bus error during BAM transmission
| * f97cbce633 net: can: j1939: Initialize unused data in j1939_send_one()
| * a44aedd512 tty: mcf: MCF54418 has 10 UARTS
| * 94307bc31b ALSA: hda/realtek: fix mute/micmute LEDs don't work for EliteBook 645/665 G11.
| * e97ef9a3a3 serial: imx: set receiver level before starting uart
| * 98840e410d serial: 8250_omap: Implementation of Errata i2310
| * a47407ae12 usb: ucsi: stm32: fix command completion handling
| * a11b71624b usb: gadget: aspeed_udc: fix device address configuration
| * d77e2b5104 usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
| * 5584c776a1 usb: atm: cxacru: fix endpoint checking in cxacru_bind()
| * 7afa50ce46 usb: musb: da8xx: fix a resource leak in probe()
| * e9835f39a8 usb: gadget: printer: fix races against disable
| * e48b92ed16 usb: gadget: printer: SS+ support
| * a59d84377d net: usb: ax88179_178a: improve link status logs
| * d441ad2aa9 iio: chemical: bme680: Fix sensor data read operation
| * ba1bb3e2a3 iio: chemical: bme680: Fix overflows in compensate() functions
| * 94f303ed7b iio: chemical: bme680: Fix calibration data variable
| * 4decfc47a1 iio: chemical: bme680: Fix pressure value output
| * 90d4d02b37 iio: accel: fxls8962af: select IIO_BUFFER & IIO_KFIFO_BUF
| * df188072b5 iio: adc: ad7266: Fix variable checking bug
| * 274239d9f8 i2c: testunit: discard write requests while old command is running
| * 86826b1ffd i2c: testunit: don't erase registers after STOP
| * 8cfb468a67 counter: ti-eqep: enable clock at probe
| * 70516c5ff3 iio: xilinx-ams: Don't include ams_ctrl_channels in scan_mask
| * f8ec1677ce mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro()
| * 2f3555c20a mmc: sdhci: Do not invert write-protect twice
| * dca15c1861 mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos
| * 81027f81c4 mmc: sdhci-brcmstb: check R1_STATUS for erase/trim/discard
| * ea6beb811b nfs: drop the incorrect assertion in nfs_swap_rw()
| * 9ea2d1c678 ocfs2: fix DIO failure due to insufficient transaction credits
| * a4f9251e4b pinctrl: qcom: spmi-gpio: drop broken pm8008 support
| * ceabd79fd4 Revert "MIPS: pci: lantiq: restore reset gpio polarity"
| * 3ae15c0238 parisc: use generic sys_fanotify_mark implementation
| * 161cef8185 x86: stop playing stack games in profile_pc()
| * 7fb374981e ima: Fix use-after-free on a dentry's dname.name
| * b793177141 randomize_kstack: Remove non-functional per-arch entropy filtering
| * 31594c5a42 gpiolib: cdev: Disallow reconfiguration without direction (uAPI v1)
| * c3b425744d riscv: stacktrace: convert arch_stack_walk() to noinstr
| * 09f64e7ad7 drm/amdgpu: Fix pci state save during mode-1 reset
| * 87a2448efc drm/amd/amdgpu: Fix style errors in amdgpu_drv.c & amdgpu_device.c
| * 89d7008af4 gpio: davinci: Validate the obtained number of IRQs
| * c717cef1ff drm/panel: simple: Add missing display timing flags for KOE TX26D202VM0BWA
| * d8e2766655 nvme: fixup comment for nvme RDMA Provider Type
| * b719f2bc76 drm/radeon/radeon_display: Decrease the size of allocated memory
| * 9e424deb9a soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message
| * 06c5331047 media: dvbdev: Initialize sbuf
| * d0ff2443fc ALSA: emux: improve patch ioctl data validation
| * fd7ef32591 crypto: ecdh - explicitly zeroize private_key
| * 48147337d7 net/dpaa2: Avoid explicit cpumask var allocation on stack
| * d85ca8179a net/iucv: Avoid explicit cpumask var allocation on stack
| * 782bdaf9d0 RDMA/restrack: Fix potential invalid address access
| * b30f3197a6 bpf: Mark bpf prog stack with kmsan_unposion_memory in interpreter mode
| * 5bcb9cf62f bpf: Add a check for struct bpf_fib_lookup size
| * cc33a7a2f1 wifi: ieee80211: check for NULL in ieee80211_mle_size_ok()
| * 081938266a mtd: partitions: redboot: Added conversion of operands to a larger type
| * ed1fa6d6af x86/fpu: Fix AMD X86_BUG_FXSAVE_LEAK fixup
| * 7d18ab6e4f vduse: Temporarily fail if control queue feature requested
| * d99a4e147b vduse: validate block features only with block devices
| * 5f41401219 drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep
| * e4f602e3ff bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro()
| * efb27ad059 netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers
| * 736c74dc60 tcp: fix tcp_rcv_fastopen_synack() to enter TCP_CA_Loss for failed TFO
| * 853c0387ac powerpc: restore some missing spu syscalls
| * 2eb9a4bc63 parisc: use correct compat recv/recvfrom syscalls
| * ef03810c9a sparc: fix compat recv/recvfrom syscalls
| * 04c1271243 sparc: fix old compat_sys_select()
| * f75c21bf73 net: dsa: microchip: fix wrong register write when masking interrupt
| * c14f3c3793 Fix race for duplicate reqsk on identical SYN
| * 4e0c539ee2 xdp: Remove WARN() from __xdp_reg_mem_model()
| * 75fabdc911 net: dsa: microchip: use collision based back pressure mode
| * aecaaf8abd net: phy: micrel: add Microchip KSZ 9477 to the device table
| * 5516c9ee2a ibmvnic: Free any outstanding tx skbs during scrq reset
| * d1b9df0435 bpf: Fix overrunning reservations in ringbuf
| * bfa86a9691 mlxsw: spectrum_buffers: Fix memory corruptions on Spectrum-4 systems
| * 2dfaf2c4b3 net: dsa: microchip: fix initial port flush problem
| * 8faf91e584 ASoC: fsl-asoc-card: set priv->pdev before using it
| * 20f19c91da ASoC: amd: acp: remove i2s configuration check in acp_i2s_probe()
| * d9912994a0 s390/pci: Add missing virt_to_phys() for directed DIBV
| * 87358401ed ASoC: rockchip: i2s-tdm: Fix trcm mode by setting clock on right mclk
| * b45176b869 netfilter: nf_tables: use timestamp to check for set element timeout
| * 7491c3c55c dt-bindings: i2c: atmel,at91sam: correct path to i2c-controller schema
| * 58d65ce94b dt-bindings: i2c: Drop unneeded quotes
| * 777f3c9954 MIPS: pci: lantiq: restore reset gpio polarity
| * ae7b2aa805 pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set
| * 8a5859bb14 pinctrl: rockchip: use dedicated pinctrl type for RK3328
| * 6bed115e5e pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins
| * 940ce6f283 pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins
| * b36efd2e3e pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER
| * 4312eace43 Input: ili210x - fix ili251x_read_touch_data() return value
| * b2f1ce6cc9 ACPI: x86: Force StorageD3Enable on more products
| * c538c8861c ACPI: x86: utils: Add Picasso to the list for forcing StorageD3Enable
| * 411e6aa90a usb: typec: ucsi: Ack also failed Get Error commands
| * 8cace39c77 usb: typec: ucsi: Never send a lone connector change ack
* | 47b24bf8ea Revert "net/sched: fix false lockdep warning on qdisc root lock"
* | 0a6ad70f07 Revert "net/sched: unregister lockdep keys in qdisc_create/qdisc_alloc error path"
* | 325f5b8ed9 Revert "tty: add the option to have a tty reject a new ldisc"
* | 7455bf543f Merge 6.1.96 into android14-6.1-lts
|\|
| * 99e6a620de Linux 6.1.96
| * 19526f54ec Revert "mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default"
| * 8a630e8acd hid: asus: asus_report_fixup: fix potential read out of bounds
| * 48d3f91d83 net/sched: unregister lockdep keys in qdisc_create/qdisc_alloc error path
| * d04943bb69 drm/amd/display: revert Exit idle optimizations before HDCP execution
| * 5efe0b5deb kheaders: explicitly define file modes for archived headers
| * f0b5d1d9fe Revert "kheaders: substituting --sort in archive creation"
| * 8ab1361b2e x86/cpu: Fix x86_match_cpu() to match just X86_VENDOR_INTEL
| * b0727ed7ba x86/cpu/vfm: Add new macros to work with (vendor/family/model) values
| * 6efd1d4b1f tracing: Add MODULE_DESCRIPTION() to preemptirq_delay_test
| * 8d5d123f62 pmdomain: ti-sci: Fix duplicate PD referrals
| * 95881ebdb4 ARM: dts: samsung: smdk4412: fix keypad no-autorepeat
| * 7c1448ea11 ARM: dts: samsung: exynos4412-origen: fix keypad no-autorepeat
| * 2df48353fa ARM: dts: samsung: smdkv310: fix keypad no-autorepeat
| * 8154edd62a perf script: Show also errors for --insn-trace option
| * 4bd6f883bd perf: script: add raw|disasm arguments to --insn-trace option
| * 520f28926a spi: stm32: qspi: Clamp stm32_qspi_get_mode() output to CCR_BUSWIDTH_4
| * 56de6648a4 arm64: dts: imx8qm-mek: fix gpio number for reg_usdhc2_vmmc
| * 065494adab spi: stm32: qspi: Fix dual flash mode sanity test in stm32_qspi_setup()
| * fd6cfb11d7 dt-bindings: i2c: google,cros-ec-i2c-tunnel: correct path to i2c-controller schema
| * 92278b2dd1 i2c: ocores: set IACK bit after core is enabled
| * 51897f9935 mm/page_table_check: fix crash on ZONE_DEVICE
| * 6f7c39a675 tcp: clear tp->retrans_stamp in tcp_rcv_fastopen_synack()
| * 665e932600 mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default
| * 4cb3b5bc4c kcov: don't lose track of remote references during softirqs
| * 9ad023010e gcov: add support for GCC 14
| * fc5cb952e6 drm/amdgpu: fix UBSAN warning in kv_dpm.c
| * f803532bc3 drm/radeon: fix UBSAN warning in kv_dpm.c
| * 013e8f2371 drm/i915/mso: using joiner is not possible with eDP MSO
| * 661882cfe5 ALSA: hda/realtek: Limit mic boost on N14AP7
| * 72eed766d9 ALSA: hda/realtek: fix mute/micmute LEDs don't work for ProBook 445/465 G11.
| * 9e6e37d9d6 KVM: x86: Always sync PIR to IRR prior to scanning I/O APIC routes
| * 68df4fc449 KVM: arm64: Disassociate vcpus from redistributor region on teardown
| * 92c77807d9 KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()
| * b95fce863b cifs: fix typo in module parameter enable_gcm_256
| * 15cb476ceb btrfs: retry block group reclaim without infinite loop
| * 893eeba94c net: do not leave a dangling sk pointer, when socket creation fails
| * 44f521431f net: usb: ax88179_178a: improve reset check
| * dda369a760 net: stmmac: Assign configured channel value to EXTTS event
| * d8abba1e3c MIPS: dts: bcm63268: Add missing properties to the TWD node
| * 2703312590 kbuild: Remove support for Clang's ThinLTO caching
| * 9995864186 RDMA/mlx5: Add check for srq max_sge attribute
| * a331f275cb firmware: psci: Fix return value from psci_system_suspend()
| * ddc1f5f124 ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."
| * 87d2639f8a arm64: dts: freescale: imx8mm-verdin: enable hysteresis on slow input pin
| * 97af5de2cb arm64: dts: imx93-11x11-evk: Remove the 'no-sdio' property
| * 474a1661f4 regulator: bd71815: fix ramp values
| * 6136f19e52 dmaengine: ioatdma: Fix missing kmem_cache_destroy()
| * 6a104377d4 dmaengine: ioatdma: Fix kmemleak in ioat_pci_probe()
| * 98b35b2b7e dmaengine: ioatdma: Fix error path in ioat3_dma_probe()
| * d7f4e58f1b dmaengine: ioat: use PCI core macros for PCIe Capability
| * 98d79caf37 dmaengine: ioatdma: Fix leaking on version mismatch
| * 95dc59ba94 dmaengine: ioat: Drop redundant pci_enable_pcie_error_reporting()
| * 83163667d8 dmaengine: idxd: Fix possible Use-After-Free in irq_process_work_list
| * 1bd1857fed regulator: core: Fix modpost error "regulator_get_regmap" undefined
| * 1803875fef net: usb: rtl8150 fix unintiatilzed variables in rtl8150_get_link_ksettings
| * e214f102e0 bnxt_en: Restore PTP tx_avail count in case of skb_pad() error
| * dd37b86999 ice: Fix VSI list rule with ICE_SW_LKUP_LAST type
| * ec4d970b59 seg6: fix parameter passing when calling NF_HOOK() in End.DX4 and End.DX6 behaviors
| * 788d585e62 netfilter: ipset: Fix suspicious rcu_dereference_protected()
| * 49780570bf octeontx2-pf: Add error handling to VLAN unoffload handling
| * 04619db397 virtio_net: checksum offloading handling fix
| * 521d42a1c2 net: stmmac: No need to calculate speed divider when offload is disabled
| * d50d62d5e6 ptp: fix integer overflow in max_vclocks_store
| * 2f82f75f84 sched: act_ct: add netns into the key of tcf_ct_flow_table
| * 623c90d86a tipc: force a dst refcount before doing decryption
| * 6fc78d67f5 net/sched: act_api: fix possible infinite loop in tcf_idr_check_alloc()
| * 668be2b635 net/sched: act_api: rely on rcu in tcf_idr_check_alloc
| * 5bd1b7ab6a net: phy: mxl-gpy: Remove interrupt mask clearing from config_init
| * 70993aca4f net: phy: mxl-gpy: enhance delay time required by loopback disable function
| * 7d0606bdd7 net: lan743x: Support WOL at both the PHY and MAC appropriately
| * 2af9aa9ac6 net: lan743x: disable WOL upon resume to restore full data path operation
| * e2ec071727 qca_spi: Make interrupt remembering atomic
| * 1b631bffcb netns: Make get_net_ns() handle zero refcount net
| * 83c02fb2cc xfrm6: check ip6_dst_idev() return value in xfrm6_get_saddr()
| * 51ee2f7c30 ipv6: prevent possible NULL dereference in rt6_probe()
| * 88b9a55e2e ipv6: prevent possible NULL deref in fib6_nh_init()
| * a02fd5d775 netrom: Fix a memory leak in nr_heartbeat_expiry()
| * eb1bde62d6 ALSA: hda/realtek: Enable headset mic on IdeaPad 330-17IKB 81DM
| * dacc15e9cb bpf: Avoid splat in pskb_pull_reason
| * 7dabc4b45b cipso: fix total option length computation
| * 224b69e875 ice: avoid IRQ collision to fix init failure on ACPI S3 resume
| * 531d85b4fb ice: move RDMA init to ice_idc.c
| * 7de448db67 ALSA/hda: intel-dsp-config: Document AVS as dsp_driver option
| * 71b027d3c0 ALSA: hda/realtek: Remove Framework Laptop 16 from quirks
| * 32ef4dc2b1 tracing: Build event generation tests only as modules
| * 6c0f6ccd93 mips: bmips: BCM6358: make sure CBR is correctly set
| * a6061f60e1 MIPS: Routerboard 532: Fix vendor retry check code
| * 3c6332f3bb tty: add the option to have a tty reject a new ldisc
| * 6466b91968 usb: gadget: function: Remove usage of the deprecated ida_simple_xx() API
| * 3b3655a1d3 serial: exar: adding missing CTI and Exar PCI ids
| * 7f9e70c68b serial: imx: Introduce timeout when waiting on transmitter empty
| * d996deb803 MIPS: Octeon: Add PCIe link status check
| * 70196feadb PCI/PM: Avoid D3cold for HP Pavilion 17 PC/1972 PCIe Ports
| * 29dfe9e844 udf: udftime: prevent overflow in udf_disk_stamp_to_time()
| * 69170a888e usb: dwc3: pci: Don't set "linux,phy_charger_detect" property on Lenovo Yoga Tab2 1380
| * dd42570018 Avoid hw_desc array overrun in dw-axi-dmac
| * 8fc246a8a4 usb: misc: uss720: check for incompatible versions of the Belkin F5U002
| * a9cea0489c f2fs: remove clear SB_INLINECRYPT flag in default_options
| * 8092775cb6 iommu/arm-smmu-v3: Free MSIs in case of ENOMEM
| * 10c19cf7a1 power: supply: cros_usbpd: provide ID table for avoiding fallback match
| * 5cb3339b6d platform/x86: p2sb: Don't init until unassigned resources have been assigned
| * 7bbcd3b1c2 powerpc/io: Avoid clang null pointer arithmetic warnings
| * 8aa11aa001 powerpc/pseries: Enforce hcall result buffer validity and size
| * cf56640e9a ALSA: hda/realtek: Add quirks for Lenovo 13X
| * 9fd8ddd237 drm/lima: mask irqs in timeout path before hard reset
| * 394d660678 drm/lima: add mask irq callback to gp and pp
| * 4cd1360c63 ASoC: Intel: sof_sdw: add JD2 quirk for HP Omen 14
| * 6239d65b91 platform/x86: toshiba_acpi: Add quirk for buttons on Z830
| * fc1f030978 drm/amd/display: Exit idle optimizations before HDCP execution
| * be4a1fc857 Bluetooth: ath3k: Fix multiple issues reported by checkpatch.pl
| * aa2fb9c54c HID: asus: fix more n-key report descriptors if n-key quirked
| * 5368c463bc HID: Add quirk for Logitech Casa touchpad
| * 0b81faa05b wifi: mt76: mt7921s: fix potential hung tasks during chip recovery
| * 96826b16ef netpoll: Fix race condition in netpoll_owner_active
| * e8fc7647a8 net: dsa: realtek: keep default LED state in rtl8366rb
| * d927fae287 kselftest: arm64: Add a null pointer check
| * 048b33817a net/sched: fix false lockdep warning on qdisc root lock
| * eaddb86637 scsi: qedi: Fix crash while reading debugfs attribute
| * f251ccef1d drop_monitor: replace spin_lock by raw_spin_lock
| * 63310043ac af_packet: avoid a false positive warning in packet_setsockopt()
| * 2e48d73577 wifi: ath9k: work around memset overflow warning
| * fed7914858 batman-adv: bypass empty buckets in batadv_purge_orig_ref()
| * 63f2d5373d selftests/bpf: Fix flaky test btf_map_in_map/lookup_update
| * fb9088a7a7 selftests/bpf: Prevent client connect before server bind in test_tc_tunnel.sh
| * 61ec76ec93 block/ioctl: prefer different overflow check
| * cf9b1652b4 rcutorture: Fix invalid context warning when enable srcu barrier testing
| * dbd4175e5e rcutorture: Make stall-tasks directly exit when rcutorture tests end
| * 9bc282fb8a rcutorture: Fix rcu_torture_one_read() pipe_count overflow comment
| * 55c22375cb io_uring/sqpoll: work around a potential audit memory leak
| * 7c42ce556f crypto: hisilicon/sec - Fix memory leak for sec resource release
| * 4925da0896 padata: Disable BH when taking works lock on MT path
* | cb7d32c26d Merge aosp/android14-6.1 to aosp/android14-6.1-lts
* | 6f4a686ac9 Revert "i2c: add fwnode APIs"
* | efbc7c7549 Revert "i2c: acpi: Unbind mux adapters before delete"
* | ced5058778 Merge 6.1.95 into android14-6.1-lts
|\|
| * a6398e3730 Linux 6.1.95
| * edd2754a62 zap_pid_ns_processes: clear TIF_NOTIFY_SIGNAL along with TIF_SIGPENDING
| * e44999ec0b i2c: designware: Fix the functionality flags of the slave-only interface
| * 1a0bbb90f3 i2c: at91: Fix the functionality flags of the slave-only interface
| * ea25a4c0de misc: microchip: pci1xxxx: Fix a memory leak in the error handling of gp_aux_bus_probe()
| * e0e2eec769 usb-storage: alauda: Check whether the media is initialized
| * ae917519ba serial: core: Add UPIO_UNKNOWN constant for unknown port type
| * 29d35f0b53 serial: 8250_dw: fall back to poll if there's no interrupt
| * 9a733d69a4 greybus: Fix use-after-free bug in gb_interface_release due to race condition.
| * 12a4a28eae Bluetooth: qca: generalise device address check
| * 47988653a4 Bluetooth: qca: fix wcn3991 device address check
| * 9afc658ce7 cachefiles, erofs: Fix NULL deref in when cachefiles is not doing ondemand-mode
| * 4733dea73c remoteproc: k3-r5: Jump to error handling labels in start/stop errors
| * 04b0c41912 Revert "fork: defer linking file vma until vma is fully initialized"
| * 35e395373e mptcp: pm: update add_addr counters after connect
| * 51861fc086 serial: 8250_pxa: Configure tx_loadsz to match FIFO IRQ level
| * 00b0752c7f mm/memory-failure: fix handling of dissolved but not taken off from buddy pages
| * b2494506f3 mm/huge_memory: don't unpoison huge_zero_folio
| * 2641261b93 tick/nohz_full: Don't abuse smp_call_function_single() in tick_setup_device()
| * 271dcd977c nilfs2: fix potential kernel bug due to lack of writeback flag waiting
| * 1776596470 btrfs: zoned: fix use-after-free due to race with dev replace
| * babfd2d0d5 btrfs: zoned: factor out DUP bg handling from btrfs_load_block_group_zone_info
| * 43a89d48bd btrfs: zoned: factor out single bg handling from btrfs_load_block_group_zone_info
| * 7fd274c062 btrfs: zoned: factor out per-zone logic from btrfs_load_block_group_zone_info
| * c60f0a442d btrfs: zoned: introduce a zone_info struct in btrfs_load_block_group_zone_info
| * d2fa51eb9c intel_th: pci: Add Lunar Lake support
| * 5b64a368e3 intel_th: pci: Add Meteor Lake-S support
| * a1fb1bd6c0 intel_th: pci: Add Sapphire Rapids SOC support
| * b7b6bc60ed intel_th: pci: Add Granite Rapids SOC support
| * bb8b9d91f7 intel_th: pci: Add Granite Rapids support
| * 3272801490 drm/i915/dpt: Make DPT object unshrinkable
| * d205e30216 drm/i915/gt: Disarm breadcrumbs if engines are already idle
| * 919f862609 riscv: rewrite __kernel_map_pages() to fix sleeping in invalid context
| * dd5042eed5 remoteproc: k3-r5: Do not allow core1 to power up before core0 via sysfs
| * 2a1ec20b17 remoteproc: k3-r5: Wait for core0 power-up before powering up core1
| * f6a426a0c4 dmaengine: axi-dmac: fix possible race in remove()
| * eab9d5a846 PCI: rockchip-ep: Remove wrong mask on subsys_vendor_id
| * ea042dc2be ocfs2: fix races between hole punching and AIO+DIO
| * a2e8105eb2 ocfs2: use coarse time for new created files
| * a373ad833a fs/proc: fix softlockup in __read_vmcore
| * 06bea44b93 knfsd: LOOKUP can return an illegal error value
| * bbce9fb50c spmi: hisi-spmi-controller: Do not override device identifier
| * 95bac1c8be vmci: prevent speculation leaks by sanitizing event in event_deliver()
| * 5eabdf17fe sock_map: avoid race between sock_map_close and sk_psock_put
| * ae080302bf null_blk: Print correct max open zones limit in null_init_zoned_dev()
| * e2585bc1d8 tracing/selftests: Fix kprobe event name test for .isra. functions
| * 6625417dfe riscv: fix overlap of allocated page and PTR_ERR
| * c81705d66f perf/core: Fix missing wakeup when waiting for context reference
| * 355784a5c0 x86/amd_nb: Check for invalid SMN reads
| * 2458f2362f irqchip/gic-v3-its: Fix potential race condition in its_vlpi_prop_update()
| * 9dc3200a5c mptcp: pm: inc RmAddr MIB counter once per RM_ADDR ID
| * f03c46eabb mptcp: ensure snd_una is properly initialized on connect
| * c3ca24dfe9 drm/exynos: hdmi: report safe 640x480 mode as a fallback when no EDID found
| * dcba6bedb4 drm/exynos/vidi: fix memory leak in .get_modes()
| * 08891eeaa9 drivers: core: synchronize really_probe() and dev_uevent()
| * cc09e1d351 iio: imu: inv_icm42600: delete unneeded update watermark call
| * 1b82cc8664 iio: dac: ad5592r: fix temperature channel scaling value
| * f35eb2c486 iio: adc: ad9467: fix scan type sign
| * b9da7e9653 x86/boot: Don't add the EFI stub to targets, again
| * 34ae447b13 misc: microchip: pci1xxxx: fix double free in the error handling of gp_aux_bus_probe()
| * cde177fa23 bnxt_en: Adjust logging of firmware messages in case of released token in __hwrm_send()
| * e9c6513cff af_unix: Read with MSG_PEEK loops if the first unread byte is OOB
| * 60cd714871 ionic: fix use after netif_napi_del()
| * caaa212978 net: bridge: mst: fix suspicious rcu usage in br_mst_set_state
| * 09f4337c27 net: bridge: mst: pass vlan group directly to br_mst_vlan_set_state
| * cd68f84910 net/ipv6: Fix the RT cache flush via sysctl using a previous delay
| * 5872043bcf nvmet-passthru: propagate status from id override functions
| * a6ea39fd2d net: stmmac: replace priv->speed with the portTransmitRate from the tc-cbs parameters
| * c495ebe90b gve: ignore nonrelevant GSO type bits when processing TSO headers
| * 950217d97c net: pse-pd: Use EOPNOTSUPP error code instead of ENOTSUPP
| * 390b353d1a netfilter: ipset: Fix race between namespace cleanup and gc in the list:set type
| * 4431d37498 Bluetooth: L2CAP: Fix rejecting L2CAP_CONN_PARAM_UPDATE_REQ
| * 0f99dc35cb net/mlx5e: Fix features validation check for tunneled UDP (non-VXLAN) packets
| * 11f1f0c4f7 geneve: Fix incorrect inner network header offset when innerprotoinherit is set
| * 0b160b127c tcp: fix race in tcp_v6_syn_recv_sock()
| * c8879a39c7 drm/bridge/panel: Fix runtime warning on panel bridge release
| * 3b1cf943b0 drm/komeda: check for error-valued pointer
| * f1ab15a094 liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet
| * f2583f8172 net: hns3: add cond_resched() to hns3 ring buffer init process
| * 6d0007f7b6 net: hns3: fix kernel crash problem in concurrent scenario
| * 84a0d86853 net: sfp: Always call `sfp_sm_mod_remove()` on remove
| * 2b7be0eb79 drm/vmwgfx: Remove STDU logic from generic mode_valid function
| * b1aae9c5d7 drm/vmwgfx: 3D disabled should not effect STDU memory limits
| * b7479b39b7 drm/vmwgfx: Filter modes which exceed graphics memory
| * 862bd36daf drm/vmwgfx: Refactor drm connector probing for display modes
| * 67adcfae2e drm/vmwgfx: Port the framebuffer code to drm fb helpers
| * 789c99a1d7 HID: logitech-dj: Fix memory leak in logi_dj_recv_switch_to_dj_mode()
| * f2af9dbad8 iommu/amd: Fix sysfs leak in iommu init
| * bfd546fc7f HID: core: remove unnecessary WARN_ON() in implement()
| * 2df8c16ea4 gpio: tqmx86: fix broken IRQ_TYPE_EDGE_BOTH interrupt type
| * 4ada932c43 gpio: tqmx86: store IRQ trigger type and unmask status separately
| * 0f6b55f9f7 gpio: tqmx86: Convert to immutable irq_chip
| * 8c2e28a209 gpio: tqmx86: introduce shadow register for GPIO output value
| * a09c3dbe59 gpio: tqmx86: remove unneeded call to platform_set_drvdata()
| * 8200440578 gpio: tqmx86: fix typo in Kconfig label
| * 3150d4e4b9 platform/x86: dell-smbios: Fix wrong token data in sysfs
| * 0abb51acfb NFS: add barriers when testing for NFS_FSDATA_BLOCKED
| * 3cde566d9f SUNRPC: return proper error from gss_wrap_req_priv
| * e6ddef11c0 NFSv4.1 enforce rootpath check in fs_location query
| * 81fce119df clk: sifive: Do not register clkdevs for PRCI clocks
| * fcb4ce61a5 selftests/ftrace: Fix to check required event file
| * 320ba9cbca cachefiles: flush all requests after setting CACHEFILES_DEAD
| * eac51d9daa cachefiles: defer exposing anon_fd until after copy_to_user() succeeds
| * 1fd5f317b5 cachefiles: never get a new anonymous fd if ondemand_id is valid
| * bb00aef6d9 cachefiles: remove err_put_fd label in cachefiles_ondemand_daemon_read()
| * cb55625f8e cachefiles: fix slab-use-after-free in cachefiles_ondemand_daemon_read()
| * 99e9c5bd27 cachefiles: fix slab-use-after-free in cachefiles_ondemand_get_fd()
| * a0cc87f866 cachefiles: add restore command to recover inflight ondemand read requests
| * 5344f2ab31 cachefiles: add spin_lock for cachefiles_ondemand_info
| * f17443d52d cachefiles: resend an open request if the read request's object is closed
| * bb512c8587 cachefiles: extract ondemand info field from cachefiles_object
| * e43fb9a20d cachefiles: introduce object ondemand state
| * 9f13aacdd4 cachefiles: remove requests from xarray during flushing requests
| * dad925266a cachefiles: add output string to cachefiles_obj_[get|put]_ondemand_fd
| * bee55952ff cxl/test: Add missing vmalloc.h for tools/testing/cxl/test/mem.c
| * 6dfa1d80ea Input: try trimming too long modalias strings
| * ce1afd733b powerpc/uaccess: Fix build errors seen with GCC 13/14
| * d221284991 gve: Clear napi->skb before dev_kfree_skb_any()
| * d19254d891 scsi: sd: Use READ(16) when reading block zero on large capacity disks
| * 46bab2bcd7 scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory
| * a9624afc91 scsi: mpi3mr: Fix ATA NCQ priority support
| * a136698d1e thunderbolt: debugfs: Fix margin debugfs node creation condition
| * 0daacb57b9 xhci: Apply broken streams quirk to Etron EJ188 xHCI host
| * 633f72cb61 xhci: Handle TD clearing for multiple streams case
| * 0a1c2a581d xhci: Apply reset resume quirk to Etron EJ188 xHCI host
| * f6559d28c0 xhci: Set correct transferred length for cancelled bulk transfers
| * 33aecc5799 jfs: xattr: fix buffer overflow for invalid xattr
| * b6e5e69643 landlock: Fix d_parent walk
| * 03f916e56a tty: n_tty: Fix buffer offsets when lookahead is used
| * 185a1b1fcc mei: me: release irq in mei_me_pci_resume error path
| * 2ad7e02c2e usb: typec: tcpm: Ignore received Hard Reset in TOGGLING state
| * 4053696594 usb: typec: tcpm: fix use-after-free case in tcpm_register_source_caps
| * fb9f366ae6 USB: xen-hcd: Traverse host/ when CONFIG_USB_XEN_HCD is selected
| * 02a4c0499f USB: class: cdc-wdm: Fix CPU lockup caused by excessive log messages
| * c2844d5e58 io_uring: check for non-NULL file pointer in io_file_can_poll()
| * 129dcd3e7d nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors
| * ea2ac9238d nilfs2: return the mapped address from nilfs_get_page()
| * 8b0d6d1879 btrfs: fix leak of qgroup extent records after transaction abort
| * b1a5d3f79b btrfs: make btrfs_destroy_delayed_refs() return void
| * 95e69b16d0 btrfs: remove unnecessary prototype declarations at disk-io.c
| * be70a6c516 wifi: ath10k: fix QCOM_RPROC_COMMON dependency
| * 46a072e050 selftests/mm: compaction_test: fix bogus test success on Aarch64
| * 264b8a7e15 selftests/mm: log a consistent test name for check_compaction
| * 5ba39134b6 selftests/mm: conform test to TAP format output
| * 499fd1db08 selftests/mm: compaction_test: fix incorrect write of zero to nr_hugepages
| * 198a80833e mm/vmalloc: fix vmalloc which may return null if called with __GFP_NOFAIL
| * fe5c2bdcb1 mm, vmalloc: fix high order __GFP_NOFAIL allocations
| * b1574c8c0a i2c: acpi: Unbind mux adapters before delete
| * ef1e9b624d i2c: add fwnode APIs
| * c0cd2d8800 HID: i2c-hid: elan: fix reset suspend current leakage
| * 274ecd4001 HID: i2c-hid: elan: Add ili9882t timing
| * 0fce1c959a firmware: qcom_scm: disable clocks if qcom_scm_bw_enable() fails
| * 5ee241f72e mmc: davinci: Don't strip remove function when driver is builtin
| * c3d39fdc33 serial: sc16is7xx: fix bug in sc16is7xx_set_baud() when using prescaler
| * aeb2b22e4f serial: sc16is7xx: replace hardcoded divisor value with BIT() macro
| * c0b8f49183 misc/pvpanic-pci: register attributes via pci_driver
| * 96826e74d7 misc/pvpanic: deduplicate common code
| * 1529c86da6 arm64: dts: qcom: sa8155p-adp: fix SDHC2 CD pin configuration
| * eedbb969a4 arm64: dts: qcom: sm8150: align TLMM pin configuration with DT schema
| * a869a9b604 drm/amd/display: Fix incorrect DSC instance for MST
| * ed82dc58c7 drm/amd/display: drop unnecessary NULL checks in debugfs
| * b6621895b4 xtensa: fix MAKE_PC_FROM_RA second argument
| * eccf114abd xtensa: stacktrace: include <asm/ftrace.h> for prototype
| * 5253a35ea5 iio: accel: mxc4005: Reset chip on probe() and resume()
| * 02db59533b iio: accel: mxc4005: allow module autoloading via OF compatible
| * a0fdccb1c9 usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete
| * b55bc52521 usb: gadget: f_fs: use io_data->status consistently
| * e8b8582355 btrfs: fix wrong block_start calculation for btrfs_drop_extent_map_range()
| * b45cfd9bde Bluetooth: qca: fix invalid device address check
| * 2498960dac ipv6: fix possible race in __fib6_drop_pcpu_from()
| * 6b9ff1620d af_unix: Annotate data-race of sk->sk_shutdown in sk_diag_fill().
| * 4a967bac16 af_unix: Use skb_queue_len_lockless() in sk_diag_show_rqlen().
| * e3f2599e9a af_unix: Use skb_queue_empty_lockless() in unix_release_sock().
| * 4c64c3e2f5 af_unix: annotate lockless accesses to sk->sk_err
| * f5c4276607 af_unix: Use unix_recvq_full_lockless() in unix_stream_connect().
| * 8b29fcd7f3 af_unix: Annotate data-race of net->unx.sysctl_max_dgram_qlen.
| * 19425cfe59 af_unix: Annotate data-races around sk->sk_state in UNIX_DIAG.
| * fda68a7da8 af_unix: Annotate data-race of sk->sk_state in unix_stream_read_skb().
| * f53cf0449e af_unix: Annotate data-races around sk->sk_state in sendmsg() and recvmsg().
| * 018fc5d9db af_unix: Annotate data-race of sk->sk_state in unix_stream_connect().
| * 35bdc364e1 af_unix: Annotate data-races around sk->sk_state in unix_write_space() and poll().
| * a8814322e5 af_unix: Annotate data-race of sk->sk_state in unix_inq_len().
| * a59dc9cb03 af_unix: Annodate data-races around sk->sk_state for writers.
| * ca32605565 af_unix: Set sk->sk_state under unix_state_lock() for truly disconencted peer.
| * fe394d59cd net: wwan: iosm: Fix tainted pointer delete is case of region creation fail
| * a62c50545b ice: remove af_xdp_zc_qps bitmap
| * 447a5433bd ice: remove null checks before devm_kfree() calls
| * a388961be5 ice: Introduce new parameters in ice_sched_node
| * 17ccdebe5a ice: fix iteration of TLVs in Preserved Fields Area
| * 952557eb6e ptp: Fix error message on failed pin verification
| * 0bf6cc9661 net/sched: taprio: always validate TCA_TAPRIO_ATTR_PRIOMAP
| * 531eab2da2 net/mlx5: Fix tainted pointer delete is case of flow rules creation fail
| * e7d4485d47 net/mlx5: Always stop health timer during driver removal
| * 0819acb87b net/mlx5: Split function_setup() to enable and open functions
| * 0c42eef3f0 net/mlx5: Stop waiting for PCI if pci channel is offline
| * e4df7b53a4 net/mlx5: Stop waiting for PCI up if teardown was triggered
| * a2ab7dae67 tcp: count CLOSE-WAIT sockets for TCP_MIB_CURRESTAB
| * a31d0e5deb vxlan: Fix regression when dropping packets due to invalid src addresses
| * 0f208fad86 net: sched: sch_multiq: fix possible OOB write in multiq_tune()
| * 1a0c20c056 net/smc: avoid overwriting when adjusting sock bufsizes
| * 87ef68f3af octeontx2-af: Always allocate PF entries from low prioriy zone
| * 3708b6c254 bpf: Set run context for rawtp test_run callback
| * a170d5a40f ipv6: sr: block BH in seg6_output_core() and seg6_input_core()
| * 9b3d1ba4a4 ipv6: ioam: block BH from ioam6_output()
| * 9bcdfdc6a6 net/ncsi: Fix the multi thread manner of NCSI driver
| * f2cd7e1b48 net/ncsi: Simplify Kconfig/dts control flow
| * e6ad2311e0 ax25: Replace kfree() in ax25_dev_free() with ax25_dev_put()
| * f4df9d6c8d ax25: Fix refcount imbalance on inbound connections
| * bd403f3989 wifi: mac80211: correctly parse Spatial Reuse Parameter Set element
| * a8bc8276af wifi: iwlwifi: mvm: don't read past the mfuart notifcation
| * 9e719ae3ab wifi: iwlwifi: mvm: check n_ssids before accessing the ssids
| * ca4c230788 wifi: iwlwifi: dbg_ini: move iwl_dbg_tlv_free outside of debugfs ifdef
| * 8014a7dbbf wifi: iwlwifi: mvm: revert gen2 TX A-MPDU size to 64
| * a5c20830fb wifi: cfg80211: pmsr: use correct nla_get_uX functions
| * 6d540b0317 wifi: cfg80211: Lock wiphy in cfg80211_get_station
| * 96c950d6b0 wifi: cfg80211: fully move wiphy work to unbound workqueue
| * 9c49b58b9a wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup()
| * 617dadbfb2 wifi: mac80211: mesh: Fix leak of mesh_preq_queue objects
* | c6bbb760e9 ANDROID: ABI fixup for abi break in struct dst_ops
* | 079775fd35 Merge 6.1.94 into android14-6.1-lts
|/
* eb44d83053 Linux 6.1.94
* 6d6fe13cca smp: Provide 'setup_max_cpus' definition on UP too
* b09b556e48 smb: client: fix deadlock in smb2_find_smb_tcon()
* 3174d8b7c9 powerpc/bpf: enforce full ordering for ATOMIC operations with BPF_FETCH
* 1ff2bd566f btrfs: fix crash on racing fsync and size-extending write into prealloc
* e601937b5b NFS: Fix READ_PLUS when server doesn't support OP_READ_PLUS
* a54419e60e nfs: fix undefined behavior in nfs_block_bits()
* 728b663f5e EDAC/igen6: Convert PCIBIOS_* return codes to errnos
* 4e060b308d i3c: master: svc: fix invalidate IBI type and miss call client IBI handler
* 07c8050f8c s390/cpacf: Make use of invalid opcode produce a link error
* 1d39dcff47 s390/cpacf: Split and rework cpacf query functions
* 8c5f5911c1 s390/ap: Fix crash in AP internal function modify_bitmap()
* ff19ea00a5 parisc: Define sigset_t in parisc uapi header
* bca17801fb parisc: Define HAVE_ARCH_HUGETLB_UNMAPPED_AREA
* e941b712e7 ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find()
* 16a392f66a ext4: set type of ac_groups_linear_remaining to __u32 to avoid overflow
* d47445b041 sparc: move struct termio to asm/termios.h
* 81dd3c82a4 net: fix __dst_negative_advice() race
* 10938be35e kdb: Use format-specifiers rather than memset() for padding in kdb_read()
* 60e2a14a81 kdb: Merge identical case statements in kdb_read()
* 0ec478e7a1 kdb: Fix console handling when editing and tab-completing commands
* b4e6a259f8 kdb: Use format-strings rather than '\0' injection in kdb_read()
* 33d9c81465 kdb: Fix buffer overflow during tab-complete
* 6da1ffc4bc watchdog: rti_wdt: Set min_hw_heartbeat_ms to accommodate a safety margin
* c7071d3052 mm/hugetlb: pass correct order_per_bit to cma_declare_contiguous_nid
* 04b4278245 mm/cma: drop incorrect alignment check in cma_init_reserved_mem
* 14a339e7d7 sparc64: Fix number of online CPUs
* 3ec82c9a15 intel_th: pci: Add Meteor Lake-S CPU support
* 82590ce3a0 cpufreq: amd-pstate: Fix the inconsistency in max frequency units
* 9ff078f5ba kmsan: do not wipe out origin when doing partial unpoisoning
* ca71f20471 net/9p: fix uninit-value in p9_client_rpc()
* 6684086359 net/ipv6: Fix route deleting failure when metric equals 0
* 65bb86fbc8 scsi: core: Handle devices which return an unusually large VPD page count
* 7a2bc8b34e mm: fix race between __split_huge_pmd_locked() and GUP-fast
* e7428e7e3f crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
* dd999fdeee crypto: ecrdsa - Fix module auto-load on add_key
* 458458c130 crypto: ecdsa - Fix module auto-load on add-key
* e0032f5c08 KVM: arm64: AArch32: Fix spurious trapping of conditional instructions
* 5b12ce0b6f KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode
* 4f902f03ef KVM: arm64: Fix AArch32 register narrowing on userspace write
* 7da44257e6 drm/amd: Fix shutdown (again) on some SMU v13.0.4/11 platforms
* cb299cdba0 9p: add missing locking around taking dentry fid list
* 97820893f2 drm/amdgpu/atomfirmware: add intergrated info v2.3 table
* edaa57480b fbdev: savage: Handle err return when savagefb_check_var failed
* 1a156761fc mmc: sdhci-acpi: Add quirk to enable pull-up on the card-detect GPIO on Asus T100TA
* 4ac34dc6b4 mmc: sdhci-acpi: Disable write protect detection on Toshiba WT10-A
* 21109f137a mmc: sdhci-acpi: Fix Lenovo Yoga Tablet 2 Pro 1380 sdcard slot not working
* c2107d3024 mmc: sdhci-acpi: Sort DMI quirks alphabetically
* 32b76505ba mmc: sdhci: Add support for "Tuning Error" interrupts
* 36a28616d4 mmc: core: Add mmc_gpiod_set_cd_config() function
* 7170d0c0da media: v4l2-core: hold videodev_lock until dev reg, finishes
* 5d931a2694 media: mxl5xx: Move xpt structures off stack
* 9ef7ee4cb6 media: mc: mark the media devnode as registered from the, start
* 788fd0f11e media: mc: Fix graph walk in media_pipeline_start
* 9d180538de arm64: dts: hi3798cv200: fix the size of GICR
* 46fe2af45c wifi: rtlwifi: rtl8192de: Fix endianness issue in RX path
* 6973383af5 wifi: rtlwifi: rtl8192de: Fix low speed with WPA3-SAE
* 83daddb601 wifi: rtlwifi: rtl8192de: Fix 5 GHz TX power
* 2c13c9f6ca wifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU
* c365394a41 wifi: rtw89: pci: correct TX resource checking for PCI DMA channel of firmware command
* 3f8d5e802d md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING
* 3f09972198 arm64: dts: qcom: qcs404: fix bluetooth device address
* 2eea8b448e arm64: tegra: Correct Tegra132 I2C alias
* ef2f4d60c3 ACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx
* 3988a2850b soc: qcom: rpmh-rsc: Enhance check for VRM in-flight request
* 560d69c975 thermal/drivers/qcom/lmh: Check for SCM availability at probe
* 5e0d41aa53 ata: pata_legacy: make legacy_exit() work again
* 336b8b2e90 wifi: rtw89: correct aSIFSTime for 6GHz band
* 934e1e4331 bcache: fix variable length array abuse in btree_iter
* 011552f29f drm/amdgpu: add error handle to avoid out-of-bounds
* d082757b83 media: lgdt3306a: Add a check against null-pointer-def
* 8c8aa473fe f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode()
* 376fad5e52 scripts/gdb: fix SB_* constants parsing
* 6bbd9c021c vxlan: Fix regression when dropping packets due to invalid src addresses
* 7a898d5ed4 mptcp: fix full TCP keep-alive support
* dc62d53f01 mptcp: cleanup SOL_TCP handling
* e7d48faa15 mptcp: avoid some duplicate code in socket option handling
* 164320fc22 drm/i915/audio: Fix audio time stamp programming for DP
* 86a30d6302 nilfs2: fix use-after-free of timer for log writer thread
* 79fc40a29d riscv: signal: handle syscall restart before get_signal
* bc20a0a290 afs: Don't cross .backup mountpoint from backup volume
* 265426254d mmc: core: Do not force a retune before RPMB switch
* 883e5d542b maple_tree: fix mas_empty_area_rev() null pointer dereference
* 34f3005303 maple_tree: fix allocation in mas_sparse_area()
* cf0df43520 Bluetooth: btrtl: Add missing MODULE_FIRMWARE declarations
* a17e06d709 drm: Check polling initialized before enabling in drm_helper_probe_single_connector_modes
* 4ad8d57d90 drm: Check output polling initialized before disabling

Change-Id: I849966e53c4a46d2ee81b3b6078f953a08502872
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-09-23 14:23:12 +00:00
Dmitry Skiba
3b95e54867 ANDROID: Update the ABI symbol list
Adding the following symbols:
  - __traceiter_android_rvh_try_to_wake_up_success
  - __traceiter_android_vh_mm_kcompactd_cpu_online
  - __traceiter_android_vh_vmscan_kswapd_done
  - __traceiter_mm_vmscan_kswapd_wake
  - __tracepoint_android_rvh_try_to_wake_up_success
  - __tracepoint_android_vh_mm_kcompactd_cpu_online
  - __tracepoint_android_vh_vmscan_kswapd_done
  - __tracepoint_mm_vmscan_kswapd_wake

Bug: 367400751
Change-Id: I658b4961666d93238feaa8f166012b76a69994eb
Signed-off-by: Dmitry Skiba <dskiba@google.com>
2024-09-20 17:12:39 +00:00
Dmitry Skiba
b3a2458fc6 ANDROID: mm: add vh for kcompactd_cpu_online()
kcompactd_cpu_online() changes kcompactd cpumask, potentially
overwriting any vendor-specific cpumask that was there. This
hook allows vendors to re-set the cpumask.

Bug: 367400751
Change-Id: I45b92bcd16fbf2d5d76474287db659e32af64201
Signed-off-by: Dmitry Skiba <dskiba@google.com>
2024-09-20 16:55:50 +00:00
jiangxinpei
532fad0092 ANDROID: ABI: update symbol list for honor
1 function symbol(s) added
  'int __traceiter_android_vh_should_fault_around(void*, struct vm_fault*, bool*)'

Bug: 362663044
Change-Id: Ie7634bc746e40142455c7bd22d876d519a02e0d5
Signed-off-by: jiangxinpei <jiangxinpei@honor.corp-partner.google.com>
2024-09-20 09:37:56 +00:00
Dezhi Huang
145b08312d ANDROID: vendor_hooks: add hook to perform targeted memory management
Add vendor_hook trace_android_vh_should_fault_around, allow vendor modules
to skip the fault_around processing for less important processes.

Bug: 362663044
Bug: 337547131
Change-Id: I792dca2038f5ad7cba1d212ef95407244958609d
Signed-off-by: Dezhi Huang <huangdezhi@hihonor.com>
(cherry picked from commit 65ebb00fe7977348d5fcfa58985c29181f3ec173)
2024-09-20 09:37:56 +00:00
jiangxinpei
c105083ac6 ANDROID: ABI: update symbol list for honor
3 function symbol(s) added
  'int __traceiter_android_vh_do_read_fault(void*, struct vm_fault*, unsigned long)'
  'int __traceiter_android_vh_filemap_map_pages(void*, struct file*, unsigned long, unsigned long, vm_fault_t)'
  'int __traceiter_android_vh_filemap_read(void*, struct file*, loff_t, size_t)'

Bug: 362665923
Change-Id: I49fa40c65d7d24799c815de0c2c02c12d09e8fd8
Signed-off-by: jiangxinpei <jiangxinpei@honor.corp-partner.google.com>
2024-09-20 09:21:56 +00:00
Sooyong Suk
eda4e9fa64 ANDROID: mm: add vendor hook in fault and read file
Add a vendor hook to notify vendor module fault and read events.

Bug: 362665923
Bug: 351175506
Change-Id: I4c46e9e00aa5f5555fd42a6b0815563497658b34
Signed-off-by: Sooyong Suk <s.suk@samsung.corp-partner.google.com>
(cherry picked from commit a9867d872e24fbe658e05f32b770e4b36c6e3773)
2024-09-20 09:21:56 +00:00
David Chiang
814dd5bfa8 ANDROID: Update the ABI symbol list
Adding the following symbols to abi_gki_aarch64_pixel:
- mbox_request_channel_byname

Bug: 368167673
Change-Id: I031522377372a25bf5f9e97eb4832173463de390
Signed-off-by: David Chiang <davidchiang@google.com>
2024-09-19 06:07:31 +00:00
jiangxinpei
8a268cb981 ANDROID: GKI: Update symbol list for honor
Update symbol list for honor in android/abi_gki_aarch64_honor

Bug: 365506689
Change-Id: I604163b979660eaedbc13d3da5c9e3cdb8275e50
Signed-off-by: jiangxinpei <jiangxinpei@honor.corp-partner.google.com>
2024-09-18 05:46:35 +00:00
jiangxinpei
be07389110 ANDROID: Allow vendor modules perform operationson on memleak detect
When an LMK (Low Memory Killer) occurs, it is crucial for us to identify
the underlying cause of low memory. Based on past experiences, memory
leaks are often the root cause in such situations. The purpose of this
function is to assist us in identifying which application or type of
memory is experiencing memory leaks, thereby enabling us to effectively
locate and address the memory leakage issue.

Bug: 365506689
Bug: 346707562
Change-Id: I5d7d6bdbca30660f2a552211fd8aff40d3550df7
Signed-off-by: jiangxinpei <jiangxinpei@honor.corp-partner.google.com>
(cherry picked from commit d61134668c2d37846a6cea3e1ab3c237f2c7bc99)
2024-09-18 05:46:35 +00:00
jiangxinpei
47871c381d ANDROID: GKI: Update symbol list for honor
Update symbol list for honor in android/abi_gki_aarch64_honor

Bug: 365506454
Change-Id: I5d9a7a41da2a6f97998fadbbcb447db53b873bcc
Signed-off-by: jiangxinpei <jiangxinpei@honor.corp-partner.google.com>
2024-09-18 10:51:09 +08:00
Dezhi Huang
c7b8f95c21 ANDROID: Allow vendor modules perform more operations on binder transaction.
Export binder_alloc_copy_from_buffer, allow vendor modules perform more operations
on binder transaction and improve user operation fluency and timeliness experience.

Bug: 365506454
Bug: 343139379
Change-Id: I4353763099d854a62d0b70b003fbaca00e2c76e4
Signed-off-by: Dezhi Huang <huangdezhi@hihonor.com>
(cherry picked from commit d8db83d94e14b48819bba18cb975943c237e33df)
2024-09-18 10:48:45 +08:00
Daeho Jeong
d1f3a046a6 FROMGIT: f2fs: prevent atomic file from being dirtied before commit
Keep atomic file clean while updating and make it dirtied during commit
in order to avoid unnecessary and excessive inode updates in the previous
fix.

Fixes: 4bf78322346f ("f2fs: mark inode dirty for FI_ATOMIC_COMMITTED flag")
Change-Id: I2a29d047fa4233632876c61cf909340d1f60c26d
Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Bug: 352181300
(cherry picked from commit fccaa81de87e80b1809906f7e438e5766fbdc172
 https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev)
Change-Id: I5970e56a5318804cfebea340b5b19d6e0a66dc01
Signed-off-by: Daeho Jeong <daehojeong@google.com>
2024-09-13 13:22:33 -07:00
iabdullah
6e5b92a6a1 ANDROID: GKI: Add symbol list for exynosauto
These symbols are required to use custom driver
for writing data into Serial device
using common TTY drivers for basic data trasmit via UART/SPI.

INFO: 2 function symbol(s) added
  'int serdev_device_write(struct serdev_device*, const unsigned char*, size_t, long)'
  'void serdev_device_write_wakeup(struct serdev_device*)'

Bug: 356635235
Change-Id: Ia365485ad4b533e5e2826add9182bc98b5563f81
Signed-off-by: iabdullah <imrankhan.abdullah@harman.com>
2024-09-12 18:53:21 +00:00
Pierre Couillaud
b18f8bbc04 ANDROID: GKI: Update symbol list for BCMSTB
Remove symbols obsoleted since including CONFIG_SERIAL_8250_BCM7271

Bug: 365149220
Change-Id: Id35a1c68e27359fa5e8a2d90cfa7be5346875ebf
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2024-09-12 00:28:40 +00:00
Mukesh Ojha
ff74052448 BACKPORT: binder_alloc: Fix sleeping function called from invalid context
36c55ce8703c ("binder_alloc: Replace kcalloc with kvcalloc to
mitigate OOM issues") introduced schedule while atomic issue.

[ 2689.152635][ T4275] BUG: sleeping function called from invalid context at mm/vmalloc.c:2847
[ 2689.161291][ T4275] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 4275, name: kworker/1:140
[ 2689.170708][ T4275] preempt_count: 1, expected: 0
[ 2689.175572][ T4275] RCU nest depth: 0, expected: 0
[ 2689.180521][ T4275] INFO: lockdep is turned off.
[ 2689.180523][ T4275] Preemption disabled at:
[ 2689.180525][ T4275] [<ffffffe031f2a2dc>] binder_alloc_deferred_release+0x2c/0x388
..
..
[ 2689.213419][ T4275]  __might_resched+0x174/0x178
[ 2689.213423][ T4275]  __might_sleep+0x48/0x7c
[ 2689.213426][ T4275]  vfree+0x4c/0x15c
[ 2689.213430][ T4275]  kvfree+0x24/0x44
[ 2689.213433][ T4275]  binder_alloc_deferred_release+0x2c0/0x388
[ 2689.213436][ T4275]  binder_proc_dec_tmpref+0x15c/0x2a8
[ 2689.213440][ T4275]  binder_deferred_func+0xa8/0x8ec
[ 2689.213442][ T4275]  process_one_work+0x254/0x59c
[ 2689.213447][ T4275]  worker_thread+0x274/0x3ec
[ 2689.213450][ T4275]  kthread+0x110/0x134
[ 2689.213453][ T4275]  ret_from_fork+0x10/0x20

Fix it by moving the place of kvfree outside of spinlock context.

Fixes: 36c55ce8703c ("binder_alloc: Replace kcalloc with kvcalloc to mitigate OOM issues")
Acked-by: Carlos Llamas <cmllamas@google.com>
Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
Link: https://lore.kernel.org/r/20240725062510.2856662-1-quic_mojha@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 356093827
Change-Id: Ic1e342ba8eb843dc49a6c4a91c7ba0f99d5e54fd
(cherry picked from commit 2c10a20f5e84ab777d29ed921d4c78d66de6d0fb)
[cmllamas: fix merge issues due to missing 36c55ce8703c]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2024-09-11 20:55:36 +00:00
Daniel Borkmann
75c9b1955b UPSTREAM: bpf: Fix overrunning reservations in ringbuf
[ Upstream commit cfa1a2329a691ffd991fcf7248a57d752e712881 ]

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.

Bug: 349976340
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: Sasha Levin <sashal@kernel.org>
(cherry picked from commit d1b9df0435)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I57847858a13e15118ef18a00257e45f96597e938
2024-09-11 14:40:57 +00:00
Suren Baghdasaryan
fdec2610bf ANDROID: gki_config: Disable CONFIG_DEBUG_STACK_USAGE
This config option was not requested by any partner and has non-zero
overhead on process creation. Disable it.

Bug: 191150949
Bug: 365466166
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: Ia9547c989c22246c46ed9624a0707c6369ee4de0
2024-09-11 01:52:51 +00:00
Pierre Couillaud
d02968a023 ANDROID: gki_defconfig: Enable CONFIG_SERIAL_8250_BCM7271
Enable BCM UART driver for Broadcom Set Top Box SoCs.

Bug: 365149220
Change-Id: I8784b1f5820dcdcecca8f71fc7d378dc0407f6a0
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
Signed-off-by: Danesh Petigara <danesh.petigara@broadcom.com>
2024-09-10 16:10:25 -07:00