31 Aug, 2018

2 commits

  • When bootstrapping an architecture, it's usual to generate the kernel's
    user-space headers (make headers_install) before building a compiler. Move
    the compiler check (for asm goto support) to the archprepare target so that
    it is only done when building code for the target.

    Fixes: e501ce957a78 ("x86: Force asm-goto")
    Reported-by: Helmut Grohne
    Signed-off-by: Ben Hutchings
    Signed-off-by: Thomas Gleixner
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20180829194317.GA4765@decadent.org.uk

    Ben Hutchings
     
  • show_opcodes() is used both for dumping kernel instructions and for dumping
    user instructions. If userspace causes #PF by jumping to a kernel address,
    show_opcodes() can be reached with regs->ip controlled by the user,
    pointing to kernel code. Make sure that userspace can't trick us into
    dumping kernel memory into dmesg.

    Fixes: 7cccf0725cf7 ("x86/dumpstack: Add a show_ip() function")
    Signed-off-by: Jann Horn
    Signed-off-by: Thomas Gleixner
    Reviewed-by: Kees Cook
    Reviewed-by: Borislav Petkov
    Cc: "H. Peter Anvin"
    Cc: Andy Lutomirski
    Cc: security@kernel.org
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20180828154901.112726-1-jannh@google.com

    Jann Horn
     

30 Aug, 2018

5 commits

  • Replace open-coded set instructions with CC_SET()/CC_OUT().

    Signed-off-by: Uros Bizjak
    Signed-off-by: Thomas Gleixner
    Link: https://lkml.kernel.org/r/20180814165951.13538-1-ubizjak@gmail.com

    Uros Bizjak
     
  • text_poke() and text_poke_bp() must be called with text_mutex held.

    Put proper lockdep anotation in place instead of just mentioning the
    requirement in a comment.

    Reported-by: Peter Zijlstra
    Signed-off-by: Jiri Kosina
    Signed-off-by: Thomas Gleixner
    Acked-by: Peter Zijlstra (Intel)
    Acked-by: Masami Hiramatsu
    Cc: Andy Lutomirski
    Link: https://lkml.kernel.org/r/nycvar.YFH.7.76.1808280853520.25787@cbobk.fhfr.pm

    Jiri Kosina
     
  • Reset the KASAN shadow state of the task stack before rewinding RSP.
    Without this, a kernel oops will leave parts of the stack poisoned, and
    code running under do_exit() can trip over such poisoned regions and cause
    nonsensical false-positive KASAN reports about stack-out-of-bounds bugs.

    This does not wipe the exception stacks; if an oops happens on an exception
    stack, it might result in random KASAN false-positives from other tasks
    afterwards. This is probably relatively uninteresting, since if the kernel
    oopses on an exception stack, there are most likely bigger things to worry
    about. It'd be more interesting if vmapped stacks and KASAN were
    compatible, since then handle_stack_overflow() would oops from exception
    stack context.

    Fixes: 2deb4be28077 ("x86/dumpstack: When OOPSing, rewind the stack before do_exit()")
    Signed-off-by: Jann Horn
    Signed-off-by: Thomas Gleixner
    Acked-by: Andrey Ryabinin
    Cc: Andy Lutomirski
    Cc: Dmitry Vyukov
    Cc: Alexander Potapenko
    Cc: Kees Cook
    Cc: kasan-dev@googlegroups.com
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20180828184033.93712-1-jannh@google.com

    Jann Horn
     
  • This should have been marked extern inline in order to pick up the out
    of line definition in arch/x86/kernel/irqflags.S.

    Fixes: 208cbb325589 ("x86/irqflags: Provide a declaration for native_save_fl")
    Reported-by: Ben Hutchings
    Signed-off-by: Nick Desaulniers
    Signed-off-by: Thomas Gleixner
    Reviewed-by: Juergen Gross
    Cc: "H. Peter Anvin"
    Cc: Boris Ostrovsky
    Cc: Greg Kroah-Hartman
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20180827214011.55428-1-ndesaulniers@google.com

    Nick Desaulniers
     
  • Commit cafa0010cd51 ("Raise the minimum required gcc version to 4.6")
    bumped the minimum GCC version to 4.6 for all architectures.

    Remove the workaround code.

    It was the only user of cc-if-fullversion. Remove the macro as well.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Michal Marek
    Cc: linux-kbuild@vger.kernel.org
    Link: https://lkml.kernel.org/r/1535348714-25457-1-git-send-email-yamada.masahiro@socionext.com

    Masahiro Yamada
     

27 Aug, 2018

11 commits

  • Fix a typo in the Kconfig help text: adverticed -> advertised.

    Signed-off-by: Nikolas Nyby
    Signed-off-by: Thomas Gleixner
    Cc: trivial@kernel.org
    Cc: tglx@linutronix.de
    Cc: x86@kernel.org
    Link: https://lkml.kernel.org/r/20180825231054.23813-1-nikolas@gnu.org

    Nikolas Nyby
     
  • On Nehalem and newer core CPUs the CPU cache internally uses 44 bits
    physical address space. The L1TF workaround is limited by this internal
    cache address width, and needs to have one bit free there for the
    mitigation to work.

    Older client systems report only 36bit physical address space so the range
    check decides that L1TF is not mitigated for a 36bit phys/32GB system with
    some memory holes.

    But since these actually have the larger internal cache width this warning
    is bogus because it would only really be needed if the system had more than
    43bits of memory.

    Add a new internal x86_cache_bits field. Normally it is the same as the
    physical bits field reported by CPUID, but for Nehalem and newerforce it to
    be at least 44bits.

    Change the L1TF memory size warning to use the new cache_bits field to
    avoid bogus warnings and remove the bogus comment about memory size.

    Fixes: 17dbca119312 ("x86/speculation/l1tf: Add sysfs reporting for l1tf")
    Reported-by: George Anchev
    Reported-by: Christopher Snowhill
    Signed-off-by: Andi Kleen
    Signed-off-by: Thomas Gleixner
    Cc: x86@kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Michael Hocko
    Cc: vbabka@suse.cz
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20180824170351.34874-1-andi@firstfloor.org

    Andi Kleen
     
  • The check for Spectre microcodes does not check for family 6, only the
    model numbers.

    Add a family 6 check to avoid ambiguity with other families.

    Fixes: a5b296636453 ("x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes")
    Signed-off-by: Andi Kleen
    Signed-off-by: Thomas Gleixner
    Cc: x86@kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20180824170351.34874-2-andi@firstfloor.org

    Andi Kleen
     
  • Linus Torvalds
     
  • Pull timer update from Thomas Gleixner:
    "New defines for the compat time* types so they can be shared between
    32bit and 64bit builds. Not used yet, but merging them now allows the
    actual conversions to be merged through different maintainer trees
    without dependencies

    We still have compat interfaces for 32bit on 64bit even with the new
    2038 safe timespec/val variants because pointer size is different. And
    for the old style timespec/val interfaces we need yet another 'compat'
    interface for both 32bit native and 32bit on 64bit"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    y2038: Provide aliases for compat helpers

    Linus Torvalds
     
  • Pull IDA updates from Matthew Wilcox:
    "A better IDA API:

    id = ida_alloc(ida, GFP_xxx);
    ida_free(ida, id);

    rather than the cumbersome ida_simple_get(), ida_simple_remove().

    The new IDA API is similar to ida_simple_get() but better named. The
    internal restructuring of the IDA code removes the bitmap
    preallocation nonsense.

    I hope the net -200 lines of code is convincing"

    * 'ida-4.19' of git://git.infradead.org/users/willy/linux-dax: (29 commits)
    ida: Change ida_get_new_above to return the id
    ida: Remove old API
    test_ida: check_ida_destroy and check_ida_alloc
    test_ida: Convert check_ida_conv to new API
    test_ida: Move ida_check_max
    test_ida: Move ida_check_leaf
    idr-test: Convert ida_check_nomem to new API
    ida: Start new test_ida module
    target/iscsi: Allocate session IDs from an IDA
    iscsi target: fix session creation failure handling
    drm/vmwgfx: Convert to new IDA API
    dmaengine: Convert to new IDA API
    ppc: Convert vas ID allocation to new IDA API
    media: Convert entity ID allocation to new IDA API
    ppc: Convert mmu context allocation to new IDA API
    Convert net_namespace to new IDA API
    cb710: Convert to new IDA API
    rsxx: Convert to new IDA API
    osd: Convert to new IDA API
    sd: Convert to new IDA API
    ...

    Linus Torvalds
     
  • Pull gcc plugin fix from Kees Cook:
    "Lift gcc test into Kconfig. This is for better behavior when the
    kernel is built with Clang, reported by Stefan Agner"

    * tag 'gcc-plugins-v4.19-rc1-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    gcc-plugins: Disable when building under Clang

    Linus Torvalds
     
  • Pull perf updates from Thomas Gleixner:
    "Kernel:
    - Improve kallsyms coverage
    - Add x86 entry trampolines to kcore
    - Fix ARM SPE handling
    - Correct PPC event post processing

    Tools:
    - Make the build system more robust
    - Small fixes and enhancements all over the place
    - Update kernel ABI header copies
    - Preparatory work for converting libtraceevnt to a shared library
    - License cleanups"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (100 commits)
    tools arch: Update arch/x86/lib/memcpy_64.S copy used in 'perf bench mem memcpy'
    tools arch x86: Update tools's copy of cpufeatures.h
    perf python: Fix pyrf_evlist__read_on_cpu() interface
    perf mmap: Store real cpu number in 'struct perf_mmap'
    perf tools: Remove ext from struct kmod_path
    perf tools: Add gzip_is_compressed function
    perf tools: Add lzma_is_compressed function
    perf tools: Add is_compressed callback to compressions array
    perf tools: Move the temp file processing into decompress_kmodule
    perf tools: Use compression id in decompress_kmodule()
    perf tools: Store compression id into struct dso
    perf tools: Add compression id into 'struct kmod_path'
    perf tools: Make is_supported_compression() static
    perf tools: Make decompress_to_file() function static
    perf tools: Get rid of dso__needs_decompress() call in __open_dso()
    perf tools: Get rid of dso__needs_decompress() call in symbol__disassemble()
    perf tools: Get rid of dso__needs_decompress() call in read_object_code()
    tools lib traceevent: Change to SPDX License format
    perf llvm: Allow passing options to llc in addition to clang
    perf parser: Improve error message for PMU address filters
    ...

    Linus Torvalds
     
  • Pull x86 fixes from Thomas Gleixner:

    - Correct the L1TF fallout on 32bit and the off by one in the 'too much
    RAM for protection' calculation.

    - Add a helpful kernel message for the 'too much RAM' case

    - Unbreak the VDSO in case that the compiler desides to use indirect
    jumps/calls and emits retpolines which cannot be resolved because the
    kernel uses its own thunks, which does not work for the VDSO. Make it
    use the builtin thunks.

    - Re-export start_thread() which was unexported when the 32/64bit
    implementation was unified. start_thread() is required by modular
    binfmt handlers.

    - Trivial cleanups

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/speculation/l1tf: Suggest what to do on systems with too much RAM
    x86/speculation/l1tf: Fix off-by-one error when warning that system has too much RAM
    x86/kvm/vmx: Remove duplicate l1d flush definitions
    x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit
    x86/process: Re-export start_thread()
    x86/mce: Add notifier_block forward declaration
    x86/vdso: Fix vDSO build if a retpoline is emitted

    Linus Torvalds
     
  • Pull irq update from Thomas Gleixner:
    "A small set of updats/fixes for the irq subsystem:

    - Allow GICv3 interrupts to be configured as wake-up sources to
    enable wakeup from suspend

    - Make the error handling of the STM32 irqchip init function work

    - A set of small cleanups and improvements"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/gic-v3: Allow interrupt to be configured as wake-up sources
    irqchip/tango: Set irq handler and data in one go
    dt-bindings: irqchip: renesas-irqc: Document r8a774a1 support
    irqchip/s3c24xx: Remove unneeded comparison of unsigned long to 0
    irqchip/stm32: Fix init error handling
    irqchip/bcm7038-l1: Hide cpu offline callback when building for !SMP

    Linus Torvalds
     
  • Pull licking update from Thomas Gleixner:
    "Mark the switch cases which fall through to the next case with the
    proper comment so the fallthrough compiler checks can be enabled"

    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    futex: Mark expected switch fall-throughs

    Linus Torvalds
     

