04 Apr, 2018

2 commits

  • Pull Kbuild updates from Masahiro Yamada:

    - add a shell script to get Clang version

    - improve portability of build scripts

    - drop always-enabled CONFIG_THIN_ARCHIVE and remove unused code

    - rename built-in.o which is now thin archive to built-in.a

    - process clean/build targets one by one to get along with -j option

    - simplify ld-option

    - improve building with CONFIG_TRIM_UNUSED_KSYMS

    - define KBUILD_MODNAME even for objects shared among multiple modules

    - avoid linking multiple instances of same objects from composite
    objects

    - move to c_flags to include it only for C
    files

    - clean-up various Makefiles

    * tag 'kbuild-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (29 commits)
    kbuild: get out of
    kbuild: clean up link rule of composite modules
    kbuild: clean up archive rule of built-in.a
    kbuild: remove partial section mismatch detection for built-in.a
    net: liquidio: clean up Makefile for simpler composite object handling
    lib: zstd: clean up Makefile for simpler composite object handling
    kbuild: link $(real-obj-y) instead of $(obj-y) into built-in.a
    kbuild: rename real-objs-y/m to real-obj-y/m
    kbuild: move modname and modname-multi close to modname_flags
    kbuild: simplify modname calculation
    kbuild: fix modname for composite modules
    kbuild: define KBUILD_MODNAME even if multiple modules share objects
    kbuild: remove unnecessary $(subst $(obj)/, , ...) in modname-multi
    kbuild: Use ls(1) instead of stat(1) to obtain file size
    kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS
    kbuild: move include/config/ksym/* to include/ksym/*
    kbuild: move CONFIG_TRIM_UNUSED_KSYMS code unneeded for external module
    kbuild: restore autoksyms.h touch to the top Makefile
    kbuild: move 'scripts' target below
    kbuild: remove wrong 'touch' in adjust_autoksyms.sh
    ...

    Linus Torvalds
     
  • Pull documentation updates from Jonathan Corbet:
    "There's been a fair amount of activity in Documentation/ this time
    around:

    - Lots of work aligning Documentation/ABI with reality, done by
    Aishwarya Pant.

    - The trace documentation has been converted to RST by Changbin Du

    - I thrashed up kernel-doc to deal with a parsing issue and to try to
    make the code more readable. It's still a 20+-year-old Perl hack,
    though.

    - Lots of other updates, typo fixes, and more"

    * tag 'docs-4.17' of git://git.lwn.net/linux: (82 commits)
    Documentation/process: update FUSE project website
    docs: kernel-doc: fix parsing of arrays
    dmaengine: Fix spelling for parenthesis in dmatest documentation
    dmaengine: Make dmatest.rst indeed reST compatible
    dmaengine: Add note to dmatest documentation about supported channels
    Documentation: magic-numbers: Fix typo
    Documentation: admin-guide: add kvmconfig, xenconfig and tinyconfig commands
    Input: alps - Update documentation for trackstick v3 format
    Documentation: Mention why %p prints ptrval
    COPYING: use the new text with points to the license files
    COPYING: create a new file with points to the Kernel license files
    Input: trackpoint: document sysfs interface
    xfs: Change URL for the project in xfs.txt
    char/bsr: add sysfs interface documentation
    acpi: nfit: document sysfs interface
    block: rbd: update sysfs interface
    Documentation/sparse: fix typo
    Documentation/CodingStyle: Add an example for braces
    docs/vm: update 00-INDEX
    kernel-doc: Remove __sched markings
    ...

    Linus Torvalds
     

03 Apr, 2018

1 commit


30 Mar, 2018

1 commit


26 Mar, 2018

3 commits

  • This fixes a little then / them confusion.

    Signed-off-by: Martin Kepplinger
    Signed-off-by: Jonathan Corbet

    Martin Kepplinger
     
  • Incremental linking is gone, so rename built-in.o to built-in.a, which
    is the usual extension for archive files.

    This patch does two things, first is a simple search/replace:

    git grep -l 'built-in\.o' | xargs sed -i 's/built-in\.o/built-in\.a/g'

    The second is to invert nesting of nested text manipulations to avoid
    filtering built-in.a out from libs-y2:

    -libs-y2 := $(filter-out %.a, $(patsubst %/, %/built-in.a, $(libs-y)))
    +libs-y2 := $(patsubst %/, %/built-in.a, $(filter-out %.a, $(libs-y)))

    Signed-off-by: Nicholas Piggin
    Signed-off-by: Masahiro Yamada

    Nicholas Piggin
     
  • The syscall entry points to the kernel defined by SYSCALL_DEFINEx()
    and COMPAT_SYSCALL_DEFINEx() should only be called from userspace
    through kernel entry points, but not from the kernel itself. This
    will allow cleanups and optimizations to the entry paths *and* to
    the parts of the kernel code which currently need to pretend to be
    userspace in order to make use of syscalls.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

24 Mar, 2018

1 commit

  • With the addition of SPDX patchset, the contents of COPYING file
    is now duplicated at two other files under LICENSE:
    LICENSES/preferred/GPL-2.0
    LICENSES/exceptions/Linux-syscall-note

    It is easy to check that the contents of the licence written on
    those files are identical with COPYING using:

    $ diff -upr COPYING LICENSES/preferred/GPL-2.0
    $ diff -upr COPYING LICENSES/exceptions/Linux-syscall-note|less

    Also, a new file was added, with describes how SPDX should work at
    the Kernel source files:
    Documentation/process/license-rules.rst

    Instead fo having it copying the contents of two files, and not
    even mentioning the third one, replace it by a file whose content
    points to the other tree files, preserving the Kernel's license.

    Adjust license-rules.rst accordingly.

    Please notice that this file preserves the Kernel license as
    is, without any changes.

    Signed-off-by: Mauro Carvalho Chehab
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

21 Mar, 2018

1 commit


08 Mar, 2018

2 commits


19 Feb, 2018

1 commit


16 Feb, 2018

1 commit


14 Feb, 2018

1 commit


08 Feb, 2018

1 commit

  • Pull more documentation updates from Jonathan Corbet:
    "A few late-arriving fixes, along with Konstantin's PGP document that
    had no reason to wait another cycle"

    * tag 'docs-4.16-2' of git://git.lwn.net/linux:
    Documentation/process: tweak pgp maintainer guide
    Documentation/admin-guide: fixes for thunderbolt.rst
    Documentation: mips: Update AU1xxx_IDE Kconfig dependencies
    Fix broken link in Documentation/process/kernel-docs.rst
    Documentation/process: kernel maintainer PGP guide

    Linus Torvalds
     

07 Feb, 2018

1 commit

  • Based on the feedback provided:

    - Uniformly use lowercase k in "Linux kernel"
    - Give a one-sentence explanation of what subkeys are
    - Explain what signed commits might be useful for even if upstream
    developers do not use them for much of anything
    - Admonish to set up gpg-agent if signed commits are turned on in
    git config
    - Fix a typo reported by Luc Van Oostenryck

    Signed-off-by: Konstantin Ryabitsev
    Signed-off-by: Jonathan Corbet

    Konstantin Ryabitsev
     

02 Feb, 2018

3 commits

  • Pull Kconfig updates from Masahiro Yamada:
    "A pretty big batch of Kconfig updates.

    I have to mention the lexer and parser of Kconfig are now built from
    real .l and .y sources. So, flex and bison are the requirement for
    building the kernel. Both of them (unlike gperf) have been stable for
    a long time. This change has been tested several weeks in linux-next,
    and I did not receive any problem report about this.

    Summary:

    - add checks for mistakes, like the choice default is not in choice,
    help is doubled

    - document data structure and complex code

    - fix various memory leaks

    - change Makefile to build lexer and parser instead of using
    pre-generated C files

    - drop 'boolean' keyword, which is equivalent to 'bool'

    - use default 'yy' prefix and remove unneeded Make variables

    - fix gettext() check for xconfig

    - announce that oldnoconfig will be finally removed

    - make 'Selected by:' and 'Implied by' readable in help and search
    result

    - hide silentoldconfig from 'make help' to stop confusing people

    - fix misc things and cleanups"

    * tag 'kconfig-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (37 commits)
    kconfig: Remove silentoldconfig from help and docs; fix kconfig/conf's help
    kconfig: make "Selected by:" and "Implied by:" readable
    kconfig: announce removal of oldnoconfig if used
    kconfig: fix make xconfig when gettext is missing
    kconfig: Clarify menu and 'if' dependency propagation
    kconfig: Document 'if' flattening logic
    kconfig: Clarify choice dependency propagation
    kconfig: Document SYMBOL_OPTIONAL logic
    kbuild: remove unnecessary LEX_PREFIX and YACC_PREFIX
    kconfig: use default 'yy' prefix for lexer and parser
    kconfig: make conf_unsaved a local variable of conf_read()
    kconfig: make xfgets() really static
    kconfig: make input_mode static
    kconfig: Warn if there is more than one help text
    kconfig: drop 'boolean' keyword
    kconfig: use bool instead of boolean for type definition attributes, again
    kconfig: Remove menu_end_entry()
    kconfig: Document important expression functions
    kconfig: Document automatic submenu creation code
    kconfig: Fix choice symbol expression leak
    ...

    Linus Torvalds
     
  • Kernel Glossary has moved from /Glossary to /KernelGlossary
    on kernelnewbies.org. This patch corrects this link.

    Signed-off-by: Grigory Shipunov
    Signed-off-by: Jonathan Corbet

    Grigory Shipunov
     
  • This guide is an adapted version of the more general "Protecting Code
    Integrity" guide written and maintained by The Linux Foundation IT for
    use with open-source projects. It provides the oft-lacking guidance on
    the following topics:

    - how to properly protect one's PGP keys to minimize the risks of them
    being stolen and used maliciously to impersonate a kernel developer
    - how to configure Git to properly use GnuPG
    - when and how to use PGP with Git
    - how to verify fellow Linux Kernel developer identities

    I believe this document should live with the rest of the documentation
    describing proper processes one should follow when participating in
    kernel development. Placing it in a wiki on some place like kernel.org
    would be insufficient for a number of reasons -- primarily, because only
    a relatively small subset of maintainers have accounts on kernel.org,
    but also because even those who do rarely remember that such wiki
    exists. Keeping it with the rest of in-kernel docs should hopefully give
    it more visibility, but also help keep it up-to-date as tools and
    processes evolve.

    Signed-off-by: Konstantin Ryabitsev
    Signed-off-by: Jonathan Corbet

    Konstantin Ryabitsev
     

01 Feb, 2018

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "Documentation updates for 4.16.

    New stuff includes refcount_t documentation, errseq documentation,
    kernel-doc support for nested structure definitions, the removal of
    lots of crufty kernel-doc support for unused formats, SPDX tag
    documentation, the beginnings of a manual for subsystem maintainers,
    and lots of fixes and updates.

    As usual, some of the changesets reach outside of Documentation/ to
    effect kerneldoc comment fixes. It also adds the new LICENSES
    directory, of which Thomas promises I do not need to be the
    maintainer"

    * tag 'docs-4.16' of git://git.lwn.net/linux: (65 commits)
    linux-next: docs-rst: Fix typos in kfigure.py
    linux-next: DOC: HWPOISON: Fix path to debugfs in hwpoison.txt
    Documentation: Fix misconversion of #if
    docs: add index entry for networking/msg_zerocopy
    Documentation: security/credentials.rst: explain need to sort group_list
    LICENSES: Add MPL-1.1 license
    LICENSES: Add the GPL 1.0 license
    LICENSES: Add Linux syscall note exception
    LICENSES: Add the MIT license
    LICENSES: Add the BSD-3-clause "Clear" license
    LICENSES: Add the BSD 3-clause "New" or "Revised" License
    LICENSES: Add the BSD 2-clause "Simplified" license
    LICENSES: Add the LGPL-2.1 license
    LICENSES: Add the LGPL 2.0 license
    LICENSES: Add the GPL 2.0 license
    Documentation: Add license-rules.rst to describe how to properly identify file licenses
    scripts: kernel_doc: better handle show warnings logic
    fs/*/Kconfig: drop links to 404-compliant http://acl.bestbits.at
    doc: md: Fix a file name to md-fault.c in fault-injection.txt
    errseq: Add to documentation tree
    ...

    Linus Torvalds
     

