10 Sep, 2020

1 commit

  • commit 13e45417cedbfc44b1926124b1846f5ee8c6ba4a upstream.

    The usage of "capture group (...)" in the immediate condition after `&&`
    results in `$1` being uninitialized. This issues a warning "Use of
    uninitialized value $1 in regexp compilation at ./scripts/checkpatch.pl
    line 2638".

    I noticed this bug while running checkpatch on the set of commits from
    v5.7 to v5.8-rc1 of the kernel on the commits with a diff content in
    their commit message.

    This bug was introduced in the script by commit e518e9a59ec3
    ("checkpatch: emit an error when there's a diff in a changelog"). It
    has been in the script since then.

    The author intended to store the match made by capture group in variable
    `$1`. This should have contained the name of the file as `[\w/]+`
    matched. However, this couldn't be accomplished due to usage of capture
    group and `$1` in the same regular expression.

    Fix this by placing the capture group in the condition before `&&`.
    Thus, `$1` can be initialized to the text that capture group matches
    thereby setting it to the desired and required value.

    Fixes: e518e9a59ec3 ("checkpatch: emit an error when there's a diff in a changelog")
    Signed-off-by: Mrinal Pandey
    Signed-off-by: Andrew Morton
    Tested-by: Lukas Bulwahn
    Reviewed-by: Lukas Bulwahn
    Cc: Joe Perches
    Link: https://lkml.kernel.org/r/20200714032352.f476hanaj2dlmiot@mrinalpandey
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Mrinal Pandey
     

26 Sep, 2019

9 commits

  • IS_ERR(), IS_ERR_OR_NULL(), IS_ERR_VALUE() and WARN*() already contain
    unlikely() optimization internally. Thus, there is no point in calling
    these functions and defines under likely()/unlikely().

    This check is based on the coccinelle rule developed by Enrico Weigelt
    https://lore.kernel.org/lkml/1559767582-11081-1-git-send-email-info@metux.net/

    Link: http://lkml.kernel.org/r/20190829165025.15750-1-efremov@linux.com
    Signed-off-by: Denis Efremov
    Cc: Joe Perches
    Cc: Alexander Viro
    Cc: Anton Altaparmakov
    Cc: Boris Ostrovsky
    Cc: Boris Pismenny
    Cc: Darrick J. Wong
    Cc: "David S. Miller"
    Cc: Denis Efremov
    Cc: Dennis Dalessandro
    Cc: Inaky Perez-Gonzalez
    Cc: Juergen Gross
    Cc: Leon Romanovsky
    Cc: Mike Marciniszyn
    Cc: Rob Clark
    Cc: Saeed Mahameed
    Cc: Sean Paul
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denis Efremov
     
  • git output parsing depends on the language being en_US english.

    Make the backtick execution of all `git ` commands set the
    LANGUAGE of the process to en_US.utf8 before executing the actual
    command using `export LANGUAGE=en_US.utf8; git `.

    Because the command is executed in a child process, the parent
    LANGUAGE is unchanged.

    Link: http://lkml.kernel.org/r/bb9f29988f3258281956680ff39c3e19e37dc0b8.camel@perches.com
    Signed-off-by: Joe Perches
    Reported-by: Sean Christopherson
    Reviewed-by: Sean Christopherson
    Tested-by: Sean Christopherson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Git dropped the period from its "ambiguous SHA1" error message in commit
    0c99171ad2 ("get_short_sha1: mark ambiguity error for translation"), circa
    2016. Drop the period from checkpatch's associated query so as to match
    both the old and new error messages.

    Link: http://lkml.kernel.org/r/20190830163103.15914-1-sean.j.christopherson@intel.com
    Signed-off-by: Sean Christopherson
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sean Christopherson
     
  • checkpatch allows consecutive open braces, so it should also allow
    consecutive close braces.

    Link: http://lkml.kernel.org/r/bfdb49ae2c3fa7b52fa168769e38b48f959880e2.camel@perches.com
    Signed-off-by: Joe Perches
    Acked-by: Jeff Kirsher
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Add another test for __attribute__((section("foo"))) uses that should be
    __section(foo)

    Link: http://lkml.kernel.org/r/2f374c3c27054b7f978115270d587c624d9962fc.camel@perches.com
    Suggested-by: Nick Desaulniers
    Signed-off-by: Joe Perches
    Tested-by: Nick Desaulniers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • The arguments of sizeof are not evaluated so arguments are safe to re-use
    in that context. Excluding sizeof subexpressions means macros like
    ARRAY_SIZE can pass checkpatch.

    Link: http://lkml.kernel.org/r/20190806070833.24423-1-brendan.jackman@bluwireless.co.uk
    Signed-off-by: Brendan Jackman
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Brendan Jackman
     
  • It can happen that a commit message refers to an invalid commit id,
    because the referenced hash changed following a rebase, or simply by
    mistake. Add a check in checkpatch.pl which checks that an hash
    referenced by a Fixes tag, or just cited in the commit message, is a valid
    commit id.

    $ scripts/checkpatch.pl <
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matteo Croce
     
  • Use perl's m@@ match and not // comparisons to avoid
    an error using c90's // comment style.

    Miscellanea:

    o Use normal tab indentation and alignment

    Link: http://lkml.kernel.org/r/5e4a8fa7901148fbcd77ab391e6dd0e6bf95777f.camel@perches.com

    Link: http://lkml.kernel.org/r/f08eb62458407a145cfedf959d1091af151cd665.1563575364.git.joe@perches.com
    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Add more types of lines that appear to be stack dumps that also include
    hex lines that might otherwise be interpreted as commit IDs.

    Link: http://lkml.kernel.org/r/ff00208289224f0ca4eaf4ff7c9c6e087dad0a63.camel@perches.com

    Link: http://lkml.kernel.org/r/f7dc9727795db3802809a24162abe0b67e14123b.1563575364.git.joe@perches.com
    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

