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
     

03 May, 2019

3 commits

  • Make it clear in the directory name that these are not intended for new
    code.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Jonathan Corbet

    Christoph Hellwig
     
  • Just like the CDDL the Apache license and the MPL must only be used as
    a choice in additional to an GPL2 compatible license. Copy over the
    boilerplate from the CDDL file to the other two after fixing it up to
    make it clear the licenses need to be GPL2 compatible, not just the
    more generic GPL compatible. For example the Apache 2 license is GPL3
    compatible, but that doesn't matter for the kernel.

    Also move these licenses to a separate directory and document the rules
    in license-rules.rst.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Jonathan Corbet

    Christoph Hellwig
     
  • We never had a file called LICENSES/other/ZLib in the tree, so don't
    reference it. Instead mention the GPL v1 as an (bad) example.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Jonathan Corbet

    Christoph Hellwig
     

30 Apr, 2019

1 commit


10 Apr, 2019

1 commit


09 Apr, 2019

1 commit

  • It's unnecessary to point to an external mirror of the Documentation
    directory.

    Jonathan Corbet writes in favor of removing this entry, instead of
    moving it under "Docs at the Linux Kernel tree":

    > We don't want to turn kernel-docs.rst into yet another out-of-date
    > index for the rest of Documentation/, and the removal of the external
    > URL takes away the only bit of additional information that this entry
    > offers.

    Signed-off-by: Jonathan Neuschäfer
    Signed-off-by: Jonathan Corbet

    Jonathan Neuschäfer
     

07 Apr, 2019

1 commit

  • Currently support for 64-bit sector_t and blkcnt_t is optional on 32-bit
    architectures. These types are required to support block device and/or
    file sizes larger than 2 TiB, and have generally defaulted to on for
    a long time. Enabling the option only increases the i386 tinyconfig
    size by 145 bytes, and many data structures already always use
    64-bit values for their in-core and on-disk data structures anyway,
    so there should not be a large change in dynamic memory usage either.

    Dropping this option removes a somewhat weird non-default config that
    has cause various bugs or compiler warnings when actually used.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     

02 Apr, 2019

1 commit


26 Mar, 2019

1 commit

  • The documentation for Co-developed-by is a bit light on details, e.g. it
    doesn't explicitly state that:

    - Multiple Co-developed-by tags are perfectly acceptable
    - Co-developed-by and Signed-off-by must be paired together
    - SOB ordering should still follow standard sign-off procedure

    Lack of explicit direction has resulted in developers taking a variety
    of approaches, often lacking any intent whatsoever, e.g. scattering SOBs
    willy-nilly, collecting them all at the end or the beginning, etc...
    Tweak the wording to make it clear that multiple co-authors are allowed,
    and document the expectation that standard sign-off procedures are to
    be followed.

    The use of "original author" has also led to confusion as many patches
    don't have just one "original" author, e.g. when multiple developers
    are involved from the genesis of the patch. Remove all usage of
    "original" and instead call out that Co-developed-by is simply a way to
    provide attribution in addition to the From tag, i.e. neither tag is
    intended to imply anything with regard to who did what.

    Provide examples to (hopefully) eliminate any ambiguity.

    Cc: Tobin C. Harding
    Cc: Thomas Gleixner
    Cc: Jani Nikula
    Cc: Jorge Ramirez-Ortiz
    Cc: Jonathan Cameron
    Cc: Joe Perches
    Cc: Greg Kroah-Hartman
    Cc: Niklas Cassel
    Cc: Jonathan Corbet
    Signed-off-by: Sean Christopherson
    Signed-off-by: Jonathan Corbet

    Sean Christopherson
     

25 Mar, 2019

1 commit

  • The instructions for generating patches are given as shell commands
    with variables as placeholders. They use the syntax "SRCTREE= linux",
    which is wrong for the Bourne shell family (it runs the command
    "linux" with the variable "SRCTREE" set to the empty string).

    Remove the spaces to avoid confusion. This breaks the pretty alignment
    but helps new contributors who try to run the commands as written.

    Signed-off-by: Tom Levy
    Cc: Jonathan Corbet
    Signed-off-by: Jonathan Corbet

    Tom Levy
     

