mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
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) ...
This commit is contained in:
@@ -2636,6 +2636,11 @@ sub exclude_global_initialisers {
|
||||
$realfile =~ m@/bpf/.*\.bpf\.c$@;
|
||||
}
|
||||
|
||||
sub is_userspace {
|
||||
my ($realfile) = @_;
|
||||
return ($realfile =~ m@^tools/@ || $realfile =~ m@^scripts/@);
|
||||
}
|
||||
|
||||
sub process {
|
||||
my $filename = shift;
|
||||
|
||||
@@ -3294,7 +3299,7 @@ sub process {
|
||||
# file delta changes
|
||||
$line =~ /^\s*(?:[\w\.\-\+]*\/)++[\w\.\-\+]+:/ ||
|
||||
# filename then :
|
||||
$line =~ /^\s*(?:Fixes:|$link_tags_search|$signature_tags)/i ||
|
||||
$line =~ /^\s*(?:Fixes:|https?:|$link_tags_search|$signature_tags)/i ||
|
||||
# A Fixes:, link or signature tag line
|
||||
$commit_log_possible_stack_dump)) {
|
||||
WARN("COMMIT_LOG_LONG_LINE",
|
||||
@@ -7018,21 +7023,20 @@ sub process {
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
|
||||
# strcpy uses that should likely be strscpy
|
||||
if ($line =~ /\bstrcpy\s*\(/) {
|
||||
if ($line =~ /\bstrcpy\s*\(/ && !is_userspace($realfile)) {
|
||||
WARN("STRCPY",
|
||||
"Prefer strscpy over strcpy - see: https://github.com/KSPP/linux/issues/88\n" . $herecurr);
|
||||
}
|
||||
|
||||
# strlcpy uses that should likely be strscpy
|
||||
if ($line =~ /\bstrlcpy\s*\(/) {
|
||||
if ($line =~ /\bstrlcpy\s*\(/ && !is_userspace($realfile)) {
|
||||
WARN("STRLCPY",
|
||||
"Prefer strscpy over strlcpy - see: https://github.com/KSPP/linux/issues/89\n" . $herecurr);
|
||||
}
|
||||
|
||||
# strncpy uses that should likely be strscpy or strscpy_pad
|
||||
if ($line =~ /\bstrncpy\s*\(/) {
|
||||
if ($line =~ /\bstrncpy\s*\(/ && !is_userspace($realfile)) {
|
||||
WARN("STRNCPY",
|
||||
"Prefer strscpy, strscpy_pad, or __nonstring over strncpy - see: https://github.com/KSPP/linux/issues/90\n" . $herecurr);
|
||||
}
|
||||
|
||||
@@ -10,12 +10,21 @@ virtual org
|
||||
virtual report
|
||||
|
||||
@match1@
|
||||
declarer name builtin_i2c_driver;
|
||||
declarer name builtin_platform_driver;
|
||||
declarer name builtin_platform_driver_probe;
|
||||
declarer name module_i2c_driver;
|
||||
declarer name module_platform_driver;
|
||||
declarer name module_platform_driver_probe;
|
||||
identifier __driver;
|
||||
@@
|
||||
(
|
||||
builtin_i2c_driver(__driver);
|
||||
|
|
||||
builtin_platform_driver(__driver);
|
||||
|
|
||||
builtin_platform_driver_probe(__driver, ...);
|
||||
|
|
||||
module_i2c_driver(__driver);
|
||||
|
|
||||
module_platform_driver(__driver);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/// Make sure (of/i2c/platform)_device_id tables are NULL terminated
|
||||
/// Make sure (of/i2c/platform/spi)_device_id tables are NULL terminated
|
||||
//
|
||||
// Keywords: of_table i2c_table platform_table
|
||||
// Confidence: Medium
|
||||
@@ -15,14 +15,14 @@ identifier var, arr;
|
||||
expression E;
|
||||
@@
|
||||
(
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
|
||||
...,
|
||||
{
|
||||
.var = E,
|
||||
* }
|
||||
};
|
||||
|
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
|
||||
...,
|
||||
* { ..., E, ... },
|
||||
};
|
||||
@@ -33,7 +33,7 @@ identifier var, arr;
|
||||
expression E;
|
||||
@@
|
||||
(
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
|
||||
...,
|
||||
{
|
||||
.var = E,
|
||||
@@ -42,7 +42,7 @@ struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
+ { }
|
||||
};
|
||||
|
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
|
||||
...,
|
||||
{ ..., E, ... },
|
||||
+ { },
|
||||
@@ -55,7 +55,7 @@ identifier var, arr;
|
||||
expression E;
|
||||
@@
|
||||
(
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
|
||||
...,
|
||||
{
|
||||
.var = E,
|
||||
@@ -63,7 +63,7 @@ struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
@p1
|
||||
};
|
||||
|
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
|
||||
struct \(of_device_id \| i2c_device_id \| platform_device_id \| spi_device_id\) arr[] = {
|
||||
...,
|
||||
{ ..., E, ... }
|
||||
@p1
|
||||
|
||||
Reference in New Issue
Block a user