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