19 Mar, 2019

1 commit

  • Translated documents:
    - stable-kernel-rules.rst
    - deprecated.rst
    - kernel-enforcement-statement.rst
    - license-rules.rst

    Added document to have valid links
    - netdev-FAQ.rst

    Modifications to main documentation
    - add label in deprecated.rst

    Signed-off-by: Federico Vaga
    Signed-off-by: Jonathan Corbet

    Federico Vaga
     

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

1 commit

  • This Kconfig option was removed during v4.19 development in commit
    771c035372a0 ("deprecate the '__deprecated' attribute warnings entirely
    and for good") so there's no point to keep it in defconfigs any longer.

    FWIW defconfigs were patched with:
    --------------------------->8----------------------
    find . -name *_defconfig -exec sed -i '/CONFIG_ENABLE_WARN_DEPRECATED/d' {} \;
    --------------------------->8----------------------

    Link: http://lkml.kernel.org/r/20190128152434.41969-1-abrodkin@synopsys.com
    Signed-off-by: Alexey Brodkin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Brodkin
     

05 Mar, 2019

1 commit

  • As linux-5.0 is coming up soon, the howto.rst document can be
    updated for the new kernel version. Instead of changing all 4.x
    references to 5.x, this time we git rid of all explicit version
    numbers and rework some kernel trees' name to keep the docs
    current and real.

    Signed-off-by: Zenghui Yu
    Signed-off-by: Jonathan Corbet

    Zenghui Yu
     

22 Feb, 2019

3 commits

  • ...and use a commit with an obnoxiously long summary in the example to
    make it abundantly clear that keeping the tag on a single line takes
    priority over wrapping at 75 columns. Without the explicit exemption,
    one might assume splitting the tag is acceptable, even encouraged, e.g.
    due to being conditioned by checkpatch's line length warning.

    Per Stephen's scripts[1] and implied by commit bf4daf12a9fb ("checkpatch:
    avoid some commit message long line warnings"), splitting the 'Fixes:'
    tag across multiple lines is a no-no, presumably because parsing multi-
    line tags is unnecessarily painful.

    [1] https://lkml.kernel.org/r/20190216183433.71b7cfa7@canb.auug.org.au

    Cc: Stephen Rothwell
    Signed-off-by: Sean Christopherson
    Signed-off-by: Jonathan Corbet

    Sean Christopherson
     
  • The patches fixes some typos in process/license-rules.rst

    Signed-off-by: Federico Vaga
    Signed-off-by: Jonathan Corbet

    Federico Vaga
     
  • The following patch forgot to remove a reference to the -git
    patches

    commit 2c71d305caf9 ("docs: process: Remove outdated info about -git patches")

    This patch complete the removal and update all translations

    Signed-off-by: Federico Vaga
    Acked-by: SeongJae Park
    Signed-off-by: Jonathan Corbet

    Federico Vaga
     

18 Feb, 2019

2 commits


11 Feb, 2019

2 commits

  • As can be seen by clicking around the timeline on web.archive.org[1],
    there were no -git patches/tarballs on kernel.org since release 3.1.

    [1]: https://web.archive.org/web/20111103073843/http://www.kernel.org/

    Signed-off-by: Jonathan Neuschäfer
    Signed-off-by: Jonathan Corbet

    Jonathan Neuschäfer
     
  • The original MODULE_LICENSE string for kernel modules licensed under the
    GPL v2 (only / or later) was simply "GPL", which was - and still is -
    completely sufficient for the purpose of module loading and checking
    whether the module is free software or proprietary.

    In January 2003 this was changed with commit 3344ea3ad4b7 ("[PATCH]
    MODULE_LICENSE and EXPORT_SYMBOL_GPL support"). This commit can be found in
    the history git repository which holds the 1:1 import of Linus' bitkeeper
    repository:

    https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/?id=3344ea3ad4b7c302c846a680dbaeedf96ed45c02

    The main intention of the patch was to refuse linking proprietary modules
    against symbols exported with EXPORT_SYMBOL_GPL() at module load time.

    As a completely undocumented side effect it also introduced the distinction
    between "GPL" and "GPL v2" MODULE_LICENSE() strings:

    * "GPL" [GNU Public License v2 or later]
    * "GPL v2" [GNU Public License v2]
    * "GPL and additional rights" [GNU Public License v2 rights and more]
    * "Dual BSD/GPL" [GNU Public License v2
    * or BSD license choice]
    * "Dual MPL/GPL" [GNU Public License v2
    * or Mozilla license choice]

    This distinction was and still is wrong in several aspects:

    1) It broke all modules which were using the "GPL" string in the
    MODULE_LICENSE() already and were licensed under GPL v2 only.

    A quick license scan over the tree at that time shows that at least 480
    out of 1484 modules have been affected by this change back then. The
    number is probably way higher as this was just a quick check for
    clearly identifiable license information.

    There was exactly ONE instance of a "GPL v2" module license string in
    the kernel back then - drivers/net/tulip/xircom_tulip_cb.c which
    otherwise had no license information at all. There is no indication
    that the change above is any way related to this driver. The change
    happend with the 2.4.11 release which was on Oct. 9 2001 - so quite
    some time before the above commit. Unfortunately there is no trace on
    the intertubes to any discussion of this.

    2) The dual licensed strings became ill defined as well because following
    the "GPL" vs. "GPL v2" distinction all dual licensed (or additional
    rights) MODULE_LICENSE strings would either require those dual licensed
    modules to be licensed under GPL v2 or later or just be unspecified for
    the dual licensing case. Neither choice is coherent with the GPL
    distinction.

    Due to the lack of a proper changelog and no real discussion on the patch
    submission other than a few implementation details, it's completely unclear
    why this distinction was introduced at all. Other than the comment in the
    module header file exists no documentation for this at all.

    From a license compliance and license scanning POV this distinction is a
    total nightmare.

    As of 5.0-rc2 2873 out of 9200 instances of MODULE_LICENSE() strings are
    conflicting with the actual license in the source code (either SPDX or
    license boilerplate/reference). A comparison between the scan of the
    history tree and a scan of current Linus tree shows to the extent that the
    git rename detection over Linus tree grafted with the history tree is
    halfways complete that almost none of the files which got broken in 2003
    have been cleaned up vs. the MODULE_LICENSE string. So subtracting those
    480 known instances from the conflicting 2800 of today more than 25% of the
    module authors got it wrong and it's a high propability that a large
    portion of the rest just got it right by chance.

    There is no value for the module loader to convey the detailed license
    information as the only decision to be made is whether the module is free
    software or not.

    The "and additional rights", "BSD" and "MPL" strings are not conclusive
    license information either. So there is no point in trying to make the GPL
    part conclusive and exact. As shown above it's already non conclusive for
    dual licensing and incoherent with a large portion of the module source.

    As an unintended side effect this distinction causes a major headache for
    license compliance, license scanners and the ongoing effort to clean up the
    license mess of the kernel.

    Therefore remove the well meant, but ill defined, distinction between "GPL"
    and "GPL v2" and document that:

    - "GPL" and "GPL v2" both express that the module is licensed under GPLv2
    (without a distinction of 'only' and 'or later') and is therefore kernel
    license compliant.

    - None of the MODULE_LICENSE strings can be used for expressing or
    determining the exact license

    - Their sole purpose is to decide whether the module is free software or
    not.

    Add a MODULE_LICENSE subsection to the license rule documentation as well.

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Greg Kroah-Hartman
    Acked-by: Philippe Ombredanne
    Acked-by: Joe Perches
    [jc: Did s/merily/merely/ ]
    Acked-by: Jessica Yu
    Signed-off-by: Jonathan Corbet

    Thomas Gleixner
     

