01 Feb, 2020

1 commit

  • Pull RISC-V updates from Palmer Dabbelt:
    "This contains a handful of patches for this merge window:

    - Support for kasan

    - 32-bit physical addresses on rv32i-based systems

    - Support for CONFIG_DEBUG_VIRTUAL

    - DT entry for the FU540 GPIO controller, which has recently had a
    device driver merged

    These boot a buildroot-based system on QEMU's virt board for me"

    * tag 'riscv-for-linus-5.6-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    riscv: dts: Add DT support for SiFive FU540 GPIO driver
    riscv: mm: add support for CONFIG_DEBUG_VIRTUAL
    riscv: keep 32-bit kernel to 32-bit phys_addr_t
    kasan: Add riscv to KASAN documentation.
    riscv: Add KASAN support
    kasan: No KASAN's memmove check if archs don't have it.

    Linus Torvalds
     

23 Jan, 2020

1 commit


10 Jan, 2020

1 commit


05 Jan, 2020

1 commit

  • Make the layout of kcov_remote_arg the same for 32-bit and 64-bit code.
    This makes it more convenient to write userspace apps that can be
    compiled into 32-bit or 64-bit binaries and still work with the same
    64-bit kernel.

    Also use proper __u32 types in uapi headers instead of unsigned ints.

    Link: http://lkml.kernel.org/r/9e91020876029cfefc9211ff747685eba9536426.1575638983.git.andreyknvl@google.com
    Fixes: eec028c9386ed1a ("kcov: remote coverage support")
    Signed-off-by: Andrey Konovalov
    Acked-by: Marco Elver
    Cc: Greg Kroah-Hartman
    Cc: Alan Stern
    Cc: Felipe Balbi
    Cc: Chunfeng Yun
    Cc: "Jacky . Cao @ sony . com"
    Cc: Dmitry Vyukov
    Cc: Alexander Potapenko
    Cc: Marco Elver
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Konovalov
     

24 Dec, 2019

2 commits

  • This commit renames 'kunitconfig' to '.kunitconfig' so that it can be
    automatically ignored by git and do not disturb people who want to type
    'kernel/' by pressing only the 'k' and then 'tab' key.

    Signed-off-by: SeongJae Park
    Reviewed-by: Brendan Higgins
    Tested-by: Brendan Higgins
    Signed-off-by: Shuah Khan

    SeongJae Park
     
  • The kunit doc suggests users to get the default `kunitconfig` from an
    external git tree. However, the file is already located under the
    `arch/um/configs/` of the kernel tree. Because the local file is easier
    to access and maintain, this commit updates the doc to use it.

    Signed-off-by: SeongJae Park
    Reviewed-by: Brendan Higgins
    Tested-by: Brendan Higgins
    Signed-off-by: Shuah Khan

    SeongJae Park
     

12 Dec, 2019

1 commit


10 Dec, 2019

2 commits

  • Add documentation for the Python script used to build, run, and collect
    results from the kernel known as kunit_tool. kunit_tool
    (tools/testing/kunit/kunit.py) was already added in previous commits.

    Signed-off-by: Brendan Higgins
    Reviewed-by: David Gow
    Cc: Randy Dunlap
    Acked-by: Randy Dunlap
    Signed-off-by: Shuah Khan

    Brendan Higgins
     
  • Fix typos and gramatical errors in the Getting Started and Usage guide
    for KUnit.

    Reported-by: Randy Dunlap
    Link: https://patchwork.kernel.org/patch/11156481/
    Reported-by: Rinat Ibragimov
    Link: https://github.com/google/kunit-docs/issues/1
    Signed-off-by: Brendan Higgins
    Reviewed-by: David Gow
    Acked-by: Randy Dunlap
    Signed-off-by: Shuah Khan

    Brendan Higgins
     

05 Dec, 2019

