Commit Graph

1161718 Commits

Author SHA1 Message Date
Minchan Kim
ab384f79d4 ANDROID: Update the ABI symbol list
Adding the following symbols:
  - bitmap_find_free_region
  - bitmap_release_region
  - of_graph_get_endpoint_by_regs
  - __traceiter_android_rvh_mapping_shrinkable
  - __traceiter_android_rvh_util_est_update
  - __tracepoint_android_rvh_mapping_shrinkable
  - __tracepoint_android_rvh_util_est_update

Bug: 347958166
Change-Id: I4feadf95bf24da1a1554a828e181d4ec65cc9a32
Signed-off-by: Minchan Kim <minchan@google.com>
2024-08-13 20:24:01 +00:00
Minchan Kim
bbf690e531 ANDROID: add vendor hook for mapping_shrinkable
To control inode memory reclaim, add restricted vendor hook.

Bug: 347958166
Change-Id: Iefb9ef66c9fd5abae99adb1200263e4642f991cc
Signed-off-by: Minchan Kim <minchan@google.com>
2024-08-13 20:23:47 +00:00
Bart Van Assche
660e1a2695 FROMLIST: sd: Retry START STOP UNIT commands
During system resume, sd_start_stop_device() submits a START STOP UNIT
command to the SCSI device that is being resumed. That command is not
retried in case of a unit attention and hence may fail. An example:

[16575.983359] sd 0:0:0:3: [sdd] Starting disk
[16575.983693] sd 0:0:0:3: [sdd] Start/Stop Unit failed: Result: hostbyte=0x00 driverbyte=DRIVER_OK
[16575.983712] sd 0:0:0:3: [sdd] Sense Key : 0x6
[16575.983730] sd 0:0:0:3: [sdd] ASC=0x29 ASCQ=0x0
[16575.983738] sd 0:0:0:3: PM: dpm_run_callback(): scsi_bus_resume+0x0/0xa0 returns -5
[16575.983783] sd 0:0:0:3: PM: failed to resume async: error -5

Make the SCSI core retry the START STOP UNIT command if a retryable
error is encountered.

Cc: Damien Le Moal <dlemoal@kernel.org>
Cc: Mike Christie <michael.christie@oracle.com>
Change-Id: Ic8e0859c4455d93fcabee42f1598858571f5f3d1
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Bug: 348341595
Link: https://lore.kernel.org/linux-scsi/yq17ccp1i4b.fsf@ca-mkp.ca.oracle.com/T/#m52a26a50649b1d537cb129e5653f723509d6bde7
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2024-08-13 19:10:55 +00:00
Bart Van Assche
4ab8dafa79 FROMLIST: scsi: core: Retry passthrough commands if SCMD_RETRY_PASSTHROUGH is set
The SCSI core does not retry passthrough commands even if the SCSI device
reports a retryable unit attention condition. Support retrying in this case
by introducing the SCMD_RETRY_PASSTHROUGH flag.

Cc: Damien Le Moal <dlemoal@kernel.org>
Cc: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Bart Van Assche <bvanassche@google.com>
Bug: 348341595
Link: https://lore.kernel.org/linux-scsi/yq17ccp1i4b.fsf@ca-mkp.ca.oracle.com/T/#mfdb1a3a0d6d4803afe1098bdafc12fd4168e30e0
Change-Id: I44092a0d8853fd61bf619e5bae6d65eaaddad780
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2024-08-13 19:10:55 +00:00
Seiya Wang
8288de8306 ANDROID: GKI: Update symbol list for mtk
1 function symbol(s) added
  'struct snd_kcontrol* snd_soc_cnew(const struct snd_kcontrol_new*, void*, const char*, const char*)'

Bug: 359437271
Signed-off-by: Seiya Wang <seiya.wang@mediatek.com>
Change-Id: I53d2771c95cabfc6931a83eb43e1499b9de8bc8b
2024-08-13 09:48:27 +00:00
Vamsidhar reddy Gaddam
79436849ef ANDROID: Update the ABI symbol list
Adding the following symbols:
  - vm_unmapped_area

Bug: 344489121
Change-Id: I1798b662e81283e1f8e8f2091e5e4b6d2d4fe2c0
Signed-off-by: Vamsidhar reddy Gaddam <gvamsi@google.com>
2024-08-09 17:37:44 +00:00
Sukjin Kong
be8ff39d2e ANDROID: GKI: add symbol list for telechips
Add symbol list file abi_gki_aarch64_telechips

INFO: 18 function symbol(s) added
  'int devm_clk_hw_register_clkdev(struct device*, struct clk_hw*, const char*, const char*)'
  'struct fwnode_handle* fwnode_get_next_parent(struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_get_parent(const struct fwnode_handle*)'
  'int linear_range_get_value_array(const struct linear_range*, int, unsigned int, unsigned int*)'
  'int media_device_register_entity(struct media_device*, struct media_entity*)'
  'struct media_link* media_entity_find_link(struct media_pad*, struct media_pad*)'
  'void* of_fdt_unflatten_tree(const unsigned long*, struct device_node*, struct device_node**)'
  'int regmap_irq_chip_get_base(struct regmap_irq_chip_data*)'
  'int regulator_mode_to_status(unsigned int)'
  'int regulator_set_soft_start_regmap(struct regulator_dev*)'
  'int snd_pcm_hw_constraint_pow2(struct snd_pcm_runtime*, unsigned int, snd_pcm_hw_param_t)'
  'int snd_soc_dai_set_clkdiv(struct snd_soc_dai*, int, int)'
  'void symbol_put_addr(void*)'
  'int trace_define_field(struct trace_event_call*, const char*, const char*, int, int, int, int)'
  'int uart_parse_earlycon(char*, unsigned char*, resource_size_t*, char**)'
  'int v4l2_fill_pixfmt_mp(struct v4l2_pix_format_mplane*, u32, u32, u32)'
  'int vfs_fsync(struct file*, int)'
  'int vsscanf(const char*, const char*, va_list)'

1 variable symbol(s) added
  'const struct kernel_param_ops param_ops_short'

Bug: 358151308
Signed-off-by: Sukjin Kong <sj.kong@telechips.com>
Change-Id: I13cefc3999f4e8a0b748c126cb179ac5f6c61e22
2024-08-08 17:19:37 +00:00
Peter Wang
7003f6b36a UPSTREAM: ufs: core: bypass quick recovery if need force reset
If force_reset is true, bypass quick recovery.
This will shorten error recovery time.

Bug: 356536706

Change-Id: I86ce0e8ac79b61e203a8fdad5369d540ae873cc0
Signed-off-by: Peter Wang <peter.wang@mediatek.com>
Link: https://lore.kernel.org/r/20240712094506.11284-1-peter.wang@mediatek.com
Reviewed-by: Bean Huo <beanhuo@micron.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit 022587d8aec3da1d1698ddae9fb8cfe35f3ad49c)
2024-08-08 16:53:10 +00:00
nischaljain
99d09135c4 ANDROID: Update the ABI symbol list
Adding the `devfreq_get_devfreq_by_phandle` symbol.

Bug: 336947817
Change-Id: I5db1e6c7ba5a845f2116aa0e5438e7f8fece4a65
Signed-off-by: nischaljain <nischaljain@google.com>
2024-08-08 05:09:57 +00:00
Petr Pavlu
1bb38f7865 UPSTREAM: ring-buffer: Fix a race between readers and resize checks
The reader code in rb_get_reader_page() swaps a new reader page into the
ring buffer by doing cmpxchg on old->list.prev->next to point it to the
new page. Following that, if the operation is successful,
old->list.next->prev gets updated too. This means the underlying
doubly-linked list is temporarily inconsistent, page->prev->next or
page->next->prev might not be equal back to page for some page in the
ring buffer.

The resize operation in ring_buffer_resize() can be invoked in parallel.
It calls rb_check_pages() which can detect the described inconsistency
and stop further tracing:

[  190.271762] ------------[ cut here ]------------
[  190.271771] WARNING: CPU: 1 PID: 6186 at kernel/trace/ring_buffer.c:1467 rb_check_pages.isra.0+0x6a/0xa0
[  190.271789] Modules linked in: [...]
[  190.271991] Unloaded tainted modules: intel_uncore_frequency(E):1 skx_edac(E):1
[  190.272002] CPU: 1 PID: 6186 Comm: cmd.sh Kdump: loaded Tainted: G            E      6.9.0-rc6-default #5 158d3e1e6d0b091c34c3b96bfd99a1c58306d79f
[  190.272011] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.0-0-gd239552c-rebuilt.opensuse.org 04/01/2014
[  190.272015] RIP: 0010:rb_check_pages.isra.0+0x6a/0xa0
[  190.272023] Code: [...]
[  190.272028] RSP: 0018:ffff9c37463abb70 EFLAGS: 00010206
[  190.272034] RAX: ffff8eba04b6cb80 RBX: 0000000000000007 RCX: ffff8eba01f13d80
[  190.272038] RDX: ffff8eba01f130c0 RSI: ffff8eba04b6cd00 RDI: ffff8eba0004c700
[  190.272042] RBP: ffff8eba0004c700 R08: 0000000000010002 R09: 0000000000000000
[  190.272045] R10: 00000000ffff7f52 R11: ffff8eba7f600000 R12: ffff8eba0004c720
[  190.272049] R13: ffff8eba00223a00 R14: 0000000000000008 R15: ffff8eba067a8000
[  190.272053] FS:  00007f1bd64752c0(0000) GS:ffff8eba7f680000(0000) knlGS:0000000000000000
[  190.272057] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  190.272061] CR2: 00007f1bd6662590 CR3: 000000010291e001 CR4: 0000000000370ef0
[  190.272070] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  190.272073] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  190.272077] Call Trace:
[  190.272098]  <TASK>
[  190.272189]  ring_buffer_resize+0x2ab/0x460
[  190.272199]  __tracing_resize_ring_buffer.part.0+0x23/0xa0
[  190.272206]  tracing_resize_ring_buffer+0x65/0x90
[  190.272216]  tracing_entries_write+0x74/0xc0
[  190.272225]  vfs_write+0xf5/0x420
[  190.272248]  ksys_write+0x67/0xe0
[  190.272256]  do_syscall_64+0x82/0x170
[  190.272363]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[  190.272373] RIP: 0033:0x7f1bd657d263
[  190.272381] Code: [...]
[  190.272385] RSP: 002b:00007ffe72b643f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[  190.272391] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f1bd657d263
[  190.272395] RDX: 0000000000000002 RSI: 0000555a6eb538e0 RDI: 0000000000000001
[  190.272398] RBP: 0000555a6eb538e0 R08: 000000000000000a R09: 0000000000000000
[  190.272401] R10: 0000555a6eb55190 R11: 0000000000000246 R12: 00007f1bd6662500
[  190.272404] R13: 0000000000000002 R14: 00007f1bd6667c00 R15: 0000000000000002
[  190.272412]  </TASK>
[  190.272414] ---[ end trace 0000000000000000 ]---

Note that ring_buffer_resize() calls rb_check_pages() only if the parent
trace_buffer has recording disabled. Recent commit d78ab792705c
("tracing: Stop current tracer when resizing buffer") causes that it is
now always the case which makes it more likely to experience this issue.

The window to hit this race is nonetheless very small. To help
reproducing it, one can add a delay loop in rb_get_reader_page():

 ret = rb_head_page_replace(reader, cpu_buffer->reader_page);
 if (!ret)
 	goto spin;
 for (unsigned i = 0; i < 1U << 26; i++)  /* inserted delay loop */
 	__asm__ __volatile__ ("" : : : "memory");
 rb_list_head(reader->list.next)->prev = &cpu_buffer->reader_page->list;

.. and then run the following commands on the target system:

 echo 1 > /sys/kernel/tracing/events/sched/sched_switch/enable
 while true; do
 	echo 16 > /sys/kernel/tracing/buffer_size_kb; sleep 0.1
 	echo 8 > /sys/kernel/tracing/buffer_size_kb; sleep 0.1
 done &
 while true; do
 	for i in /sys/kernel/tracing/per_cpu/*; do
 		timeout 0.1 cat $i/trace_pipe; sleep 0.2
 	done
 done

To fix the problem, make sure ring_buffer_resize() doesn't invoke
rb_check_pages() concurrently with a reader operating on the same
ring_buffer_per_cpu by taking its cpu_buffer->reader_lock.

Link: https://lore.kernel.org/linux-trace-kernel/20240517134008.24529-3-petr.pavlu@suse.com

Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fixes: 659f451ff2 ("ring-buffer: Add integrity check at end of iter read")
Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
[ Fixed whitespace ]
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Bug: 357487733
Change-Id: Ieed52c111e4f4f969a88be1221118eee6e3b4837
(cherry picked from commit c2274b908db05529980ec056359fae916939fdaa)
Signed-off-by: Youngmin Nam <youngmin.nam@samsung.com>
2024-08-06 11:32:05 +09:00
Paul Menzel
37391192a9 UPSTREAM: lib/build_OID_registry: avoid non-destructive substitution for Perl < 5.13.2 compat
On a system with Perl 5.12.1, commit 5ef6dc08cfde
("lib/build_OID_registry: don't mention the full path of the script in
output") causes the build to fail with the error below.

     Bareword found where operator expected at ./lib/build_OID_registry line 41, near "s#^\Q$abs_srctree/\E##r"
     syntax error at ./lib/build_OID_registry line 41, near "s#^\Q$abs_srctree/\E##r"
     Execution of ./lib/build_OID_registry aborted due to compilation errors.
     make[3]: *** [lib/Makefile:352: lib/oid_registry_data.c] Error 255

Ahmad Fatoum analyzed that non-destructive substitution is only supported since
Perl 5.13.2. Instead of dropping `r` and having the side effect of modifying
`$0`, introduce a dedicated variable to support older Perl versions.

Link: https://lkml.kernel.org/r/20240702223512.8329-2-pmenzel@molgen.mpg.de
Link: https://lkml.kernel.org/r/20240701155802.75152-1-pmenzel@molgen.mpg.de
Fixes: 5ef6dc08cfde ("lib/build_OID_registry: don't mention the full path of the script in output")
Link: https://lore.kernel.org/all/259f7a87-2692-480e-9073-1c1c35b52f67@molgen.mpg.de/
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Suggested-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Nicolas Schier <nicolas@fjasle.eu>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Bug: 346559442
Bug: 347759457
Change-Id: I367a4d22f3c27c8912703d061360e5aa2c7a5642
(cherry picked from commit 2fe29fe945637b9834c5569fbb1c9d4f881d8263)
Signed-off-by: Giuliano Procida <gprocida@google.com>
2024-08-05 09:56:05 +00:00
Uwe Kleine-König
c0cf9ce611 UPSTREAM: lib/build_OID_registry: don't mention the full path of the script in output
This change strips the full path of the script generating
lib/oid_registry_data.c to just lib/build_OID_registry.  The motivation
for this change is Yocto emitting a build warning

	File /usr/src/debug/linux-lxatac/6.7-r0/lib/oid_registry_data.c in package linux-lxatac-src contains reference to TMPDIR [buildpaths]

So this change brings us one step closer to make the build result
reproducible independent of the build path.

Link: https://lkml.kernel.org/r/20240313211957.884561-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Bug: 346559442
Bug: 347759457
Change-Id: I09c19f26fd33ed95106174cd2f2fc7217ba99f34
(cherry picked from commit 5ef6dc08cfde240b8c748733759185646e654570)
Signed-off-by: Giuliano Procida <gprocida@google.com>
2024-08-05 09:55:45 +00:00
Ajit Singh Raghav
6aafd06a46 ANDROID: GKI: Add symbol list for exynosauto
netdev_master_upper_dev_get
nla_append

These symbols are required to use WIFI BCM driver.

Following functions are added in STG file through abi_update
1 function symbol(s) added
  'struct net_device* netdev_master_upper_dev_get(struct net_device*)'

Bug: 357016601

Change-Id: Iff752b54d88258f2d61fab397da1104145c9297f
Signed-off-by: Ajit Singh Raghav <ajit.raghav@samsung.com>
2024-08-02 23:08:46 +00:00
Gao Xiang
4ac7f55b98 UPSTREAM: erofs: fix race in z_erofs_get_gbuf()
In z_erofs_get_gbuf(), the current task may be migrated to another
CPU between `z_erofs_gbuf_id()` and `spin_lock(&gbuf->lock)`.

Therefore, z_erofs_put_gbuf() will trigger the following issue
which was found by stress test:

<2>[772156.434168] kernel BUG at fs/erofs/zutil.c:58!
..
<4>[772156.435007]
<4>[772156.439237] CPU: 0 PID: 3078 Comm: stress Kdump: loaded Tainted: G            E      6.10.0-rc7+ #2
<4>[772156.439239] Hardware name: Alibaba Cloud Alibaba Cloud ECS, BIOS 1.0.0 01/01/2017
<4>[772156.439241] pstate: 83400005 (Nzcv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--)
<4>[772156.439243] pc : z_erofs_put_gbuf+0x64/0x70 [erofs]
<4>[772156.439252] lr : z_erofs_lz4_decompress+0x600/0x6a0 [erofs]
..
<6>[772156.445958] stress (3127): drop_caches: 1
<4>[772156.446120] Call trace:
<4>[772156.446121]  z_erofs_put_gbuf+0x64/0x70 [erofs]
<4>[772156.446761]  z_erofs_lz4_decompress+0x600/0x6a0 [erofs]
<4>[772156.446897]  z_erofs_decompress_queue+0x740/0xa10 [erofs]
<4>[772156.447036]  z_erofs_runqueue+0x428/0x8c0 [erofs]
<4>[772156.447160]  z_erofs_readahead+0x224/0x390 [erofs]
..

Bug: 356412494
Fixes: f36f3010f676 ("erofs: rename per-CPU buffers to global buffer pool and make it configurable")
Cc: <stable@vger.kernel.org> # 6.10+
Reviewed-by: Chunhai Guo <guochunhai@vivo.com>
Reviewed-by: Sandeep Dhavale <dhavale@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Change-Id: Ic4924c6c14ee27af6f3c89ea5c562493b3c112a4
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20240722035110.3456740-1-hsiangkao@linux.alibaba.com
(cherry picked from commit 7dc5537c3f8be87e005f0844a7626c987914f8fd)
Signed-off-by: Sandeep Dhavale <dhavale@google.com>
2024-08-01 19:52:17 +00:00
Richard Fung
055518d9f3 ANDROID: fuse: Skip canonical path logic if ENOSYS
Not all FUSE servers have implemented canonical_path such as virtiofs.
This patch makes it so they go through the same logic as other
filesystems that don't have canonical path implemented.

Bug: 330136711
Test: ./cts-tradefed run commandAndExit cts -m CtsIncidentHostTestCases -t com.android.server.cts.ErrorsTest#testTombstone

Change-Id: I35f19bd1a12420015128ac9bc2662b9bd252a612
Signed-off-by: Richard Fung <richardfung@google.com>
(cherry picked from commit 4b0be62caf6923eac6acdb5a44eb03688e6f9dc5)
2024-07-31 19:01:32 +00:00
Tiffany Yang
a112c9c24c ANDROID: fsnotify: Do not notify lower fs of open when ENOSYS
Even though FUSE supports d_canonical_path, the underlying server may
not implement the operation. In that case, follow the same logic for
filesystems that do not have the canonical path operation instead of
returning early from fsnotify_file with an error.

Bug: 326995824
Test: cts-tradefed run commandAndExit cts -m CtsOsTestCases -t android.os.cts.FileObserverTest

Change-Id: Iae618d4159222b06467b9a0bbb67fb67885aa65e
Signed-off-by: Tiffany Yang <ynaffit@google.com>
(cherry picked from commit 61d32e739d27dd35353a22804023f099b383df3b)
2024-07-31 19:00:38 +00:00
Charan Teja Kalla
7d0a1d6b86 ANDROID: mm: madvise: Avoid counting swap entry references for migration entries
Race between the madvise(PAGEOUT) and migration caused by page offline
can make the swp_swapcount()->_swap_info_get emitting the "Bad swap file
entry " message because it is trying to get the info on the migration
entry. Add check if it is a migration entry.

Bug: 356032508
Fixes: aee36dd530 ("ANDROID: mm: add vendor hooks in madvise for swap entry")
Change-Id: Ia209d2a0103ac506ceae8fd71f733c1dc85443a6
Signed-off-by: Charan Teja Kalla <quic_charante@quicinc.com>
Signed-off-by: Nikhil V <quic_nprakash@quicinc.com>
2024-07-30 12:04:24 +05:30
Manish Pandey
7fa70ede91 UPSTREAM: scsi: ufs: core: Changing the status to check inflight
ufshcd_cmd_inflight() is used to check whether or not a command is in
progress. Make it skip commands that have already completed by changing the !blk_mq_request_started(rq) check into blk_mq_rq_state(rq) !=
MQ_RQ_IN_FLIGHT. We cannot rely on lrbp->cmd since lrbp->cmd is not
cleared when a command completes.

Link: https://lore.kernel.org/linux-scsi/20230517223157.1068210-3-bvanassche@acm.org/
Signed-off-by: SEO HOYOUNG <hy50.seo@samsung.com>
Link: https://lore.kernel.org/r/20240411071444.51873-1-hy50.seo@samsung.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 353887042
(cherry picked from commit 13c28be58c2bdb12e554e01b0e35621060068b11)
Change-Id: I038c3956c55967f38a339a13c16fe7518ee4eb17
Signed-off-by: Manish Pandey <quic_mapa@quicinc.com>
2024-07-26 18:44:19 +00:00
karam.lee
6201b295b8 ANDROID: Update the ABI symbol list
Adding the following symbols:
 - __traceiter_android_vh_hibernate_state
 - __tracepoint_android_vh_hibernate_state

Bug: 342523877
Change-Id: I249ec4ce3b2db80470b2d4d862acf4a882ece199
Signed-off-by: karam.lee <karam.lee@lge.com>
2024-07-26 17:53:16 +00:00
karam.lee
f571d0bdaa ANDROID: power: add vendor hook to handle hibernate failures
The driver or external module may need handling due to hibernate failure.
This error cannot be detected outside of the hibernate() function.
so Add a vendor hook to receive and handle errors in hibernate().

Bug: 342523877
Change-Id: I221e26f571d94e5d5c5aae19937945bb8981f85b
Signed-off-by: karam.lee <karam.lee@lge.com>
2024-07-26 17:53:16 +00:00
Greg Kroah-Hartman
d7387786c2 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:34:53 +00:00
Todd Kjos
47af2fba7c ANDROID: fix kernelci build-break for !CONFIG_ANDROID_VENDOR_OEM_DATA
A recent change to add hooks for firmware-based hibernation
added a reference to android_vendor_data1 which breaks
builds that don't enable vendor data.

Fixes: d2cb755a4398 ("ANDROID: vendor hooks: Add hooks to support bootloader based hibernation")
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I449e968f8d0926c8573150553eed0905faeac3f3
2024-07-25 20:28:25 +00:00
Marcus Ma
918790efaa ANDROID: GKI: update symbol list file for xiaomi
6 function symbol(s) added
  'void __traceiter_android_vh_handle_trylock_failed_folio(struct list_head *)'
  'void __traceiter_android_vh_folio_trylock_set(struct folio *)'
  'void __traceiter_android_vh_folio_trylock_clear(struct folio *)'
  'void __traceiter_android_vh_get_folio_trylock_result(struct folio *, bool *)'
  'void __traceiter_android_vh_do_folio_trylock(struct folio *, struct rw_semaphore *, bool *, bool *)'
  'long reclaim_pages(struct list_head *folio_list)'

5 variable symbol(s) added
  'struct tracepoint __tracepoint_android_vh_handle_trylock_failed_folio'
  'struct tracepoint __tracepoint_android_vh_folio_trylock_set'
  'struct tracepoint __tracepoint_android_vh_folio_trylock_clear'
  'struct tracepoint __tracepoint_android_vh_get_folio_trylock_result'
  'struct tracepoint __tracepoint_android_vh_do_folio_trylock'

Bug: 353608806

Change-Id: Ibdf1757c41483961074a87f37c60de7db60d8636
Signed-off-by: Marcus Ma <maminghui5@xiaomi.corp-partner.google.com>
2024-07-25 15:45:24 +08:00
Marcus Ma
d01f9af472 ANDROID: vendor_hooks: vendor hooks for optimizing the blocking problem
caused by rwsem lock contention of reverse mapping during memory
recycling.

Dear Sir, We want to apply the following five trace hook:
1、trace_android_vh_do_folio_trylock()
2、trace_android_vh_get_folio_trylock_result()
3、trace_android_vh_folio_trylock_clear()
4、trace_android_vh_folio_trylock_set()
5、trace_android_vh_handle_trylock_failed_folio().

The optimization objectives are as follows: In the process of memory
recycling,reverse mapping is indispensable. The role of reverse mapping
is to find all vma or page tables mapped to this page through physical
address or page structure. Therefore,the process of reverse mapping will
inevitably bring synchronous operations. Whether it is file page or an
anonymous page,the synchronization operation is realized through the
rwsem read-write lock. Therefore,when kswapd or the user's key thread
enters direct_reclaim,the rwsem lock will cause the entire recycling
link to be blocked,resulting in low memory recycling efficiency and
affecting the user experience. On Xiaomi mobile phones,there is a
situation in which the reverse mapping is stuck in the rwsem read-write
lock during the file page recycling process,causing the entire recycling link to be blocked,so that the memory cannot be recycled in time. The display on the trace shows that there are a large number of D states,and its block function is rmap_walk_file,therefore,for non-forced
recycling scenarios,try_lock and asynchronous recycling are used to
handle related blocked pages.

Bug: 353608806

Change-Id: I3973c9ddc4e25f8b20e763a4a8aa2dd327e3139d
Signed-off-by: Marcus Ma <maminghui5@xiaomi.corp-partner.google.com>
2024-07-25 15:12:23 +08:00
Geert Uytterhoeven
dd8ee5c242 UPSTREAM: of: reserved_mem: Use proper binary prefix
The printed reserved memory information uses the non-standard "K"
prefix, while all other printed values use proper binary prefixes.
Fix this by using "Ki" instead.

While at it, drop the superfluous spaces inside the parentheses, to
reduce printed line length.

Bug: 353554778
Fixes: aeb9267eb6 ("of: reserved-mem: print out reserved-mem details during boot")
Change-Id: I1cf499acd46f83b43adf381d19044675983e24bc
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230216083725.1244817-1-geert+renesas@glider.be
Signed-off-by: Rob Herring <robh@kernel.org>
(cherry picked from commit 6ee7afbabc)
Signed-off-by: Danesh Petigara <danesh.petigara@broadcom.com>
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2024-07-24 19:19:20 +00:00
Doug Berger
8ea8aeba31 BACKPORT: gpio: of: support gpio-ranges for multiple gpiochip devices
Some drivers (e.g. gpio-mt7621 and gpio-brcmstb) have multiple
gpiochip banks within a single device. Unfortunately, the
gpio-ranges property of the device node was being applied to
every gpiochip of the device with device relative GPIO offset
values rather than gpiochip relative GPIO offset values.

This commit makes use of the gpio_chip offset value which can be
non-zero for such devices to split the device node gpio-ranges
property into GPIO offset ranges that can be applied to each
of the relevant gpiochips of the device.

Bug: 353554778
Change-Id: I868f0cd8e4dc8003547a34f3cfd57eece731622f
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20240424185039.1707812-3-opendmb@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
(cherry picked from commit e818cd3c8a345c046edff00b5ad0be4d39f7e4d4)
[danesh: Resolved minor conflict in drivers/gpio/gpiolib-of.c]
Signed-off-by: Danesh Petigara <danesh.petigara@broadcom.com>
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2024-07-24 19:19:20 +00:00
Doug Berger
54edf65d08 UPSTREAM: dt-bindings: gpio: brcmstb: add gpio-ranges
Add optional gpio-ranges device-tree property to the Broadcom
Set-Top-Box GPIO controller.

Bug: 353554778
Change-Id: I95d9e6153e91d4270e1802c97bb4863de8b494c0
Signed-off-by: Doug Berger <opendmb@gmail.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240424185039.1707812-2-opendmb@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
(cherry picked from commit 7c66f8173360556ac0c3c38a91234af5a0a5a4a9)
Signed-off-by: Danesh Petigara <danesh.petigara@broadcom.com>
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2024-07-24 19:19:20 +00:00
Paul Lawrence
e0bd441f08 ANDROID: Incremental fs: Retry page faults on non-fatal errors
In order to not freeze on corrupt data, we need to turn off
FAULT_FLAG_ALLOW_RETRY. However, this means we no longer retry on EINTR,
so an interrupted read will lead to page faults.

The fault handler does not seem to allow dynamic decisions as to whether
to turn on or off this flag.

To resolve both issues, add a flag to indicate if there are corrupt
pages in a file, and only if there are turn off this flag.

Also fsanitize changed the behavior of mlock - mlock should fail if the
page reads fail, but with fsanitize it returns 0 then page faults on
access. This broke this test, and fsanitize offers little value on test
code, so disable it.

Test: incfs_test passes
Bug: 343532239
Change-Id: Id2ced4be3310109206d65dcc92dea05c05131182
Signed-off-by: Paul Lawrence <paullawrence@google.com>
(cherry picked from commit b7bd4d088751a23209e0636e4d71502ef07b2d33)
2024-07-24 16:18:16 +00:00
Pierre Couillaud
9077d52bd8 ANDROID: GKI: Update symbol list for BCMSTB
INFO: 1 function symbol(s) added
  'int scsi_resume_device(struct scsi_device*)'

Bug: 355032755
Change-Id: I65f90942b8062c559aeb2cb09394846a39c5e1dc
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
2024-07-24 04:00:22 +00:00
Bian Jin chen
9fe4f05b40 ANDROID: GKI: Update rockchip symbols for dw_hdmi_qp.
4 function symbol(s) added
  'const struct drm_edid* drm_edid_alloc(const void*, size_t)'
  'int drm_edid_connector_update(struct drm_connector*, const struct drm_edid*)'
  'const struct edid* drm_edid_raw(const struct drm_edid*)'
  'const struct drm_edid* drm_edid_read_ddc(struct drm_connector*, struct i2c_adapter*)'

Bug: 300024866
Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com>
Change-Id: I3085829b4c799b1a38426576841a4bc23ba531ec
2024-07-24 02:47:35 +00:00
Jose Ignacio Tornos Martinez
d2ab7b14ca UPSTREAM: net: usb: ax88179_178a: improve reset check
After ecf848eb934b ("net: usb: ax88179_178a: fix link status when link is
set to down/up") to not reset from usbnet_open after the reset from
usbnet_probe at initialization stage to speed up this, some issues have
been reported.

It seems to happen that if the initialization is slower, and some time
passes between the probe operation and the open operation, the second reset
from open is necessary too to have the device working. The reason is that
if there is no activity with the phy, this is "disconnected".

In order to improve this, the solution is to detect when the phy is
"disconnected", and we can use the phy status register for this. So we will
only reset the device from reset operation in this situation, that is, only
if necessary.

The same bahavior is happening when the device is stopped (link set to
down) and later is restarted (link set to up), so if the phy keeps working
we only need to enable the mac again, but if enough time passes between the
device stop and restart, reset is necessary, and we can detect the
situation checking the phy status register too.

Bug: 339479352
cc: stable@vger.kernel.org # 6.6+
Fixes: ecf848eb934b ("net: usb: ax88179_178a: fix link status when link is set to down/up")
Reported-by: Yongqin Liu <yongqin.liu@linaro.org>
Reported-by: Antje Miederhöfer <a.miederhoefer@gmx.de>
Reported-by: Arne Fitzenreiter <arne_f@ipfire.org>
Tested-by: Yongqin Liu <yongqin.liu@linaro.org>
Tested-by: Antje Miederhöfer <a.miederhoefer@gmx.de>
Change-Id: I0b5944bd0bf353281c884b93c15243c2f395dbbf
Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 7be4cb7189f747b4e5b6977d0e4387bde3204e62)
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2024-07-23 16:25:59 +00:00
Jose Ignacio Tornos Martinez
8cfaae3d49 UPSTREAM: net: usb: ax88179_178a: fix link status when link is set to down/up
The idea was to keep only one reset at initialization stage in order to
reduce the total delay, or the reset from usbnet_probe or the reset from
usbnet_open.

I have seen that restarting from usbnet_probe is necessary to avoid doing
too complex things. But when the link is set to down/up (for example to
configure a different mac address) the link is not correctly recovered
unless a reset is commanded from usbnet_open.

So, detect the initialization stage (first call) to not reset from
usbnet_open after the reset from usbnet_probe and after this stage, always
reset from usbnet_open too (when the link needs to be rechecked).

Apply to all the possible devices, the behavior now is going to be the same.

Bug: 339479352

cc: stable@vger.kernel.org # 6.6+
Fixes: 56f78615bcb1 ("net: usb: ax88179_178a: avoid writing the mac address before first reading")
Reported-by: Isaac Ganoung <inventor500@vivaldi.net>
Reported-by: Yongqin Liu <yongqin.liu@linaro.org>
Change-Id: I6314fcc4df3be9624b91545f1cf033144e3ae9ec
Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240510090846.328201-1-jtornosm@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit ecf848eb934b03959918f5269f64c0e52bc23998)
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2024-07-23 16:25:59 +00:00
Lee Jones
f21999db6a UPSTREAM: usb: gadget: configfs: Prevent OOB read/write in usb_string_copy()
commit 6d3c721e686ea6c59e18289b400cc95c76e927e0 upstream.

Userspace provided string 's' could trivially have the length zero. Left
unchecked this will firstly result in an OOB read in the form
`if (str[0 - 1] == '\n') followed closely by an OOB write in the form
`str[0 - 1] = '\0'`.

There is already a validating check to catch strings that are too long.
Let's supply an additional check for invalid strings that are too short.

Bug: 346754046
Signed-off-by: Lee Jones <lee@kernel.org>
Cc: stable <stable@kernel.org>
Link: https://lore.kernel.org/r/20240705074339.633717-1-lee@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d1205033e9)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: Id9a34f3e5495aef0d2a800a1386210f4d9fa8116
2024-07-23 06:12:28 +00:00
Amit Sunil Dhamne
4a9ef0dc4b UPSTREAM: usb: typec: tcpm: fix use-after-free case in tcpm_register_source_caps
There could be a potential use-after-free case in
tcpm_register_source_caps(). This could happen when:
 * new (say invalid) source caps are advertised
 * the existing source caps are unregistered
 * tcpm_register_source_caps() returns with an error as
   usb_power_delivery_register_capabilities() fails

This causes port->partner_source_caps to hold on to the now freed source
caps.

Reset port->partner_source_caps value to NULL after unregistering
existing source caps.

Fixes: 230ecdf71a64 ("usb: typec: tcpm: unregister existing source caps before re-registration")
Cc: stable@vger.kernel.org
Signed-off-by: Amit Sunil Dhamne <amitsd@google.com>
Reviewed-by: Ondrej Jirman <megi@xff.cz>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240514220134.2143181-1-amitsd@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 335453765
(cherry picked from commit e7e921918d905544500ca7a95889f898121ba886)
Change-Id: I655ac689dd559dfe22fdf545ef5a39ae056f2bde
Signed-off-by: Amit Sunil Dhamne <amitsd@google.com>
2024-07-22 20:55:16 +00:00
Amit Sunil Dhamne
e8ff0d5cdd UPSTREAM: usb: typec: tcpm: unregister existing source caps before re-registration
Check and unregister existing source caps in tcpm_register_source_caps
function before registering new ones. This change fixes following
warning when port partner resends source caps after negotiating PD contract
for the purpose of re-negotiation.

[  343.135030][  T151] sysfs: cannot create duplicate filename '/devices/virtual/usb_power_delivery/pd1/source-capabilities'
[  343.135071][  T151] Call trace:
[  343.135076][  T151]  dump_backtrace+0xe8/0x108
[  343.135099][  T151]  show_stack+0x18/0x24
[  343.135106][  T151]  dump_stack_lvl+0x50/0x6c
[  343.135119][  T151]  dump_stack+0x18/0x24
[  343.135126][  T151]  sysfs_create_dir_ns+0xe0/0x140
[  343.135137][  T151]  kobject_add_internal+0x228/0x424
[  343.135146][  T151]  kobject_add+0x94/0x10c
[  343.135152][  T151]  device_add+0x1b0/0x4c0
[  343.135187][  T151]  device_register+0x20/0x34
[  343.135195][  T151]  usb_power_delivery_register_capabilities+0x90/0x20c
[  343.135209][  T151]  tcpm_pd_rx_handler+0x9f0/0x15b8
[  343.135216][  T151]  kthread_worker_fn+0x11c/0x260
[  343.135227][  T151]  kthread+0x114/0x1bc
[  343.135235][  T151]  ret_from_fork+0x10/0x20
[  343.135265][  T151] kobject: kobject_add_internal failed for source-capabilities with -EEXIST, don't try to register things with the same name in the same directory.

Fixes: 8203d26905 ("usb: typec: tcpm: Register USB Power Delivery Capabilities")
Cc: linux-usb@vger.kernel.org
Cc: stable@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Amit Sunil Dhamne <amitsd@google.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20240424223227.1807844-1-amitsd@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 335453765
(cherry picked from commit 230ecdf71a644c9c73e0e6735b33173074ae3f94)
Change-Id: If5c563c16b426c3fb4f8d51bcbda0ba9b72d560a
Signed-off-by: Amit Sunil Dhamne <amitsd@google.com>
2024-07-22 20:55:16 +00:00
Seiya Wang
78b1a8b2e5 ANDROID: GKI: Update symbol list for mtk
2 function symbol(s) added
  'int rpmsg_chrdev_eptdev_create(struct rpmsg_device*, struct device*, struct rpmsg_channel_info)'
  'int rpmsg_chrdev_eptdev_destroy(struct device*, void*)'

1 variable symbol(s) added
  'struct class* rpmsg_class'

Bug: 354094574
Change-Id: I3c10ffb4a472076f93190266d38ee5197d663ce3
Signed-off-by: Seiya Wang <seiya.wang@mediatek.com>
2024-07-22 10:16:27 +00:00
Greg Kroah-Hartman
002bba562d Merge tag 'android14-6.1.90_r00' into android14-6.1
This merges up to the 6.1.90 LTS release into the android14-6.1 branch.
Included in here are the following commits:

* c034535679 Revert "macsec: Enable devices to advertise whether they update sk_buff md_dst during offloads"
* 35df421fc4 Revert "macsec: Detect if Rx skb is macsec-related for offloading devices that update md_dst"
* f17db53dd9 Revert "net/mlx5e: Advertise mlx5 ethernet driver updates sk_buff md_dst for MACsec"
*   62184d7812 Merge 6.1.90 into android14-6.1-lts
|\
| * 909ba1f1b4 Linux 6.1.90
| * ca817d44be net/mlx5e: Advertise mlx5 ethernet driver updates sk_buff md_dst for MACsec
| * 21e042d29e macsec: Detect if Rx skb is macsec-related for offloading devices that update md_dst
| * 6536f12fe2 macsec: Enable devices to advertise whether they update sk_buff md_dst during offloads
| * 9b7c5004d7 bounds: Use the right number of bits for power-of-two CONFIG_NR_CPUS
| * 4e75e222d3 i2c: smbus: fix NULL function pointer dereference
| * 25b3498485 phy: ti: tusb1210: Resolve charger-det crash if charger psy is unregistered
| * 4201b8c8f2 riscv: Fix TASK_SIZE on 64-bit NOMMU
| * 0b947c90e3 riscv: fix VMALLOC_START definition
| * 023b6390a1 dmaengine: idxd: Fix oops during rmmod on single-CPU platforms
| * 8bf5741832 dma: xilinx_dpdma: Fix locking
| * e71d5ec7c0 phy: rockchip-snps-pcie3: fix clearing PHP_GRF_PCIESEL_CON bits
| * 199895b8b6 phy: rockchip-snps-pcie3: fix bifurcation on rk3588
| * 4723dfe76d phy: freescale: imx8m-pcie: fix pcie link-up instability
| * ed4b981b1d phy: freescale: imx8m-pcie: Refine i.MX8MM PCIe PHY driver
| * d6a6bacd0a phy: marvell: a3700-comphy: Fix hardcoded array size
| * 976df695f5 phy: marvell: a3700-comphy: Fix out of bounds read
| * 2203a447fd idma64: Don't try to serve interrupts when device is powered off
| * 33d8e3e5f3 dmaengine: tegra186: Fix residual calculation
| * 56bce3fcf8 dmaengine: owl: fix register access functions
| * a8e8c79ed2 x86/tdx: Preserve shared bit on mprotect()
| * 2bd852307f rust: remove `params` from `module` macro example
| * ad371d69a6 mtd: diskonchip: work around ubsan link failure
| * 4ebf1ff60e udp: preserve the connected status if only UDP cmsg
| * e3f0519da4 fbdev: fix incorrect address computation in deferred IO
| * d0205d6e0a stackdepot: respect __GFP_NOLOCKDEP allocation flag
| * c35fc18071 net: b44: set pause params only when interface is up
| * 8e2c583c26 ethernet: Add helper for assigning packet type when dest address does not match device address
| * ba234a54ee ACPI: CPPC: Fix access width used for PCC registers
| * 0f708a7e0a ACPI: CPPC: Fix bit_offset shift in MASK_VAL() macro
| * 01fc53be67 ACPI: CPPC: Use access_width over bit_width for system memory accesses
| * dd681710ab irqchip/gic-v3-its: Prevent double free on error
| * 64f9d8ac2c drm/amdgpu: Fix leak when GPU memory allocation fails
| * 404b0ae432 drm/amdgpu/sdma5.2: use legacy HDP flush for SDMA2/3
| * ffddf569e3 arm64: dts: rockchip: enable internal pull-up for Q7_THRM# on RK3399 Puma
| * ba9bcc0e58 LoongArch: Fix access error when read fault on a write-only VMA
| * 94021d1d2b LoongArch: Fix callchain parse error with kernel tracepoint events
| * 38f17d1fbb cpu: Re-enable CPU mitigations by default for !X86 architectures
| * 8bdbcfaf3e btrfs: fix information leak in btrfs_ioctl_logical_to_ino()
| * 0561b65fbd HID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up
| * c7a4bca289 smb3: fix lock ordering potential deadlock in cifs_sync_mid_result
| * 2b8bf690e0 smb: client: Fix struct_group() usage in __packed structs
| * a957ea5aa3 mmc: sdhci-msm: pervent access to suspended controller
| * e60502b907 Bluetooth: qca: fix NULL-deref on non-serdev suspend
| * e6dd0117e9 Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0bda:0x4853
| * c788236289 Bluetooth: Fix type of len in {l2cap,sco}_sock_getsockopt_old()
| * 4e6cd21498 rust: make mutually exclusive with CFI_CLANG
| * 9f882077f5 rust: don't select CONSTRUCTORS
| * 6a190e7ca4 x86/cpu: Fix check for RDPKRU in __show_regs()
| * 0c42f7e039 fork: defer linking file vma until vma is fully initialized
| * 539a2b995a virtio_net: Do not send RSS key if it is not supported
| * 34410fcad9 Revert "crypto: api - Disallow identical driver names"
| * b3686200ad cifs: Replace remaining 1-element arrays
| * 2ceacda270 af_unix: Suppress false-positive lockdep splat for spin_lock() in __unix_gc().
| * f05caed833 net: ethernet: ti: am65-cpts: Fix PTPv1 message type on TX packets
| * 777d7d0049 iavf: Fix TC config comparison with existing adapter TC config
| * 81ad28ac21 i40e: Report MFS in decimal base instead of hex
| * 152ed360cf i40e: Do not use WQ_MEM_RECLAIM flag for workqueue
| * 13ba94f6cc netfilter: nf_tables: honor table dormant flag from netdev release event path
| * e325357440 eth: bnxt: fix counting packets discarded due to OOM and netpoll
| * 5bfe7bf965 mlxsw: spectrum_acl_tcam: Fix memory leak when canceling rehash work
| * 4526a56e02 mlxsw: spectrum_acl_tcam: Fix incorrect list API usage
| * 751d352858 mlxsw: spectrum_acl_tcam: Fix warning during rehash
| * b822644fd9 mlxsw: spectrum_acl_tcam: Fix memory leak during rehash
| * 78884187c0 mlxsw: spectrum_acl_tcam: Rate limit error message
| * 813e2ab753 mlxsw: spectrum_acl_tcam: Fix possible use-after-free during rehash
| * b996e8699d mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity update
| * 19ebdce660 mlxsw: spectrum_acl_tcam: Fix race during rehash delayed work
| * bca6fa2d9a net: openvswitch: Fix Use-After-Free in ovs_ct_exit
| * f4861f052f ipvs: Fix checksumming on GSO of SCTP packets
| * 4115403dc9 Bluetooth: qca: set power_ctrl_enabled on NULL returned by gpiod_get_optional()
| * 31f18a1f58 Bluetooth: hci_sync: Using hci_cmd_sync_submit when removing Adv Monitor
| * 14051cbcf3 Bluetooth: MGMT: Fix failing to MGMT_OP_ADD_UUID/MGMT_OP_REMOVE_UUID
| * 25a1c2d4b1 net: gtp: Fix Use-After-Free in gtp_dellink
| * 5e5e1865b7 net: usb: ax88179_178a: stop lying about skb->truesize
| * 7a25bfd127 ipv4: check for NULL idev in ip_route_use_hint()
| * 1e9b694597 net: fix sk_memory_allocated_{add|sub} vs softirqs
| * 82810873ac net: make SK_MEMORY_PCPU_RESERV tunable
| * 0d14f10402 ax25: Fix netdev refcount issue
| * 424c69dbb2 NFC: trf7970a: disable all regulators on removal
| * 25a82005d5 bnxt_en: Fix the PCI-AER routines
| * b20beb0598 bnxt_en: refactor reset close code
| * 16be600293 bridge/br_netlink.c: no need to return void function
| * 599c9ad5e1 icmp: prevent possible NULL dereferences from icmp_build_probe()
| * d3c4b14c8a ARM: dts: microchip: at91-sama7g5ek: Replace regulator-suspend-voltage with the valid property
| * 3f7ecad54c mlxsw: core: Unregister EMAD trap using FORWARD action
| * 9064163f1c vxlan: drop packets from invalid src-address
| * 9b9c4adad6 wifi: iwlwifi: mvm: return uid from iwl_mvm_build_scan_cmd
| * d20e3beb83 wifi: iwlwifi: mvm: remove old PASN station when adding a new one
| * bab058e31a ARC: [plat-hsdk]: Remove misplaced interrupt-cells property
| * 0277e73e8e arm64: dts: rockchip: regulator for sd needs to be always on for BPI-R2Pro
| * af45b5bc30 arm64: dts: mediatek: mt2712: fix validation errors
| * 1aea205a42 arm64: dts: mediatek: mt7622: drop "reset-names" from thermal block
| * d078de8674 arm64: dts: mediatek: mt7622: fix ethernet controller "compatible"
| * da3c0740f0 arm64: dts: mediatek: mt7622: fix IR nodename
| * ce782b5a74 arm64: dts: mediatek: mt7622: fix clock controllers
| * 818f56a8b3 arm64: dts: mediatek: mt8195-cherry: Update min voltage constraint for MT6315
| * 942debbea5 arm64: dts: mediatek: mt8192-asurada: Update min voltage constraint for MT6315
| * e8ac4490db arm64: dts: mediatek: mt8195: Add missing gce-client-reg to mutex
| * 5bcfc53373 arm64: dts: mediatek: mt8195: Add missing gce-client-reg to vpp/vdosys
| * 18548e2ab9 arm64: dts: mediatek: mt8192: Add missing gce-client-reg to mutex
| * 2f83d4763a arm64: dts: mediatek: mt8183: Add power-domains properity to mfgcfg
| * 475816446f arm64: dts: rockchip: Remove unsupported node from the Pinebook Pro dts
| * 076ff06a1e arm64: dts: rockchip: enable internal pull-up on PCIE_WAKE# for RK3399 Puma
| * aa1af71dee arm64: dts: rockchip: fix alphabetical ordering RK3399 puma
| * cb5b05e619 arm64: dts: rockchip: enable internal pull-up on Q7_USB_ID for RK3399 Puma
| * 9ab1d84bdb arm64: dts: rockchip: set PHY address of MT7531 switch to 0x1f
| * 526facda61 HID: logitech-dj: allow mice to use all types of reports
| * 6b0ac25f36 HID: intel-ish-hid: ipc: Fix dev_err usage with uninitialized dev->devc
| * 4f83ca4c7a cifs: reinstate original behavior again for forceuid/forcegid
| * e24e165190 smb: client: fix rename(2) regression against samba
* | beb491c1c2 Merge 6.1.89 into android14-6.1-lts
|\|
| * dcbc050cb0 Linux 6.1.89
| * 8a5291736e Revert "ASoC: ti: Convert Pandora ASoC to GPIO descriptors"
* | 3b75c4ca77 ANDROID: update .stg for change to struct clk_core
* | 077eb0a09d Revert "usb: xhci: Add timeout argument in address_device USB HCD callback"
* | 992f4a2013 Merge 6.1.88 into android14-6.1-lts
|\|
| * f2295faba5 Linux 6.1.88
| * 0f7908a016 PCI/ASPM: Fix deadlock when enabling ASPM
| * 67a877128b ksmbd: common: use struct_group_attr instead of struct_group for network_open_info
| * 4687606d94 ksmbd: clear RENAME_NOREPLACE before calling vfs_rename
| * 21ff9d7d22 ksmbd: validate request buffer size in smb2_allocate_rsp_buf()
| * b80ba64871 ksmbd: fix slab-out-of-bounds in smb2_allocate_rsp_buf
| * 7d51db455c net: dsa: mt7530: fix enabling EEE on MT7531 switch on all boards
| * 41a004ffba net: dsa: mt7530: fix improper frames on all 25MHz and 40MHz XTAL MT7530
| * d9c2f69cc1 net: dsa: introduce preferred_default_local_cpu_port and use on MT7530
| * 013c787d23 net: dsa: mt7530: set all CPU ports in MT7531_CPU_PMAP
| * 897ac5306b nilfs2: fix OOB in nilfs_set_de_type
| * 1e7feb31a1 bootconfig: use memblock_free_late to free xbc memory to buddy
| * ad74d208f2 nouveau: fix instmem race condition around ptr stores
| * bcff1ed2ff drm/vmwgfx: Fix crtc's atomic check conditional
| * 8f79b42d1c drm/vmwgfx: Sort primary plane formats by order of preference
| * 212e3baccd drm/amdgpu: validate the parameters of bo mapping operations more clearly
| * 5ef7ba2799 mm/memory-failure: fix deadlock when hugetlb_optimize_vmemmap is enabled
| * 76c2f4d426 init/main.c: Fix potential static_command_line memory overflow
| * f7e71a7cf3 arm64: hibernate: Fix level3 translation fault in swsusp_save()
| * e09465aecc KVM: x86/pmu: Do not mask LVTPC when handling a PMI on AMD platforms
| * 0fb74c00d1 KVM: x86/pmu: Disable support for adaptive PEBS
| * e487b8eccf KVM: x86: Snapshot if a vCPU's vendor model is AMD vs. Intel compatible
| * 5d43e07228 fs: sysfs: Fix reference leak in sysfs_break_active_protection()
| * 89af25bd4b speakup: Avoid crash on very long word
| * 7c6f941492 mei: me: disable RPL-S on SPS and IGN firmwares
| * 0588bbbd71 usb: gadget: f_ncm: Fix UAF ncm object at re-bind after usb ep transport error
| * a676b17edb usb: Disable USB3 LPM at shutdown
| * 9de10b59d1 usb: dwc2: host: Fix dereference issue in DDMA completion flow.
| * 8672ad663a Revert "usb: cdc-wdm: close race between read and workqueue"
| * 4ed7c7720a USB: serial: option: add Telit FN920C04 rmnet compositions
| * 19f98f214b USB: serial: option: add Rolling RW101-GL and RW135-GL support
| * 25a299c566 USB: serial: option: support Quectel EM060K sub-models
| * 9eba075025 USB: serial: option: add Lonsung U8300/U9300 product
| * 3e34029b3c USB: serial: option: add support for Fibocom FM650/FG650
| * 3c4ba8a6c5 USB: serial: option: add Fibocom FM135-GL variants
| * 282b223cfd serial: stm32: Reset .throttled state in .startup()
| * 87d15af82d serial: stm32: Return IRQ_NONE in the ISR if no handling happend
| * bbaafbb465 serial/pmac_zilog: Remove flawed mitigation for rx irq flood
| * 2c9b943e99 serial: mxs-auart: add spinlock around changing cts state
| * ac882d6b21 comedi: vmk80xx: fix incomplete endpoint checking
| * 9eae1facfc thunderbolt: Fix wake configurations after device unplug
| * 38e10c9faa thunderbolt: Avoid notify PM core about runtime PM resume
| * a6d2a8b211 binder: check offset alignment in binder_get_object()
| * d05380576f ALSA: hda/realtek - Enable audio jacks of Haier Boyue G42 with ALC269VC
| * 943c3e45c8 x86/cpufeatures: Fix dependencies for GFNI, VAES, and VPCLMULQDQ
| * d17075a935 x86/bugs: Fix BHI retpoline check
| * 165d226472 clk: mediatek: Do a runtime PM get on controllers during probe
| * c1d87d56af clk: mediatek: clk-mtk: Extend mtk_clk_simple_probe()
| * a4fe8813a7 clk: mediatek: clk-mux: Propagate struct device for mtk-mux
| * 6f5f72a684 clk: mediatek: clk-mtk: Propagate struct device for composites
| * 082b831488 clk: mediatek: clk-gate: Propagate struct device with mtk_clk_register_gates()
| * 647a25b07d clk: mediatek: mt8192: Propagate struct device for gate clocks
| * 0904f9ef91 clk: mediatek: mt8192: Correctly unregister and free clocks on failure
| * 83ada89e4a clk: Get runtime PM before walking tree for clk_summary
| * 5a704c267a clk: Show active consumers of clocks in debugfs
| * 5833b99cf8 clk: remove unnecessary (void*) conversions
| * a424e713e0 clk: Get runtime PM before walking tree during disable_unused
| * 5558b3b68c clk: Initialize struct clk_core kref earlier
| * 43bc4cfef2 clk: Print an info line before disabling unused clocks
| * 349dbfd65f clk: Remove prepare_lock hold assertion in __clk_release()
| * f6ac4fdfa5 usb: new quirk to reduce the SET_ADDRESS request timeout
| * 5f9b63193b usb: xhci: Add timeout argument in address_device USB HCD callback
| * 1d011d972f drm: panel-orientation-quirks: Add quirk for Lenovo Legion Go
| * 7989b04d6c ALSA: scarlett2: Rename scarlett_gen2 to scarlett2
| * 39f932d295 PCI: Simplify pcie_capability_clear_and_set_word() to ..._clear_word()
| * 636f0fdb36 PCI/DPC: Use FIELD_GET()
| * aedbd09614 ALSA: scarlett2: Add Focusrite Clarett 2Pre and 4Pre USB support
| * 03bfe0e936 ALSA: scarlett2: Add Focusrite Clarett+ 2Pre and 4Pre support
| * 7c02a4a6cc ALSA: scarlett2: Add correct product series name to messages
| * b928cde9c0 ALSA: scarlett2: Default mixer driver to enabled
| * 0f4048e1a0 ASoC: ti: Convert Pandora ASoC to GPIO descriptors
| * e2b8480b70 ALSA: scarlett2: Add support for Clarett 8Pre USB
| * 4d74cb9cdf ALSA: scarlett2: Move USB IDs out from device_info struct
| * bbdfa14482 PCI: switchtec: Add support for PCIe Gen5 devices
| * 87709f7ecd PCI: switchtec: Use normal comment style
| * 89a9196aec PCI: Execute quirk_enable_clear_retrain_link() earlier
| * caa7ff1d7d thunderbolt: Add debug log for link controller power quirk
| * 932a765100 thunderbolt: Log function name of the called quirk
| * 4b7ed2400e x86/quirks: Include linux/pnp.h for arch_pnpbios_disabled()
| * f4aae2afe2 PCI: Delay after FLR of Solidigm P44 Pro NVMe
| * 0fe6a97a5f usb: pci-quirks: Reduce the length of a spinlock section in usb_amd_find_chipset_info()
| * c96b07dca1 HID: kye: Sort kye devices
| * 57aadcc028 PCI: Avoid FLR for SolidRun SNET DPU rev 1
| * 3c55d4396b ARM: omap2: n8x0: stop instantiating codec platform data
| * c330a13ab7 drm/panel: visionox-rm69299: don't unregister DSI device
| * 5fd4b09030 drm: nv04: Fix out of bounds access
| * 559f3a6333 s390/cio: fix race condition during online processing
| * beb3ff19a5 s390/qdio: handle deferred cc1
| * fe446927f8 RDMA/mlx5: Fix port number for counter query in multi-port configuration
| * ea42dbe759 RDMA/cm: Print the old state when cm_destroy_id gets timeout
| * 196617d07d RDMA/rxe: Fix the problem "mutex_destroy missing"
| * 45e811bab2 net: ethernet: ti: am65-cpsw-nuss: cleanup DMA Channels before using them
| * e86c9db58e net: dsa: mt7530: fix mirroring frames received on local port
| * 62e27ef18e tun: limit printing rate when illegal packet received by tun dev
| * 6a6ebec408 ice: tc: allow zero flags in parsing tc flower
| * 46efa4d593 net/mlx5e: Prevent deadlock while disabling aRFS
| * 8635ac7dd9 net/mlx5: Lag, restore buckets number to default after hash LAG deactivation
| * ba0db46385 af_unix: Don't peek OOB data without MSG_OOB.
| * a1d3e3521f af_unix: Call manage_oob() for every skb in unix_stream_read_generic().
| * f1c3c61701 netfilter: flowtable: incorrect pppoe tuple
| * 8bf7c76a2a netfilter: flowtable: validate pppoe header
| * 41d8fdf3af netfilter: nft_set_pipapo: do not free live element
| * b13db0d16b netfilter: br_netfilter: skip conntrack input hook for promisc packets
| * df7c0fb8c2 netfilter: nf_tables: Fix potential data-race in __nft_obj_type_get()
| * 8d56bad42a netfilter: nf_tables: Fix potential data-race in __nft_expr_type_get()
| * 408a43b6c9 x86/efistub: Remap kernel text read-only before dropping NX attribute
| * f56faf87c1 x86/sev: Move early startup code into .head.text section
| * d6f5bc5ff0 x86/sme: Move early SME kernel encryption handling into .head.text
| * e6489cc45f x86/head/64: Move the __head definition to <asm/init.h>
| * bbcd0534a3 x86/head/64: Add missing __head annotation to startup_64_load_idt()
| * 20dc656b06 x86/mm: Remove P*D_PAGE_MASK and P*D_PAGE_SIZE macros
| * d327e96157 x86/efistub: Use 1:1 file:memory mapping for PE/COFF .compat section
| * c4421279b6 x86/boot: Increase section and file alignment to 4k/512
| * 581f5d5e02 x86/boot: Split off PE/COFF .data section
| * 43b1920588 x86/boot: Drop PE/COFF .reloc section
| * d03399c3e2 x86/boot: Construct PE/COFF .text section from assembler
| * 1fa0a21475 x86/boot: Derive file size from _edata symbol
| * 1c754c6ec9 x86/boot: Define setup size in linker script
| * f9d68334dd x86/boot: Set EFI handover offset directly in header asm
| * e1380c923c x86/boot: Grab kernel_info offset from zoffset header directly
| * 67b8dc5089 x86/boot: Drop references to startup_64
| * 33d38d9b35 x86/boot: Drop redundant code setting the root device
| * 5c3e92ad49 x86/boot: Omit compression buffer from PE/COFF image memory footprint
| * f31f521ad2 x86/boot: Remove the 'bugger off' message
| * 0db16d1dce x86/efi: Drop alignment flags from PE section headers
| * 1800c9628e x86/efistub: Reinstate soft limit for initrd loading
| * f46e0e9fbe x86/efi: Disregard setup header of loaded image
| * f5603f9e13 x86/efi: Drop EFI stub .bss from .data section
| * 704edc9252 drm/i915/vma: Fix UAF on destroy against retire race
| * add0ff3486 net: usb: ax88179_178a: avoid writing the mac address before first reading
| * 07b37f227c random: handle creditable entropy from atomic process context
| * bcdd9ce78d selftests/ftrace: Limit length in subsystem-enable tests
| * 45eec81eac SUNRPC: Fix rpcgss_context trace event acceptor field
| * cbe7b911e0 io_uring: Fix io_cqring_wait() not restoring sigmask on get_timespec64() failure
| * 121a83be21 drm/amd/display: Do not recursively call manual trigger programming
| * 01c227f5a7 drm/amdgpu: fix incorrect number of active RBs for gfx11
| * 87f8aac740 drm/amdgpu: fix incorrect active rb bitmap for gfx11
| * 1e05339968 drm/vmwgfx: Enable DMA mappings with SEV
* | af0a15ff84 Merge 6.1.87 into android14-6.1-lts
|\|
| * 6741e066ec Linux 6.1.87
| * 724fbc7c0c drm/amd/display: fix disable otg wa logic in DCN316
| * 90819b1830 drm/amdgpu: always force full reset for SOC21
| * 7cc89dbcb8 drm/amdgpu: Reset dGPU if suspend got aborted
| * 29bd4d05f2 drm/i915: Disable port sync when bigjoiner is used
| * 2bc1796f8e drm/i915/cdclk: Fix CDCLK programming order when pipes are active
| * d844df1100 x86/bugs: Replace CONFIG_SPECTRE_BHI_{ON,OFF} with CONFIG_MITIGATION_SPECTRE_BHI
| * 7f18a0df76 x86/bugs: Remove CONFIG_BHI_MITIGATION_AUTO and spectre_bhi=auto
| * d737d8cd8e x86/bugs: Clarify that syscall hardening isn't a BHI mitigation
| * 4b0b5d621e x86/bugs: Fix BHI handling of RRSBA
| * dc2db3e978 x86/bugs: Rename various 'ia32_cap' variables to 'x86_arch_cap_msr'
| * b1b32586f7 x86/bugs: Cache the value of MSR_IA32_ARCH_CAPABILITIES
| * 662e341e57 x86/bugs: Fix BHI documentation
| * 0d433e4082 x86/bugs: Fix return type of spectre_bhi_state()
| * d447d8de84 irqflags: Explicitly ignore lockdep_hrtimer_exit() argument
| * 22f51ddb0c x86/apic: Force native_apic_mem_read() to use the MOV instruction
| * 881b495ed2 selftests: timers: Fix abs() warning in posix_timers test
| * 9c09773917 x86/cpu: Actually turn off mitigations by default for SPECULATION_MITIGATIONS=n
| * 0c182182d6 perf/x86: Fix out of range data
| * a2c1c0cfab vhost: Add smp_rmb() in vhost_enable_notify()
| * f6e2d61dc1 vhost: Add smp_rmb() in vhost_vq_avail_empty()
| * 18c8cc6680 drm/client: Fully protect modes[] with dev->mode_config.mutex
| * 8a6fea3fcb drm/ast: Fix soft lockup
| * d29b50a32c drm/amdkfd: Reset GPU on queue preemption failure
| * 4b53d7d620 drm/i915/vrr: Disable VRR when using bigjoiner
| * 62029bc9ff kprobes: Fix possible use-after-free issue on kprobe registration
| * 88dd8bb129 io_uring/net: restore msg_control on sendzc retry
| * c00146b399 btrfs: qgroup: convert PREALLOC to PERTRANS after record_root_in_trans
| * 06fe999854 btrfs: record delayed inode root in transaction
| * cb3131b5a2 btrfs: qgroup: correctly model root qgroup rsv in convert
| * 5f1205b86b iommu/vt-d: Allocate local memory for page request queue
| * 91580ea48b tracing: hide unused ftrace_event_id_fops
| * 19ff8fed33 net: ena: Fix incorrect descriptor free behavior
| * 7d44e12efb net: ena: Wrong missing IO completions check order
| * 4dea83d483 net: ena: Fix potential sign extension issue
| * b75722be42 af_unix: Fix garbage collector racing against connect()
| * fb6d14e23d af_unix: Do not use atomic ops for unix_sk(sk)->inflight.
| * 19643bf8c9 net: dsa: mt7530: trap link-local frames regardless of ST Port State
| * 8edb087c44 net: sparx5: fix wrong config being used when reconfiguring PCS
| * 88a50c8a50 net/mlx5e: HTB, Fix inconsistencies with QoS SQs number
| * ad26f26abd net/mlx5e: Fix mlx5e_priv_init() cleanup flow
| * 2e8dc5cffc net/mlx5: Properly link new fs rules into the tree
| * c760089aa9 netfilter: complete validation of user input
| * 9d42f37339 Bluetooth: L2CAP: Fix not validating setsockopt user input
| * 7bc65d23ba Bluetooth: SCO: Fix not validating setsockopt user input
| * de76ae9ea1 ipv6: fix race condition between ipv6_get_ifaddr and ipv6_del_addr
| * 03d564999f ipv4/route: avoid unused-but-set-variable warning
| * 2c46877f5f ipv6: fib: hide unused 'pn' variable
| * 7e33f68791 octeontx2-af: Fix NIX SQ mode and BP config
| * 84a352b7eb af_unix: Clear stale u->oob_skb.
| * 492337a4fb net: ks8851: Handle softirqs at the end of IRQ thread to fix hang
| * be03315452 net: ks8851: Inline ks8851_rx_skb()
| * ecedcd7e39 bnxt_en: Reset PTP tx_avail after possible firmware reset
| * 4a1b65d1e5 geneve: fix header validation in geneve[6]_xmit_skb
| * 2a523f14a3 xsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING
| * ac1c10b4eb u64_stats: fix u64_stats_init() for lockdep when used repeatedly in one file
| * 0b44500559 net: openvswitch: fix unwanted error log on timeout policy probing
| * 9fc74e367b scsi: qla2xxx: Fix off by one in qla_edif_app_getstats()
| * 438b9a71b2 scsi: hisi_sas: Modify the deadline for ata_wait_after_reset()
| * b7dc2e6b87 nouveau: fix function cast warning
| * 84fb600635 Revert "drm/qxl: simplify qxl_fence_wait"
| * 24c0c5867a arm64: dts: imx8-ss-conn: fix usdhc wrong lpcg clock order
| * 49054b3ed2 media: cec: core: remove length check of Timer Status
| * bccc8d1550 PM: s2idle: Make sure CPUs will wakeup directly on resume
| * bd9b94055c drm/amd/pm: fixes a random hang in S4 for SMU v13.0.4/11
| * 66fab1e120 Bluetooth: Fix memory leak in hci_req_sync_complete()
| * 2d5f12de4c ring-buffer: Only update pages_touched when a new page is touched
| * 3fe79b2c83 batman-adv: Avoid infinite loop trying to resize local TT
| * 0559b2d759 ata: libata-scsi: Fix ata_scsi_dev_rescan() error path
| * ca5962bdc5 smb3: fix Open files on server counter going negative
* | 37db5a6cac Reapply "scsi: core: Add struct for args to execution functions"
* | faf34a67eb Merge 6.1.86 into android14-6.1-lts
|\|
| * cd5d98c055 Linux 6.1.86
| * c5f9fe2c1e Revert "drm/amd/amdgpu: Fix potential ioremap() memory leaks in amdgpu_device_init()"
| * eea65ed738 VMCI: Fix possible memcpy() run-time warning in vmci_datagram_invoke_guest_handler()
| * cea93dae3e net: mpls: error out if inner headers are not set
| * 21f5cfed1e Bluetooth: btintel: Fixe build regression
| * 00e34ff1ce platform/x86: intel-vbtn: Update tablet mode switch at end of probe
| * e80b4980af randomize_kstack: Improve entropy diffusion
| * 649e564636 virtio: reenable config if freezing device failed
| * 3a9c459091 scsi: sd: usb_storage: uas: Access media prior to querying device properties
| * 345b6b8319 Revert "scsi: core: Add struct for args to execution functions"
| * f1465ff4c8 Revert "scsi: sd: usb_storage: uas: Access media prior to querying device properties"
| * cf0650adb6 gcc-plugins/stackleak: Avoid .head.text section
| * 2b85977977 tty: n_gsm: require CAP_NET_ADMIN to attach N_GSM0710 ldisc
| * 2aeb805a1b netfilter: nf_tables: discard table flag update with pending basechain deletion
| * 8d3a58af50 netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path
| * fcd1993a29 netfilter: nf_tables: release batch on table validation from abort path
| * 664206ff8b fbmon: prevent division by zero in fb_videomode_from_videomode()
| * 30044c66bc drivers/nvme: Add quirks for device 126f:2262
| * 5245a6da27 io_uring: clear opcode specific data for an early failure
| * f8a7b7b085 fbdev: viafb: fix typo in hw_bitblt_1 and hw_bitblt_2
| * 8b849265da ASoC: soc-core.c: Skip dummy codec when adding platforms
| * 103c0f946f thermal/of: Assume polling-delay(-passive) 0 when absent
| * 409289d0a1 usb: sl811-hcd: only defined function checkdone if QUIRK2 is defined
| * 57e6634e59 usb: typec: tcpci: add generic tcpci fallback compatible
| * f692c547e3 thunderbolt: Keep the domain powered when USB4 port is in redrive mode
| * 893b256261 usb: gadget: uvc: mark incomplete frames with UVC_STREAM_ERR
| * 7dbf082988 bus: mhi: host: Add MHI_PM_SYS_ERR_FAIL state
| * 63eaa43d5d tools: iio: replace seekdir() in iio_generic_buffer
| * 1e9f5619d9 ring-buffer: use READ_ONCE() to read cpu_buffer->commit_page in concurrent environment
| * 5e7da5bb2d ktest: force $buildonly = 1 for 'make_warnings_file' test type
| * 39da708cb2 perf/x86/amd/lbr: Discard erroneous branch entries
| * 44479c7fef platform/x86: touchscreen_dmi: Add an extra entry for a variant of the Chuwi Vi8 tablet
| * 70310e55b5 Input: allocate keycode for Display refresh rate toggle
| * 055e406d7b Input: imagis - use FIELD_GET where applicable
| * 4097b1f10f RDMA/cm: add timeout to cm_destroy_id wait
| * 512a01da71 block: prevent division by zero in blk_rq_stat_sum()
| * c87e811cae input/touchscreen: imagis: Correct the maximum touch area value
| * b7d153bfba libperf evlist: Avoid out-of-bounds access
| * aaefa79c15 Revert "ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default"
| * 43be051f35 SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int
| * 3a94feab04 drm/amd/amdgpu: Fix potential ioremap() memory leaks in amdgpu_device_init()
| * 354a5d7bb7 drm/amd/display: Fix nanosec stat overflow
| * aba664845a ext4: forbid commit inconsistent quota data when errors=remount-ro
| * baba351068 ext4: add a hint for block bitmap corrupt state in mb_groups
| * b75395ec4b ALSA: firewire-lib: handle quirk to calculate payload quadlets as data block counter
| * 84ed33a082 media: sta2x11: fix irq handler cast
| * 2e2177f94c Julia Lawall reported this null pointer dereference, this should fix it.
| * 3f3c1e735d rcu-tasks: Repair RCU Tasks Trace quiescence check
| * eae948ecd5 ASoC: Intel: common: DMI remap for rebranded Intel NUC M15 (LAPRC710) laptops
| * 13701b0f01 isofs: handle CDs with bad root inode but good Joliet root directory
| * ee0b5f96b6 scsi: lpfc: Fix possible memory leak in lpfc_rcv_padisc()
| * 53cb1e52c9 sysv: don't call sb_bread() with pointers_lock held
| * 5238e1c2bd pinctrl: renesas: checker: Limit cfg reg enum checks to provided IDs
| * c87dd15918 drm: panel-orientation-quirks: Add quirk for GPD Win Mini
| * ac1e0f080a Input: synaptics-rmi4 - fail probing if memory allocation for "phys" fails
| * 48bfb4b03c drm/vc4: don't check if plane->state->fb == state->fb
| * a83a7728e4 Bluetooth: btmtk: Add MODULE_FIRMWARE() for MT7922
| * b19fe5eea6 Bluetooth: btintel: Fix null ptr deref in btintel_read_version
| * d7ee3bf0ca net/smc: reduce rtnl pressure in smc_pnet_create_pnetids_list()
| * 5693dd6d3d ice: use relative VSI index for VFs instead of PF VSI number
| * 9ae356c627 btrfs: send: handle path ref underflow in header iterate_inode_ref()
| * 0f30f95b91 btrfs: export: handle invalid inode or root reference in btrfs_get_parent()
| * 36c2a2863b btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks()
| * 50bd749c60 cpufreq: Don't unregister cpufreq cooling on CPU hotplug
| * 6597a6687a wifi: ath11k: decrease MHI channel buffer length to 8KB
| * 4e0cfb25d4 dma-direct: Leak pages on dma_set_decrypted() failure
| * a3f6045ce3 net: pcs: xpcs: Return EINVAL in the internal methods
| * 51a9b20a04 tools/power x86_energy_perf_policy: Fix file leak in get_pkg_num()
| * 635594cca5 pstore/zone: Add a null pointer check to the psz_kmsg_read
| * 8ead0a04a7 wifi: brcmfmac: Add DMI nvram filename quirk for ACEPC W5 Pro
| * 161d6b8037 firmware: tegra: bpmp: Return directly after a failed kzalloc() in get_filename()
| * 8af60bb2b2 net: skbuff: add overflow debug check to pull/push helpers
| * b8ca15861c ionic: set adminq irq affinity
| * 6925d11fbd arm64: dts: rockchip: fix rk3399 hdmi ports node
| * a292048934 arm64: dts: rockchip: fix rk3328 hdmi ports node
| * b510fbe3a7 cpuidle: Avoid potential overflow in integer multiplication
| * 94b016b28b panic: Flush kernel log buffer at the end
| * 8d80e09202 wifi: iwlwifi: pcie: Add the PCI device id for new hardware
| * feacd430b4 VMCI: Fix memcpy() run-time warning in dg_dispatch_as_host()
| * fd5fdacae9 wifi: rtw89: pci: enlarge RX DMA buffer to consider size of RX descriptor
| * d6b0472d5f bnx2x: Fix firmware version string character counts
| * 7dd4831c3e wifi: ath9k: fix LNA selection in ath_ant_try_scan()
| * e6768c6737 amdkfd: use calloc instead of kzalloc to avoid integer overflow
* | a28d27f66e ANDROID: fix crc issue in net/ipv4/inet_fragment.c
* | da08c217d8 ANDROID: preserve CRC values in struct sk_buff due to ip_defrag_offset removal
* | 416b90bf47 Revert "vsock/virtio: fix packet delivery to tap device"
* | 66a1080110 Merge 6.1.85 into android14-6.1-lts
|\|
| * bf1e3b1cb1 Linux 6.1.85
| * e21838dfd0 x86: set SPECTRE_BHI_ON as default
| * 3e4283b771 KVM: x86: Add BHI_NO
| * 43704e993a x86/bhi: Mitigate KVM by default
| * bb8384b6df x86/bhi: Add BHI mitigation knob
| * 42196bdec0 x86/bhi: Enumerate Branch History Injection (BHI) bug
| * 29c50bb6fb x86/bhi: Define SPEC_CTRL_BHI_DIS_S
| * 07dbb10f15 x86/bhi: Add support for clearing branch history at syscall entry
| * 74fcb18177 x86/syscall: Don't force use of indirect calls for system calls
| * fd52c0397b x86/bugs: Change commas to semicolons in 'spectre_v2' sysfs file
| * 5e6898b854 nvme: fix miss command type check
| * 9c2b4b6577 mm/secretmem: fix GUP-fast succeeding on secretmem folios
| * a6dc534c07 selftests: mptcp: display simult in extra_msg
| * d1fefedc1a mptcp: don't account accept() of non-MPC client as fallback to TCP
| * 08ef93ebc7 selftests: mptcp: join: fix dev in check_endpoint
| * 7e8360ac87 smb: client: fix potential UAF in cifs_signal_cifsd_for_reconnect()
| * f941400479 smb: client: fix potential UAF in smb2_is_network_name_deleted()
| * 494c91e1e9 smb: client: fix potential UAF in is_valid_oplock_break()
| * c868cabdf6 smb: client: fix potential UAF in smb2_is_valid_lease_break()
| * 84488466b7 smb: client: fix potential UAF in smb2_is_valid_oplock_break()
| * 16b7d78577 smb: client: fix potential UAF in cifs_stats_proc_show()
| * 8fefd166fc smb: client: fix potential UAF in cifs_stats_proc_write()
| * 2290423146 smb: client: fix potential UAF in cifs_debug_files_proc_show()
| * 8c99dfb49b smb3: retrying on failed server close
| * f6583444d7 riscv: process: Fix kernel gp leakage
| * c88f7a7095 riscv: Fix spurious errors from __get/put_kernel_nofault
| * 447d844a3e s390/entry: align system call table on 8 bytes
| * 22943e4fe4 x86/coco: Require seeding RNG with RDRAND on CoCo systems
| * 20a915154c x86/mce: Make sure to grab mce_sysfs_mutex in set_bank()
| * 97e93367e8 x86/mm/pat: fix VM_PAT handling in COW mappings
| * 7b6df050c4 of: dynamic: Synchronize of_changeset_destroy() with the devlink removals
| * 9406d598a1 driver core: Introduce device_link_wait_removal()
| * f35d7ede62 ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone
| * 2ff8f06550 ALSA: hda/realtek - Fix inactive headset mic jack
| * 883e072e83 ksmbd: do not set SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1
| * 51a6c2af9d ksmbd: validate payload size in ipc response
| * 2e5f8dc1de ksmbd: don't send oplock break if rename fails
| * 7ef6a7f9b3 x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk
| * c19715ec25 nfsd: hold a lighter-weight client reference over CB_RECALL_ANY
| * 12059cf048 ata: sata_mv: Fix PCI device ID table declaration compilation warning
| * 78942ac754 cifs: Fix caching to try to do open O_WRONLY as rdwr on server
| * 9adcfd5670 scsi: sd: Unregister device if device_add_disk() failed in sd_probe()
| * 4b87c1bc25 scsi: mylex: Fix sysfs buffer lengths
| * 7171d6aef1 ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit
| * 7ff957cea8 ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw
| * 4ff3d8ac62 ASoC: rt711-sdw: fix locking sequence
| * 044c34fe35 ASoC: rt711-sdca: fix locking sequence
| * eb028d1ebd ASoC: rt5682-sdw: fix locking sequence
| * 392c47fea7 drm/panfrost: fix power transition timeout warnings
| * 81f7c9da2b drivers/perf: riscv: Disable PERF_SAMPLE_BRANCH_* while not supported
| * d00c24ddec 9p: Fix read/write debug statements to report server reply
| * 90a477dfda fs/pipe: Fix lockdep false-positive in watchqueue pipe_write()
| * 4af6d5b4d9 KVM: SVM: Add support for allowing zero SEV ASIDs
| * 2233bd583c KVM: SVM: Use unsigned integers when dealing with ASIDs
| * 815c2a1c43 KVM: SVM: WARN, but continue, if misc_cg_set_capacity() fails
| * 2f7efda53a KVM: SVM: enhance info printk's in SEV init
| * f089d4554a net: ravb: Always update error counters
| * f9690dfa18 net: ravb: Always process TX descriptor ring
| * 265a0fc55f net: ravb: Let IP-specific receive function to interrogate descriptors
| * b3608fe28f net: fec: Set mac_managed_pm during probe
| * c178122207 drivers: net: convert to boolean for the mac_managed_pm flag
| * 4eed9d0a48 tcp: Fix bind() regression for v6-only wildcard and v4(-mapped-v6) non-wildcard addresses.
| * 77db987b47 r8169: prepare rtl_hw_aspm_clkreq_enable for usage in atomic context
| * 9109472e71 r8169: use spinlock to protect access to registers Config2 and Config5
| * a33b7cb184 r8169: use spinlock to protect mac ocp register access
| * 095cfa2d9b i40e: Enforce software interrupt during busy-poll exit
| * 2f6953617d i40e: Remove _t suffix from enum type names
| * f3c2ceb847 i40e: Store the irq number in i40e_q_vector
| * 810dd068ae drm/amd: Flush GFXOFF requests in prepare stage
| * 43df8e64df drm/amd: Add concept of running prepare_suspend() sequence for IP blocks
| * 2990d8eacd drm/amd: Evict resources during PM ops prepare() callback
| * 3e89846283 i40e: fix vf may be used uninitialized in this function warning
| * fe74ea5b8b i40e: fix i40e_count_filters() to count only active/new filters
| * d417e3c16d octeontx2-af: Add array index check
| * e7e7030f0a octeontx2-pf: check negative error code in otx2_open()
| * 39efe5b6f6 octeontx2-af: Fix issue with loading coalesced KPU profiles
| * 940ff35ae8 udp: prevent local UDP tunnel packets from being GROed
| * 8c58d38405 udp: do not transition UDP GRO fraglist partial checksums to unnecessary
| * d12245080c udp: do not accept non-tunnel GSO skbs landing in a tunnel
| * fd6692e9b5 r8169: skip DASH fw status checks when DASH is disabled
| * 80247e0eca mlxbf_gige: stop interface during shutdown
| * 167d4b47a9 ipv6: Fix infinite recursion in fib6_dump_done().
| * 2febb7eeb4 selftests: reuseaddr_conflict: add missing new line at the end of the output
| * 1db7fcb2b2 erspan: make sure erspan_base_hdr is present in skb->head
| * 1829b618cc i40e: Fix VF MAC filter removal
| * ed37bdaee6 x86/retpoline: Do the necessary fixup to the Zen3/4 srso return thunk for !SRSO
| * 23178ec5ab x86/bugs: Fix the SRSO mitigation on Zen3/4
| * 2eeab8c47c gro: fix ownership transfer
| * 66cb665900 selftests: net: gro fwd: update vxlan GRO test expectations
| * 1060816169 net: phy: micrel: Fix potential null pointer dereference
| * 77f5e52d7b net: phy: micrel: lan8814: Fix when enabling/disabling 1-step timestamping
| * e01835f3a1 net: stmmac: fix rx queue priority assignment
| * b7d1ce2cc7 net/sched: fix lockdep splat in qdisc_tree_reduce_backlog()
| * 55d3fe7b2b net/sched: act_skbmod: prevent kernel-infoleak
| * a44770fed8 bpf, sockmap: Prevent lock inversion deadlock in map delete elem
| * 8a57544e92 vboxsf: Avoid an spurious warning if load_nls_xxx() fails
| * 18aae2cb87 netfilter: validate user input for expected length
| * 9b5b7708ec netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get()
| * 4e8447a9a3 netfilter: nf_tables: flush pending destroy work before exit_net release
| * 745cf6a843 netfilter: nf_tables: reject new basechain after table flag update
| * 1c9e71ca61 Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped."
| * db388b8e12 vsock/virtio: fix packet delivery to tap device
| * fc77240f63 net: usb: ax88179_178a: avoid the interface always configured as random address
| * cbaac2e548 net/rds: fix possible cp null dereference
| * 7c1250796b xen-netfront: Add missing skb_mark_for_recycle
| * 18e189442a Bluetooth: Fix TOCTOU in HCI debugfs implementation
| * 38e3eaa861 Bluetooth: hci_event: set the conn encrypted before conn establishes
| * 3e773d04ae Bluetooth: add quirk for broken address properties
| * a2812ff7ea Bluetooth: qca: fix device-address endianness
| * 298dc5dd38 arm64: dts: qcom: sc7180-trogdor: mark bluetooth address as broken
| * 9bf4acc802 Revert "Bluetooth: hci_qca: Set BDA quirk bit if fwnode exists in DT"
| * 5d920886c3 x86/cpufeatures: Add CPUID_LNX_5 to track recently added Linux-defined word
| * 3d61f1704b r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d
| * 923579201d KVM: arm64: Fix host-programmed guest events in nVHE
| * ad141b08d1 perf/x86/amd/lbr: Use freeze based on availability
| * 8d029111b8 x86/cpufeatures: Add new word for scattered features
| * 58638e3b48 dm integrity: fix out-of-range warning
| * 7d0567842b inet: inet_defrag: prevent sk release while still in use
| * 0642673765 Octeontx2-af: fix pause frame configuration in GMP mode
| * 2553bfaa19 net: lan743x: Add set RFE read fifo threshold for PCI1x1x chips
| * 852698c9fd cifs: Fix duplicate fscache cookie warnings
| * 98cdac206b bpf: Protect against int overflow for stack access size
| * 24444af5dd mlxbf_gige: call request_irq() after NAPI initialized
| * 30fabe50a7 tls: get psock ref after taking rxlock to avoid leak
| * f52c8f1210 tls: adjust recv return with async crypto and failed copy to userspace
| * efb4573fea tls: recv: process_rx_list shouldn't use an offset with kvec
| * 0e111ce740 net: hns3: mark unexcuted loopback test result as UNEXECUTED
| * 50b69054f4 net: hns3: fix kernel crash when devlink reload during pf initialization
| * b8b533eeee net: hns3: fix index limit to support all queue stats
| * ebabdae52f ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields()
| * beaf0e7996 net: wwan: t7xx: Split 64bit accesses to fix alignment issues
| * 91b243de91 tcp: properly terminate timers for kernel sockets
| * 16307e7bc1 s390/qeth: handle deferred cc1
| * 231b189fa1 ixgbe: avoid sleeping allocation in ixgbe_ipsec_vf_add_sa()
| * 99a75d7500 wifi: iwlwifi: mvm: rfi: fix potential response leaks
| * 57beec623a mlxbf_gige: stop PHY during open() error paths
| * b51ec7fc9f nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet
| * 0336995512 dma-buf: Fix NULL pointer dereference in sanitycheck()
| * 8333aae9bb scripts/bpf_doc: Use silent mode when exec make cmd
* 7b7c6df465 Merge branch 'android14-6.1' into branch 'android14-6.1-lts'
* 0cf5cecba6 Revert "crypto: api - Disallow identical driver names"

Change-Id: Iace3d6c28e979288bd5e452ec7513ce23ee300d6
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-07-20 13:53:50 +00:00
Manish Pandey
6d6afa9d3f FROMGIT: scsi: ufs: core: Suspend clk scaling on no request
Currently UFS clk scaling is getting suspended only when the clks are
scaled down. When high load is generated, a huge amount of latency is
added due to scaling up the clk and completing the request post that.

Suspending the scaling in its existing state when high load is generated
improves the random performance KPI by 28%. So suspending the scaling when there are no requests. And the clk would be put in low scaled state when the actual request load is low.

Make this change optional by having the check enabled using vops since for some devices suspending without bringing the clk in low scaled state might have impact on power consumption of the SoC.

The change takes advantage of the hole in 'struct ufs_clk_scaling' before ANDROID_KABI_RESERVE and does not change the size of the struct.
Use __GENKSYMS__ marker to preserve the abi correctly.

Signed-off-by: Ram Prakash Gupta <quic_rampraka@quicinc.com>
Link: https://lore.kernel.org/r/20240627083756.25340-2-quic_rampraka@quicinc.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 351099319
(cherry picked from commit 50183ac2cfb54e027dd36fb22ea1bd1e91e3a08b
https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git 6.11/scsi-staging)
Change-Id: I6e11beab7bc56746e7e1ae1ea25f9ab205394ef7
Signed-off-by: Manish Pandey <quic_mapa@quicinc.com>
(cherry picked from commit 78931ac60273825b4141796eb8631424b3690712)
2024-07-19 19:40:17 +00:00
Manish Pandey
f858f0ff4e FROMGIT: scsi: ufs: qcom: Enable suspending clk scaling on no request
Enable suspending clk scaling on no request for Qualcomm SoC.

Signed-off-by: Ram Prakash Gupta <quic_rampraka@quicinc.com>
Link: https://lore.kernel.org/r/20240627083756.25340-3-quic_rampraka@quicinc.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 351099319
(cherry picked from commit ed7dac86f1406d73aed21d0cd1563922031a2fd8
https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git 6.11/scsi-staging)
Change-Id: Ifbdc14ceae5a59c04a5977b56a198fd295253b3e
Signed-off-by: Manish Pandey <quic_mapa@quicinc.com>
(cherry picked from commit fcfa54b63051a70ad2467a444001b302e97fe9eb)
2024-07-19 09:55:29 +00:00
Kalesh Singh
f3437db870 ANDROID: 16K: Don't set padding vm_flags on 32-bit archs
vma_pad_fixup_flags() and is_mergable_pad_vma() were inadvertently
affecting the vm_flags on 32-bit arch, making some VMAs not mergable.

This causes zygote to crash as the Art GC's heap compaction fails.

The compaction depends on mremap() which will fail when operating on
a range that spans multiple VMAs [1]. This can happen now due to the
incorrect is_mergable_pad_vma() check.

Make all the pgsize_migration APIs no-ops in 32-bit architectures,
since Android only performs ELF segment extension in 64-bit archs.

[1] https://github.com/torvalds/linux/blob/v6.9/mm/mremap.c#L841-L843

Bug: 353667356
Change-Id: Id9b0076ef173d75a4afc85577355d340fce03e65
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-07-18 17:02:45 +00:00
quic_anane
fc94b39f66 ANDROID: abi_gki_aarch64_qcom: Add groups_free symbol
Add groups_free to abi_gki_aarch64_qcom.

1 function symbol(s) added
  'void groups_free(struct group_info*)'

Bug: 352712755

Change-Id: I4ee87435608c3050c2ebbe82e3d1b43bfb4700db
Signed-off-by: quic_anane <quic_anane@quicinc.com>
2024-07-18 05:27:55 +05:30
Kuen-Han Tsai
c78828e383 FROMLIST: usb: gadget: u_serial: Add null pointer checks after RX/TX submission
Commit ffd603f214 ("usb: gadget: u_serial: Add null pointer check in
gs_start_io") adds null pointer checks to gs_start_io(), but it doesn't
fully fix the potential null pointer dereference issue. While
gserial_connect() calls gs_start_io() with port_lock held, gs_start_rx()
and gs_start_tx() release the lock during endpoint request submission.
This creates a window where gs_close() could set port->port_tty to NULL,
leading to a dereference when the lock is reacquired.

This patch adds a null pointer check for port->port_tty after RX/TX
submission, and removes the initial null pointer check in gs_start_io()
since the caller must hold port_lock and guarantee non-null values for
port_usb and port_tty.

Fixes: ffd603f214 ("usb: gadget: u_serial: Add null pointer check in gs_start_io")
Cc: stable@vger.kernel.org
Signed-off-by: Kuen-Han Tsai <khtsai@google.com>

Bug: 283247551
Link: https://lore.kernel.org/lkml/20240116141801.396398-1-khtsai@google.com/
Change-Id: Ib850c7d313194074941576a7fdd3a9f58486ad78
Signed-off-by: Kuen-Han Tsai <khtsai@google.com>
2024-07-17 09:15:33 +00:00
Gao Xiang
7de5ae52b1 UPSTREAM: erofs: fix uninitialized page cache reported by KMSAN
syzbot reports a KMSAN reproducer [1] which generates a crafted
filesystem image and causes IMA to read uninitialized page cache.

Later, (rq->outputsize > rq->inputsize) will be formally supported
after either large uncompressed pclusters (> block size) or big
lclusters are landed.  However, currently there is no way to generate
such filesystems by using mkfs.erofs.

Thus, let's mark this condition as unsupported for now.

[1] https://lore.kernel.org/r/0000000000002be12a0611ca7ff8@google.com

Bug: 353575918
Reported-and-tested-by: syzbot+7bc44a489f0ef0670bd5@syzkaller.appspotmail.com
Fixes: 1ca01520148a ("erofs: refine z_erofs_transform_plain() for sub-page block support")
Reviewed-by: Sandeep Dhavale <dhavale@google.com>
Reviewed-by: Yue Hu <huyue2@coolpad.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Change-Id: I7a8e0bc81c1f4512d3640b243e8124a61d849028
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20240304035339.425857-1-hsiangkao@linux.alibaba.com
(cherry picked from commit 893e5e9b7369a02e7ceaa6d98db6739162005b03)
Signed-off-by: Sandeep Dhavale <dhavale@google.com>
2024-07-16 14:26:37 -07:00
Greg Kroah-Hartman
4965ad067b ANDROID: Fix abi issues in struct sk_buff
In commit 18685451fc4e ("inet: inet_defrag: prevent sk release while
still in use"), struct sk_buff dropped an unneeded union structure.
This did not change the actual structure size or layout at all, but the
abi checker didn't like it.  So trick it by putting some __GENKSYMS__
markers in to preserve the abi correctly.

Bug: 335584858
Fixes: 18685451fc4e ("inet: inet_defrag: prevent sk release while still in use")
Change-Id: I78ca54f9df3e03cccebc326babf1d84ccb5dc781
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-07-16 08:37:58 +00:00
Florian Westphal
47d9c7690e UPSTREAM: inet: inet_defrag: prevent sk release while still in use
ip_local_out() and other functions can pass skb->sk as function argument.

If the skb is a fragment and reassembly happens before such function call
returns, the sk must not be released.

This affects skb fragments reassembled via netfilter or similar
modules, e.g. openvswitch or ct_act.c, when run as part of tx pipeline.

Eric Dumazet made an initial analysis of this bug.  Quoting Eric:
  Calling ip_defrag() in output path is also implying skb_orphan(),
  which is buggy because output path relies on sk not disappearing.

  A relevant old patch about the issue was :
  8282f27449 ("inet: frag: Always orphan skbs inside ip_defrag()")

  [..]

  net/ipv4/ip_output.c depends on skb->sk being set, and probably to an
  inet socket, not an arbitrary one.

  If we orphan the packet in ipvlan, then downstream things like FQ
  packet scheduler will not work properly.

  We need to change ip_defrag() to only use skb_orphan() when really
  needed, ie whenever frag_list is going to be used.

Eric suggested to stash sk in fragment queue and made an initial patch.
However there is a problem with this:

If skb is refragmented again right after, ip_do_fragment() will copy
head->sk to the new fragments, and sets up destructor to sock_wfree.
IOW, we have no choice but to fix up sk_wmem accouting to reflect the
fully reassembled skb, else wmem will underflow.

This change moves the orphan down into the core, to last possible moment.
As ip_defrag_offset is aliased with sk_buff->sk member, we must move the
offset into the FRAG_CB, else skb->sk gets clobbered.

This allows to delay the orphaning long enough to learn if the skb has
to be queued or if the skb is completing the reasm queue.

In the former case, things work as before, skb is orphaned.  This is
safe because skb gets queued/stolen and won't continue past reasm engine.

In the latter case, we will steal the skb->sk reference, reattach it to
the head skb, and fix up wmem accouting when inet_frag inflates truesize.

Fixes: 7026b1ddb6 ("netfilter: Pass socket pointer down through okfn().")
Diagnosed-by: Eric Dumazet <edumazet@google.com>
Reported-by: xingwei lee <xrivendell7@gmail.com>
Reported-by: yue sun <samsun1006219@gmail.com>
Reported-by: syzbot+e5167d7144a62715044c@syzkaller.appspotmail.com
Signed-off-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20240326101845.30836-1-fw@strlen.de
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
(cherry picked from commit 18685451fc4e546fc0e718580d32df3c0e5c8272)
Bug: 335584858
Change-Id: I008a7b5fc4f51c9ad0ee14cf05ba21ca3ff5d6b3
Cc: Lee Jones <joneslee@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2024-07-15 15:03:06 +00:00
zhujingpeng
96d66062d0 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>
2024-07-10 19:21:56 +00:00
Charan Teja Kalla
9e55f41695 ANDROID: abi_gki_aarch64_qcom: whitelist some mm symbols
Whitelist the below symbols:
android_vh_madvise_cold_or_pageout_page
get_shadow_from_swap_cache

Compiler o/p:
INFO: 2 function symbol(s) added
  'int __traceiter_android_vh_madvise_cold_or_pageout_page(void*, bool,
struct page*)'
  'void* get_shadow_from_swap_cache(swp_entry_t)'

1 variable symbol(s) added
  'struct tracepoint
__tracepoint_android_vh_madvise_cold_or_pageout_page'
.

Bug: 350429581
Change-Id: I3f51722c9fcdc666534b4b13c62a2f7f71387242
Signed-off-by: Charan Teja Kalla <quic_charante@quicinc.com>
2024-07-09 19:55:56 +00:00
Charan Teja Kalla
56526cf940 ANDROID: mm: swap: export and whitelist get_shadow_from_swap_cache
The shadow entry in the swapcache contains information about
a page that got swapped out during the reclaim which is then used at the
time of refault to determine if a page is going to be a workingset or
not.

Once the page is swapped out, vendors can implement some algorithms on
the swap area to determine if that page can be further pushed down to
slower devices, Eg: say from costly and faster disk to slower disk. But
if a page that is actively used is pushed to slower disk, the swapin is
going to consume time which can show up in PSI events. The side effect
of increased PSI events is, an example, increased kills by LMKD.

Alternatively, vendors can rely on the information stored in the
swapcache and determine if that particular page in the swap can be
further pushed down to slower devices.

Bug: 350429581
Change-Id: Ibeee10d40cc917229fe3b0fd9a6ef34ad27033e1
Signed-off-by: Charan Teja Kalla <quic_charante@quicinc.com>
2024-07-09 19:55:56 +00:00
Charan Teja Kalla
74be75dd10 ANDROID: mm: madvise: vendor hook to tune page flags
Users can proactively reclaim the pages of an app once it is in
background using the system calls, like madvise.  But it may be possible
that such pages turn out to be the workingset page in the conventional
LRU which while swapping can result into accounting of PSI events.

Although this PSI events is an indication that wrong pages are being
madvised, one can also argue that he is aware of what he is doing using
madvise.

For such clients, add the vendor hook to tune page flags, such as
clearing the Workingset during swapout so that PSI might not get
accounyted during swapin.

Bug: 350429581
Change-Id: I675c57f63a918c5a23df8273006426d0e611c5c5
Signed-off-by: Charan Teja Kalla <quic_charante@quicinc.com>
2024-07-09 19:55:56 +00:00
zhujingpeng
7fc3794962 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)
2024-07-09 16:59:32 +08:00