02 Feb, 2019

3 commits

  • Drivers under MIT, BSD-17-clause, or uncle-Bob's-newest-take-on-PD are
    all fine, not just GPL.

    Signed-off-by: Adam Borowski
    [jc: fixed conflict and refilled paragraph]
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Jonathan Corbet

    Adam Borowski
     
  • The networking maintainer keeps a public list of the patches being
    queued up for the next round of stable releases. Be sure to check there
    before asking for a patch to be applied so that you do not waste
    people's time.

    Signed-off-by: Greg Kroah-Hartman
    Acked-by: David S. Miller
    Signed-off-by: Jonathan Corbet

    Greg Kroah-Hartman
     
  • Recently, Free Electrons was renamed to Bootlin[1]. Less recently, the
    Linux Cross Reference (LXR) at lxr.free-electrons.com was replaced by
    Elixir[2], and lxr.free-electrons.com redirected first to
    elixir.free-electrons.com and now to elixir.bootlin.com.

    [1]: https://bootlin.com/blog/free-electrons-becomes-bootlin/
    [2]: https://github.com/free-electrons/elixir

    Signed-off-by: Jonathan Neuschäfer
    Reviewed-by: Martin Kepplinger
    Acked-by: Federico Vaga
    Signed-off-by: Jonathan Corbet

    Jonathan Neuschäfer
     