17 Jul, 2019

1 commit

  • Commit d91bff3011cf ("proc/sysctl: add shared variables for range
    check") adds some shared const variables to be used instead of a local
    copy in each source file. Warn when a chunk duplicates one of these
    values in a ctl_table struct:

    $ scripts/checkpatch.pl 0001-test-commit.patch
    WARNING: duplicated sysctl range checking value 'zero', consider using the shared one in include/linux/sysctl.h
    #27: FILE: arch/arm/kernel/isa.c:48:
    + .extra1 = &zero,

    WARNING: duplicated sysctl range checking value 'int_max', consider using the shared one in include/linux/sysctl.h
    #28: FILE: arch/arm/kernel/isa.c:49:
    + .extra2 = &int_max,

    total: 0 errors, 2 warnings, 14 lines checked

    Link: http://lkml.kernel.org/r/20190531131422.14970-1-mcroce@redhat.com
    Signed-off-by: Matteo Croce
    Reviewed-by: Kees Cook
    Cc: Joe Perches
    Cc: Aaron Tomlin
    Cc: Matthew Wilcox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matteo Croce
     

15 Jun, 2019

1 commit

  • The conversion here is really trivial: just a bunch of title
    markups and very few puntual changes is enough to make it to
    be parsed by Sphinx and generate a nice html.

    The conversion is actually:
    - add blank lines and identation in order to identify paragraphs;
    - fix tables markups;
    - add some lists markups;
    - mark literal blocks;
    - adjust title markups.

    At its new index.rst, let's add a :orphan: while this is not linked to
    the main index.rst file, in order to avoid build warnings.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Mark Brown
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

23 May, 2019

1 commit

  • In commit 8122de54602e ("dt-bindings: Convert vendor prefixes to
    json-schema"), vendor-prefixes.txt has been converted to a DT schema.
    Update the checkpatch.pl DT check to extract vendor prefixes from the new
    vendor-prefixes.yaml file.

    Fixes: 8122de54602e ("dt-bindings: Convert vendor prefixes to json-schema")
    Cc: Joe Perches
    Signed-off-by: Rob Herring

    Rob Herring
     

09 May, 2019

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "A reasonably busy cycle for docs, including:

    - Lots of work on the Chinese and Italian translations

    - Some license-rules clarifications from Christoph

    - Various build-script fixes

    - A new document on memory models

    - RST conversion of the live-patching docs

    - The usual collection of typo fixes and corrections"

    * tag 'docs-5.2' of git://git.lwn.net/linux: (140 commits)
    docs/livepatch: Unify style of livepatch documentation in the ReST format
    docs: livepatch: convert docs to ReST and rename to *.rst
    scripts/documentation-file-ref-check: detect broken :doc:`foo`
    scripts/documentation-file-ref-check: don't parse Next/ dir
    LICENSES: Rename other to deprecated
    LICENSES: Clearly mark dual license only licenses
    docs: Don't reference the ZLib license in license-rules.rst
    docs/vm: Minor editorial changes in the THP and hugetlbfs
    docs/vm: add documentation of memory models
    doc:it_IT: translation alignment
    doc: fix typo in PGP guide
    dontdiff: update with Kconfig build artifacts
    docs/zh_CN: fix typos in 1.Intro.rst file
    docs/zh_CN: redirect CoC docs to Chinese version
    doc: mm: migration doesn't use FOLL_SPLIT anymore
    docs: doc-guide: remove the extension from .rst files
    doc: kselftest: Fix KBUILD_OUTPUT usage instructions
    docs: trace: fix some Sphinx warnings
    docs: speculation.txt: mark example blocks as such
    docs: ntb.txt: add blank lines to clean up some Sphinx warnings
    ...

    Linus Torvalds
     

30 Mar, 2019

1 commit

  • Commit 4d42c44727a0 ("lib/vsprintf: Print time and date in human
    readable format via %pt") introduced a new extension, %pt.

    Add it in the list of valid extensions.

    Link: http://lkml.kernel.org/r/20190314203719.29130-1-alexandre.belloni@bootlin.com
    Signed-off-by: Alexandre Belloni
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Belloni
     

26 Mar, 2019

1 commit

  • The purpose of Co-developed-by: is to give attribution to authors who
    aren't already attributed by the From: tag, i.e. who aren't the nominal
    patch author. Because Co-developed-by: is essentially a variation of
    From:, it must be accompanied by a Signed-off-by: of the associated
    co-author. To ease the burden of determining whether or not co-authors
    have signed off, Co-developed-by and Signed-off-by: must be explicitly
    paired, i.e. on consecutive lines for a given co-author.

    Suggested-by: Joe Perches
    Signed-off-by: Sean Christopherson
    Signed-off-by: Jonathan Corbet

    Sean Christopherson
     

10 Mar, 2019

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "A fairly routine cycle for docs - lots of typo fixes, some new
    documents, and more translations. There's also some LICENSES
    adjustments from Thomas"

    * tag 'docs-5.1' of git://git.lwn.net/linux: (74 commits)
    docs: Bring some order to filesystem documentation
    Documentation/locking/lockdep: Drop last two chars of sample states
    doc: rcu: Suspicious RCU usage is a warning
    docs: driver-api: iio: fix errors in documentation
    Documentation/process/howto: Update for 4.x -> 5.x versioning
    docs: Explicitly state that the 'Fixes:' tag shouldn't split lines
    doc: security: Add kern-doc for lsm_hooks.h
    doc: sctp: Merge and clean up rst files
    Docs: Correct /proc/stat path
    scripts/spdxcheck.py: fix C++ comment style detection
    doc: fix typos in license-rules.rst
    Documentation: fix admin-guide/README.rst minimum gcc version requirement
    doc: process: complete removal of info about -git patches
    doc: translations: sync translations 'remove info about -git patches'
    perf-security: wrap paragraphs on 72 columns
    perf-security: elaborate on perf_events/Perf privileged users
    perf-security: document collected perf_events/Perf data categories
    perf-security: document perf_events/Perf resource control
    sysfs.txt: add note on available attribute macros
    docs: kernel-doc: typo "if ... if" -> "if ... is"
    ...

    Linus Torvalds
     

08 Mar, 2019

4 commits

  • Warn when any SPDX-License-Identifier: tag is not created on the proper
    line number.

    Link: http://lkml.kernel.org/r/9b74ee87f8c1b8fd310e213fcb4994d58610fcb6.camel@perches.com
    Signed-off-by: Joe Perches
    Cc: Linus Walleij
    Cc: "Enrico Weigelt, metux IT consult"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Presently C99 style comments are removed unconditionally before actual
    patch validity check happens. This is a problem for some third party
    projects which use checkpatch.pl but do not allow C99 style comments.

    This patch adds yet another variable, named C99_COMMENT_TOLERANCE. If
    it is included in the --ignore command line or config file options list,
    C99 comments in the patch are reported as errors.

    Tested by processing a patch with a C99 style comment, it passes the
    check just fine unless '--ignore C99_COMMENT_TOLERANCE' is present in
    .checkpatch.conf.

    Link: http://lkml.kernel.org/r/20190110224957.25008-1-vbendeb@chromium.org
    Signed-off-by: Vadim Bendebury
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vadim Bendebury
     
  • Many new generic allocation functions like the kvmalloc family have been
    added recently to the kernel.

    The allocation functions test now includes:

    o kvmalloc and variants
    o kstrdup_const
    o kmemdup_nul
    o dma_alloc_coherent
    o alloc_skb and variants

    Add a separate $allocFunctions variable to help make the allocation
    functions test a bit more readable.

    Miscellanea:

    o Use $allocFunctions in the unnecessary OOM message test and
    add exclude uses with __GFP_NOWARN
    o Use $allocFunctions in the unnecessary cast test
    o Add the kvmalloc family to the preferred sizeof alloc style
    foo = kvmalloc(sizeof(*foo), ...)

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

    Joe Perches
     
  • Using SPDX commenting style // or /* is specified for various file types
    in Documentation/process/license-rules.rst so add an appropriate test for
    .[chsS] files because many proposed file additions and patches do not use
    the correct style.

    Link: http://lkml.kernel.org/r/8b02899853247a2c67669561761f354dd3bd110e.camel@perches.com
    Signed-off-by: Joe Perches
    Cc: Rob Herring
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

21 Jan, 2019

1 commit

  • There has been some confusion since checkpatch started warning about bool
    use in structures, and people have been avoiding using it.

    Many people feel there is still a legitimate place for bool in structures,
    so provide some guidance on bool usage derived from the entire thread that
    spawned the checkpatch warning.

    Link: https://lkml.kernel.org/r/CA+55aFwVZk1OfB9T2v014PTAKFhtVan_Zj2dOjnCy3x6E4UJfA@mail.gmail.com
    Signed-off-by: Joe Perches
    Acked-by: Joe Perches
    Reviewed-by: Bart Van Assche
    Acked-by: Jani Nikula
    Reviewed-by: Joey Pabalinas
    Signed-off-by: Jason Gunthorpe
    Signed-off-by: Jonathan Corbet

    Jason Gunthorpe
     

05 Jan, 2019

2 commits

  • As per Documentation/process/submitting-patches, Co-developed-by is a
    valid signature.

    This commit removes the warning.

    Link: http://lkml.kernel.org/r/1544808928-20002-3-git-send-email-jorge.ramirez-ortiz@linaro.org
    Signed-off-by: Jorge Ramirez-Ortiz
    Cc: Greg Kroah-Hartman
    Cc: Himanshu Jha
    Cc: Joe Perches
    Cc: Jonathan Cameron
    Cc: Jonathan Corbet
    Cc: Niklas Cassel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jorge Ramirez-Ortiz
     
  • These declarations should generally be static const to avoid poor
    compilation and runtime performance where compilers tend to initialize
    the const declaration for every call instead of using .rodata for the
    string.

    Miscellanea:

    - Convert spaces to tabs for indentation in 2 adjacent checks

    Link: http://lkml.kernel.org/r/10ea5f4b087dc911e41e187a4a2b5e79c7529aa3.camel@perches.com
    Signed-off-by: Joe Perches
    Cc: Rasmus Villemoes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

13 Nov, 2018

2 commits


31 Oct, 2018

1 commit

  • This warning was there to avoid the use of 0bxxx values as they are not
    supported by gcc prior to v4.3

    Since cafa0010cd51f ("Raise the minimum required gcc version to 4.6"),
    it's not an issue anymore and using such values can increase readability
    of code.

    Joe said:

    : Seems sensible as the other compilers also support binary literals from
    : relatively old versions.
    : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf
    : https://software.intel.com/en-us/articles/c14-features-supported-by-intel-c-compiler

    Link: http://lkml.kernel.org/r/392eeae782302ee8812a3c932a602035deed1609.1535351453.git.christophe.leroy@c-s.fr
    Signed-off-by: Christophe Leroy
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christophe Leroy
     

05 Sep, 2018

2 commits

  • __ro_after_init is a specific __attribute__ that checkpatch does currently
    not understand.

    Add it to the known $Attribute types so that code that uses variables
    declared with __ro_after_init are not thought to be a modifier type.

    This appears as a defect in checkpatch output of code like:

    static bool trust_cpu __ro_after_init = IS_ENABLED(CONFIG_RANDOM_TRUST_CPU);
    [...]
    if (trust_cpu && arch_init) {

    where checkpatch reports:

    ERROR: space prohibited after that '&&' (ctx:WxW)
    if (trust_cpu && arch_init) {

    Link: http://lkml.kernel.org/r/0fa8a2cb83ade4c525e18261ecf6cfede3015983.camel@perches.com
    Signed-off-by: Joe Perches
    Reported-by: Kees Cook
    Tested-by: Kees Cook
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Using a static const struct definition as part of a series of
    declarations produces a false positive "Missing a blank line after
    declarations" for code like:

    WARNING: Missing a blank line after declarations
    #710: FILE: drivers/gpu/drm/tidss/tidss_scale_coefs.c:137:
    + int inc;
    + static const struct {

    So fix it.

    Link: http://lkml.kernel.org/r/5905126e70b0ed1781e49265fd5c49c5090d0223.camel@perches.com
    Signed-off-by: Joe Perches
    Reported-by: Jyri Sarha
    Cc: "Valkeinen, Tomi"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

23 Aug, 2018

11 commits

  • 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
     
  • Multiple line macro definitions where the arguments are separated by line
    continuations can cause checkpatch to emit invalid syntax regex tests.

    This can occur when a single argument is modified in a part of a patch.

    For example: (to not add a diff in the commit message)

    $ ./scripts/checkpatch.pl --git db023296f0115d2fe01fdabad54678f2b806da23
    Unterminated \g... pattern in regex;

    And, the test does not work correctly when these arguments are all new as
    the initial patch line addition "+" is used in the argument name.

    Fix this by stripping the line continuations and any "+" from the list of
    arguments.

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

    Joe Perches
     
  • Print a warning if none of the Signed-off-by lines cover the patch author.

    Non-ASCII quoted printable encoding in From: headers and (lack of) double
    quotes are handled. Split From: headers are not fully handled: only the
    first part is compared.

    [geert+renesas@glider.be: only encode UTF-8 quoted printable mail headers]
    Link: http://lkml.kernel.org/r/20180718145254.4770-1-geert+renesas@glider.be
    Link: http://lkml.kernel.org/r/20180712100323.26684-1-geert+renesas@glider.be
    Signed-off-by: Geert Uytterhoeven
    Acked-by: Joe Perches
    Acked-by: Linus Walleij
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • As of commit bd721ea73e1f ("treewide: replace obsolete _refok by
    __ref"), __init_refok no longer exists, so it can be removed. While at
    it, add the modern variants that were still missing.

    Link: http://lkml.kernel.org/r/20180706084205.26367-1-geert+renesas@glider.be
    Signed-off-by: Geert Uytterhoeven
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven