23 Aug, 2018

40 commits

  • kill_ok_by_cred() already behaves like a boolean function. Let's actually
    declare it as such too.

    Link: http://lkml.kernel.org/r/20180602103653.18181-7-christian@brauner.io
    Signed-off-by: Christian Brauner
    Reviewed-by: Andrew Morton
    Cc: Al Viro
    Cc: Eric W. Biederman
    Cc: Greg Kroah-Hartman
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Kees Cook
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Stephen Smalley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Brauner
     
  • The goto is not needed and does not add any clarity. Simply return
    -EINVAL on unexpected sigset_t struct size directly.

    Link: http://lkml.kernel.org/r/20180602103653.18181-6-christian@brauner.io
    Signed-off-by: Christian Brauner
    Acked-by: Oleg Nesterov
    Reviewed-by: Andrew Morton
    Cc: Al Viro
    Cc: Eric W. Biederman
    Cc: Greg Kroah-Hartman
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Kees Cook
    Cc: Peter Zijlstra
    Cc: Stephen Smalley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Brauner
     
  • do_sigpending() returned 0 unconditionally so it doesn't make sense to
    have it return at all. This allows us to simplify a bunch of syscall
    callers.

    Link: http://lkml.kernel.org/r/20180602103653.18181-5-christian@brauner.io
    Signed-off-by: Christian Brauner
    Acked-by: Al Viro
    Acked-by: Oleg Nesterov
    Reviewed-by: Andrew Morton
    Cc: Eric W. Biederman
    Cc: Greg Kroah-Hartman
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Kees Cook
    Cc: Peter Zijlstra
    Cc: Stephen Smalley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Brauner
     
  • may_ptrace_stop() already behaves like a boolean function. Let's actually
    declare it as such too.

    Link: http://lkml.kernel.org/r/20180602103653.18181-4-christian@brauner.io
    Signed-off-by: Christian Brauner
    Reviewed-by: Andrew Morton
    Cc: Al Viro
    Cc: Eric W. Biederman
    Cc: Greg Kroah-Hartman
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Kees Cook
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Stephen Smalley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Brauner
     
  • kill_as_cred_perm() already behaves like a boolean function. Let's
    actually declare it as such too.

    Link: http://lkml.kernel.org/r/20180602103653.18181-3-christian@brauner.io
    Signed-off-by: Christian Brauner
    Reviewed-by: Andrew Morton
    Cc: Al Viro
    Cc: Eric W. Biederman
    Cc: Greg Kroah-Hartman
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Kees Cook
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Stephen Smalley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Brauner
     
  • Patch series "signal: refactor some functions", v3.

    This series refactors a bunch of functions in signal.c to simplify parts
    of the code.

    The greatest single change is declaring the static do_sigpending() helper
    as void which makes it possible to remove a bunch of unnecessary checks in
    the syscalls later on.

    This patch (of 17):

    force_sigsegv() returned 0 unconditionally so it doesn't make sense to have
    it return at all. In addition, there are no callers that check
    force_sigsegv()'s return value.

    Link: http://lkml.kernel.org/r/20180602103653.18181-2-christian@brauner.io
    Signed-off-by: Christian Brauner
    Reviewed-by: Andrew Morton
    Cc: Eric W. Biederman
    Cc: Greg Kroah-Hartman
    Cc: Ingo Molnar
    Cc: James Morris
    Cc: Kees Cook
    Cc: Peter Zijlstra
    Cc: Stephen Smalley
    Cc: Al Viro
    Cc: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Brauner
     
  • Now that we pass down 64-bit timestamps from VFS, we just need to convert
    that correctly into on-disk timestamps. To make that work correctly, this
    changes the last use of time_to_tm() in the kernel to time64_to_tm(),
    which also lets use remove that deprecated interfaces.

    Similarly, the time_t use in fat_time_fat2unix() truncates the timestamp
    on the way in, which can be avoided by using types that are wide enough to
    hold the intermediate values during the conversion.

    [hirofumi@mail.parknet.co.jp: remove useless temporary variable, needless long long]
    Link: http://lkml.kernel.org/r/20180619153646.3637529-1-arnd@arndb.de
    Signed-off-by: Arnd Bergmann
    Acked-by: OGAWA Hirofumi
    Cc: Jeff Layton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • On corrupted FATfs may have invalid ->i_start. To handle it, this checks
    ->i_start before using, and return proper error code.

    Link: http://lkml.kernel.org/r/87o9f8y1t5.fsf_-_@mail.parknet.co.jp
    Signed-off-by: OGAWA Hirofumi
    Reported-by: Anatoly Trosinenko
    Tested-by: Anatoly Trosinenko
    Cc: Alan Cox
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    OGAWA Hirofumi
     
  • Add FITRIM ioctl for FAT file system

    [witallwang@gmail.com: use u64s]
    Link: http://lkml.kernel.org/r/87h8l37hub.fsf@mail.parknet.co.jp
    [hirofumi@mail.parknet.co.jp: bug fixes, coding style fixes, add signal check]
    Link: http://lkml.kernel.org/r/87fu10anhj.fsf@mail.parknet.co.jp
    Signed-off-by: Wentao Wang
    Signed-off-by: OGAWA Hirofumi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Wentao Wang
     
  • This fixes the following issues:

    - When a buffer size is supplied to reiserfs_listxattr() such that each
    individual name fits, but the concatenation of all names doesn't fit,
    reiserfs_listxattr() overflows the supplied buffer. This leads to a
    kernel heap overflow (verified using KASAN) followed by an out-of-bounds
    usercopy and is therefore a security bug.

    - When a buffer size is supplied to reiserfs_listxattr() such that a
    name doesn't fit, -ERANGE should be returned. But reiserfs instead just
    truncates the list of names; I have verified that if the only xattr on a
    file has a longer name than the supplied buffer length, listxattr()
    incorrectly returns zero.

    With my patch applied, -ERANGE is returned in both cases and the memory
    corruption doesn't happen anymore.

    Credit for making me clean this code up a bit goes to Al Viro, who pointed
    out that the ->actor calling convention is suboptimal and should be
    changed.

    Link: http://lkml.kernel.org/r/20180802151539.5373-1-jannh@google.com
    Fixes: 48b32a3553a5 ("reiserfs: use generic xattr handlers")
    Signed-off-by: Jann Horn
    Acked-by: Jeff Mahoney
    Cc: Eric Biggers
    Cc: Al Viro
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jann Horn
     
  • This uses the deprecated time_t type but is write-only, and could be
    removed, but as Jeff explains, having a timestamp can be usefule for
    post-mortem analysis in crash dumps.

    In order to remove one of the last instances of time_t, this changes the
    type to time64_t, same as j_trans_start_time.

    Link: http://lkml.kernel.org/r/20180622133315.221210-1-arnd@arndb.de
    Signed-off-by: Arnd Bergmann
    Cc: Jan Kara
    Cc: Jeff Mahoney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • Before linux-2.4.6, print_time() was used to pretty-print an inode time
    when running reiserfs in user space, after that it has become obsolete and
    is still a bit incorrect: It behaves differently on 32-bit and 64-bit
    machines, and uses a static buffer to hold a string, which could lead to
    undefined behavior if we ever called this from multiple places
    simultaneously.

    Since we always want to treat the timestamps as 'unsigned' anyway, simply
    printing them as an integer is both simpler and safer while avoiding the
    deprecated time_t type.

    Link: http://lkml.kernel.org/r/20180620142522.27639-3-arnd@arndb.de
    Signed-off-by: Arnd Bergmann
    Reviewed-by: Jan Kara
    Cc: Al Viro
    Cc: Jeff Mahoney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • Using CLOCK_REALTIME time_t timestamps breaks on 32-bit systems in 2038,
    and gives surprising results with a concurrent settimeofday().

    This changes the reiserfs journal timestamps to use ktime_get_seconds()
    instead, which makes it use a 64-bit CLOCK_MONOTONIC stamp.

    In the procfs output, the monotonic timestamp needs to be converted back
    to CLOCK_REALTIME to keep the existing ABI.

    Link: http://lkml.kernel.org/r/20180620142522.27639-2-arnd@arndb.de
    Signed-off-by: Arnd Bergmann
    Reviewed-by: Jan Kara
    Cc: Al Viro
    Cc: Jeff Mahoney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • The HFS+ Access Control Lists have not worked at all for the past five
    years, and nobody seems to have noticed. Besides, POSIX draft ACLs are
    not compatible with MacOS. Drop the feature entirely.

    Link: http://lkml.kernel.org/r/20180714190608.wtnmmtjqeyladkut@eaf
    Signed-off-by: Ernesto A. Fernández
    Acked-by: Christoph Hellwig
    Cc: Viacheslav Dubeyko
    Cc: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ernesto A. Fernández
     
  • Files created under macOS cannot be opened under linux if their names
    contain Korean characters, and vice versa.

    The Korean alphabet is special because its normalization is done without a
    table. The module deals with it correctly when composing, but forgets
    about it for the decomposition.

    Fix this using the Hangul decomposition function provided in the Unicode
    Standard. The code fits a bit awkwardly because it requires a buffer,
    while all the other normalizations are returned as pointers to the
    decomposition table. This is actually also a bug because reordering may
    still be needed, but for now leave it as it is.

    The patch will cause trouble for Hangul filenames already created by the
    module in the past. This shouldn't really be concern because its main
    purpose was always sharing with macOS. If a user actually needs to access
    such a file the nodecompose mount option should be enough.

    Link: http://lkml.kernel.org/r/20180717220951.p6qqrgautc4pxvzu@eaf
    Signed-off-by: Ernesto A. Fernández
    Reported-by: Ting-Chang Hou
    Tested-by: Ting-Chang Hou
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ernesto A. Fernández
     
  • After an extent is removed from the extent tree, the corresponding bits
    are also cleared from the block allocation file. This is currently done
    without releasing the tree lock.

    The problem is that the allocation file has extents of its own; if it is
    fragmented enough, some of them may be in the extent tree as well, and
    hfsplus_get_block() will try to take the lock again.

    To avoid deadlock, only hold the extent tree lock during the actual tree
    operations.

    Link: http://lkml.kernel.org/r/20180709202549.auxwkb6memlegb4a@eaf
    Signed-off-by: Ernesto A. Fernández
    Reported-by: Anatoly Trosinenko
    Cc: Viacheslav Dubeyko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ernesto A. Fernández
     
  • syzbot is reporting NULL pointer dereference at mount_fs() [1]. This is
    because hfsplus_fill_super() is by error returning 0 when
    hfsplus_fill_super() detected invalid filesystem image, and mount_bdev()
    is returning NULL because dget(s->s_root) == NULL if s->s_root == NULL,
    and mount_fs() is accessing root->d_sb because IS_ERR(root) == false if
    root == NULL. Fix this by returning -EINVAL when hfsplus_fill_super()
    detected invalid filesystem image.

    [1] https://syzkaller.appspot.com/bug?id=21acb6850cecbc960c927229e597158cf35f33d0

    Link: http://lkml.kernel.org/r/d83ce31a-874c-dd5b-f790-41405983a5be@I-love.SAKURA.ne.jp
    Signed-off-by: Tetsuo Handa
    Reported-by: syzbot
    Reviewed-by: Ernesto A. Fernández
    Reviewed-by: Andrew Morton
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tetsuo Handa
     
  • Use new return type vm_fault_t for page_mkwrite handler.

    Link: http://lkml.kernel.org/r/1529555928-2411-1-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Souptick Joarder
    Signed-off-by: Ryusuke Konishi
    Reviewed-by: Matthew Wilcox
    Cc: Matthew Wilcox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Souptick Joarder
     
  • The mount time field in the superblock uses a 64-bit timestamp, but
    calling get_seconds() may truncate the current time to 32 bits.

    This changes it to ktime_get_real_seconds() to avoid the potential
    overflow.

    Link: http://lkml.kernel.org/r/20180620075041.4154396-1-arnd@arndb.de
    Signed-off-by: Arnd Bergmann
    Acked-by: Ryusuke Konishi
    Cc: David Howells
    Cc: Jeff Layton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • The userspace automount(8) daemon is meant to perform a forced expire when
    sent a SIGUSR2.

    But since the expiration is routed through the kernel and the kernel
    doesn't send an expire request if the mount is busy this hasn't worked at
    least since autofs version 5.

    Add an AUTOFS_EXP_FORCED flag to allow implemention of the feature and
    bump the protocol version so user space can check if it's implemented if
    needed.

    Link: http://lkml.kernel.org/r/152937734715.21213.6594007182776598970.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • Make the usage of the expire flags consistent by naming the expire flags
    the same as it is named in the version 5 miscelaneous ioctl parameters and
    only check the bit flags when needed.

    Link: http://lkml.kernel.org/r/152937734046.21213.9454131988766280028.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • autofs_expire_indirect() isn't used outside of fs/autofs/expire.c so make
    it static.

    Link: http://lkml.kernel.org/r/152937733512.21213.10509996499623738446.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • autofs_expire_direct() isn't used outside of fs/autofs/expire.c so make it
    static.

    Link: http://lkml.kernel.org/r/152937732944.21213.11821977712410930973.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • The expire flag AUTOFS_EXP_LEAVES is cleared before the second call to
    should_expire() in autofs_expire_indirect() but the parameter passed in
    the second call is incorrect.

    Fortunately AUTOFS_EXP_LEAVES expire flag has not been used for a long
    time but might be needed in the future so fix it rather than remove the
    expire leaves functionality.

    Link: http://lkml.kernel.org/r/152937732410.21213.7447294898147765076.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • The global variable "now" in fs/autofs/expire.c is used in an inconsistent
    way, sometimes using jiffies directly, and sometimes using the "now"
    variable, and setting it isn't done consistently either.

    But the autofs dentry info last_used field is only updated during path
    walks or during expire so jiffies can be used directly and the global
    variable "now" removed.

    Link: http://lkml.kernel.org/r/152937731702.21213.7371321165189170865.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • Depending on how it is configured the autofs user space daemon can leave
    in use mounts mounted at exit and re-connect to them at start up. But for
    this to work best the state of the autofs file system needs to be left
    intact over the restart.

    Also, at system shutdown, mounts in an autofs file system might be
    umounted exposing a mount point trigger for which subsequent access can
    lead to a hang. So recent versions of automount(8) now does its best to
    set autofs file system mounts catatonic at shutdown.

    When autofs file system mounts are catatonic it's currently possible to
    create and remove directories and symlinks which can be a problem at
    restart, as described above.

    So return EACCES in the directory, symlink and unlink methods if the
    autofs file system is catatonic.

    Link: http://lkml.kernel.org/r/152902119090.4144.9561910674530214291.stgit@pluto.themaw.net
    Signed-off-by: Ian Kent
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ian Kent
     
  • Add a log message to `run_init_process()`.

    This log message serves two purposes.

    1. If the init process is not specified on the Linux Kernel command
    line, the user sees, what file was chosen.

    2. The time stamps shows exactly, when the Linux kernel handed over
    control to the init process.

    Link: http://lkml.kernel.org/r/b1fc97fa-4aa9-1904-ddb5-859e78995c41@molgen.mpg.de
    Signed-off-by: Paul Menzel
    Reviewed-by: Andrew Morton
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Menzel
     
  • Correct typos of "it's" to "its.

    Link: http://lkml.kernel.org/r/0ac627b6-5527-55f4-0489-1631aa34fc11@infradead.org
    Signed-off-by: Randy Dunlap
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Masahiro Yamada
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Sparse checking used to be disabled on init/do_mounts.c and a few related
    files because "Many of the syscalls used in this file expect some of the
    arguments to be __user pointers not __kernel pointers".

    However since 28128c61e ("kconfig.h: Include compiler types to avoid
    missed struct attributes") the checks are, in fact, not disabled anymore
    because of the more early include of "linux/compiler_types.h"

    So remove the now ineffective #undefery that was done to disable these
    warnings, as well as the associated comment.

    Link: http://lkml.kernel.org/r/20180617115355.53799-1-luc.vanoostenryck@gmail.com
    Signed-off-by: Luc Van Oostenryck
    Cc: Dominik Brodowski
    Cc: Al Viro
    Cc: Kees Cook
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Luc Van Oostenryck
     
  • Instead of having each caller pass the rdllink explicitly, just have
    ep_is_linked() pass it while the callers just need the epi pointer. This
    helper is all about the rdllink, and this change, furthermore, improves
    the function's self documentation.

    Link: http://lkml.kernel.org/r/20180727053432.16679-3-dave@stgolabs.net
    Signed-off-by: Davidlohr Bueso
    Reviewed-by: Andrew Morton
    Cc: Al Viro
    Cc: Jason Baron
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davidlohr Bueso
     
  • Similar to other calls, ep_poll() is not called with interrupts disabled,
    and we can therefore avoid the irq save/restore dance and just disable
    local irqs. In fact, the call should never be called in irq context at
    all, considering that the only path is

    epoll_wait(2) -> do_epoll_wait() -> ep_poll().

    When running on a 2 socket 40-core (ht) IvyBridge a common pipe based
    epoll_wait(2) microbenchmark, the following performance improvements are
    seen:

    # threads vanilla dirty
    1 1805587 2106412
    2 1854064 2090762
    4 1805484 2017436
    8 1751222 1974475
    16 1725299 1962104
    32 1378463 1571233
    64 787368 900784

    Which is a pretty constantly near 15%.

    Also add a lockdep check such that we detect any mischief before
    deadlocking.

    Link: http://lkml.kernel.org/r/20180727053432.16679-2-dave@stgolabs.net
    Signed-off-by: Davidlohr Bueso
    Reviewed-by: Andrew Morton
    Cc: Al Viro
    Cc: Peter Zijlstra
    Cc: Jason Baron
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davidlohr Bueso
     
  • ... 'tis easier on the eye.

    [akpm@linux-foundation.org: use inlines rather than macros]
    Link: http://lkml.kernel.org/r/20180725185620.11020-1-dave@stgolabs.net
    Signed-off-by: Davidlohr Bueso
    Cc: Jason Baron
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davidlohr Bueso
     
  • Devicetree bindings should be their own patch as documented in
    Documentation/devicetree/bindings/submitting-patches.txt section I.1.
    This is because bindings are logically independent from a driver
    implementation, they have a different maintainer (even though they often
    are applied via the same tree), and it makes for a cleaner history in the
    DT only tree created with git-filter-branch.

    [robh@kernel.org: add doc pointer to warning, simplify logic]
    Link: http://lkml.kernel.org/r/20180810170513.26284-1-robh@kernel.org
    [robh@kernel.org: v3]
    Link: http://lkml.kernel.org/r/20180810225049.20452-1-robh@kernel.org
    Link: http://lkml.kernel.org/r/20180809205032.22205-1-robh@kernel.org
    Signed-off-by: Rob Herring
    Acked-by: Joe Perches
    Cc: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Herring
     
  • On Sun, 2018-08-05 at 08:52 -0700, Linus Torvalds wrote:
    > "long unsigned int" isn't _technically_ wrong. But we normally
    > call that type "unsigned long".

    So add a checkpatch test for it.

    Link: http://lkml.kernel.org/r/7bbd97dc0a1e5896a0251fada7bb68bb33643f77.camel@perches.com
    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Current checkpatch implementation permits notation like

    } else{

    in kernel code. It looks like oversight and inconsistency in checkpatch
    rules (e.g. instruction like 'do' is tested).

    Add regex for checking space after 'else' keyword and trigger error if
    space is not present.

    Link: http://lkml.kernel.org/r/1533545753-8870-1-git-send-email-michal.zylowski@intel.com
    Signed-off-by: Michal Zylowski
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Zylowski
     
  • checkpatch uses the in-kernel script spdxcheck.py to validate the specific
    license in a file or script.

    This check can currently fail for a couple reasons:

    o spdxcheck.py assumes the existence of git tree that may not
    exist for a bare source tree from something like a tarball
    o the spdxcheck.py must be run from the top level root directory

    So add a git existence test and set the subprocess subdirectory.

    Link: http://lkml.kernel.org/r/2b32864324ae9c92948b002ec4c0c22409ed98f1.camel@perches.com
    Signed-off-by: Joe Perches
    Reported-by: Charlemagne Lasse
    Tested-by: Charlemagne Lasse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Potential patches should have a commit description. Emit a warning when
    there isn't one.

    [akpm@linux-foundation.org: s/else if/elsif/]
    Link: http://lkml.kernel.org/r/1b099f4d8373aa583a17011992676bf0f3f09eee.camel@perches.com
    Signed-off-by: Joe Perches
    Suggested-by: Prakruthi Deepak Heragu
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • The #if 0 or #if 1 is used to toggle features. Warn if #if 0 or #if 1
    is present and suggest that they can be removed.

    [akpm@linux-foundation.org: fix spacing around periods, per Joe\
    Link: http://lkml.kernel.org/r/1532625218-24321-1-git-send-email-pheragu@codeaurora.org
    Signed-off-by: Abhijeet Dharmapurikar
    Signed-off-by: Prakruthi Deepak Heragu
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prakruthi Deepak Heragu
     
  • The current krealloc test does not function correctly when the temporary
    pointer return name contains the original pointer name.

    Fix that by maximally matching the return pointer name and the original
    pointer name and doing a separate comparison of the both names.

    Link: http://lkml.kernel.org/r/e617ecb8c019a9c4c56540a1bec16c8aed43a4e4.camel@perches.com
    Signed-off-by: Joe Perches
    Reported-by: Lars-Peter Clausen
    Cc: Manish Narani
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Use the existing scripts/spdxcheck.py to validate any
    SPDX-License-Identifier found in line 1 or 2 of patches or files.

    Miscellanea:

    o Properly indent the existing SPDX-License-Identifier block.

    Link: http://lkml.kernel.org/r/05b832407b24e0a27e419906187cd863bc1617c7.camel@perches.com
    Signed-off-by: Joe Perches
    Acked-by: Rob Herring
    Cc: Thomas Gleixner
    Cc: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches