23 Jul, 2022

4 commits

  • commit 3ebc170068885b6fc7bedda6c667bb2c4d533159 upstream.

    jmp2ret mitigates the easy-to-attack case at relatively low overhead.
    It mitigates the long speculation windows after a mispredicted RET, but
    it does not mitigate the short speculation window from arbitrary
    instruction boundaries.

    On Zen2, there is a chicken bit which needs setting, which mitigates
    "arbitrary instruction boundaries" down to just "basic block boundaries".

    But there is no fix for the short speculation window on basic block
    boundaries, other than to flush the entire BTB to evict all attacker
    predictions.

    On the spectrum of "fast & blurry" -> "safe", there is (on top of STIBP
    or no-SMT):

    1) Nothing System wide open
    2) jmp2ret May stop a script kiddy
    3) jmp2ret+chickenbit Raises the bar rather further
    4) IBPB Only thing which can count as "safe".

    Tentative numbers put IBPB-on-entry at a 2.5x hit on Zen2, and a 10x hit
    on Zen1 according to lmbench.

    [ bp: Fixup feature bit comments, document option, 32-bit build fix. ]

    Suggested-by: Andrew Cooper
    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Borislav Petkov
    Reviewed-by: Josh Poimboeuf
    Signed-off-by: Borislav Petkov
    Signed-off-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: Greg Kroah-Hartman

    Peter Zijlstra
     
  • commit 7c693f54c873691a4b7da05c7e0f74e67745d144 upstream.

    Extend spectre_v2= boot option with Kernel IBRS.

    [jpoimboe: no STIBP with IBRS]

    Signed-off-by: Pawan Gupta
    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Borislav Petkov
    Reviewed-by: Josh Poimboeuf
    Signed-off-by: Borislav Petkov
    Signed-off-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: Greg Kroah-Hartman

    Pawan Gupta
     
  • commit e8ec1b6e08a2102d8755ccb06fa26d540f26a2fa upstream.

    For untrained return thunks to be fully effective, STIBP must be enabled
    or SMT disabled.

    Co-developed-by: Josh Poimboeuf
    Signed-off-by: Josh Poimboeuf
    Signed-off-by: Kim Phillips
    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Borislav Petkov
    Signed-off-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: Greg Kroah-Hartman

    Kim Phillips
     
  • commit 7fbf47c7ce50b38a64576b150e7011ae73d54669 upstream.

    Add the "retbleed=" boot parameter to select a mitigation for
    RETBleed. Possible values are "off", "auto" and "unret"
    (JMP2RET mitigation). The default value is "auto".

    Currently, "retbleed=auto" will select the unret mitigation on
    AMD and Hygon and no mitigation on Intel (JMP2RET is not effective on
    Intel).

    [peterz: rebase; add hygon]
    [jpoimboe: cleanups]

    Signed-off-by: Alexandre Chartre
    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Borislav Petkov
    Reviewed-by: Josh Poimboeuf
    Signed-off-by: Borislav Petkov
    Signed-off-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: Greg Kroah-Hartman

    Alexandre Chartre
     

16 Jun, 2022

2 commits

  • commit 8cb861e9e3c9a55099ad3d08e1a3b653d29c33ca upstream

    Processor MMIO Stale Data is a class of vulnerabilities that may
    expose data after an MMIO operation. For details please refer to
    Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst.

    These vulnerabilities are broadly categorized as:

    Device Register Partial Write (DRPW):
    Some endpoint MMIO registers incorrectly handle writes that are
    smaller than the register size. Instead of aborting the write or only
    copying the correct subset of bytes (for example, 2 bytes for a 2-byte
    write), more bytes than specified by the write transaction may be
    written to the register. On some processors, this may expose stale
    data from the fill buffers of the core that created the write
    transaction.

    Shared Buffers Data Sampling (SBDS):
    After propagators may have moved data around the uncore and copied
    stale data into client core fill buffers, processors affected by MFBDS
    can leak data from the fill buffer.

    Shared Buffers Data Read (SBDR):
    It is similar to Shared Buffer Data Sampling (SBDS) except that the
    data is directly read into the architectural software-visible state.

    An attacker can use these vulnerabilities to extract data from CPU fill
    buffers using MDS and TAA methods. Mitigate it by clearing the CPU fill
    buffers using the VERW instruction before returning to a user or a
    guest.

    On CPUs not affected by MDS and TAA, user application cannot sample data
    from CPU fill buffers using MDS or TAA. A guest with MMIO access can
    still use DRPW or SBDR to extract data architecturally. Mitigate it with
    VERW instruction to clear fill buffers before VMENTER for MMIO capable
    guests.

    Add a kernel parameter mmio_stale_data={off|full|full,nosmt} to control
    the mitigation.

    Signed-off-by: Pawan Gupta
    Signed-off-by: Borislav Petkov
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Pawan Gupta
     
  • commit 4419470191386456e0b8ed4eb06a70b0021798a6 upstream

    Add the admin guide for Processor MMIO stale data vulnerabilities.

    Signed-off-by: Pawan Gupta
    Signed-off-by: Borislav Petkov
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Pawan Gupta
     

30 May, 2022

4 commits

  • commit 069c4ea6871c18bd368f27756e0f91ffb524a788 upstream.

    A semicolon was missing, and the almost-alphabetical-but-not ordering
    was confusing, so regroup these by category instead.

    Signed-off-by: Jason A. Donenfeld
    Signed-off-by: Greg Kroah-Hartman

    Jason A. Donenfeld
     
  • commit d97c68d178fbf8aaaf21b69b446f2dfb13909316 upstream.

    If CONFIG_RANDOM_TRUST_CPU is set, the RNG initializes using RDRAND.
    But, the user can disable (or enable) this behavior by setting
    `random.trust_cpu=0/1` on the kernel command line. This allows system
    builders to do reasonable things while avoiding howls from tinfoil
    hatters. (Or vice versa.)

    CONFIG_RANDOM_TRUST_BOOTLOADER is basically the same thing, but regards
    the seed passed via EFI or device tree, which might come from RDRAND or
    a TPM or somewhere else. In order to allow distros to more easily enable
    this while avoiding those same howls (or vice versa), this commit adds
    the corresponding `random.trust_bootloader=0/1` toggle.

    Cc: Theodore Ts'o
    Cc: Graham Christensen
    Reviewed-by: Ard Biesheuvel
    Reviewed-by: Dominik Brodowski
    Link: https://github.com/NixOS/nixpkgs/pull/165355
    Signed-off-by: Jason A. Donenfeld
    Signed-off-by: Greg Kroah-Hartman

    Jason A. Donenfeld
     
  • commit 95e6060c20a7f5db60163274c5222a725ac118f9 upstream.

    With tools like kbench9000 giving more finegrained responses, and this
    basically never having been used ever since it was initially added,
    let's just get rid of this. There *is* still work to be done on the
    interrupt handler, but this really isn't the way it's being developed.

    Cc: Theodore Ts'o
    Reviewed-by: Eric Biggers
    Reviewed-by: Dominik Brodowski
    Signed-off-by: Jason A. Donenfeld
    Signed-off-by: Greg Kroah-Hartman

    Jason A. Donenfeld
     
  • commit 489c7fc44b5740d377e8cfdbf0851036e493af00 upstream.

    Now that POOL_BITS == POOL_MIN_BITS, we must unconditionally wake up
    entropy writers after every extraction. Therefore there's no point of
    write_wakeup_threshold, so we can move it to the dustbin of unused
    compatibility sysctls. While we're at it, we can fix a small comparison
    where we were waking up after < min.

    Cc: Theodore Ts'o
    Suggested-by: Eric Biggers
    Reviewed-by: Eric Biggers
    Reviewed-by: Dominik Brodowski
    Signed-off-by: Jason A. Donenfeld
    Signed-off-by: Greg Kroah-Hartman

    Jason A. Donenfeld
     

08 Apr, 2022

2 commits

  • commit a1ff1de00db21ecb956213f046b79741b64c6b65 upstream.

    Patch series "Some improvements on panic_print".

    This is a mix of a documentation fix with some additions to the
    "panic_print" syscall / parameter. The goal here is being able to collect
    all CPUs backtraces during a panic event and also to enable "panic_print"
    in a kdump event - details of the reasoning and design choices in the
    patches.

    This patch (of 3):

    Commit de6da1e8bcf0 ("panic: add an option to replay all the printk
    message in buffer") added a new bit to the sysctl/kernel parameter
    "panic_print", but the documentation was added only in
    kernel-parameters.txt, not in the sysctl guide.

    Fix it here by adding bit 5 to sysctl admin-guide documentation.

    [rdunlap@infradead.org: fix table format warning]
    Link: https://lkml.kernel.org/r/20220109055635.6999-1-rdunlap@infradead.org

    Link: https://lkml.kernel.org/r/20211109202848.610874-1-gpiccoli@igalia.com
    Link: https://lkml.kernel.org/r/20211109202848.610874-2-gpiccoli@igalia.com
    Fixes: de6da1e8bcf0 ("panic: add an option to replay all the printk message in buffer")
    Signed-off-by: Guilherme G. Piccoli
    Reviewed-by: Feng Tang
    Cc: Luis Chamberlain
    Cc: Kees Cook
    Cc: Iurii Zaikin
    Cc: Samuel Iglesias Gonsalvez
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Guilherme G. Piccoli
     
  • [ Upstream commit 84842911322fc6a02a03ab9e728a48c691fe3efd ]

    Although kptr_restrict is set to 0 and the kernel is booted with
    no_hash_pointers parameter, the content of /proc/vmallocinfo is
    lacking the real addresses.

    / # cat /proc/vmallocinfo
    0x(ptrval)-0x(ptrval) 8192 load_module+0xc0c/0x2c0c pages=1 vmalloc
    0x(ptrval)-0x(ptrval) 12288 start_kernel+0x4e0/0x690 pages=2 vmalloc
    0x(ptrval)-0x(ptrval) 12288 start_kernel+0x4e0/0x690 pages=2 vmalloc
    0x(ptrval)-0x(ptrval) 8192 _mpic_map_mmio.constprop.0+0x20/0x44 phys=0x80041000 ioremap
    0x(ptrval)-0x(ptrval) 12288 _mpic_map_mmio.constprop.0+0x20/0x44 phys=0x80041000 ioremap
    ...

    According to the documentation for /proc/sys/kernel/, %pK is
    equivalent to %p when kptr_restrict is set to 0.

    Fixes: 5ead723a20e0 ("lib/vsprintf: no_hash_pointers prints all addresses as unhashed")
    Signed-off-by: Christophe Leroy
    Reviewed-by: Petr Mladek
    Signed-off-by: Petr Mladek
    Link: https://lore.kernel.org/r/107476128e59bff11a309b5bf7579a1753a41aca.1645087605.git.christophe.leroy@csgroup.eu
    Signed-off-by: Sasha Levin

    Christophe Leroy
     

11 Mar, 2022

2 commits

  • commit e9b6013a7ce31535b04b02ba99babefe8a8599fa upstream.

    Update the link to the "Software Techniques for Managing Speculation
    on AMD Processors" whitepaper.

    Signed-off-by: Kim Phillips
    Signed-off-by: Borislav Petkov
    Signed-off-by: Greg Kroah-Hartman

    Kim Phillips
     
  • commit 5ad3eb1132453b9795ce5fd4572b1c18b292cca9 upstream.

    Update the doc with the new fun.

    [ bp: Massage commit message. ]

    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Borislav Petkov
    Reviewed-by: Thomas Gleixner
    [fllinden@amazon.com: backported to 5.15]
    Signed-off-by: Frank van der Linden
    Signed-off-by: Greg Kroah-Hartman

    Peter Zijlstra
     

09 Mar, 2022

1 commit

  • commit dd21bfa425c098b95ca86845f8e7d1ec1ddf6e4a upstream.

    Since bit 57 was exported for uffd-wp write-protected (commit
    fb8e37f35a2f: "mm/pagemap: export uffd-wp protection information"),
    fixing it can reduce some unnecessary confusion.

    Link: https://lkml.kernel.org/r/20220301044538.3042713-1-yun.zhou@windriver.com
    Fixes: fb8e37f35a2fe1 ("mm/pagemap: export uffd-wp protection information")
    Signed-off-by: Yun Zhou
    Reviewed-by: Peter Xu
    Cc: Jonathan Corbet
    Cc: Tiberiu A Georgescu
    Cc: Florian Schmidt
    Cc: Ivan Teterevkov
    Cc: SeongJae Park
    Cc: Yang Shi
    Cc: David Hildenbrand
    Cc: Axel Rasmussen
    Cc: Miaohe Lin
    Cc: Andrea Arcangeli
    Cc: Colin Cross
    Cc: Alistair Popple
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Yun Zhou
     

27 Jan, 2022

3 commits

  • commit 82ca67321f55a8d1da6ac3ed611da3c32818bb37 upstream.

    The config RANDOMIZE_SLAB does not exist, the authors probably intended to
    refer to the config RANDOMIZE_BASE, which provides kernel address-space
    randomization. They probably just confused SLAB with BASE (these two
    four-letter words coincidentally share three common letters), as they also
    point out the config SLAB_FREELIST_RANDOM as further randomization within
    the same sentence.

    Fix the reference of the config for kernel address-space randomization to
    the config that provides that.

    Fixes: 6e88559470f5 ("Documentation: Add section about CPU vulnerabilities for Spectre")
    Signed-off-by: Lukas Bulwahn
    Link: https://lore.kernel.org/r/20211230171940.27558-1-lukas.bulwahn@gmail.com
    Signed-off-by: Jonathan Corbet
    Signed-off-by: Greg Kroah-Hartman

    Lukas Bulwahn
     
  • commit 2ac7069ad7647cd1d9ca5b08765a1e116e13cdc4 upstream.

    This config was removed so remove all references to it.

    Fixes: 76a3c92ec9e0 ("cifs: remove support for NTLM and weaker authentication algorithms")
    Signed-off-by: Alexandre Ghiti
    Reviewed-by: Steve French
    Acked-by: Arnd Bergmann [arch/arm/configs]
    Acked-by: Thomas Bogendoerfer
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Alexandre Ghiti
     
  • commit 473dcf0ffc31ce1135cd10578e7e06698cf51f4a upstream.

    Raw device interface was removed so remove all references to configs
    related to it.

    Fixes: 603e4922f1c8 ("remove the raw driver")
    Signed-off-by: Alexandre Ghiti
    Acked-by: Arnd Bergmann [arch/arm/configs]
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Alexandre Ghiti
     

05 Jan, 2022

1 commit

  • [ Upstream commit 9222ba68c3f4065f6364b99cc641b6b019ef2d42 ]

    We've got a bug report about the non-working keyboard on ASUS ZenBook
    UX425UA. It seems that the PS/2 device isn't ready immediately at
    boot but takes some seconds to get ready. Until now, the only
    workaround is to defer the probe, but it's available only when the
    driver is a module. However, many distros, including openSUSE as in
    the original report, build the PS/2 input drivers into kernel, hence
    it won't work easily.

    This patch adds the support for the deferred probe for i8042 stuff as
    a workaround of the problem above. When the deferred probe mode is
    enabled and the device couldn't be probed, it'll be repeated with the
    standard deferred probe mechanism.

    The deferred probe mode is enabled either via the new option
    i8042.probe_defer or via the quirk table entry. As of this patch, the
    quirk table contains only ASUS ZenBook UX425UA.

    The deferred probe part is based on Fabio's initial work.

    BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1190256
    Signed-off-by: Takashi Iwai
    Tested-by: Samuel Čavoj
    Link: https://lore.kernel.org/r/20211117063757.11380-1-tiwai@suse.de

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Sasha Levin

    Takashi Iwai
     

29 Dec, 2021

1 commit

  • commit 0ff29701ffad9a5d5a24344d8b09f3af7b96ffda upstream.

    Update the documentation for kvm-intel's emulate_invalid_guest_state to
    rectify the description of KVM's default behavior, and to document that
    the behavior and thus parameter only applies to L1.

    Fixes: a27685c33acc ("KVM: VMX: Emulate invalid guest state by default")
    Signed-off-by: Sean Christopherson
    Message-Id:
    Reviewed-by: Maxim Levitsky
    Signed-off-by: Paolo Bonzini
    Signed-off-by: Greg Kroah-Hartman

    Sean Christopherson
     

01 Dec, 2021

1 commit

  • commit 0f60a29c52b515532e6b11dc6b3c9e5b5f7ff2b4 upstream.

    The file name: accounting/delay-accounting.rst
    should be, instead: Documentation/accounting/delay-accounting.rst.

    Also, there's no need to use doc:`foo`, as automarkup.py will
    automatically handle plain text mentions to Documentation/
    files.

    So, update its cross-reference accordingly.

    Fixes: fcb501704554 ("delayacct: Document task_delayacct sysctl")
    Fixes: c3123552aad3 ("docs: accounting: convert to ReST")
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet
    Signed-off-by: Greg Kroah-Hartman

    Mauro Carvalho Chehab
     

19 Nov, 2021

1 commit

  • commit 40fdea0284bb20814399da0484a658a96c735d90 upstream.

    When running as PVH or HVM guest with actual memory < max memory the
    hypervisor is using "populate on demand" in order to allow the guest
    to balloon down from its maximum memory size. For this to work
    correctly the guest must not touch more memory pages than its target
    memory size as otherwise the PoD cache will be exhausted and the guest
    is crashed as a result of that.

    In extreme cases ballooning down might not be finished today before
    the init process is started, which can consume lots of memory.

    In order to avoid random boot crashes in such cases, add a late init
    call to wait for ballooning down having finished for PVH/HVM guests.

    Warn on console if initial ballooning fails, panic() after stalling
    for more than 3 minutes per default. Add a module parameter for
    changing this timeout.

    [boris: replaced pr_info() with pr_notice()]

    Cc:
    Reported-by: Marek Marczykowski-Górecki
    Signed-off-by: Juergen Gross
    Link: https://lore.kernel.org/r/20211102091944.17487-1-jgross@suse.com
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: Boris Ostrovsky
    Signed-off-by: Greg Kroah-Hartman

    Juergen Gross
     

12 Oct, 2021

1 commit


09 Oct, 2021

1 commit

  • Pull xen fixes from Juergen Gross:

    - fix two minor issues in the Xen privcmd driver plus a cleanup patch
    for that driver

    - fix multiple issues related to running as PVH guest and some related
    earlyprintk fixes for other Xen guest types

    - fix an issue introduced in 5.15 the Xen balloon driver

    * tag 'for-linus-5.15b-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/balloon: fix cancelled balloon action
    xen/x86: adjust data placement
    x86/PVH: adjust function/data placement
    xen/x86: hook up xen_banner() also for PVH
    xen/x86: generalize preferred console model from PV to PVH Dom0
    xen/x86: make "earlyprintk=xen" work for HVM/PVH DomU
    xen/x86: allow "earlyprintk=xen" to work for PV Dom0
    xen/x86: make "earlyprintk=xen" work better for PVH Dom0
    xen/x86: allow PVH Dom0 without XEN_PV=y
    xen/x86: prevent PVH type from getting clobbered
    xen/privcmd: drop "pages" parameter from xen_remap_pfn()
    xen/privcmd: fix error handling in mmap-resource processing
    xen/privcmd: replace kcalloc() by kvcalloc() when allocating empty pages

    Linus Torvalds
     

05 Oct, 2021

1 commit

  • xenboot_write_console() is dealing with these quite fine so I don't see
    why xenboot_console_setup() would return -ENOENT in this case.

    Adjust documentation accordingly.

    Signed-off-by: Jan Beulich
    Reviewed-by: Juergen Gross

    Link: https://lore.kernel.org/r/3d212583-700e-8b2d-727a-845ef33ac265@suse.com
    Signed-off-by: Juergen Gross

    Jan Beulich
     

14 Sep, 2021

4 commits

  • Hotmail was rejected by the mailing list, switched to gmail to resend.

    1. Clarify cgroup BPF program type and attach type;
    2. Fix file path broken.

    Signed-off-by: ArthurChiao
    Signed-off-by: Tejun Heo

    ArthurChiao
     
  • When I tried to add some new entries to cgroup-v2.rst, I found that
    the description of memory.events had some repetitive words, so I
    tried to delete them.

    Signed-off-by: Chunguang Xu
    Signed-off-by: Tejun Heo

    Chunguang Xu
     
  • Merge patch series from Nick Desaulniers to update the minimum gcc
    version to 5.1.

    This is some of the left-overs from the merge window that I didn't want
    to deal with yesterday, so it comes in after -rc1 but was sent before.

    Gcc-4.9 support has been an annoyance for some time, and with -Werror I
    had the choice of applying a fairly big patch from Kees Cook to remove a
    fair number of initializer warnings (still leaving some), or this patch
    series from Nick that just removes the source of the problem.

    The initializer cleanups might still be worth it regardless, but
    honestly, I preferred just tackling the problem with gcc-4.9 head-on.
    We've been more aggressiuve about no longer having to care about
    compilers that were released a long time ago, and I think it's been a
    good thing.

    I added a couple of patches on top to sort out a few left-overs now that
    we no longer support gcc-4.x.

    As noted by Arnd, as a result of this minimum compiler version upgrade
    we can probably change our use of '--std=gnu89' to '--std=gnu11', and
    finally start using local loop declarations etc. But this series does
    _not_ yet do that.

    Link: https://lore.kernel.org/all/20210909182525.372ee687@canb.auug.org.au/
    Link: https://lore.kernel.org/lkml/CAK7LNASs6dvU6D3jL2GG3jW58fXfaj6VNOe55NJnTB8UPuk2pA@mail.gmail.com/
    Link: https://github.com/ClangBuiltLinux/linux/issues/1438

    * emailed patches from Nick Desaulniers :
    Drop some straggling mentions of gcc-4.9 as being stale
    compiler_attributes.h: drop __has_attribute() support for gcc4
    vmlinux.lds.h: remove old check for GCC 4.9
    compiler-gcc.h: drop checks for older GCC versions
    Makefile: drop GCC < 5 -fno-var-tracking-assignments workaround
    arm64: remove GCC version check for ARCH_SUPPORTS_INT128
    powerpc: remove GCC version check for UPD_CONSTR
    riscv: remove Kconfig check for GCC version for ARCH_RV64I
    Kconfig.debug: drop GCC 5+ version check for DWARF5
    mm/ksm: remove old GCC 4.9+ check
    compiler.h: drop fallback overflow checkers
    Documentation: raise minimum supported version of GCC to 5.1

    Linus Torvalds
     
  • Fix up the admin-guide README file to the new gcc-5.1 requirement, and
    remove a stale comment about gcc support for the __assume_aligned__
    attribute.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

10 Sep, 2021

2 commits

  • Pull more tracing updates from Steven Rostedt:

    - Add migrate-disable counter to tracing header

    - Fix error handling in event probes

    - Fix missed unlock in osnoise in error path

    - Fix merge issue with tools/bootconfig

    - Clean up bootconfig data when init memory is removed

    - Fix bootconfig to loop only on subkeys

    - Have kernel command lines override bootconfig options

    - Increase field counts for synthetic events

    - Have histograms dynamic allocate event elements to save space

    - Fixes in testing and documentation

    * tag 'trace-v5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing/boot: Fix to loop on only subkeys
    selftests/ftrace: Exclude "(fault)" in testing add/remove eprobe events
    tracing: Dynamically allocate the per-elt hist_elt_data array
    tracing: synth events: increase max fields count
    tools/bootconfig: Show whole test command for each test case
    bootconfig: Fix missing return check of xbc_node_compose_key function
    tools/bootconfig: Fix tracing_on option checking in ftrace2bconf.sh
    docs: bootconfig: Add how to use bootconfig for kernel parameters
    init/bootconfig: Reorder init parameter from bootconfig and cmdline
    init: bootconfig: Remove all bootconfig data when the init memory is removed
    tracing/osnoise: Fix missed cpus_read_unlock() in start_per_cpu_kthreads()
    tracing: Fix some alloc_event_probe() error handling bugs
    tracing: Add migrate-disabled counter to tracing output.

    Linus Torvalds
     
  • Pull dmaengine updates from Vinod Koul:
    "New drivers/devices
    - Support for Renesas RZ/G2L dma controller
    - New driver for AMD PTDMA controller

    Updates:
    - Big pile of idxd updates
    - Updates for Altera driver, stm32-dma, dw etc"

    * tag 'dmaengine-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (83 commits)
    dmaengine: sh: fix some NULL dereferences
    dmaengine: sh: Fix unused initialization of pointer lmdesc
    MAINTAINERS: Fix AMD PTDMA DRIVER entry
    dmaengine: ptdma: remove PT_OFFSET to avoid redefnition
    dmaengine: ptdma: Add debugfs entries for PTDMA
    dmaengine: ptdma: register PTDMA controller as a DMA resource
    dmaengine: ptdma: Initial driver for the AMD PTDMA
    dmaengine: fsl-dpaa2-qdma: Fix spelling mistake "faile" -> "failed"
    dmaengine: idxd: remove interrupt disable for dev_lock
    dmaengine: idxd: remove interrupt disable for cmd_lock
    dmaengine: idxd: fix setting up priv mode for dwq
    dmaengine: xilinx_dma: Set DMA mask for coherent APIs
    dmaengine: ti: k3-psil-j721e: Add entry for CSI2RX
    dmaengine: sh: Add DMAC driver for RZ/G2L SoC
    dmaengine: Extend the dma_slave_width for 128 bytes
    dt-bindings: dma: Document RZ/G2L bindings
    dmaengine: ioat: depends on !UML
    dmaengine: idxd: set descriptor allocation size to threshold for swq
    dmaengine: idxd: make submit failure path consistent on desc freeing
    dmaengine: idxd: remove interrupt flag for completion list spinlock
    ...

    Linus Torvalds
     

09 Sep, 2021

6 commits

  • Pull more ACPI updates from Rafael Wysocki:
    "These add ACPI support to the PCI VMD driver, improve suspend-to-idle
    support for AMD platforms and update documentation.

    Specifics:

    - Add ACPI support to the PCI VMD driver (Rafael Wysocki)

    - Rearrange suspend-to-idle support code to reflect the platform
    firmware expectations on some AMD platforms (Mario Limonciello)

    - Make SSDT overlays documentation follow the code documented by it
    more closely (Andy Shevchenko)"

    * tag 'acpi-5.15-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: PM: s2idle: Run both AMD and Microsoft methods if both are supported
    Documentation: ACPI: Align the SSDT overlays file with the code
    PCI: VMD: ACPI: Make ACPI companion lookup work for VMD bus

    Linus Torvalds
     
  • Merge more updates from Andrew Morton:
    "147 patches, based on 7d2a07b769330c34b4deabeed939325c77a7ec2f.

    Subsystems affected by this patch series: mm (memory-hotplug, rmap,
    ioremap, highmem, cleanups, secretmem, kfence, damon, and vmscan),
    alpha, percpu, procfs, misc, core-kernel, MAINTAINERS, lib,
    checkpatch, epoll, init, nilfs2, coredump, fork, pids, criu, kconfig,
    selftests, ipc, and scripts"

    * emailed patches from Andrew Morton : (94 commits)
    scripts: check_extable: fix typo in user error message
    mm/workingset: correct kernel-doc notations
    ipc: replace costly bailout check in sysvipc_find_ipc()
    selftests/memfd: remove unused variable
    Kconfig.debug: drop selecting non-existing HARDLOCKUP_DETECTOR_ARCH
    configs: remove the obsolete CONFIG_INPUT_POLLDEV
    prctl: allow to setup brk for et_dyn executables
    pid: cleanup the stale comment mentioning pidmap_init().
    kernel/fork.c: unexport get_{mm,task}_exe_file
    coredump: fix memleak in dump_vma_snapshot()
    fs/coredump.c: log if a core dump is aborted due to changed file permissions
    nilfs2: use refcount_dec_and_lock() to fix potential UAF
    nilfs2: fix memory leak in nilfs_sysfs_delete_snapshot_group
    nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group
    nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group
    nilfs2: fix memory leak in nilfs_sysfs_create_##name##_group
    nilfs2: fix NULL pointer in nilfs_##name##_attr_release
    nilfs2: fix memory leak in nilfs_sysfs_create_device_group
    trap: cleanup trap_init()
    init: move usermodehelper_enable() to populate_rootfs()
    ...

    Linus Torvalds
     
  • Add a section to describe how to use the bootconfig for
    specifying kernel and init parameters. This is an important
    section because it is the reason why this document is under
    the admin-guide.

    Link: https://lkml.kernel.org/r/163077086399.222577.5881779375643977991.stgit@devnote2

    Signed-off-by: Masami Hiramatsu
    Cc: Jonathan Corbet
    Cc: linux-doc@vger.kernel.org
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     
  • This commit adds documents for DAMON under
    `Documentation/admin-guide/mm/damon/` and `Documentation/vm/damon/`.

    Link: https://lkml.kernel.org/r/20210716081449.22187-11-sj38.park@gmail.com
    Signed-off-by: SeongJae Park
    Reviewed-by: Fernand Sieber
    Reviewed-by: Markus Boehme
    Cc: Alexander Shishkin
    Cc: Amit Shah
    Cc: Benjamin Herrenschmidt
    Cc: Brendan Higgins
    Cc: David Hildenbrand
    Cc: David Rientjes
    Cc: David Woodhouse
    Cc: Fan Du
    Cc: Greg Kroah-Hartman
    Cc: Greg Thelen
    Cc: Ingo Molnar
    Cc: Joe Perches
    Cc: Jonathan Cameron
    Cc: Jonathan Corbet
    Cc: Leonard Foerster
    Cc: Marco Elver
    Cc: Maximilian Heyne
    Cc: Mel Gorman
    Cc: Minchan Kim
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Rik van Riel
    Cc: Shakeel Butt
    Cc: Shuah Khan
    Cc: Steven Rostedt (VMware)
    Cc: Vladimir Davydov
    Cc: Vlastimil Babka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    SeongJae Park
     
  • The memory hot(un)plug documentation is outdated and incomplete. Most of
    the content dates back to 2007, so it's time for a major overhaul.

    Let's rewrite, reorganize and update most parts of the documentation. In
    addition to memory hot(un)plug, also add some details regarding
    ZONE_MOVABLE, with memory hotunplug being one of its main consumers.

    Drop the file history, that information can more reliably be had from the
    git log.

    The style of the document is also properly fixed that e.g., "restview"
    renders it cleanly now.

    In the future, we might add some more details about virt users like
    virtio-mem, the XEN balloon, the Hyper-V balloon and ppc64 dlpar.

    Link: https://lkml.kernel.org/r/20210707073205.3835-3-david@redhat.com
    Signed-off-by: David Hildenbrand
    Acked-by: Michal Hocko
    Reviewed-by: Mike Rapoport
    Reviewed-by: Oscar Salvador
    Cc: Mike Kravetz
    Cc: Dave Hansen
    Cc: Matthew Wilcox
    Cc: Anshuman Khandual
    Cc: Muchun Song
    Cc: Pavel Tatashin
    Cc: Jonathan Corbet
    Cc: Stephen Rothwell

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Hildenbrand
     
  • Patch series "memory-hotplug.rst: complete admin-guide overhaul", v3.

    This patch (of 2):

    We have the same content at Documentation/core-api/memory-hotplug.rst and
    it doesn't fit into the admin-guide. The documentation was accidentially
    duplicated when merging.

    Link: https://lkml.kernel.org/r/20210707073205.3835-1-david@redhat.com
    Link: https://lkml.kernel.org/r/20210707073205.3835-2-david@redhat.com
    Signed-off-by: David Hildenbrand
    Acked-by: Mike Rapoport
    Acked-by: Michal Hocko
    Reviewed-by: Oscar Salvador
    Cc: Mike Kravetz
    Cc: Dave Hansen
    Cc: Matthew Wilcox
    Cc: Anshuman Khandual
    Cc: Muchun Song
    Cc: Pavel Tatashin
    Cc: Jonathan Corbet
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Hildenbrand
     

04 Sep, 2021

3 commits

  • Pull iommu updates from Joerg Roedel:

    - New DART IOMMU driver for Apple Silicon M1 chips

    - Optimizations for iommu_[map/unmap] performance

    - Selective TLB flush support for the AMD IOMMU driver to make it more
    efficient on emulated IOMMUs

    - Rework IOVA setup and default domain type setting to move more code
    out of IOMMU drivers and to support runtime switching between certain
    types of default domains

    - VT-d Updates from Lu Baolu:
    - Update the virtual command related registers
    - Enable Intel IOMMU scalable mode by default
    - Preset A/D bits for user space DMA usage
    - Allow devices to have more than 32 outstanding PRs
    - Various cleanups

    - ARM SMMU Updates from Will Deacon:
    SMMUv3:
    - Minor optimisation to avoid zeroing struct members on CMD submission
    - Increased use of batched commands to reduce submission latency
    - Refactoring in preparation for ECMDQ support
    SMMUv2:
    - Fix races when probing devices with identical StreamIDs
    - Optimise walk cache flushing for Qualcomm implementations
    - Allow deep sleep states for some Qualcomm SoCs with shared clocks

    - Various smaller optimizations, cleanups, and fixes

    * tag 'iommu-updates-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (85 commits)
    iommu/io-pgtable: Abstract iommu_iotlb_gather access
    iommu/arm-smmu: Fix missing unlock on error in arm_smmu_device_group()
    iommu/vt-d: Add present bit check in pasid entry setup helpers
    iommu/vt-d: Use pasid_pte_is_present() helper function
    iommu/vt-d: Drop the kernel doc annotation
    iommu/vt-d: Allow devices to have more than 32 outstanding PRs
    iommu/vt-d: Preset A/D bits for user space DMA usage
    iommu/vt-d: Enable Intel IOMMU scalable mode by default
    iommu/vt-d: Refactor Kconfig a bit
    iommu/vt-d: Remove unnecessary oom message
    iommu/vt-d: Update the virtual command related registers
    iommu: Allow enabling non-strict mode dynamically
    iommu: Merge strictness and domain type configs
    iommu: Only log strictness for DMA domains
    iommu: Expose DMA domain strictness via sysfs
    iommu: Express DMA strictness via the domain type
    iommu/vt-d: Prepare for multiple DMA domain types
    iommu/arm-smmu: Prepare for multiple DMA domain types
    iommu/amd: Prepare for multiple DMA domain types
    iommu: Introduce explicit type for non-strict DMA domains
    ...

    Linus Torvalds
     
  • Merge misc updates from Andrew Morton:
    "173 patches.

    Subsystems affected by this series: ia64, ocfs2, block, and mm (debug,
    pagecache, gup, swap, shmem, memcg, selftests, pagemap, mremap,
    bootmem, sparsemem, vmalloc, kasan, pagealloc, memory-failure,
    hugetlb, userfaultfd, vmscan, compaction, mempolicy, memblock,
    oom-kill, migration, ksm, percpu, vmstat, and madvise)"

    * emailed patches from Andrew Morton : (173 commits)
    mm/madvise: add MADV_WILLNEED to process_madvise()
    mm/vmstat: remove unneeded return value
    mm/vmstat: simplify the array size calculation
    mm/vmstat: correct some wrong comments
    mm/percpu,c: remove obsolete comments of pcpu_chunk_populated()
    selftests: vm: add COW time test for KSM pages
    selftests: vm: add KSM merging time test
    mm: KSM: fix data type
    selftests: vm: add KSM merging across nodes test
    selftests: vm: add KSM zero page merging test
    selftests: vm: add KSM unmerge test
    selftests: vm: add KSM merge test
    mm/migrate: correct kernel-doc notation
    mm: wire up syscall process_mrelease
    mm: introduce process_mrelease system call
    memblock: make memblock_find_in_range method private
    mm/mempolicy.c: use in_task() in mempolicy_slab_node()
    mm/mempolicy: unify the create() func for bind/interleave/prefer-many policies
    mm/mempolicy: advertise new MPOL_PREFERRED_MANY
    mm/hugetlb: add support for mempolicy MPOL_PREFERRED_MANY
    ...

    Linus Torvalds
     
  • Adds a new mode to the existing mempolicy modes, MPOL_PREFERRED_MANY.

    MPOL_PREFERRED_MANY will be adequately documented in the internal
    admin-guide with this patch. Eventually, the man pages for mbind(2),
    get_mempolicy(2), set_mempolicy(2) and numactl(8) will also have text
    about this mode. Those shall contain the canonical reference.

    NUMA systems continue to become more prevalent. New technologies like
    PMEM make finer grain control over memory access patterns increasingly
    desirable. MPOL_PREFERRED_MANY allows userspace to specify a set of nodes
    that will be tried first when performing allocations. If those
    allocations fail, all remaining nodes will be tried. It's a straight
    forward API which solves many of the presumptive needs of system
    administrators wanting to optimize workloads on such machines. The mode
    will work either per VMA, or per thread.

    [Michal Hocko: refine kernel doc for MPOL_PREFERRED_MANY]

    Link: https://lore.kernel.org/r/20200630212517.308045-13-ben.widawsky@intel.com
    Link: https://lkml.kernel.org/r/1627970362-61305-5-git-send-email-feng.tang@intel.com
    Signed-off-by: Ben Widawsky
    Signed-off-by: Feng Tang
    Acked-by: Michal Hocko
    Cc: Andi Kleen
    Cc: Andrea Arcangeli
    Cc: Dan Williams
    Cc: Dave Hansen
    Cc: David Rientjes
    Cc: Huang Ying
    Cc: Mel Gorman
    Cc: Michal Hocko
    Cc: Mike Kravetz
    Cc: Randy Dunlap
    Cc: Vlastimil Babka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Widawsky