07 Jan, 2018

1 commit

  • Add a file to the Documentation directory to describe how file licenses
    should be described in all kernel files, using the SPDX identifier, as well
    as where all licenses should be in the kernel source tree for people to
    refer to (LICENSES/).

    Thanks to Kate and Greg for review and editing and Jonas for the
    suggestions concerning the meta tags in the licenses files.

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Jonas Oberg
    Reviewed-by: Jonathan Corbet
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Kate Stewart
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Jonathan Corbet

    Thomas Gleixner
     

22 Dec, 2017

4 commits


16 Dec, 2017

1 commit

  • In Linux build system convention, pre-generated files are version-
    controlled with a "_shipped" suffix. During the kernel building,
    they are simply shipped (copied) removing the suffix.

    This approach can reduce external tool dependency for the kernel build,
    but it is tedious to manually regenerate such artifacts from developers'
    point of view. (We need to do "make REGENERATE_PARSERS=1" every time
    we touch real source files such as *.l, *.y)

    Some months ago, I sent out RFC patches to run flex, bison, and gperf
    during the build.

    In the review and test, Linus noticed gperf-3.1 had changed the lookup
    function prototype. Then, the use of gperf in kernel was entirely
    removed by commit bb3290d91695 ("Remove gperf usage from toolchain").

    This time, I tested several versions of flex and bison, and I was not
    hit by any compatibility issue except a flaw in flex-2.6.3; if you
    generate lexer for dtc and genksyms with flex-2.6.3, you will see
    "yywrap redefined" warning. This was not intentional, but a bug,
    fixed by flex-2.6.4. Otherwise, both flex and bison look fairly
    stable for a long time.

    This commit prepares some build rules to remove the _shipped files.
    Also, document minimal requirement for flex and bison.

    Rationale for the minimal version:
    The -Wmissing-prototypes option of GCC warns "no previous prototype"
    for lexers generated by flex-2.5.34 or older, so I chose 2.5.35 as the
    required version for flex. Flex-2.5.35 was released in 2008. Bison
    looks more stable. I did not see any problem with bison-2.0, released
    in 2004. I did not test bison-1.x, but bison-2.0 should be old enough.

    Tested flex versions:
    2.5.35
    2.5.36
    2.5.37
    2.5.39
    2.6.0
    2.6.1
    2.6.2
    2.6.3 (*)
    2.6.4

    (*) flex-2.6.3 causes "yywrap redefined" warning

    Tested bison versions:
    2.0
    2.1
    2.2
    2.3
    2.4
    2.4.1
    2.5.1
    2.6
    2.6.1
    2.6.2
    2.6.3
    2.6.4
    2.6.5
    2.7
    2.7.1
    3.0
    3.0.1
    3.0.2
    3.0.3
    3.0.4

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

12 Dec, 2017

1 commit


07 Dec, 2017

1 commit


30 Nov, 2017

1 commit


24 Nov, 2017

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "A few late-arriving docs updates that have no real reason to wait.

    There's a new "Co-Developed-by" tag described by Greg, and a build
    enhancement from Willy to generate docs warnings during a kernel build
    (but only when additional warnings have been requested in general)"

    * tag 'docs-4.15-2' of git://git.lwn.net/linux:
    Add optional check for bad kernel-doc comments
    Documentation: fix profile= options in kernel-parameters.txt
    documentation/svga.txt: update outdated file
    kokr/memory-barriers.txt: Fix typo in paring example
    kokr/memory-barriers/txt: Replace uses of "transitive"
    Documentation/process: add Co-Developed-by: tag for patches with multiple authors

    Linus Torvalds
     

21 Nov, 2017

1 commit

  • Sometimes a single patch is the result of multiple authors. As git only
    can have one "author" of a patch, it is still good to properly give
    credit to the other developers of a commit. To address this, document
    the "Co-Developed-by:" tag which can be used to show other authors of
    the patch.

    Note, these other authors must also provide a Signed-off-by: tag as it
    is their work that is being submitted here.

    Reported-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman
    Reviewed-by: Thomas Gleixner
    Acked-by: Borislav Petkov
    Signed-off-by: Jonathan Corbet

    Greg Kroah-Hartman
     

