Sebastian Andrzej Siewior
22036abe17
kcov: avoid enable+disable interrupts if !in_task()
...
kcov_remote_start() may need to allocate memory in the in_task() case
(otherwise per-CPU memory has been pre-allocated) and therefore requires
enabled interrupts.
The interrupts are enabled before checking if the allocation is required
so if no allocation is required then the interrupts are needlessly enabled
and disabled again.
Enable interrupts only if memory allocation is performed.
Link: https://lkml.kernel.org/r/20210923164741.1859522-5-bigeasy@linutronix.de
Link: https://lore.kernel.org/r/20210830172627.267989-5-bigeasy@linutronix.de
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de >
Acked-by: Dmitry Vyukov <dvyukov@google.com >
Acked-by: Marco Elver <elver@google.com >
Tested-by: Marco Elver <elver@google.com >
Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Clark Williams <williams@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Sebastian Andrzej Siewior
741ddd4519
kcov: allocate per-CPU memory on the relevant node
...
During boot kcov allocates per-CPU memory which is used later if remote/
softirq processing is enabled.
Allocate the per-CPU memory on the CPU local node to avoid cross node
memory access.
Link: https://lkml.kernel.org/r/20210923164741.1859522-4-bigeasy@linutronix.de
Link: https://lore.kernel.org/r/20210830172627.267989-4-bigeasy@linutronix.de
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de >
Acked-by: Dmitry Vyukov <dvyukov@google.com >
Acked-by: Marco Elver <elver@google.com >
Tested-by: Marco Elver <elver@google.com >
Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Clark Williams <williams@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Sebastian Andrzej Siewior
6f1d34bd49
Documentation/kcov: define `ip' in the example
...
The example code uses the variable `ip' but never declares it.
Declare `ip' as a 64bit variable which is the same type as the array
from which it loads its value.
Link: https://lkml.kernel.org/r/20210923164741.1859522-3-bigeasy@linutronix.de
Link: https://lore.kernel.org/r/20210830172627.267989-3-bigeasy@linutronix.de
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de >
Acked-by: Dmitry Vyukov <dvyukov@google.com >
Acked-by: Marco Elver <elver@google.com >
Tested-by: Marco Elver <elver@google.com >
Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Clark Williams <williams@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Sebastian Andrzej Siewior
d687a9ccf2
Documentation/kcov: include types.h in the example
...
Patch series "kcov: PREEMPT_RT fixup + misc", v2.
The last patch in series is follow-up to address the PREEMPT_RT issue
within in kcov reported by Clark [1]. Patches 1-3 are smaller things that
I noticed while staring at it. Patch 4 is small change which makes
replacement in #5 simpler / more obvious.
[1] https://lkml.kernel.org/r/20210809155909.333073de@theseus.lan
This patch (of 5):
The first example code has includes at the top, the following two
example share that part. The last example (remote coverage collection)
requires the linux/types.h header file due its __aligned_u64 usage.
Add the linux/types.h to the top most example and a comment that the
header files from above are required as it is done in the second
example.
Link: https://lkml.kernel.org/r/20210923164741.1859522-1-bigeasy@linutronix.de
Link: https://lore.kernel.org/r/20210830172627.267989-2-bigeasy@linutronix.de
Link: https://lkml.kernel.org/r/20210923164741.1859522-2-bigeasy@linutronix.de
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de >
Acked-by: Dmitry Vyukov <dvyukov@google.com >
Acked-by: Marco Elver <elver@google.com >
Tested-by: Marco Elver <elver@google.com >
Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Clark Williams <williams@redhat.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Pavel Skripkin
7eb0e28c1d
sysv: use BUILD_BUG_ON instead of runtime check
...
There were runtime checks about sizes of struct v7_super_block and struct
sysv_inode. If one of these checks fail the kernel will panic. Since
these values are known at compile time let's use BUILD_BUG_ON(), because
it's a standard mechanism for validation checking at build time
Link: https://lkml.kernel.org/r/20210813123020.22971-1-paskripkin@gmail.com
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Pavel Skripkin <paskripkin@gmail.com >
Cc: Christoph Hellwig <hch@lst.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Ran Xiaokai
ba1f70ddd1
kernel/fork.c: unshare(): use swap() to make code cleaner
...
Use swap() instead of reimplementing it.
Link: https://lkml.kernel.org/r/20210909022046.8151-1-ran.xiaokai@zte.com.cn
Signed-off-by: Ran Xiaokai <ran.xiaokai@zte.com.cn >
Cc: Gabriel Krisman Bertazi <krisman@collabora.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Eric W. Biederman <ebiederm@xmission.com >
Cc: Jens Axboe <axboe@kernel.dk >
Cc: Alexey Gladkov <legion@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Muchun Song
10a6de19ca
seq_file: fix passing wrong private data
...
DEFINE_PROC_SHOW_ATTRIBUTE() is supposed to be used to define a series
of functions and variables to register proc file easily. And the users
can use proc_create_data() to pass their own private data and get it
via seq->private in the callback. Unfortunately, the proc file system
use PDE_DATA() to get private data instead of inode->i_private. So fix
it. Fortunately, there only one user of it which does not pass any
private data, so this bug does not break any in-tree codes.
Link: https://lkml.kernel.org/r/20211029032638.84884-1-songmuchun@bytedance.com
Fixes: 97a32539b9 ("proc: convert everything to "struct proc_ops"")
Signed-off-by: Muchun Song <songmuchun@bytedance.com >
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: Florent Revest <revest@chromium.org >
Cc: Alexey Dobriyan <adobriyan@gmail.com >
Cc: Christian Brauner <christian.brauner@ubuntu.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Andy Shevchenko
372904c080
seq_file: move seq_escape() to a header
...
Move seq_escape() to the header as inliner, for a small kernel text size
reduction.
Link: https://lkml.kernel.org/r/20211001122917.67228-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Ye Guojin
f26663684e
signal: remove duplicate include in signal.h
...
'linux/string.h' included in 'signal.h' is duplicated.
it's also included at line 7.
Link: https://lkml.kernel.org/r/20211019024934.973008-1-ye.guojin@zte.com.cn
Signed-off-by: Ye Guojin <ye.guojin@zte.com.cn >
Reported-by: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Ye Guojin
a10677a028
crash_dump: remove duplicate include in crash_dump.h
...
In crash_dump.h, header file <linux/pgtable.h> is included twice. This
duplication was introduced in commit 65fddcfca8ad("mm: reorder includes
after introduction of linux/pgtable.h") where the order of the header
files is adjusted, while the old one was not removed.
Clean it up here.
Link: https://lkml.kernel.org/r/20211020090659.1038877-1-ye.guojin@zte.com.cn
Signed-off-by: Ye Guojin <ye.guojin@zte.com.cn >
Reported-by: Zeal Robot <zealci@zte.com.cn >
Acked-by: Baoquan He <bhe@redhat.com >
Cc: Dave Young <dyoung@redhat.com >
Cc: Mike Rapoport <rppt@linux.ibm.com >
Cc: Vivek Goyal <vgoyal@redhat.com >
Cc: Changcheng Deng <deng.changcheng@zte.com.cn >
Cc: Simon Horman <horms@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Changcheng Deng
5605f41917
crash_dump: fix boolreturn.cocci warning
...
./include/linux/crash_dump.h: 119: 50-51: WARNING: return of 0/1 in
function 'is_kdump_kernel' with return type bool
Return statements in functions returning bool should use true/false
instead of 1/0.
Link: https://lkml.kernel.org/r/20211020083905.1037952-1-deng.changcheng@zte.com.cn
Signed-off-by: Changcheng Deng <deng.changcheng@zte.com.cn >
Reported-by: Zeal Robot <zealci@zte.com.cn >
Reviewed-by: Simon Horman <horms@kernel.org >
Acked-by: Baoquan He <bhe@redhat.com >
Cc: Dave Young <dyoung@redhat.com >
Cc: Mike Rapoport <rppt@linux.ibm.com >
Cc: Vivek Goyal <vgoyal@redhat.com >
Cc: Ye Guojin <ye.guojin@zte.com.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Arnd Bergmann
55d1cbbbb2
hfs/hfsplus: use WARN_ON for sanity check
...
gcc warns about a couple of instances in which a sanity check exists but
the author wasn't sure how to react to it failing, which makes it look
like a possible bug:
fs/hfsplus/inode.c: In function 'hfsplus_cat_read_inode':
fs/hfsplus/inode.c:503:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
503 | /* panic? */;
| ^
fs/hfsplus/inode.c:524:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
524 | /* panic? */;
| ^
fs/hfsplus/inode.c: In function 'hfsplus_cat_write_inode':
fs/hfsplus/inode.c:582:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
582 | /* panic? */;
| ^
fs/hfsplus/inode.c:608:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
608 | /* panic? */;
| ^
fs/hfs/inode.c: In function 'hfs_write_inode':
fs/hfs/inode.c:464:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
464 | /* panic? */;
| ^
fs/hfs/inode.c:485:37: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body]
485 | /* panic? */;
| ^
panic() is probably not the correct choice here, but a WARN_ON
seems appropriate and avoids the compile-time warning.
Link: https://lkml.kernel.org/r/20210927102149.1809384-1-arnd@kernel.org
Link: https://lore.kernel.org/all/20210322223249.2632268-1-arnd@kernel.org/
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Reviewed-by: Christian Brauner <christian.brauner@ubuntu.com >
Cc: Alexander Viro <viro@zeniv.linux.org.uk >
Cc: Christian Brauner <christian.brauner@ubuntu.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Jan Kara <jack@suse.cz >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Ryusuke Konishi
94ee1d9151
nilfs2: remove filenames from file comments
...
Remove filenames that are not particularly useful in file comments, and
suppress checkpatch warnings
WARNING: It's generally not useful to have the filename in the file
Link: https://lkml.kernel.org/r/1635151862-11547-3-git-send-email-konishi.ryusuke@gmail.com
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com >
Cc: Qing Wang <wangqing@vivo.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:52 -08:00
Qing Wang
3bcd6c5bd4
nilfs2: replace snprintf in show functions with sysfs_emit
...
Patch series "nilfs2 updates".
This patch (of 2):
coccicheck complains about the use of snprintf() in sysfs show functions.
Fix the coccicheck warning:
WARNING: use scnprintf or sprintf.
Use sysfs_emit instead of scnprintf or sprintf makes more sense.
Link: https://lkml.kernel.org/r/1635151862-11547-1-git-send-email-konishi.ryusuke@gmail.com
Link: https://lkml.kernel.org/r/1634095759-4625-1-git-send-email-wangqing@vivo.com
Link: https://lkml.kernel.org/r/1635151862-11547-2-git-send-email-konishi.ryusuke@gmail.com
Signed-off-by: Qing Wang <wangqing@vivo.com >
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Jan Harkes
98d5b61ef5
coda: bump module version to 7.2
...
Helps with tracking which patches have been propagated upstream and if
users are running the latest known version.
Link: https://lkml.kernel.org/r/20210908140308.18491-10-jaharkes@cs.cmu.edu
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu >
Cc: Alex Shi <alex.shi@linux.alibaba.com >
Cc: Jing Yangyang <jing.yangyang@zte.com.cn >
Cc: Xin Tan <tanxin.ctf@gmail.com >
Cc: Xiyu Yang <xiyuyang19@fudan.edu.cn >
Cc: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Jing Yangyang
118b7ee169
coda: use vmemdup_user to replace the open code
...
vmemdup_user is better than duplicating its implementation, So just
replace the open code.
fs/coda/psdev.c:125:10-18:WARNING:opportunity for vmemdup_user
The issue is detected with the help of Coccinelle.
Link: https://lkml.kernel.org/r/20210908140308.18491-9-jaharkes@cs.cmu.edu
Reported-by: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Jing Yangyang <jing.yangyang@zte.com.cn >
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu >
Cc: Alex Shi <alex.shi@linux.alibaba.com >
Cc: Xin Tan <tanxin.ctf@gmail.com >
Cc: Xiyu Yang <xiyuyang19@fudan.edu.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Xiyu Yang
1077c28577
coda: convert from atomic_t to refcount_t on coda_vm_ops->refcnt
...
refcount_t type and corresponding API can protect refcounters from
accidental underflow and overflow and further use-after-free situations.
Link: https://lkml.kernel.org/r/20210908140308.18491-8-jaharkes@cs.cmu.edu
Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn >
Signed-off-by: Xin Tan <tanxin.ctf@gmail.com >
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu >
Cc: Alex Shi <alex.shi@linux.alibaba.com >
Cc: Jing Yangyang <jing.yangyang@zte.com.cn >
Cc: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Jan Harkes
5a646fb3a3
coda: avoid doing bad things on inode type changes during revalidation
...
When Coda discovers an inconsistent object, it turns it into a symlink.
However we can't just follow this change in the kernel on an existing file
or directory inode that may still have references.
This patch removes the inconsistent inode from the inode hash and
allocates a new inode for the symlink object.
Link: https://lkml.kernel.org/r/20210908140308.18491-7-jaharkes@cs.cmu.edu
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu >
Cc: Alex Shi <alex.shi@linux.alibaba.com >
Cc: Jing Yangyang <jing.yangyang@zte.com.cn >
Cc: Xin Tan <tanxin.ctf@gmail.com >
Cc: Xiyu Yang <xiyuyang19@fudan.edu.cn >
Cc: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Jan Harkes
b2e3622836
coda: avoid hidden code duplication in rename
...
We were actually fixing up the directory mtime in both branches after the
negative dentry test, it was just that one branch was only flagging the
directory inodes to refresh their attributes while the other branch used
the optional optimization to set mtime to the current time and not go back
to the Coda client.
Link: https://lkml.kernel.org/r/20210908140308.18491-6-jaharkes@cs.cmu.edu
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu >
Cc: Alex Shi <alex.shi@linux.alibaba.com >
Cc: Jing Yangyang <jing.yangyang@zte.com.cn >
Cc: Xin Tan <tanxin.ctf@gmail.com >
Cc: Xiyu Yang <xiyuyang19@fudan.edu.cn >
Cc: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Jan Harkes
76097eb7a4
coda: avoid flagging NULL inodes
...
Somehow we hit a negative dentry in coda_rename even after checking with
d_really_is_positive. Maybe something raced and turned the new_dentry
negative while we were fixing up directory link counts.
Link: https://lkml.kernel.org/r/20210908140308.18491-5-jaharkes@cs.cmu.edu
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu >
Cc: Alex Shi <alex.shi@linux.alibaba.com >
Cc: Jing Yangyang <jing.yangyang@zte.com.cn >
Cc: Xin Tan <tanxin.ctf@gmail.com >
Cc: Xiyu Yang <xiyuyang19@fudan.edu.cn >
Cc: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Alex Shi
b1deb685b0
coda: remove err which no one care
...
No one care 'err' in func coda_release, so better remove it.
Link: https://lkml.kernel.org/r/20210908140308.18491-4-jaharkes@cs.cmu.edu
Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com >
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu >
Cc: Jing Yangyang <jing.yangyang@zte.com.cn >
Cc: Xin Tan <tanxin.ctf@gmail.com >
Cc: Xiyu Yang <xiyuyang19@fudan.edu.cn >
Cc: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Jan Harkes
3d8e72d974
coda: check for async upcall request using local state
...
Originally flagged by Smatch because the code implicitly assumed outSize
is not NULL for non-async upcalls because of a flag that was (not) set in
req->uc_flags.
However req->uc_flags field is in shared state and although the current
code will not allow it to be changed before the async request check the
code is more robust when it tests against the local outSize variable.
Link: https://lkml.kernel.org/r/20210908140308.18491-3-jaharkes@cs.cmu.edu
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu >
Cc: Alex Shi <alex.shi@linux.alibaba.com >
Cc: Jing Yangyang <jing.yangyang@zte.com.cn >
Cc: Xin Tan <tanxin.ctf@gmail.com >
Cc: Xiyu Yang <xiyuyang19@fudan.edu.cn >
Cc: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Jan Harkes
18319cb478
coda: avoid NULL pointer dereference from a bad inode
...
Patch series "Coda updates for -next".
The following patch series contains some fixes for the Coda kernel module
I've had sitting around and were tested extensively in a development
version of the Coda kernel module that lives outside of the main kernel.
This patch (of 9):
Avoid accessing coda_inode_info from a dentry with a bad inode.
Link: https://lkml.kernel.org/r/20210908140308.18491-1-jaharkes@cs.cmu.edu
Link: https://lkml.kernel.org/r/20210908140308.18491-2-jaharkes@cs.cmu.edu
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu >
Cc: Alex Shi <alex.shi@linux.alibaba.com >
Cc: Jing Yangyang <jing.yangyang@zte.com.cn >
Cc: Xin Tan <tanxin.ctf@gmail.com >
Cc: Xiyu Yang <xiyuyang19@fudan.edu.cn >
Cc: Zeal Robot <zealci@zte.com.cn >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Andrew Halaney
8bc2b3dca7
init: make unknown command line param message clearer
...
The prior message is confusing users, which is the exact opposite of the
goal. If the message is being seen, one of the following situations is
happening:
1. the param is misspelled
2. the param is not valid due to the kernel configuration
3. the param is intended for init but isn't after the '--'
delineator on the command line
To make that more clear to the user, explicitly mention "kernel command
line" and also note that the params are still passed to user space to
avoid causing any alarm over params intended for init.
Link: https://lkml.kernel.org/r/20211013223502.96756-1-ahalaney@redhat.com
Fixes: 86d1919a4f ("init: print out unknown kernel parameters")
Signed-off-by: Andrew Halaney <ahalaney@redhat.com >
Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org >
Acked-by: Randy Dunlap <rdunlap@infradead.org >
Cc: Borislav Petkov <bp@suse.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
yangerkun
0858d7da8a
ramfs: fix mount source show for ramfs
...
ramfs_parse_param does not parse key "source", and will convert
-ENOPARAM to 0. This will skip vfs_parse_fs_param_source in vfs_parse_fs_param, which
lead always "none" mount source for ramfs.
Fix it by parsing "source" in ramfs_parse_param like cgroup1_parse_param
does.
Link: https://lkml.kernel.org/r/20210924091756.1906118-1-yangerkun@huawei.com
Signed-off-by: yangerkun <yangerkun@huawei.com >
Cc: Al Viro <viro@zeniv.linux.org.uk >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Kefeng Wang
2d93a5835a
alpha: use is_kernel_text() helper
...
Use is_kernel_text() helper to simplify code.
Link: https://lkml.kernel.org/r/20210930071143.63410-12-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Alexander Potapenko <glider@google.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Petr Mladek <pmladek@suse.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Kefeng Wang
4b5ef1e114
microblaze: use is_kernel_text() helper
...
Use is_kernel_text() helper to simplify code.
Link: https://lkml.kernel.org/r/20210930071143.63410-11-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Acked-by: Michal Simek <michal.simek@xilinx.com >
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Alexander Potapenko <glider@google.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Petr Mladek <pmladek@suse.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Kefeng Wang
843a1ffaf6
powerpc/mm: use core_kernel_text() helper
...
Use core_kernel_text() helper to simplify code, also drop etext, _stext,
_sinittext, _einittext declaration which already declared in section.h.
Link: https://lkml.kernel.org/r/20210930071143.63410-10-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: Alexander Potapenko <glider@google.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Borislav Petkov <bp@alien8.de >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Petr Mladek <pmladek@suse.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Kefeng Wang
808b64565b
extable: use is_kernel_text() helper
...
The core_kernel_text() should check the gate area, as it is part of kernel
text range, use is_kernel_text() in core_kernel_text().
Link: https://lkml.kernel.org/r/20210930071143.63410-9-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Alexander Potapenko <glider@google.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Petr Mladek <pmladek@suse.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Kefeng Wang
3298cbe804
mm: kasan: use is_kernel() helper
...
Directly use is_kernel() helper in kernel_or_module_addr().
Link: https://lkml.kernel.org/r/20210930071143.63410-8-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Reviewed-by: Alexander Potapenko <glider@google.com >
Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com >
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Petr Mladek <pmladek@suse.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Kefeng Wang
8f6e42e833
sections: provide internal __is_kernel() and __is_kernel_text() helper
...
An internal __is_kernel() helper which only check the kernel address
ranges, and an internal __is_kernel_text() helper which only check text
section ranges.
Link: https://lkml.kernel.org/r/20210930071143.63410-7-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Alexander Potapenko <glider@google.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Petr Mladek <pmladek@suse.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Kefeng Wang
0a96c902d4
x86: mm: rename __is_kernel_text() to is_x86_32_kernel_text()
...
Commit b56cd05c55 ("x86/mm: Rename is_kernel_text to __is_kernel_text"),
add '__' prefix not to get in conflict with existing is_kernel_text() in
<linux/kallsyms.h>.
We will add __is_kernel_text() for the basic kernel text range check in
the next patch, so use private is_x86_32_kernel_text() naming for x86
special check.
Link: https://lkml.kernel.org/r/20210930071143.63410-6-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Alexander Potapenko <glider@google.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Petr Mladek <pmladek@suse.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:51 -08:00
Kefeng Wang
b9ad8fe7b8
sections: move is_kernel_inittext() into sections.h
...
The is_kernel_inittext() and init_kernel_text() are with same
functionality, let's just keep is_kernel_inittext() and move it into
sections.h, then update all the callers.
Link: https://lkml.kernel.org/r/20210930071143.63410-5-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Alexander Potapenko <glider@google.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Petr Mladek <pmladek@suse.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Steven Rostedt <rostedt@goodmis.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Kefeng Wang
a20deb3a34
sections: move and rename core_kernel_data() to is_kernel_core_data()
...
Move core_kernel_data() into sections.h and rename it to
is_kernel_core_data(), also make it return bool value, then update all the
callers.
Link: https://lkml.kernel.org/r/20210930071143.63410-4-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Alexander Potapenko <glider@google.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Petr Mladek <pmladek@suse.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Kefeng Wang
e7d5c4b0eb
kallsyms: fix address-checks for kernel related range
...
The is_kernel_inittext/is_kernel_text/is_kernel function should not
include the end address(the labels _einittext, _etext and _end) when check
the address range, the issue exists since Linux v2.6.12.
Link: https://lkml.kernel.org/r/20210930071143.63410-3-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Reviewed-by: Petr Mladek <pmladek@suse.com >
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org >
Acked-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Alexander Potapenko <glider@google.com >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Kefeng Wang
1b1ad288b8
kallsyms: remove arch specific text and data check
...
Patch series "sections: Unify kernel sections range check and use", v4.
There are three head files(kallsyms.h, kernel.h and sections.h) which
include the kernel sections range check, let's make some cleanup and unify
them.
1. cleanup arch specific text/data check and fix address boundary check
in kallsyms.h
2. make all the basic/core kernel range check function into sections.h
3. update all the callers, and use the helper in sections.h to simplify
the code
After this series, we have 5 APIs about kernel sections range check in
sections.h
* is_kernel_rodata() --- already in sections.h
* is_kernel_core_data() --- come from core_kernel_data() in kernel.h
* is_kernel_inittext() --- come from kernel.h and kallsyms.h
* __is_kernel_text() --- add new internal helper
* __is_kernel() --- add new internal helper
Note: For the last two helpers, people should not use directly, consider to
use corresponding function in kallsyms.h.
This patch (of 11):
Remove arch specific text and data check after commit 4ba66a9760 ("arch:
remove blackfin port"), no need arch-specific text/data check.
Link: https://lkml.kernel.org/r/20210930071143.63410-1-wangkefeng.wang@huawei.com
Link: https://lkml.kernel.org/r/20210930071143.63410-2-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org >
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: David S. Miller <davem@davemloft.net >
Cc: Alexei Starovoitov <ast@kernel.org >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: Kefeng Wang <wangkefeng.wang@huawei.com >
Cc: Alexander Potapenko <glider@google.com >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Petr Mladek <pmladek@suse.com >
Cc: Richard Henderson <rth@twiddle.net >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Alexey Dobriyan
a43e5e3a02
ELF: simplify STACK_ALLOC macro
...
"A -= B; A" is equivalent to "A -= B".
Link: https://lkml.kernel.org/r/YVmcP256fRMqCwgK@localhost.localdomain
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Kees Cook
5f501d5556
binfmt_elf: reintroduce using MAP_FIXED_NOREPLACE
...
Commit b212921b13 ("elf: don't use MAP_FIXED_NOREPLACE for elf
executable mappings") reverted back to using MAP_FIXED to map ELF LOAD
segments because it was found that the segments in some binaries overlap
and can cause MAP_FIXED_NOREPLACE to fail.
The original intent of MAP_FIXED_NOREPLACE in the ELF loader was to
prevent the silent clobbering of an existing mapping (e.g. stack) by
the ELF image, which could lead to exploitable conditions. Quoting
commit 4ed2863951 ("fs, elf: drop MAP_FIXED usage from elf_map"),
which originally introduced the use of MAP_FIXED_NOREPLACE in the
loader:
Both load_elf_interp and load_elf_binary rely on elf_map to map
segments [to a specific] address and they use MAP_FIXED to enforce
that. This is however [a] dangerous thing prone to silent data
corruption which can be even exploitable.
...
Let's take CVE-2017-1000253 as an example ... we could end up mapping
[the executable] over the existing stack ... The [stack layout] issue
has been fixed since then ... So we should be safe and any [similar]
attack should be impractical. On the other hand this is just too
subtle [an] assumption ... it can break quite easily and [be] hard to
spot.
...
Address this [weakness] by changing MAP_FIXED to the newly added
MAP_FIXED_NOREPLACE. This will mean that mmap will fail if there is
an existing mapping clashing with the requested one [instead of
silently] clobbering it.
Then processing ET_DYN binaries the loader already calculates a total
size for the image when the first segment is mapped, maps the entire
image, and then unmaps the remainder before the remaining segments are
then individually mapped.
To avoid the earlier problems (legitimate overlapping LOAD segments
specified in the ELF), apply the same logic to ET_EXEC binaries as well.
For both ET_EXEC and ET_DYN+INTERP use MAP_FIXED_NOREPLACE for the
initial total size mapping and then use MAP_FIXED to build the final
(possibly legitimately overlapping) mappings. For ET_DYN w/out INTERP,
continue to map at a system-selected address in the mmap region.
Link: https://lkml.kernel.org/r/20210916215947.3993776-1-keescook@chromium.org
Link: https://lore.kernel.org/lkml/1595869887-23307-2-git-send-email-anthony.yznaga@oracle.com
Co-developed-by: Anthony Yznaga <anthony.yznaga@oracle.com >
Signed-off-by: Anthony Yznaga <anthony.yznaga@oracle.com >
Signed-off-by: Kees Cook <keescook@chromium.org >
Cc: Russell King <linux@armlinux.org.uk >
Cc: Michal Hocko <mhocko@suse.com >
Cc: Eric Biederman <ebiederm@xmission.com >
Cc: Chen Jingwen <chenjingwen6@huawei.com >
Cc: Alexander Viro <viro@zeniv.linux.org.uk >
Cc: Andrei Vagin <avagin@openvz.org >
Cc: Khalid Aziz <khalid.aziz@oracle.com >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Peter Ujfalusi
0ee3e7b889
checkpatch: get default codespell dictionary path from package location
...
The standard location of dictionary.txt is under codespell's package, on
my machine atm (codespell 2.1, Artix Linux):
/usr/lib/python3.9/site-packages/codespell_lib/data/dictionary.txt
Since we enable the codespell by default for SOF I have constant:
No codespell typos will be found - file '/usr/share/codespell/dictionary.txt': No such file or directory
The patch proposes to try to fix up the path following the
recommendation found here:
https://github.com/codespell-project/codespell/issues/1540
Link: https://lkml.kernel.org/r/29e25d1364c8ad7f7657cc0660f60c568074d438.camel@perches.com
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com >
Acked-by: Joe Perches <joe@perches.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Joe Perches
70a11659f5
checkpatch: improve EXPORT_SYMBOL test for EXPORT_SYMBOL_NS uses
...
The EXPORT_SYMBOL test expects a single argument but definitions of
EXPORT_SYMBOL_NS have multiple arguments.
Update the test to extract only the first argument from any
EXPORT_SYMBOL related definition.
Link: https://lkml.kernel.org/r/9e8f251b42e405f460f26a23ba9b33ef45a94adc.camel@perches.com
Signed-off-by: Joe Perches <joe@perches.com >
Reported-by: Ian Pilcher <arequipeno@gmail.com >
Cc: Dwaipayan Ray <dwaipayanray1@gmail.com >
Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Rikard Falkeborn
3e421469dd
const_structs.checkpatch: add a few sound ops structs
...
Add a couple of commonly used (>50 instances) sound ops structs that are
typically const.
Link: https://lkml.kernel.org/r/20210922211042.38017-1-rikard.falkeborn@gmail.com
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com >
Cc: Joe Perches <joe@perches.com >
Cc: Liam Girdwood <lgirdwood@gmail.com >
Cc: Mark Brown <broonie@kernel.org >
Cc: Jaroslav Kysela <perex@perex.cz >
Cc: Takashi Iwai <tiwai@suse.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Thomas Gleixner
723aca2085
mm/scatterlist: replace the !preemptible warning in sg_miter_stop()
...
sg_miter_stop() checks for disabled preemption before unmapping a page
via kunmap_atomic(). The kernel doc mentions under context that
preemption must be disabled if SG_MITER_ATOMIC is set.
There is no active requirement for the caller to have preemption
disabled before invoking sg_mitter_stop(). The sg_mitter_*()
implementation itself has no such requirement.
In fact, preemption is disabled by kmap_atomic() as part of
sg_miter_next() and remains disabled as long as there is an active
SG_MITER_ATOMIC mapping. This is a consequence of kmap_atomic() and not
a requirement for sg_mitter_*() itself.
The user chooses SG_MITER_ATOMIC because it uses the API in a context
where blocking is not possible or blocking is possible but he chooses a
lower weight mapping which is not available on all CPUs and so it might
need less overhead to setup at a price that now preemption will be
disabled.
The kmap_atomic() implementation on PREEMPT_RT does not disable
preemption. It simply disables CPU migration to ensure that the task
remains on the same CPU while the caller remains preemptible. This in
turn triggers the warning in sg_miter_stop() because preemption is
allowed.
The PREEMPT_RT and !PREEMPT_RT implementation of kmap_atomic() disable
pagefaults as a requirement. It is sufficient to check for this instead
of disabled preemption.
Check for disabled pagefault handler in the SG_MITER_ATOMIC case.
Remove the "preemption disabled" part from the kernel doc as the
sg_milter*() implementation does not care.
[bigeasy@linutronix.de: commit description]
Link: https://lkml.kernel.org/r/20211015211409.cqopacv3pxdwn2ty@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Alexey Dobriyan
839b395eb9
lib: uninline simple_strntoull() as well
...
Codegen become bloated again after simple_strntoull() introduction
add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-224 (-224)
Function old new delta
simple_strtoul 5 2 -3
simple_strtol 23 20 -3
simple_strtoull 119 15 -104
simple_strtoll 155 41 -114
Link: https://lkml.kernel.org/r/YVmlB9yY4lvbNKYt@localhost.localdomain
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Cc: Richard Fitzgerald <rf@opensource.cirrus.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Lucas De Marchi
bfb3ba3206
include/linux/string_helpers.h: add linux/string.h for strlen()
...
linux/string_helpers.h uses strlen(), so include the correponding header.
Otherwise we get a compilation error if it's not also included by whoever
included the helper.
Link: https://lkml.kernel.org/r/20211005212634.3223113-1-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Imran Khan
0f68d45ef4
lib, stackdepot: add helper to print stack entries into buffer
...
To print stack entries into a buffer, users of stackdepot, first get a
list of stack entries using stack_depot_fetch and then print this list
into a buffer using stack_trace_snprint. Provide a helper in stackdepot
for this purpose. Also change above mentioned users to use this helper.
[imran.f.khan@oracle.com: fix build error]
Link: https://lkml.kernel.org/r/20210915175321.3472770-4-imran.f.khan@oracle.com
[imran.f.khan@oracle.com: export stack_depot_snprint() to modules]
Link: https://lkml.kernel.org/r/20210916133535.3592491-4-imran.f.khan@oracle.com
Link: https://lkml.kernel.org/r/20210915014806.3206938-4-imran.f.khan@oracle.com
Signed-off-by: Imran Khan <imran.f.khan@oracle.com >
Suggested-by: Vlastimil Babka <vbabka@suse.cz >
Acked-by: Vlastimil Babka <vbabka@suse.cz >
Acked-by: Jani Nikula <jani.nikula@intel.com > [i915]
Cc: Alexander Potapenko <glider@google.com >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: David Airlie <airlied@linux.ie >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Geert Uytterhoeven <geert@linux-m68k.org >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Imran Khan
505be48165
lib, stackdepot: add helper to print stack entries
...
To print a stack entries, users of stackdepot, first use stack_depot_fetch
to get a list of stack entries and then use stack_trace_print to print
this list. Provide a helper in stackdepot to print stack entries based on
stackdepot handle. Also change above mentioned users to use this helper.
Link: https://lkml.kernel.org/r/20210915014806.3206938-3-imran.f.khan@oracle.com
Signed-off-by: Imran Khan <imran.f.khan@oracle.com >
Suggested-by: Vlastimil Babka <vbabka@suse.cz >
Acked-by: Vlastimil Babka <vbabka@suse.cz >
Reviewed-by: Alexander Potapenko <glider@google.com >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Daniel Vetter <daniel@ffwll.ch >
Cc: David Airlie <airlied@linux.ie >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Geert Uytterhoeven <geert@linux-m68k.org >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Imran Khan
4d4712c1a4
lib, stackdepot: check stackdepot handle before accessing slabs
...
Patch series "lib, stackdepot: check stackdepot handle before accessing slabs", v2.
PATCH-1: Checks validity of a stackdepot handle before proceeding to
access stackdepot slab/objects.
PATCH-2: Adds a helper in stackdepot, to allow users to print stack
entries just by specifying the stackdepot handle. It also changes such
users to use this new interface.
PATCH-3: Adds a helper in stackdepot, to allow users to print stack
entries into buffers just by specifying the stackdepot handle and
destination buffer. It also changes such users to use this new interface.
This patch (of 3):
stack_depot_save allocates slabs that will be used for storing objects in
future.If this slab allocation fails we may get to a situation where space
allocation for a new stack_record fails, causing stack_depot_save to
return 0 as handle. If user of this handle ends up invoking
stack_depot_fetch with this handle value, current implementation of
stack_depot_fetch will end up using slab from wrong index. To avoid this
check handle value at the beginning.
Link: https://lkml.kernel.org/r/20210915175321.3472770-1-imran.f.khan@oracle.com
Link: https://lkml.kernel.org/r/20210915014806.3206938-1-imran.f.khan@oracle.com
Link: https://lkml.kernel.org/r/20210915014806.3206938-2-imran.f.khan@oracle.com
Signed-off-by: Imran Khan <imran.f.khan@oracle.com >
Suggested-by: Vlastimil Babka <vbabka@suse.cz >
Acked-by: Vlastimil Babka <vbabka@suse.cz >
Cc: Geert Uytterhoeven <geert@linux-m68k.org >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: Alexander Potapenko <glider@google.com >
Cc: Andrey Konovalov <andreyknvl@gmail.com >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Cc: Maxime Ripard <mripard@kernel.org >
Cc: Thomas Zimmermann <tzimmermann@suse.de >
Cc: David Airlie <airlied@linux.ie >
Cc: Daniel Vetter <daniel@ffwll.ch >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Lukas Bulwahn
57235b6e78
MAINTAINERS: rectify entry for ALLWINNER HARDWARE SPINLOCK SUPPORT
...
Commit f9e784dcb6 ("dt-bindings: hwlock: add sun6i_hwspinlock") adds
Documentation/devicetree/bindings/hwlock/allwinner,sun6i-a31-hwspinlock.yaml,
but the related commit 3c881e05c8 ("hwspinlock: add sun6i hardware
spinlock support") adds a file reference to
allwinner,sun6i-hwspinlock.yaml instead.
Hence, ./scripts/get_maintainer.pl --self-test=patterns complains:
warning: no file matches F: Documentation/devicetree/bindings/hwlock/allwinner,sun6i-hwspinlock.yaml
Rectify this file reference in ALLWINNER HARDWARE SPINLOCK SUPPORT.
Link: https://lkml.kernel.org/r/20211026141902.4865-5-lukas.bulwahn@gmail.com
Reviewed-by: Wilken Gottwalt <wilken.gottwalt@posteo.net >
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com >
Cc: Anitha Chrisanthus <anitha.chrisanthus@intel.com >
Cc: Edmund Dea <edmund.j.dea@intel.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Joe Perches <joe@perches.com >
Cc: John Stultz <john.stultz@linaro.org >
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Cc: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp >
Cc: Punit Agrawal <punit1.agrawal@toshiba.co.jp >
Cc: Ralf Ramsauer <ralf.ramsauer@oth-regensburg.de >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Yu Chen <chenyu56@huawei.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Lukas Bulwahn
65e5acbb13
MAINTAINERS: rectify entry for INTEL KEEM BAY DRM DRIVER
...
Commit ed794057b0 ("drm/kmb: Build files for KeemBay Display driver")
refers to the non-existing file intel,kmb_display.yaml in
Documentation/devicetree/bindings/display/.
Commit 5a76b1ed73 ("dt-bindings: display: Add support for Intel
KeemBay Display") originating from the same patch series however adds
the file intel,keembay-display.yaml in that directory instead.
So, refer to intel,keembay-display.yaml in the INTEL KEEM BAY DRM DRIVER
section instead.
Link: https://lkml.kernel.org/r/20211026141902.4865-4-lukas.bulwahn@gmail.com
Fixes: ed794057b0 ("drm/kmb: Build files for KeemBay Display driver")
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com >
Cc: Anitha Chrisanthus <anitha.chrisanthus@intel.com >
Cc: Edmund Dea <edmund.j.dea@intel.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Joe Perches <joe@perches.com >
Cc: John Stultz <john.stultz@linaro.org >
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Cc: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp >
Cc: Punit Agrawal <punit1.agrawal@toshiba.co.jp >
Cc: Ralf Ramsauer <ralf.ramsauer@oth-regensburg.de >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Wilken Gottwalt <wilken.gottwalt@posteo.net >
Cc: Yu Chen <chenyu56@huawei.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:50 -08:00
Lukas Bulwahn
b39c920665
MAINTAINERS: rectify entry for HIKEY960 ONBOARD USB GPIO HUB DRIVER
...
Commit 7a6ff4c4cb ("misc: hisi_hikey_usb: Driver to support onboard
USB gpio hub on Hikey960") refers to the non-existing file
Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.yaml, but
this commit's patch series does not add any related devicetree binding
in misc.
So, just drop this file reference in HIKEY960 ONBOARD USB GPIO HUB DRIVER.
Link: https://lkml.kernel.org/r/20211026141902.4865-3-lukas.bulwahn@gmail.com
Fixes: 7a6ff4c4cb ("misc: hisi_hikey_usb: Driver to support onboard USB gpio hub on Hikey960")
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com >
Cc: Anitha Chrisanthus <anitha.chrisanthus@intel.com >
Cc: Edmund Dea <edmund.j.dea@intel.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: Joe Perches <joe@perches.com >
Cc: John Stultz <john.stultz@linaro.org >
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Cc: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp >
Cc: Punit Agrawal <punit1.agrawal@toshiba.co.jp >
Cc: Ralf Ramsauer <ralf.ramsauer@oth-regensburg.de >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Wilken Gottwalt <wilken.gottwalt@posteo.net >
Cc: Yu Chen <chenyu56@huawei.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2021-11-09 10:02:49 -08:00