26 Aug, 2018

10 commits

  • …/linux/kernel/git/nvdimm/nvdimm

    Pull libnvdimm memory-failure update from Dave Jiang:
    "As it stands, memory_failure() gets thoroughly confused by dev_pagemap
    backed mappings. The recovery code has specific enabling for several
    possible page states and needs new enabling to handle poison in dax
    mappings.

    In order to support reliable reverse mapping of user space addresses:

    1/ Add new locking in the memory_failure() rmap path to prevent races
    that would typically be handled by the page lock.

    2/ Since dev_pagemap pages are hidden from the page allocator and the
    "compound page" accounting machinery, add a mechanism to determine
    the size of the mapping that encompasses a given poisoned pfn.

    3/ Given pmem errors can be repaired, change the speculatively
    accessed poison protection, mce_unmap_kpfn(), to be reversible and
    otherwise allow ongoing access from the kernel.

    A side effect of this enabling is that MADV_HWPOISON becomes usable
    for dax mappings, however the primary motivation is to allow the
    system to survive userspace consumption of hardware-poison via dax.
    Specifically the current behavior is:

    mce: Uncorrected hardware memory error in user-access at af34214200
    {1}[Hardware Error]: It has been corrected by h/w and requires no further action
    mce: [Hardware Error]: Machine check events logged
    {1}[Hardware Error]: event severity: corrected
    Memory failure: 0xaf34214: reserved kernel page still referenced by 1 users
    [..]
    Memory failure: 0xaf34214: recovery action for reserved kernel page: Failed
    mce: Memory error not recovered
    <reboot>

    ...and with these changes:

    Injecting memory failure for pfn 0x20cb00 at process virtual address 0x7f763dd00000
    Memory failure: 0x20cb00: Killing dax-pmd:5421 due to hardware memory corruption
    Memory failure: 0x20cb00: recovery action for dax page: Recovered

    Given all the cross dependencies I propose taking this through
    nvdimm.git with acks from Naoya, x86/core, x86/RAS, and of course dax
    folks"

    * tag 'libnvdimm-for-4.19_dax-memory-failure' of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm:
    libnvdimm, pmem: Restore page attributes when clearing errors
    x86/memory_failure: Introduce {set, clear}_mce_nospec()
    x86/mm/pat: Prepare {reserve, free}_memtype() for "decoy" addresses
    mm, memory_failure: Teach memory_failure() about dev_pagemap pages
    filesystem-dax: Introduce dax_lock_mapping_entry()
    mm, memory_failure: Collect mapping size in collect_procs()
    mm, madvise_inject_error: Let memory_failure() optionally take a page reference
    mm, dev_pagemap: Do not clear ->mapping on final put
    mm, madvise_inject_error: Disable MADV_SOFT_OFFLINE for ZONE_DEVICE pages
    filesystem-dax: Set page->index
    device-dax: Set page->index
    device-dax: Enable page_mapping()
    device-dax: Convert to vmf_insert_mixed and vm_fault_t

    Linus Torvalds
     
  • Pull libnvdimm updates from Dave Jiang:
    "Collection of misc libnvdimm patches for 4.19 submission:

    - Adding support to read locked nvdimm capacity.

    - Change test code to make DSM failure code injection an override.

    - Add support for calculate maximum contiguous area for namespace.

    - Add support for queueing a short ARS when there is on going ARS for
    nvdimm.

    - Allow NULL to be passed in to ->direct_access() for kaddr and pfn
    params.

    - Improve smart injection support for nvdimm emulation testing.

    - Fix test code that supports for emulating controller temperature.

    - Fix hang on error before devm_memremap_pages()

    - Fix a bug that causes user memory corruption when data returned to
    user for ars_status.

    - Maintainer updates for Ross Zwisler emails and adding Jan Kara to
    fsdax"

    * tag 'libnvdimm-for-4.19_misc' of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm:
    libnvdimm: fix ars_status output length calculation
    device-dax: avoid hang on error before devm_memremap_pages()
    tools/testing/nvdimm: improve emulation of smart injection
    filesystem-dax: Do not request kaddr and pfn when not required
    md/dm-writecache: Don't request pointer dummy_addr when not required
    dax/super: Do not request a pointer kaddr when not required
    tools/testing/nvdimm: kaddr and pfn can be NULL to ->direct_access()
    s390, dcssblk: kaddr and pfn can be NULL to ->direct_access()
    libnvdimm, pmem: kaddr and pfn can be NULL to ->direct_access()
    acpi/nfit: queue issuing of ars when an uc error notification comes in
    libnvdimm: Export max available extent
    libnvdimm: Use max contiguous area for namespace size
    MAINTAINERS: Add Jan Kara for filesystem DAX
    MAINTAINERS: update Ross Zwisler's email address
    tools/testing/nvdimm: Fix support for emulating controller temperature
    tools/testing/nvdimm: Make DSM failure code injection an override
    acpi, nfit: Prefer _DSM over _LSR for namespace label reads
    libnvdimm: Introduce locked DIMM capacity support

    Linus Torvalds
     
  • Pull ARM SoC late updates from Olof Johansson:
    "A couple of late-merged changes that would be useful to get in this
    merge window:

    - Driver support for reset of audio complex on Meson platforms. The
    audio driver went in this merge window, and these changes have been
    in -next for a while (just not in our tree).

    - Power management fixes for IOMMU on Rockchip platforms, getting
    closer to kexec working on them, including Chromebooks.

    - Another pass updating "arm,psci" -> "psci" for some properties that
    have snuck in since last time it was done"

    * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    iommu/rockchip: Move irq request past pm_runtime_enable
    iommu/rockchip: Handle errors returned from PM framework
    arm64: rockchip: Force CONFIG_PM on Rockchip systems
    ARM: rockchip: Force CONFIG_PM on Rockchip systems
    arm64: dts: Fix various entry-method properties to reflect documentation
    reset: imx7: Fix always writing bits as 0
    reset: meson: add meson audio arb driver
    reset: meson: add dt-bindings for meson-axg audio arb

    Linus Torvalds
     
  • Pull more Kbuild updates from Masahiro Yamada:

    - add build_{menu,n,g,x}config targets for compile-testing Kconfig

    - fix and improve recursive dependency detection in Kconfig

    - fix parallel building of menuconfig/nconfig

    - fix syntax error in clang-version.sh

    - suppress distracting log from syncconfig

    - remove obsolete "rpm" target

    - remove VMLINUX_SYMBOL(_STR) macro entirely

    - fix microblaze build with CONFIG_DYNAMIC_FTRACE

    - move compiler test for dead code/data elimination to Kconfig

    - rename well-known LDFLAGS variable to KBUILD_LDFLAGS

    - misc fixes and cleanups

    * tag 'kbuild-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kbuild: rename LDFLAGS to KBUILD_LDFLAGS
    kbuild: pass LDFLAGS to recordmcount.pl
    kbuild: test dead code/data elimination support in Kconfig
    initramfs: move gen_initramfs_list.sh from scripts/ to usr/
    vmlinux.lds.h: remove stale include
    export.h: remove VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR()
    Coccinelle: remove pci_alloc_consistent semantic to detect in zalloc-simple.cocci
    kbuild: make sorting initramfs contents independent of locale
    kbuild: remove "rpm" target, which is alias of "rpm-pkg"
    kbuild: Fix LOADLIBES rename in Documentation/kbuild/makefiles.txt
    kconfig: suppress "configuration written to .config" for syncconfig
    kconfig: fix "Can't open ..." in parallel build
    kbuild: Add a space after `!` to prevent parsing as file pattern
    scripts: modpost: check memory allocation results
    kconfig: improve the recursive dependency report
    kconfig: report recursive dependency involving 'imply'
    kconfig: error out when seeing recursive dependency
    kconfig: add build-only configurator targets
    scripts/dtc: consolidate include path options in Makefile

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:
    "A few small fixes for this merge window:

    - Locking imbalance fix for bcache (Shan Hai)

    - A few small fixes for wbt. One is a cleanup/prep, one is a fix for
    an existing issue, and the last two are fixes for changes that went
    into this merge window (me)"

    * tag 'for-linus-20180825' of git://git.kernel.dk/linux-block:
    blk-wbt: don't maintain inflight counts if disabled
    blk-wbt: fix has-sleeper queueing check
    blk-wbt: use wq_has_sleeper() for wq active check
    blk-wbt: move disable check into get_limit()
    bcache: release dc->writeback_lock properly in bch_writeback_thread()

    Linus Torvalds
     
  • Pull UBIFS fix from Richard Weinberger:
    "Remove an empty file from UBIFS source"

    * tag 'upstream-4.19-rc1-fix' of git://git.infradead.org/linux-ubifs:
    ubifs: Remove empty file.h

    Linus Torvalds
     
  • Pull cifs fixes from Steve French:
    "Three small SMB3 fixes, one for stable"

    * tag '4.19-rc-smb3' of git://git.samba.org/sfrench/cifs-2.6:
    cifs: update internal module version number for cifs.ko to 2.12
    cifs: check kmalloc before use
    cifs: check if SMB2 PDU size has been padded and suppress the warning
    cifs: create a define for how many iovs we need for an SMB2_open()

    Linus Torvalds
     
  • This is not normally noticeable, but repeated forks are unnecessarily
    expensive because they repeatedly dirty the parent page tables during
    the page table copy operation.

    It's trivial to just avoid write protecting the page table entry if it
    was already not writable.

    This patch was inspired by

    https://bugzilla.kernel.org/show_bug.cgi?id=200447

    which points to an ancient "waste time re-doing fork" issue in the
    presence of lots of signals.

    That bug was fixed by Eric Biederman's signal handling series
    culminating in commit c3ad2c3b02e9 ("signal: Don't restart fork when
    signals come in"), but the unnecessary work for repeated forks is still
    work just fixing, particularly since the fix is trivial.

    Cc: Eric Biederman
    Cc: Oleg Nesterov
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • At the point where r is being checked for different values, r is always
    going to be equal to 2 as the previous if statements jump to end or end1
    if r is not 2. Hence the assignment to err can be simplified to just
    err an assignment without any checks on the value or r.

    Detected by CoverityScan, CID#1226737 ("Logically dead code")

    Signed-off-by: Colin Ian King
    Reviewed-by: Mikulas Patocka
    Signed-off-by: Linus Torvalds

    Colin Ian King
     
  • Tejun Heo wrote:
    >
    > I asked Jens whether he could take care of the libata tree and he
    > thankfully agreed, so, from now on, Jens will be the libata
    > maintainer.
    >
    > Thanks a lot!

    Thanks for your work in this area. I still remember the first linux
    storage summit we did in Vancouver 2001, Tejun was invited to talk about
    his libata error handling work. Before that, it was basically a crap
    shoot if we recovered properly or not... A lot of water has flown under
    the bridge since then!

    Here's an "official" patch. Linus, can you apply it?

    Signed-off-by: Jens Axboe
    Signed-off-by: Linus Torvalds

    Jens Axboe
     

25 Aug, 2018

11 commits

  • Pull libata updates from Tejun Heo:
    "Nothing too interesting. Mostly ahci and ahci_platform changes, many
    around power management"

    * 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (22 commits)
    ata: ahci_platform: enable to get and control reset
    ata: libahci_platform: add reset control support
    ata: add an extra argument to ahci_platform_get_resources()
    ata: sata_rcar: Add r8a77965 support
    ata: sata_rcar: exclude setting of PHY registers in Gen3
    ata: sata_rcar: really mask all interrupts on Gen2 and later
    Revert "ata: ahci_platform: allow disabling of hotplug to save power"
    ata: libahci: Allow reconfigure of DEVSLP register
    ata: libahci: Correct setting of DEVSLP register
    ata: ahci: Enable DEVSLP by default on x86 with SLP_S0
    ata: ahci: Support state with min power but Partial low power state
    Revert "ata: ahci_platform: convert kcalloc to devm_kcalloc"
    ata: sata_rcar: Add rudimentary Runtime PM support
    ata: sata_rcar: Provide a short-hand for &pdev->dev
    ata: Only output sg element mapped number in verbose debug
    ata: Guard ata_scsi_dump_cdb() by ATA_VERBOSE_DEBUG
    ata: ahci_platform: convert kcalloc to devm_kcalloc
    ata: ahci_platform: convert kzallloc to kcalloc
    ata: ahci_platform: correct parameter documentation for ahci_platform_shutdown
    libata: remove ata_sff_data_xfer_noirq()
    ...

    Linus Torvalds
     
  • Pull cgroup updates from Tejun Heo:
    "Just one commit from Steven to take out spin lock from trace event
    handlers"

    * 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cgroup/tracing: Move taking of spin lock out of trace event handlers

    Linus Torvalds
     
  • Pull workqueue updates from Tejun Heo:
    "Over the lockdep cross-release churn, workqueue lost some of the
    existing annotations. Johannes Berg restored it and also improved
    them"

    * 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    workqueue: re-add lockdep dependencies for flushing
    workqueue: skip lockdep wq dependency in cancel_work_sync()

    Linus Torvalds
     
  • Pull IOMMU updates from Joerg Roedel:

    - PASID table handling updates for the Intel VT-d driver. It implements
    a global PASID space now so that applications usings multiple devices
    will just have one PASID.

    - A new config option to make iommu passthroug mode the default.

    - New sysfs attribute for iommu groups to export the type of the
    default domain.

    - A debugfs interface (for debug only) usable by IOMMU drivers to
    export internals to user-space.

    - R-Car Gen3 SoCs support for the ipmmu-vmsa driver

    - The ARM-SMMU now aborts transactions from unknown devices and devices
    not attached to any domain.

    - Various cleanups and smaller fixes all over the place.

    * tag 'iommu-updates-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (42 commits)
    iommu/omap: Fix cache flushes on L2 table entries
    iommu: Remove the ->map_sg indirection
    iommu/arm-smmu-v3: Abort all transactions if SMMU is enabled in kdump kernel
    iommu/arm-smmu-v3: Prevent any devices access to memory without registration
    iommu/ipmmu-vmsa: Don't register as BUS IOMMU if machine doesn't have IPMMU-VMSA
    iommu/ipmmu-vmsa: Clarify supported platforms
    iommu/ipmmu-vmsa: Fix allocation in atomic context
    iommu: Add config option to set passthrough as default
    iommu: Add sysfs attribyte for domain type
    iommu/arm-smmu-v3: sync the OVACKFLG to PRIQ consumer register
    iommu/arm-smmu: Error out only if not enough context interrupts
    iommu/io-pgtable-arm-v7s: Abort allocation when table address overflows the PTE
    iommu/io-pgtable-arm: Fix pgtable allocation in selftest
    iommu/vt-d: Remove the obsolete per iommu pasid tables
    iommu/vt-d: Apply per pci device pasid table in SVA
    iommu/vt-d: Allocate and free pasid table
    iommu/vt-d: Per PCI device pasid table interfaces
    iommu/vt-d: Add for_each_device_domain() helper
    iommu/vt-d: Move device_domain_info to header
    iommu/vt-d: Apply global PASID in SVA
    ...

    Linus Torvalds
     
  • Pull thermal management updates from Zhang Rui:

    - Add Daniel Lezcano as the reviewer of thermal framework and SoC
    driver changes (Daniel Lezcano).

    - Fix a bug in intel_dts_soc_thermal driver, which does not translate
    IO-APIC GSI (Global System Interrupt) into Linux irq number (Hans de
    Goede).

    - For device tree bindings, allow cooling devices sharing same trip
    point with same contribution value to share cooling map (Viresh
    Kumar).

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    dt-bindings: thermal: Allow multiple devices to share cooling map
    MAINTAINERS: Add Daniel Lezcano as designated reviewer for thermal
    Thermal: Intel SoC DTS: Translate IO-APIC GSI number to linux irq number

    Linus Torvalds
     
  • …git/jj/linux-apparmor

    Pull apparmor updates from John Johansen:
    "There is nothing major this time just four bug fixes and a patch to
    remove some dead code:

    Cleanups:
    - remove no-op permission check in policy_unpack

    Bug fixes:
    - fix an error code in __aa_create_ns()
    - fix failure to audit context info in build_change_hat
    - check buffer bounds when mapping permissions mask
    - fully initialize aa_perms struct when answering userspace query"

    * tag 'apparmor-pr-2018-08-23' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor:
    apparmor: remove no-op permission check in policy_unpack
    apparmor: fix an error code in __aa_create_ns()
    apparmor: Fix failure to audit context info in build_change_hat
    apparmor: Fully initialize aa_perms struct when answering userspace query
    apparmor: Check buffer bounds when mapping permissions mask

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:

    - An implementation for the newly added hv_ops->flush() for the OPAL
    hvc console driver backends, I forgot to apply this after merging the
    hvc driver changes before the merge window.

    - Enable all PCI bridges at boot on powernv, to avoid races when
    multiple children of a bridge try to enable it simultaneously. This
    is a workaround until the PCI core can be enhanced to fix the races.

    - A fix to query PowerVM for the correct system topology at boot before
    initialising sched domains, seen in some configurations to cause
    broken scheduling etc.

    - A fix for pte_access_permitted() on "nohash" platforms.

    - Two commits to fix SIGBUS when using remap_pfn_range() seen on Power9
    due to a workaround when using the nest MMU (GPUs, accelerators).

    - Another fix to the VFIO code used by KVM, the previous fix had some
    bugs which caused guests to not start in some configurations.

    - A handful of other minor fixes.

    Thanks to: Aneesh Kumar K.V, Benjamin Herrenschmidt, Christophe Leroy,
    Hari Bathini, Luke Dashjr, Mahesh Salgaonkar, Nicholas Piggin, Paul
    Mackerras, Srikar Dronamraju.

    * tag 'powerpc-4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/mce: Fix SLB rebolting during MCE recovery path.
    KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages
    powerpc/mm/radix: Only need the Nest MMU workaround for R -> RW transition
    powerpc/mm/books3s: Add new pte bit to mark pte temporarily invalid.
    powerpc/nohash: fix pte_access_permitted()
    powerpc/topology: Get topology for shared processors at boot
    powerpc64/ftrace: Include ftrace.h needed for enable/disable calls
    powerpc/powernv/pci: Work around races in PCI bridge enabling
    powerpc/fadump: cleanup crash memory ranges support
    powerpc/powernv: provide a console flush operation for opal hvc driver
    powerpc/traps: Avoid rate limit messages from show unhandled signals
    powerpc/64s: Fix PACA_IRQ_HARD_DIS accounting in idle_power4()

    Linus Torvalds
     
  • Pull s390 updates from Martin Schwidefsky:

    - A couple of patches for the zcrypt driver:
    + Add two masks to determine which AP cards and queues are host
    devices, this will be useful for KVM AP device passthrough
    + Add-on patch to improve the parsing of the new apmask and aqmask
    + Some code beautification

    - Second try to reenable the GCC plugins, the first patch set had a
    patch to do this but the merge somehow missed this

    - Remove the s390 specific GCC version check and use the generic one

    - Three patches for kdump, two bug fixes and one cleanup

    - Three patches for the PCI layer, one bug fix and two cleanups

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390: remove gcc version check (4.3 or newer)
    s390/zcrypt: hex string mask improvements for apmask and aqmask.
    s390/zcrypt: AP bus support for alternate driver(s)
    s390/zcrypt: code beautify
    s390/zcrypt: switch return type to bool for ap_instructions_available()
    s390/kdump: Remove kzalloc_panic
    s390/kdump: Fix memleak in nt_vmcoreinfo
    s390/kdump: Make elfcorehdr size calculation ABI compliant
    s390/pci: remove fmb address from debug output
    s390/pci: remove stale rc
    s390/pci: fix out of bounds access during irq setup
    s390/zcrypt: fix ap_instructions_available() returncodes
    s390: reenable gcc plugins for real

    Linus Torvalds
     
  • Pull ACPI Kconfig fix from Rafael Wysocki:
    "Fix recent menuconfig breakage causing it to present ACPI-specific
    options incorrectly (Arnd Bergmann)"

    * tag 'acpi-4.19-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: fix menuconfig presentation of ACPI submenu

    Linus Torvalds
     
  • Pull namespace fixes from Eric Biederman:
    "This is a set of four fairly obvious bug fixes:

    - a switch from d_find_alias to d_find_any_alias because the xattr
    code perversely takes a dentry

    - two mutex vs copy_to_user fixes from Jann Horn

    - a fix to use a sanitized size not the size userspace passed in from
    Christian Brauner"

    * 'userns-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
    getxattr: use correct xattr length
    sys: don't hold uts_sem while accessing userspace memory
    userns: move user access out of the mutex
    cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias()

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Just a couple of fixes"

    One MAINTAINERS address change, two panels fixes, and set of amdgpu
    fixes (build fixes, display fixes and some others)"

    * tag 'drm-next-2018-08-24' of git://anongit.freedesktop.org/drm/drm:
    drm/edid: Add 6 bpc quirk for SDC panel in Lenovo B50-80
    drm/amd/display: Don't build DCN1 when kcov is enabled
    Revert "drm/amdgpu/display: Replace CONFIG_DRM_AMD_DC_DCN1_0 with CONFIG_X86"
    drm/amdgpu/display: disable eDP fast boot optimization on DCE8
    drm/amdgpu: fix amdgpu_amdkfd_remove_eviction_fence v3
    drm/amdgpu: fix incorrect use of drm_file->pid
    drm/amdgpu: fix incorrect use of fcheck
    drm/powerplay: enable dpm under pass-through
    drm/amdgpu: access register without KIQ
    drm/amdgpu: set correct base for THM/NBIF/MP1 IP
    drm/amd/display: fix dentist did ranges
    drm/amd/display: make dp_ss_off optional
    drm/amd/display: fix dp_ss_control vbios flag parsing
    drm/amd/display: Do not retain link settings
    MAINTAINERS: drm-misc: Change seanpaul's email address
    drm/panel: simple: tv123wam: Add unprepare delay

    Linus Torvalds
     

24 Aug, 2018

1 commit

  • Pull second i2c update from Wolfram Sang:
    "As promised, here is my 2nd pull request for I2C, containing:

    - removal of the attach_adapter callback, converting its last user

    - removal of any __deprecated usage within I2C

    - one email address update

    - some SPDX conversion"

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: don't use any __deprecated handling anymore
    i2c: use SPDX identifier for Renesas drivers
    i2c: ocores: update my email address
    i2c: remove deprecated attach_adapter callback
    macintosh: therm_windtunnel: drop using attach_adapter

    Linus Torvalds