History

Merge tag 'mm-nonmm-stable-2025-10-02-15-29' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull non-MM updates from Andrew Morton: - "ida: Remove the ida_simple_xxx() API" from Christophe Jaillet completes the removal of this legacy IDR API - "panic: introduce panic status function family" from Jinchao Wang provides a number of cleanups to the panic code and its various helpers, which were rather ad-hoc and scattered all over the place - "tools/delaytop: implement real-time keyboard interaction support" from Fan Yu adds a few nice user-facing usability changes to the delaytop monitoring tool - "efi: Fix EFI boot with kexec handover (KHO)" from Evangelos Petrongonas fixes a panic which was happening with the combination of EFI and KHO - "Squashfs: performance improvement and a sanity check" from Phillip Lougher teaches squashfs's lseek() about SEEK_DATA/SEEK_HOLE. A mere 150x speedup was measured for a well-chosen microbenchmark - plus another 50-odd singleton patches all over the place * tag 'mm-nonmm-stable-2025-10-02-15-29' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (75 commits) Squashfs: reject negative file sizes in squashfs_read_inode() kallsyms: use kmalloc_array() instead of kmalloc() MAINTAINERS: update Sibi Sankar's email address Squashfs: add SEEK_DATA/SEEK_HOLE support Squashfs: add additional inode sanity checking lib/genalloc: fix device leak in of_gen_pool_get() panic: remove CONFIG_PANIC_ON_OOPS_VALUE ocfs2: fix double free in user_cluster_connect() checkpatch: suppress strscpy warnings for userspace tools cramfs: fix incorrect physical page address calculation kernel: prevent prctl(PR_SET_PDEATHSIG) from racing with parent process exit Squashfs: fix uninit-value in squashfs_get_parent kho: only fill kimage if KHO is finalized ocfs2: avoid extra calls to strlen() after ocfs2_sprintf_system_inode_name() kernel/sys.c: fix the racy usage of task_lock(tsk->group_leader) in sys_prlimit64() paths sched/task.h: fix the wrong comment on task_lock() nesting with tasklist_lock coccinelle: platform_no_drv_owner: handle also built-in drivers coccinelle: of_table: handle SPI device ID tables lib/decompress: use designated initializers for struct compress_format efi: support booting with kexec handover (KHO) ...

Linus Torvalds committed 1 year ago

Commit e406d572 parents 8804d97 9f1c14c78 files · +1619 −476Browse files

Showing the changes to scripts (3 of 78 files). Show all

Unified · Split

3 files
  1. scripts/checkpatch.pl +9 −5
  2. scripts/coccinelle/api/platform_no_drv_owner.cocci +9 −0
  3. scripts/coccinelle/misc/of_table.cocci +7 −7