21 Jan, 2019

3 commits

  • 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
     
  • Keep consistent the document. In the document, option references
    are always linked, except for the one I fixed with this patch

    Signed-off-by: Federico Vaga
    Signed-off-by: Jonathan Corbet

    Federico Vaga
     
  • The link referred by the note can't be retrieved: this patch just
    remove that old note.

    Signed-off-by: Federico Vaga
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Jonathan Corbet

    Federico Vaga
     

14 Jan, 2019

1 commit


08 Jan, 2019

1 commit

  • In emacs 23.1 support for directory-local variables was added (see also
    https://lists.gnu.org/archive/html/info-gnu-emacs/2009-07/msg00000.html).
    Simplify the settings in coding-style.rst by using that feature.
    Additionally, do not inherit any settings from emacs' linux coding style
    to minimize dependencies on the version of emacs that is being used.

    I have verified with several large and nontrivial kernel source files
    that the new settings format code according to what checkpatch expects.

    Signed-off-by: Bart Van Assche
    Cc: Matthew Wilcox
    Cc: Jani Nikula
    Cc: Alison Chaiken
    Cc: Joe Perches
    Cc: Federico Vaga
    Cc: Geyslan G. Bem
    Cc: Tiago Natel de Moura
    Signed-off-by: Jonathan Corbet

    Bart Van Assche
     

05 Jan, 2019

2 commits

  • The accepted terminology will be Co-developed-by therefore lose the
    capital letter from now on.

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

    Jorge Ramirez-Ortiz
     
  • `extern' with function prototypes makes lines longer and creates more
    characters on the screen.

    Do not bug people with checkpatch.pl warnings for now as fallout can be
    devastating.

    Link: http://lkml.kernel.org/r/20181101134153.GA29267@avx2
    Signed-off-by: Alexey Dobriyan
    Reviewed-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

07 Dec, 2018

1 commit

  • Some documents are refering to others without links. With this
    patch I add those missing links.

    This patch affects only documents under process/ and labels where
    necessary.

    Signed-off-by: Federico Vaga
    Signed-off-by: Jonathan Corbet

    Federico Vaga
     

21 Nov, 2018

1 commit

  • This patch does not translate entirely the subfolder "process/"
    but only part of it (to begin with).

    In order to avoid broken links, I included empty documents
    for those which are not yet translated.

    In order to be able to refer to all documents in "process/",
    I added a sphinx label to those which had not one.

    Translated documents:
    - howto
    - 1.Intro
    - clang-format
    - coding-style
    - kernel-driver-statement
    - magic-number
    - volatile-considered-harmful
    - development-process

    Signed-off-by: Federico Vaga
    Signed-off-by: Alessia Mantegazza
    Signed-off-by: Jonathan Corbet

    Federico Vaga
     

02 Nov, 2018

1 commit

  • Pull compiler attribute updates from Miguel Ojeda:
    "This is an effort to disentangle the include/linux/compiler*.h headers
    and bring them up to date.

    The main idea behind the series is to use feature checking macros
    (i.e. __has_attribute) instead of compiler version checks (e.g.
    GCC_VERSION), which are compiler-agnostic (so they can be shared,
    reducing the size of compiler-specific headers) and version-agnostic.

    Other related improvements have been performed in the headers as well,
    which on top of the use of __has_attribute it has amounted to a
    significant simplification of these headers (e.g. GCC_VERSION is now
    only guarding a few non-attribute macros).

    This series should also help the efforts to support compiling the
    kernel with clang and icc. A fair amount of documentation and comments
    have also been added, clarified or removed; and the headers are now
    more readable, which should help kernel developers in general.

    The series was triggered due to the move to gcc >= 4.6. In turn, this
    series has also triggered Sparse to gain the ability to recognize
    __has_attribute on its own.

    Finally, the __nonstring variable attribute series has been also
    applied on top; plus two related patches from Nick Desaulniers for
    unreachable() that came a bit afterwards"

    * tag 'compiler-attributes-for-linus-4.20-rc1' of https://github.com/ojeda/linux:
    compiler-gcc: remove comment about gcc 4.5 from unreachable()
    compiler.h: update definition of unreachable()
    Compiler Attributes: ext4: remove local __nonstring definition
    Compiler Attributes: auxdisplay: panel: use __nonstring
    Compiler Attributes: enable -Wstringop-truncation on W=1 (gcc >= 8)
    Compiler Attributes: add support for __nonstring (gcc >= 8)
    Compiler Attributes: add MAINTAINERS entry
    Compiler Attributes: add Doc/process/programming-language.rst
    Compiler Attributes: remove uses of __attribute__ from compiler.h
    Compiler Attributes: KENTRY used twice the "used" attribute
    Compiler Attributes: use feature checks instead of version checks
    Compiler Attributes: add missing SPDX ID in compiler_types.h
    Compiler Attributes: remove unneeded sparse (__CHECKER__) tests
    Compiler Attributes: homogenize __must_be_array
    Compiler Attributes: remove unneeded tests
    Compiler Attributes: always use the extra-underscores syntax
    Compiler Attributes: remove unused attributes

    Linus Torvalds
     

25 Oct, 2018

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "This is a fairly typical cycle for documentation. There's some welcome
    readability improvements for the formatted output, some LICENSES
    updates including the addition of the ISC license, the removal of the
    unloved and unmaintained 00-INDEX files, the deprecated APIs document
    from Kees, more MM docs from Mike Rapoport, and the usual pile of typo
    fixes and corrections"

    * tag 'docs-4.20' of git://git.lwn.net/linux: (41 commits)
    docs: Fix typos in histogram.rst
    docs: Introduce deprecated APIs list
    kernel-doc: fix declaration type determination
    doc: fix a typo in adding-syscalls.rst
    docs/admin-guide: memory-hotplug: remove table of contents
    doc: printk-formats: Remove bogus kobject references for device nodes
    Documentation: preempt-locking: Use better example
    dm flakey: Document "error_writes" feature
    docs/completion.txt: Fix a couple of punctuation nits
    LICENSES: Add ISC license text
    LICENSES: Add note to CDDL-1.0 license that it should not be used
    docs/core-api: memory-hotplug: add some details about locking internals
    docs/core-api: rename memory-hotplug-notifier to memory-hotplug
    docs: improve readability for people with poorer eyesight
    yama: clarify ptrace_scope=2 in Yama documentation
    docs/vm: split memory hotplug notifier description to Documentation/core-api
    docs: move memory hotplug description into admin-guide/mm
    doc: Fix acronym "FEKEK" in ecryptfs
    docs: fix some broken documentation references
    iommu: Fix passthrough option documentation
    ...

    Linus Torvalds
     

22 Oct, 2018

4 commits