14 Nov, 2017

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "A relatively calm cycle for the docs tree again.

    - The old driver statement has been added to the kernel docs.

    - We have a couple of new helper scripts. find-unused-docs.sh from
    Sayli Karnic will point out kerneldoc comments that are not actually
    used in the documentation. Jani Nikula's
    documentation-file-ref-check finds references to non-existing files.

    - A new ftrace document from Steve Rostedt.

    - Vinod Koul converted the dmaengine docs to RST

    Beyond that, it's mostly simple fixes.

    This set reaches outside of Documentation/ a bit more than most. In
    all cases, the changes are to comment docs, mostly from Randy, in
    places where there didn't seem to be anybody better to take them"

    * tag 'docs-4.15' of git://git.lwn.net/linux: (52 commits)
    documentation: fb: update list of available compiled-in fonts
    MAINTAINERS: update DMAengine documentation location
    dmaengine: doc: ReSTize pxa_dma doc
    dmaengine: doc: ReSTize dmatest doc
    dmaengine: doc: ReSTize client API doc
    dmaengine: doc: ReSTize provider doc
    dmaengine: doc: Add ReST style dmaengine document
    ftrace/docs: Add documentation on how to use ftrace from within the kernel
    bug-hunting.rst: Fix an example and a typo in a Sphinx tag
    scripts: Add a script to find unused documentation
    samples: Convert timers to use timer_setup()
    documentation: kernel-api: add more info on bitmap functions
    Documentation: fix selftests related file refs
    Documentation: fix ref to power basic-pm-debugging
    Documentation: fix ref to trace stm content
    Documentation: fix ref to coccinelle content
    Documentation: fix ref to workqueue content
    Documentation: fix ref to sphinx/kerneldoc.py
    Documentation: fix locking rt-mutex doc refs
    docs: dev-tools: correct Coccinelle version number
    ...

    Linus Torvalds
     

04 Nov, 2017

2 commits


03 Nov, 2017

1 commit


23 Oct, 2017

1 commit


21 Oct, 2017

2 commits


20 Oct, 2017

2 commits