Skip to content
  1. Nov 10, 2021
    • Sebastian Andrzej Siewior's avatar
      Documentation/kcov: define `ip' in the example · 6f1d34bd
      Sebastian Andrzej Siewior authored
      
      
      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: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Acked-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Acked-by: default avatarMarco Elver <elver@google.com>
      Tested-by: default avatarMarco Elver <elver@google.com>
      Reviewed-by: default avatarAndrey Konovalov <andreyknvl@gmail.com>
      Cc: Clark Williams <williams@redhat.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6f1d34bd
    • Sebastian Andrzej Siewior's avatar
      Documentation/kcov: include types.h in the example · d687a9cc
      Sebastian Andrzej Siewior authored
      
      
      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: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Acked-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Acked-by: default avatarMarco Elver <elver@google.com>
      Tested-by: default avatarMarco Elver <elver@google.com>
      Reviewed-by: default avatarAndrey Konovalov <andreyknvl@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Clark Williams <williams@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d687a9cc
    • Pavel Skripkin's avatar
      sysv: use BUILD_BUG_ON instead of runtime check · 7eb0e28c
      Pavel Skripkin authored
      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: 1da177e4
      
       ("Linux-2.6.12-rc2")
      Signed-off-by: default avatarPavel Skripkin <paskripkin@gmail.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7eb0e28c
    • Ran Xiaokai's avatar
      kernel/fork.c: unshare(): use swap() to make code cleaner · ba1f70dd
      Ran Xiaokai authored
      
      
      Use swap() instead of reimplementing it.
      
      Link: https://lkml.kernel.org/r/20210909022046.8151-1-ran.xiaokai@zte.com.cn
      Signed-off-by: default avatarRan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ba1f70dd
    • Muchun Song's avatar
      seq_file: fix passing wrong private data · 10a6de19
      Muchun Song authored
      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: 97a32539
      
       ("proc: convert everything to "struct proc_ops"")
      Signed-off-by: default avatarMuchun 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      10a6de19
    • Andy Shevchenko's avatar
      seq_file: move seq_escape() to a header · 372904c0
      Andy Shevchenko authored
      
      
      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: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      372904c0
    • Ye Guojin's avatar
      signal: remove duplicate include in signal.h · f2666368
      Ye Guojin authored
      
      
      '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: default avatarYe Guojin <ye.guojin@zte.com.cn>
      Reported-by: default avatarZeal Robot <zealci@zte.com.cn>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f2666368
    • Ye Guojin's avatar
      crash_dump: remove duplicate include in crash_dump.h · a10677a0
      Ye Guojin authored
      In crash_dump.h, header file <linux/pgtable.h> is included twice.  This
      duplication was introduced in commit 65fddcfc
      
      ("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: default avatarYe Guojin <ye.guojin@zte.com.cn>
      Reported-by: default avatarZeal Robot <zealci@zte.com.cn>
      Acked-by: default avatarBaoquan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a10677a0
    • Changcheng Deng's avatar
      crash_dump: fix boolreturn.cocci warning · 5605f419
      Changcheng Deng authored
      
      
      ./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: default avatarChangcheng Deng <deng.changcheng@zte.com.cn>
      Reported-by: default avatarZeal Robot <zealci@zte.com.cn>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Acked-by: default avatarBaoquan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5605f419
    • Arnd Bergmann's avatar
      hfs/hfsplus: use WARN_ON for sanity check · 55d1cbbb
      Arnd Bergmann authored
      
      
      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: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarChristian 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      55d1cbbb
    • Ryusuke Konishi's avatar
      nilfs2: remove filenames from file comments · 94ee1d91
      Ryusuke Konishi authored
      
      
      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: default avatarRyusuke Konishi <konishi.ryusuke@gmail.com>
      Cc: Qing Wang <wangqing@vivo.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      94ee1d91
    • Qing Wang's avatar
      nilfs2: replace snprintf in show functions with sysfs_emit · 3bcd6c5b
      Qing Wang authored
      
      
      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: default avatarQing Wang <wangqing@vivo.com>
      Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3bcd6c5b
    • Jan Harkes's avatar
      coda: bump module version to 7.2 · 98d5b61e
      Jan Harkes authored
      
      
      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: default avatarJan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      98d5b61e
    • Jing Yangyang's avatar
      coda: use vmemdup_user to replace the open code · 118b7ee1
      Jing Yangyang authored
      
      
      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: default avatarZeal Robot <zealci@zte.com.cn>
      Signed-off-by: default avatarJing Yangyang <jing.yangyang@zte.com.cn>
      Signed-off-by: default avatarJan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      118b7ee1
    • Xiyu Yang's avatar
      coda: convert from atomic_t to refcount_t on coda_vm_ops->refcnt · 1077c285
      Xiyu Yang authored
      
      
      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: default avatarXiyu Yang <xiyuyang19@fudan.edu.cn>
      Signed-off-by: default avatarXin Tan <tanxin.ctf@gmail.com>
      Signed-off-by: default avatarJan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1077c285
    • Jan Harkes's avatar
      coda: avoid doing bad things on inode type changes during revalidation · 5a646fb3
      Jan Harkes authored
      
      
      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: default avatarJan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5a646fb3
    • Jan Harkes's avatar
      coda: avoid hidden code duplication in rename · b2e36228
      Jan Harkes authored
      
      
      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: default avatarJan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b2e36228
    • Jan Harkes's avatar
      coda: avoid flagging NULL inodes · 76097eb7
      Jan Harkes authored
      
      
      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: default avatarJan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      76097eb7
    • Alex Shi's avatar
      coda: remove err which no one care · b1deb685
      Alex Shi authored
      
      
      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: default avatarAlex Shi <alex.shi@linux.alibaba.com>
      Signed-off-by: default avatarJan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b1deb685
    • Jan Harkes's avatar
      coda: check for async upcall request using local state · 3d8e72d9
      Jan Harkes authored
      
      
      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: default avatarJan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3d8e72d9
    • Jan Harkes's avatar
      coda: avoid NULL pointer dereference from a bad inode · 18319cb4
      Jan Harkes authored
      
      
      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: default avatarJan 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      18319cb4
    • Andrew Halaney's avatar
      init: make unknown command line param message clearer · 8bc2b3dc
      Andrew Halaney authored
      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: 86d1919a
      
       ("init: print out unknown kernel parameters")
      Signed-off-by: default avatarAndrew Halaney <ahalaney@redhat.com>
      Suggested-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Borislav Petkov <bp@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8bc2b3dc
    • yangerkun's avatar
      ramfs: fix mount source show for ramfs · 0858d7da
      yangerkun authored
      
      
      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: default avataryangerkun <yangerkun@huawei.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0858d7da
    • Kefeng Wang's avatar
      alpha: use is_kernel_text() helper · 2d93a583
      Kefeng Wang authored
      
      
      Use is_kernel_text() helper to simplify code.
      
      Link: https://lkml.kernel.org/r/20210930071143.63410-12-wangkefeng.wang@huawei.com
      Signed-off-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Reviewed-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2d93a583
    • Kefeng Wang's avatar
      microblaze: use is_kernel_text() helper · 4b5ef1e1
      Kefeng Wang authored
      
      
      Use is_kernel_text() helper to simplify code.
      
      Link: https://lkml.kernel.org/r/20210930071143.63410-11-wangkefeng.wang@huawei.com
      Signed-off-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Acked-by: default avatarMichal Simek <michal.simek@xilinx.com>
      Reviewed-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4b5ef1e1
    • Kefeng Wang's avatar
      powerpc/mm: use core_kernel_text() helper · 843a1ffa
      Kefeng Wang authored
      
      
      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: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Reviewed-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      843a1ffa
    • Kefeng Wang's avatar
      extable: use is_kernel_text() helper · 808b6456
      Kefeng Wang authored
      
      
      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: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Reviewed-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      808b6456
    • Kefeng Wang's avatar
      mm: kasan: use is_kernel() helper · 3298cbe8
      Kefeng Wang authored
      
      
      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: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Reviewed-by: default avatarAlexander Potapenko <glider@google.com>
      Reviewed-by: default avatarAndrey Konovalov <andreyknvl@gmail.com>
      Reviewed-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3298cbe8
    • Kefeng Wang's avatar
      sections: provide internal __is_kernel() and __is_kernel_text() helper · 8f6e42e8
      Kefeng Wang authored
      
      
      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: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Reviewed-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8f6e42e8
    • Kefeng Wang's avatar
      x86: mm: rename __is_kernel_text() to is_x86_32_kernel_text() · 0a96c902
      Kefeng Wang authored
      Commit b56cd05c
      
       ("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: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Reviewed-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0a96c902
    • Kefeng Wang's avatar
      sections: move is_kernel_inittext() into sections.h · b9ad8fe7
      Kefeng Wang authored
      
      
      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: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Reviewed-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b9ad8fe7
    • Kefeng Wang's avatar
      sections: move and rename core_kernel_data() to is_kernel_core_data() · a20deb3a
      Kefeng Wang authored
      
      
      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: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Reviewed-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a20deb3a
    • Kefeng Wang's avatar
      kallsyms: fix address-checks for kernel related range · e7d5c4b0
      Kefeng Wang authored
      
      
      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: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
      Reviewed-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      Acked-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e7d5c4b0
    • Kefeng Wang's avatar
      kallsyms: remove arch specific text and data check · 1b1ad288
      Kefeng Wang authored
      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 4ba66a97
      
       ("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: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
      Reviewed-by: default avatarSergey 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1b1ad288
    • Alexey Dobriyan's avatar
      ELF: simplify STACK_ALLOC macro · a43e5e3a
      Alexey Dobriyan authored
      
      
      "A -= B; A" is equivalent to "A -= B".
      
      Link: https://lkml.kernel.org/r/YVmcP256fRMqCwgK@localhost.localdomain
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a43e5e3a
    • Kees Cook's avatar
      binfmt_elf: reintroduce using MAP_FIXED_NOREPLACE · 5f501d55
      Kees Cook authored
      Commit b212921b ("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 4ed28639
      
       ("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: default avatarAnthony Yznaga <anthony.yznaga@oracle.com>
      Signed-off-by: default avatarAnthony Yznaga <anthony.yznaga@oracle.com>
      Signed-off-by: default avatarKees 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5f501d55
    • Peter Ujfalusi's avatar
      checkpatch: get default codespell dictionary path from package location · 0ee3e7b8
      Peter Ujfalusi authored
      
      
      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: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
      Acked-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0ee3e7b8
    • Joe Perches's avatar
      checkpatch: improve EXPORT_SYMBOL test for EXPORT_SYMBOL_NS uses · 70a11659
      Joe Perches authored
      
      
      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: default avatarJoe Perches <joe@perches.com>
      Reported-by: default avatarIan Pilcher <arequipeno@gmail.com>
      Cc: Dwaipayan Ray <dwaipayanray1@gmail.com>
      Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      70a11659
    • Rikard Falkeborn's avatar
      const_structs.checkpatch: add a few sound ops structs · 3e421469
      Rikard Falkeborn authored
      
      
      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: default avatarRikard 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3e421469
    • Thomas Gleixner's avatar
      mm/scatterlist: replace the !preemptible warning in sg_miter_stop() · 723aca20
      Thomas Gleixner authored
      
      
      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: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      723aca20