1 commit

  • Patch series " kcov: collect coverage from usb and vhost", v3.

    This patchset extends kcov to allow collecting coverage from backgound
    kernel threads. This extension requires custom annotations for each of
    the places where coverage collection is desired. This patchset
    implements this for hub events in the USB subsystem and for vhost
    workers. See the first patch description for details about the kcov
    extension. The other two patches apply this kcov extension to USB and
    vhost.

    Examples of other subsystems that might potentially benefit from this
    when custom annotations are added (the list is based on
    process_one_work() callers for bugs recently reported by syzbot):

    1. fs: writeback wb_workfn() worker,
    2. net: addrconf_dad_work()/addrconf_verify_work() workers,
    3. net: neigh_periodic_work() worker,
    4. net/p9: p9_write_work()/p9_read_work() workers,
    5. block: blk_mq_run_work_fn() worker.

    These patches have been used to enable coverage-guided USB fuzzing with
    syzkaller for the last few years, see the details here:

    https://github.com/google/syzkaller/blob/master/docs/linux/external_fuzzing_usb.md

    This patchset has been pushed to the public Linux kernel Gerrit
    instance:

    https://linux-review.googlesource.com/c/linux/kernel/git/torvalds/linux/+/1524

    This patch (of 3):

    Add background thread coverage collection ability to kcov.

    With KCOV_ENABLE coverage is collected only for syscalls that are issued
    from the current process. With KCOV_REMOTE_ENABLE it's possible to
    collect coverage for arbitrary parts of the kernel code, provided that
    those parts are annotated with kcov_remote_start()/kcov_remote_stop().

    This allows to collect coverage from two types of kernel background
    threads: the global ones, that are spawned during kernel boot in a
    limited number of instances (e.g. one USB hub_event() worker thread is
    spawned per USB HCD); and the local ones, that are spawned when a user
    interacts with some kernel interface (e.g. vhost workers).

    To enable collecting coverage from a global background thread, a unique
    global handle must be assigned and passed to the corresponding
    kcov_remote_start() call. Then a userspace process can pass a list of
    such handles to the KCOV_REMOTE_ENABLE ioctl in the handles array field
    of the kcov_remote_arg struct. This will attach the used kcov device to
    the code sections, that are referenced by those handles.

    Since there might be many local background threads spawned from
    different userspace processes, we can't use a single global handle per
    annotation. Instead, the userspace process passes a non-zero handle
    through the common_handle field of the kcov_remote_arg struct. This
    common handle gets saved to the kcov_handle field in the current
    task_struct and needs to be passed to the newly spawned threads via
    custom annotations. Those threads should in turn be annotated with
    kcov_remote_start()/kcov_remote_stop().

    Internally kcov stores handles as u64 integers. The top byte of a
    handle is used to denote the id of a subsystem that this handle belongs
    to, and the lower 4 bytes are used to denote the id of a thread instance
    within that subsystem. A reserved value 0 is used as a subsystem id for
    common handles as they don't belong to a particular subsystem. The
    bytes 4-7 are currently reserved and must be zero. In the future the
    number of bytes used for the subsystem or handle ids might be increased.

    When a particular userspace process collects coverage by via a common
    handle, kcov will collect coverage for each code section that is
    annotated to use the common handle obtained as kcov_handle from the
    current task_struct. However non common handles allow to collect
    coverage selectively from different subsystems.

    Link: http://lkml.kernel.org/r/e90e315426a384207edbec1d6aa89e43008e4caf.1572366574.git.andreyknvl@google.com
    Signed-off-by: Andrey Konovalov
    Cc: Dmitry Vyukov
    Cc: Greg Kroah-Hartman
    Cc: Alan Stern
    Cc: "Michael S. Tsirkin"
    Cc: Jason Wang
    Cc: Arnd Bergmann
    Cc: Steven Rostedt
    Cc: David Windsor
    Cc: Elena Reshetova
    Cc: Anders Roxell
    Cc: Alexander Potapenko
    Cc: Marco Elver
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Konovalov
     

03 Dec, 2019

1 commit

  • Pull Documentation updates from Jonathan Corbet:
    "Here are the main documentation changes for 5.5:

    - Various kerneldoc script enhancements.

    - More RST conversions; those are slowing down as we run out of
    things to convert, but we're a ways from done still.

    - Dan's "maintainer profile entry" work landed at last. Now we just
    need to get maintainers to fill in the profiles...

    - A reworking of the parallel build setup to work better with a
    variety of systems (and to not take over huge systems entirely in
    particular).

    - The MAINTAINERS file is now converted to RST during the build.
    Hopefully nobody ever tries to print this thing, or they will need
    to load a lot of paper.

    - A script and documentation making it easy for maintainers to add
    Link: tags at commit time.

    Also included is the removal of a bunch of spurious CR characters"

    * tag 'docs-5.5a' of git://git.lwn.net/linux: (91 commits)
    docs: remove a bunch of stray CRs
    docs: fix up the maintainer profile document
    libnvdimm, MAINTAINERS: Maintainer Entry Profile
    Maintainer Handbook: Maintainer Entry Profile
    MAINTAINERS: Reclaim the P: tag for Maintainer Entry Profile
    docs, parallelism: Rearrange how jobserver reservations are made
    docs, parallelism: Do not leak blocking mode to other readers
    docs, parallelism: Fix failure path and add comment
    Documentation: Remove bootmem_debug from kernel-parameters.txt
    Documentation: security: core.rst: fix warnings
    Documentation/process/howto/kokr: Update for 4.x -> 5.x versioning
    Documentation/translation: Use Korean for Korean translation title
    docs/memory-barriers.txt: Remove remaining references to mmiowb()
    docs/memory-barriers.txt/kokr: Update I/O section to be clearer about CPU vs thread
    docs/memory-barriers.txt/kokr: Fix style, spacing and grammar in I/O section
    Documentation/kokr: Kill all references to mmiowb()
    docs/memory-barriers.txt/kokr: Rewrite "KERNEL I/O BARRIER EFFECTS" section
    docs: Add initial documentation for devfreq
    Documentation: Document how to get links with git am
    docs: Add request_irq() documentation
    ...

    Linus Torvalds
     

02 Dec, 2019

1 commit

  • Patch series "kasan: support backing vmalloc space with real shadow
    memory", v11.

    Currently, vmalloc space is backed by the early shadow page. This means
    that kasan is incompatible with VMAP_STACK.

    This series provides a mechanism to back vmalloc space with real,
    dynamically allocated memory. I have only wired up x86, because that's
    the only currently supported arch I can work with easily, but it's very
    easy to wire up other architectures, and it appears that there is some
    work-in-progress code to do this on arm64 and s390.

    This has been discussed before in the context of VMAP_STACK:
    - https://bugzilla.kernel.org/show_bug.cgi?id=202009
    - https://lkml.org/lkml/2018/7/22/198
    - https://lkml.org/lkml/2019/7/19/822

    In terms of implementation details:

    Most mappings in vmalloc space are small, requiring less than a full
    page of shadow space. Allocating a full shadow page per mapping would
    therefore be wasteful. Furthermore, to ensure that different mappings
    use different shadow pages, mappings would have to be aligned to
    KASAN_SHADOW_SCALE_SIZE * PAGE_SIZE.

    Instead, share backing space across multiple mappings. Allocate a
    backing page when a mapping in vmalloc space uses a particular page of
    the shadow region. This page can be shared by other vmalloc mappings
    later on.

    We hook in to the vmap infrastructure to lazily clean up unused shadow
    memory.

    Testing with test_vmalloc.sh on an x86 VM with 2 vCPUs shows that:

    - Turning on KASAN, inline instrumentation, without vmalloc, introuduces
    a 4.1x-4.2x slowdown in vmalloc operations.

    - Turning this on introduces the following slowdowns over KASAN:
    * ~1.76x slower single-threaded (test_vmalloc.sh performance)
    * ~2.18x slower when both cpus are performing operations
    simultaneously (test_vmalloc.sh sequential_test_order=1)

    This is unfortunate but given that this is a debug feature only, not the
    end of the world. The benchmarks are also a stress-test for the vmalloc
    subsystem: they're not indicative of an overall 2x slowdown!

    This patch (of 4):

    Hook into vmalloc and vmap, and dynamically allocate real shadow memory
    to back the mappings.

    Most mappings in vmalloc space are small, requiring less than a full
    page of shadow space. Allocating a full shadow page per mapping would
    therefore be wasteful. Furthermore, to ensure that different mappings
    use different shadow pages, mappings would have to be aligned to
    KASAN_SHADOW_SCALE_SIZE * PAGE_SIZE.

    Instead, share backing space across multiple mappings. Allocate a
    backing page when a mapping in vmalloc space uses a particular page of
    the shadow region. This page can be shared by other vmalloc mappings
    later on.

    We hook in to the vmap infrastructure to lazily clean up unused shadow
    memory.

    To avoid the difficulties around swapping mappings around, this code
    expects that the part of the shadow region that covers the vmalloc space
    will not be covered by the early shadow page, but will be left unmapped.
    This will require changes in arch-specific code.

    This allows KASAN with VMAP_STACK, and may be helpful for architectures
    that do not have a separate module space (e.g. powerpc64, which I am
    currently working on). It also allows relaxing the module alignment
    back to PAGE_SIZE.

    Testing with test_vmalloc.sh on an x86 VM with 2 vCPUs shows that:

    - Turning on KASAN, inline instrumentation, without vmalloc, introuduces
    a 4.1x-4.2x slowdown in vmalloc operations.

    - Turning this on introduces the following slowdowns over KASAN:
    * ~1.76x slower single-threaded (test_vmalloc.sh performance)
    * ~2.18x slower when both cpus are performing operations
    simultaneously (test_vmalloc.sh sequential_test_order=3D1)

    This is unfortunate but given that this is a debug feature only, not the
    end of the world.

    The full benchmark results are:

    Performance

    No KASAN KASAN original x baseline KASAN vmalloc x baseline x KASAN

    fix_size_alloc_test 662004 11404956 17.23 19144610 28.92 1.68
    full_fit_alloc_test 710950 12029752 16.92 13184651 18.55 1.10
    long_busy_list_alloc_test 9431875 43990172 4.66 82970178 8.80 1.89
    random_size_alloc_test 5033626 23061762 4.58 47158834 9.37 2.04
    fix_align_alloc_test 1252514 15276910 12.20 31266116 24.96 2.05
    random_size_align_alloc_te 1648501 14578321 8.84 25560052 15.51 1.75
    align_shift_alloc_test 147 830 5.65 5692 38.72 6.86
    pcpu_alloc_test 80732 125520 1.55 140864 1.74 1.12
    Total Cycles 119240774314 763211341128 6.40 1390338696894 11.66 1.82

    Sequential, 2 cpus

    No KASAN KASAN original x baseline KASAN vmalloc x baseline x KASAN

    fix_size_alloc_test 1423150 14276550 10.03 27733022 19.49 1.94
    full_fit_alloc_test 1754219 14722640 8.39 15030786 8.57 1.02
    long_busy_list_alloc_test 11451858 52154973 4.55 107016027 9.34 2.05
    random_size_alloc_test 5989020 26735276 4.46 68885923 11.50 2.58
    fix_align_alloc_test 2050976 20166900 9.83 50491675 24.62 2.50
    random_size_align_alloc_te 2858229 17971700 6.29 38730225 13.55 2.16
    align_shift_alloc_test 405 6428 15.87 26253 64.82 4.08
    pcpu_alloc_test 127183 151464 1.19 216263 1.70 1.43
    Total Cycles 54181269392 308723699764 5.70 650772566394 12.01 2.11
    fix_size_alloc_test 1420404 14289308 10.06 27790035 19.56 1.94
    full_fit_alloc_test 1736145 14806234 8.53 15274301 8.80 1.03
    long_busy_list_alloc_test 11404638 52270785 4.58 107550254 9.43 2.06
    random_size_alloc_test 6017006 26650625 4.43 68696127 11.42 2.58
    fix_align_alloc_test 2045504 20280985 9.91 50414862 24.65 2.49
    random_size_align_alloc_te 2845338 17931018 6.30 38510276 13.53 2.15
    align_shift_alloc_test 472 3760 7.97 9656 20.46 2.57
    pcpu_alloc_test 118643 132732 1.12 146504 1.23 1.10
    Total Cycles 54040011688 309102805492 5.72 651325675652 12.05 2.11

    [dja@axtens.net: fixups]
    Link: http://lkml.kernel.org/r/20191120052719.7201-1-dja@axtens.net
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=3D202009
    Link: http://lkml.kernel.org/r/20191031093909.9228-2-dja@axtens.net
    Signed-off-by: Mark Rutland [shadow rework]
    Signed-off-by: Daniel Axtens
    Co-developed-by: Mark Rutland
    Acked-by: Vasily Gorbik
    Reviewed-by: Andrey Ryabinin
    Cc: Alexander Potapenko
    Cc: Dmitry Vyukov
    Cc: Christophe Leroy
    Cc: Qian Cai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Axtens
     

26 Nov, 2019

1 commit

  • …kernel/git/shuah/linux-kselftest

    Pull kselftest KUnit support gtom Shuah Khan:
    "This adds KUnit, a lightweight unit testing and mocking framework for
    the Linux kernel from Brendan Higgins.

    KUnit is not an end-to-end testing framework. It is currently
    supported on UML and sub-systems can write unit tests and run them in
    UML env. KUnit documentation is included in this update.

    In addition, this Kunit update adds 3 new kunit tests:

    - proc sysctl test from Iurii Zaikin

    - the 'list' doubly linked list test from David Gow

    - ext4 tests for decoding extended timestamps from Iurii Zaikin

    In the future KUnit will be linked to Kselftest framework to provide a
    way to trigger KUnit tests from user-space"

    * tag 'linux-kselftest-5.5-rc1-kunit' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: (23 commits)
    lib/list-test: add a test for the 'list' doubly linked list
    ext4: add kunit test for decoding extended timestamps
    Documentation: kunit: Fix verification command
    kunit: Fix '--build_dir' option
    kunit: fix failure to build without printk
    MAINTAINERS: add proc sysctl KUnit test to PROC SYSCTL section
    kernel/sysctl-test: Add null pointer test for sysctl.c:proc_dointvec()
    MAINTAINERS: add entry for KUnit the unit testing framework
    Documentation: kunit: add documentation for KUnit
    kunit: defconfig: add defconfigs for building KUnit tests
    kunit: tool: add Python wrappers for running KUnit tests
    kunit: test: add tests for KUnit managed resources
    kunit: test: add the concept of assertions
    kunit: test: add tests for kunit test abort
    kunit: test: add support for test abort
    objtool: add kunit_try_catch_throw to the noreturn list
    kunit: test: add initial tests
    lib: enable building KUnit in lib/
    kunit: test: add the concept of expectations
    kunit: test: add assertion printing library
    ...

    Linus Torvalds
     

29 Oct, 2019

1 commit


15 Oct, 2019

1 commit

  • Commit 8974558f49a6 ("mm, page_owner, debug_pagealloc: save and dump
    freeing stack trace") enhanced page_owner to also store freeing stack
    trace, when debug_pagealloc is also enabled. KASAN would also like to
    do this [1] to improve error reports to debug e.g. UAF issues.

    Kirill has suggested that the freeing stack trace saving should be also
    possible to be enabled separately from KASAN or debug_pagealloc, i.e.
    with an extra boot option. Qian argued that we have enough options
    already, and avoiding the extra overhead is not worth the complications
    in the case of a debugging option. Kirill noted that the extra stack
    handle in struct page_owner requires 0.1% of memory.

    This patch therefore enables free stack saving whenever page_owner is
    enabled, regardless of whether debug_pagealloc or KASAN is also enabled.
    KASAN kernels booted with page_owner=on will thus benefit from the
    improved error reports.

    [1] https://bugzilla.kernel.org/show_bug.cgi?id=203967

    [vbabka@suse.cz: v3]
    Link: http://lkml.kernel.org/r/20191007091808.7096-3-vbabka@suse.cz
    Link: http://lkml.kernel.org/r/20190930122916.14969-3-vbabka@suse.cz
    Signed-off-by: Vlastimil Babka
    Reviewed-by: Qian Cai
    Suggested-by: Dmitry Vyukov
    Suggested-by: Walter Wu
    Suggested-by: Andrey Ryabinin
    Suggested-by: Kirill A. Shutemov
    Suggested-by: Qian Cai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vlastimil Babka
     

08 Oct, 2019

1 commit

  • kunit wrapper script ('kunit.py') receives a sub-command (only 'run' for
    now) as its argument. If no sub-command is given, it prints help
    message and just quit. However, an example command in the kunit
    documentation for a verification of kunit is missing the sub-command.
    This commit fixes the example.

    Signed-off-by: SeongJae Park
    Reviewed-by: Brendan Higgins
    Signed-off-by: Shuah Khan

    SeongJae Park
     

02 Oct, 2019

1 commit

  • Let the user specify an optional TARGETS skiplist through the new optional
    SKIP_TARGETS Makefile variable.

    It is easier to skip at will using a reduced and well defined list of
    possibly problematic targets with SKIP_TARGETS than to provide a partially
    stripped down list of good targets using the usual TARGETS variable.

    Signed-off-by: Cristian Marussi
    Signed-off-by: Shuah Khan

    Cristian Marussi
     

01 Oct, 2019

2 commits

  • Commit c5665868183f ("mm: kmemleak: use the memory pool for early
    allocations") renamed CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE to
    CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE. Update the documentation reference
    to reflect that.

    Fixes: c5665868183f ("mm: kmemleak: use the memory pool for early allocations")
    Signed-off-by: Jeremy Cline
    Acked-by: Catalin Marinas
    Signed-off-by: Jonathan Corbet

    Jeremy Cline
     
  • Add documentation for KUnit, the Linux kernel unit testing framework.
    - Add intro and usage guide for KUnit
    - Add API reference

    Signed-off-by: Felix Guo
    Signed-off-by: Brendan Higgins
    Cc: Jonathan Corbet
    Reviewed-by: Greg Kroah-Hartman
    Reviewed-by: Logan Gunthorpe
    Reviewed-by: Stephen Boyd
    Signed-off-by: Shuah Khan

    Brendan Higgins
     

23 Jul, 2019

1 commit


20 Jul, 2019

1 commit


17 Jul, 2019

1 commit


13 Jul, 2019

1 commit

  • Wikipedia now has a main article to "tracing garbage collector" topic.
    Change the URL and use the reStructuredText syntax for hyperlinks and add
    more details about the use of the tool. Add a section about how to use
    the kmemleak-test module to test the memory leak scanning.

    Link: http://lkml.kernel.org/r/20190612155231.19448-2-andrealmeid@collabora.com
    Signed-off-by: André Almeida
    Acked-by: Catalin Marinas
    Cc: Jonathan Corbet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    André Almeida
     

15 May, 2019

1 commit

  • Document some things of note to gcov users:
    1. GCC gcov and Clang llvm-cov tools are not compatible.
    2. The use of GCC vs Clang is transparent at build-time.

    Also adjust the documentation to account for the removal of config symbol
    CONFIG_GCOV_FORMAT_AUTODETECT by commit 6a61b70b43c9 ("gcov: remove
    CONFIG_GCOV_FORMAT_AUTODETECT").

    Link: http://lkml.kernel.org/r/20190318025411.98014-4-trong@android.com
    Signed-off-by: Tri Vo
    Reviewed-by: Peter Oberparleiter
    Cc: Daniel Mentz
    Cc: Greg Hackmann
    Cc: Nick Desaulniers
    Cc: Petri Gynther
    Cc: Prasad Sodagudi
    Cc: Trilok Soni
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tri Vo
     

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
     

20 Apr, 2019

1 commit

  • Fix KBUILD_OUTPUT usage instructions. The current documentation is
    incorrect. Update and fix outdated information about summary option.
    Add a reference to kselftest wiki for additional information on the
    framework and tips on writing new tests.

    Signed-off-by: Shuah Khan
    Signed-off-by: Jonathan Corbet

    Shuah Khan
     

09 Apr, 2019

1 commit

  • kselftest runs as a userspace process. Sometimes we need to test things
    from kernel space. One way of doing this is by creating a test module.
    Currently doing so requires developers to write a bunch of boiler plate
    in the module if kselftest is to be used to run the tests. This means
    we currently have a load of duplicate code to achieve these ends. If we
    have a uniform method for implementing test modules then we can reduce
    code duplication, ensure uniformity in the test framework, ease code
    maintenance, and reduce the work required to create tests. This all
    helps to encourage developers to write and run tests.

    Add a C header file that can be included in test modules. This provides
    a single point for common test functions/macros. Implement a few macros
    that make up the start of the test framework.

    Add documentation for new kselftest header to kselftest documentation.

    Acked-by: Kees Cook
    Signed-off-by: Tobin C. Harding
    Signed-off-by: Shuah Khan

    Tobin C. Harding
     

15 Jan, 2019

1 commit


30 Dec, 2018

1 commit

  • Pull documentation update from Jonathan Corbet:
    "A fairly normal cycle for documentation stuff. We have a new document
    on perf security, more Italian translations, more improvements to the
    memory-management docs, improvements to the pathname lookup
    documentation, and the usual array of smaller fixes.

    As is often the case, there are a few reaches outside of
    Documentation/ to adjust kerneldoc comments"

    * tag 'docs-5.0' of git://git.lwn.net/linux: (38 commits)
    docs: improve pathname-lookup document structure
    configfs: fix wrong name of struct in documentation
    docs/mm-api: link slab_common.c to "The Slab Cache" section
    slab: make kmem_cache_create{_usercopy} description proper kernel-doc
    doc:process: add links where missing
    docs/core-api: make mm-api.rst more structured
    x86, boot: documentation whitespace fixup
    Documentation: devres: note checking needs when converting
    doc:it: add some process/* translations
    doc:it: fixes in process/1.Intro
    Documentation: convert path-lookup from markdown to resturctured text
    Documentation/admin-guide: update admin-guide index.rst
    Documentation/admin-guide: introduce perf-security.rst file
    scripts/kernel-doc: Fix struct and struct field attribute processing
    Documentation: dev-tools: Fix typos in index.rst
    Correct gen_init_cpio tool's documentation
    Document /proc/pid PID reuse behavior
    Documentation: update path-lookup.md for parallel lookups
    Documentation: Use "while" instead of "whilst"
    dmaengine: Add mailing list address to the documentation
    ...

    Linus Torvalds
     

29 Dec, 2018

1 commit

  • This patch updates KASAN documentation to reflect the addition of the new
    tag-based mode.

    Link: http://lkml.kernel.org/r/aabef9de317c54b8a3919a4946ce534c6576726a.1544099024.git.andreyknvl@google.com
    Signed-off-by: Andrey Konovalov
    Reviewed-by: Andrey Ryabinin
    Reviewed-by: Dmitry Vyukov
    Cc: Christoph Lameter
    Cc: Mark Rutland
    Cc: Will Deacon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Konovalov
     

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
     

26 Nov, 2018

1 commit


08 Nov, 2018

1 commit


01 Sep, 2018

2 commits


29 Jun, 2018

1 commit


28 Apr, 2018

1 commit


17 Apr, 2018

2 commits

  • Mike Rapoport says:

    These patches convert files in Documentation/vm to ReST format, add an
    initial index and link it to the top level documentation.

    There are no contents changes in the documentation, except few spelling
    fixes. The relatively large diffstat stems from the indentation and
    paragraph wrapping changes.

    I've tried to keep the formatting as consistent as possible, but I could
    miss some places that needed markup and add some markup where it was not
    necessary.

    [jc: significant conflicts in vm/hmm.rst]

    Jonathan Corbet
     
  • Signed-off-by: Mike Rapoport
    Signed-off-by: Jonathan Corbet

    Mike Rapoport
     

04 Apr, 2018

1 commit

  • 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