scripts/checkpatch.pl+9−5
@@ -2636,6 +2636,11 @@ sub exclude_global_initialisers { · 2635 unmodified lines
2636 $realfile =~ m@/bpf/.*\.bpf\.c$@;2636 $realfile =~ m@/bpf/.*\.bpf\.c$@;
2637}2637}
2638 2638
2639sub is_userspace {
2640 my ($realfile) = @_;
2641 return ($realfile =~ m@^tools/@ || $realfile =~ m@^scripts/@);
2642}
2643
2639sub process {2644sub process {
2640 my $filename = shift;2645 my $filename = shift;
2641 2646
@@ -3294,7 +3299,7 @@ sub process { · 652 unmodified lines
3294 # file delta changes3299 # file delta changes
3295 $line =~ /^\s*(?:[\w\.\-\+]*\/)++[\w\.\-\+]+:/ ||3300 $line =~ /^\s*(?:[\w\.\-\+]*\/)++[\w\.\-\+]+:/ ||
3296 # filename then :3301 # filename then :
3297 $line =~ /^\s*(?:Fixes:|$link_tags_search|$signature_tags)/i ||3302 $line =~ /^\s*(?:Fixes:|https?:|$link_tags_search|$signature_tags)/i ||
3298 # A Fixes:, link or signature tag line3303 # A Fixes:, link or signature tag line
3299 $commit_log_possible_stack_dump)) {3304 $commit_log_possible_stack_dump)) {
3300 WARN("COMMIT_LOG_LONG_LINE",3305 WARN("COMMIT_LOG_LONG_LINE",
@@ -7018,21 +7023,20 @@ sub process { · 3717 unmodified lines
7018# }7023# }
7019# }7024# }
7020# }7025# }
7021
7022# strcpy uses that should likely be strscpy7026# strcpy uses that should likely be strscpy
7023 if ($line =~ /\bstrcpy\s*\(/) {7027 if ($line =~ /\bstrcpy\s*\(/ && !is_userspace($realfile)) {
7024 WARN("STRCPY",7028 WARN("STRCPY",
7025 "Prefer strscpy over strcpy - see: https://github.com/KSPP/linux/issues/88\n" . $herecurr);7029 "Prefer strscpy over strcpy - see: https://github.com/KSPP/linux/issues/88\n" . $herecurr);
7026 }7030 }
7027 7031
7028# strlcpy uses that should likely be strscpy7032# strlcpy uses that should likely be strscpy
7029 if ($line =~ /\bstrlcpy\s*\(/) {7033 if ($line =~ /\bstrlcpy\s*\(/ && !is_userspace($realfile)) {
7030 WARN("STRLCPY",7034 WARN("STRLCPY",
7031 "Prefer strscpy over strlcpy - see: https://github.com/KSPP/linux/issues/89\n" . $herecurr);7035 "Prefer strscpy over strlcpy - see: https://github.com/KSPP/linux/issues/89\n" . $herecurr);
7032 }7036 }
7033 7037
7034# strncpy uses that should likely be strscpy or strscpy_pad7038# strncpy uses that should likely be strscpy or strscpy_pad
7035 if ($line =~ /\bstrncpy\s*\(/) {7039 if ($line =~ /\bstrncpy\s*\(/ && !is_userspace($realfile)) {
7036 WARN("STRNCPY",7040 WARN("STRNCPY",
7037 "Prefer strscpy, strscpy_pad, or __nonstring over strncpy - see: https://github.com/KSPP/linux/issues/90\n" . $herecurr);7041 "Prefer strscpy, strscpy_pad, or __nonstring over strncpy - see: https://github.com/KSPP/linux/issues/90\n" . $herecurr);
7038 }7042 }
scripts/coccinelle/api/platform_no_drv_owner.cocci+9−0
@@ -10,12 +10,21 @@ virtual org · 9 unmodified lines
10virtual report10virtual report
11 11
12@match1@12@match1@
13declarer name builtin_i2c_driver;
14declarer name builtin_platform_driver;
15declarer name builtin_platform_driver_probe;
13declarer name module_i2c_driver;16declarer name module_i2c_driver;
14declarer name module_platform_driver;17declarer name module_platform_driver;
15declarer name module_platform_driver_probe;18declarer name module_platform_driver_probe;
16identifier __driver;19identifier __driver;
17@@20@@
18(21(
22 builtin_i2c_driver(__driver);
23|
24 builtin_platform_driver(__driver);
25|
26 builtin_platform_driver_probe(__driver, ...);
27|
19 module_i2c_driver(__driver);28 module_i2c_driver(__driver);
20|29|
21 module_platform_driver(__driver);30 module_platform_driver(__driver);
scripts/coccinelle/misc/of_table.cocci+7−7
@@ -1,5 +1,5 @@
1// SPDX-License-Identifier: GPL-2.01// SPDX-License-Identifier: GPL-2.0
2/// Make sure (of/i2c/platform)_device_id tables are NULL terminated2/// Make sure (of/i2c/platform/spi)_device_id tables are NULL terminated
3//3//
4// Keywords: of_table i2c_table platform_table4// Keywords: of_table i2c_table platform_table
5// Confidence: Medium5// Confidence: Medium
@@ -15,14 +15,14 @@ identifier var, arr; · 9 unmodified lines
15expression E;15expression E;
16@@16@@
17(17(
18struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {18struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
19 ...,19 ...,
20 {20 {
21 .var = E,21 .var = E,
22* }22* }
23};23};
24|24|
25struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {25struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
26 ...,26 ...,
27* { ..., E, ... },27* { ..., E, ... },
28};28};
@@ -33,7 +33,7 @@ identifier var, arr; · 4 unmodified lines
33expression E;33expression E;
34@@34@@
35(35(
36struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {36struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
37 ...,37 ...,
38 {38 {
39 .var = E,39 .var = E,
@@ -42,7 +42,7 @@ struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = { · 2 unmodified lines
42+ { }42+ { }
43};43};
44|44|
45struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {45struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
46 ...,46 ...,
47 { ..., E, ... },47 { ..., E, ... },
48+ { },48+ { },
@@ -55,7 +55,7 @@ identifier var, arr; · 6 unmodified lines
55expression E;55expression E;
56@@56@@
57(57(
58struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {58struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
59 ...,59 ...,
60 {60 {
61 .var = E,61 .var = E,
@@ -63,7 +63,7 @@ struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = { · 1 unmodified line
63 @p163 @p1
64};64};
65|65|
66struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {66struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
67 ...,67 ...,
68 { ..., E, ... }68 { ..., E, ... }
69 @p169 @p1