29 Oct, 2020

1 commit

  • This patch removes the MIC drivers from the kernel tree
    since the corresponding devices have been discontinued.

    Removing the dma and char-misc changes in one patch and
    merging via the char-misc tree is best to avoid any
    potential build breakage.

    Cc: Nikhil Rao
    Reviewed-by: Ashutosh Dixit
    Signed-off-by: Sudeep Dutt
    Acked-By: Vinod Koul
    Reviewed-by: Sherry Sun
    Link: https://lore.kernel.org/r/8c1443136563de34699d2c084df478181c205db4.1603854416.git.sudeep.dutt@intel.com
    Signed-off-by: Greg Kroah-Hartman

    Sudeep Dutt
     

26 Oct, 2020

16 commits

  • Linus Torvalds
     
  • Use a more generic form for __section that requires quotes to avoid
    complications with clang and gcc differences.

    Remove the quote operator # from compiler_attributes.h __section macro.

    Convert all unquoted __section(foo) uses to quoted __section("foo").
    Also convert __attribute__((section("foo"))) uses to __section("foo")
    even if the __attribute__ has multiple list entry forms.

    Conversion done using the script at:

    https://lore.kernel.org/lkml/75393e5ddc272dc7403de74d645e6c6e0f4e70eb.camel@perches.com/2-convert_section.pl

    Signed-off-by: Joe Perches
    Reviewed-by: Nick Desaulniers
    Reviewed-by: Miguel Ojeda
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • tid_addr is not a "pointer to (pointer to int in userspace)"; it is in
    fact a "pointer to (pointer to int in userspace) in userspace". So
    sparse rightfully complains about passing a kernel pointer to
    put_user().

    Reported-by: kernel test robot
    Signed-off-by: Rasmus Villemoes
    Signed-off-by: Linus Torvalds

    Rasmus Villemoes
     
  • Commit 453431a54934 ("mm, treewide: rename kzfree() to
    kfree_sensitive()") renamed kzfree() to kfree_sensitive(),
    but it left a compatibility definition of kzfree() to avoid
    being too disruptive.

    Since then a few more instances of kzfree() have slipped in.

    Just get rid of them and remove the compatibility definition
    once and for all.

    Signed-off-by: Eric Biggers
    Signed-off-by: Linus Torvalds

    Eric Biggers
     
  • If set, use the environment variable GIT_DIR to change the default .git
    location of the kernel git tree.

    If GIT_DIR is unset, keep using the current ".git" default.

    Link: https://lkml.kernel.org/r/c5e23b45562373d632fccb8bc04e563abba4dd1d.camel@perches.com
    Signed-off-by: Joe Perches
    Tested-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Pull timer fixes from Thomas Gleixner:
    "A time namespace fix and a matching selftest. The futex absolute
    timeouts which are based on CLOCK_MONOTONIC require time namespace
    corrected. This was missed in the original time namesapce support"

    * tag 'timers-urgent-2020-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    selftests/timens: Add a test for futex()
    futex: Adjust absolute futex timeouts with per time namespace offset

    Linus Torvalds
     
  • Pull scheduler fixes from Thomas Gleixner:
    "Two scheduler fixes:

    - A trivial build fix for sched_feat() to compile correctly with
    CONFIG_JUMP_LABEL=n

    - Replace a zero lenght array with a flexible array"

    * tag 'sched-urgent-2020-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/features: Fix !CONFIG_JUMP_LABEL case
    sched: Replace zero-length array with flexible-array

    Linus Torvalds
     
  • Pull perf fix from Thomas Gleixner:
    "A single fix to compute the field offset of the SNOOPX bit in the data
    source bitmask of perf events correctly"

    * tag 'perf-urgent-2020-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf: correct SNOOPX field offset

    Linus Torvalds
     
  • Pull locking fix from Thomas Gleixner:
    "Just a trivial fix for kernel-doc warnings"

    * tag 'locking-urgent-2020-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    locking/seqlocks: Fix kernel-doc warnings

    Linus Torvalds
     
  • Pull NTB fixes from Jon Mason.

    * tag 'ntb-5.10' of git://github.com/jonmason/ntb:
    NTB: Use struct_size() helper in devm_kzalloc()
    ntb: intel: Fix memleak in intel_ntb_pci_probe
    NTB: hw: amd: fix an issue about leak system resources

    Linus Torvalds
     
  • Pull i2c fix from Wolfram Sang:
    "Regression fix for rc1 and stable kernels as well"

    * 'i2c/for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs

    Linus Torvalds
     
  • Pull more cifs updates from Steve French:
    "Add support for stat of various special file types (WSL reparse points
    for char, block, fifo)"

    * tag '5.10-rc-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
    cifs: update internal module version number
    smb3: add some missing definitions from MS-FSCC
    smb3: remove two unused variables
    smb3: add support for stat of WSL reparse points for special file types

    Linus Torvalds
     
  • Pull more parisc updates from Helge Deller:

    - During this merge window O_NONBLOCK was changed to become 000200000,
    but we missed that the syscalls timerfd_create(), signalfd4(),
    eventfd2(), pipe2(), inotify_init1() and userfaultfd() do a strict
    bit-wise check of the flags parameter.

    To provide backward compatibility with existing userspace we
    introduce parisc specific wrappers for those syscalls which filter
    out the old O_NONBLOCK value and replaces it with the new one.

    - Prevent HIL bus driver to get stuck when keyboard or mouse isn't
    attached

    - Improve error return codes when setting rtc time

    - Minor documentation fix in pata_ns87415.c

    * 'parisc-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    ata: pata_ns87415.c: Document support on parisc with superio chip
    parisc: Add wrapper syscalls to fix O_NONBLOCK flag usage
    hil/parisc: Disable HIL driver when it gets stuck
    parisc: Improve error return codes when setting rtc time

    Linus Torvalds
     
  • Pull more xen updates from Juergen Gross:

    - a series for the Xen pv block drivers adding module parameters for
    better control of resource usge

    - a cleanup series for the Xen event driver

    * tag 'for-linus-5.10b-rc1c-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    Documentation: add xen.fifo_events kernel parameter description
    xen/events: unmask a fifo event channel only if it was masked
    xen/events: only register debug interrupt for 2-level events
    xen/events: make struct irq_info private to events_base.c
    xen: remove no longer used functions
    xen-blkfront: Apply changed parameter name to the document
    xen-blkfront: add a parameter for disabling of persistent grants
    xen-blkback: add a parameter for disabling of persistent grants

    Linus Torvalds
     
  • Pull SafeSetID updates from Micah Morton:
    "The changes are mostly contained to within the SafeSetID LSM, with the
    exception of a few 1-line changes to change some ns_capable() calls to
    ns_capable_setid() -- causing a flag (CAP_OPT_INSETID) to be set that
    is examined by SafeSetID code and nothing else in the kernel.

    The changes to SafeSetID internally allow for setting up GID
    transition security policies, as already existed for UIDs"

    * tag 'safesetid-5.10' of git://github.com/micah-morton/linux:
    LSM: SafeSetID: Fix warnings reported by test bot
    LSM: SafeSetID: Add GID security policy handling
    LSM: Signal to SafeSetID when setting group IDs

    Linus Torvalds
     
  • Pull random32 updates from Willy Tarreau:
    "Make prandom_u32() less predictable.

    This is the cleanup of the latest series of prandom_u32
    experimentations consisting in using SipHash instead of Tausworthe to
    produce the randoms used by the network stack.

    The changes to the files were kept minimal, and the controversial
    commit that used to take noise from the fast_pool (f227e3ec3b5c) was
    reverted. Instead, a dedicated "net_rand_noise" per_cpu variable is
    fed from various sources of activities (networking, scheduling) to
    perturb the SipHash state using fast, non-trivially predictable data,
    instead of keeping it fully deterministic. The goal is essentially to
    make any occasional memory leakage or brute-force attempt useless.

    The resulting code was verified to be very slightly faster on x86_64
    than what is was with the controversial commit above, though this
    remains barely above measurement noise. It was also tested on i386 and
    arm, and build- tested only on arm64"

    Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/

    * tag '20201024-v4-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/prandom:
    random32: add a selftest for the prandom32 code
    random32: add noise from network and scheduling activity
    random32: make prandom_u32() output unpredictable

    Linus Torvalds
     

25 Oct, 2020

18 commits

  • Commit 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler()
    before i2c_acpi_register_devices()")'s intention was to only move the
    acpi_install_address_space_handler() call to the point before where
    the ACPI declared i2c-children of the adapter where instantiated by
    i2c_acpi_register_devices().

    But i2c_acpi_install_space_handler() had a call to
    acpi_walk_dep_device_list() hidden (that is I missed it) at the end
    of it, so as an unwanted side-effect now acpi_walk_dep_device_list()
    was also being called before i2c_acpi_register_devices().

    Move the acpi_walk_dep_device_list() call to the end of
    i2c_acpi_register_devices(), so that it is once again called *after*
    the i2c_client-s hanging of the adapter have been created.

    This fixes the Microsoft Surface Go 2 hanging at boot.

    Fixes: 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()")
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=209627
    Reported-by: Rainer Finke
    Reported-by: Kieran Bingham
    Suggested-by: Maximilian Luz
    Tested-by: Kieran Bingham
    Signed-off-by: Hans de Goede
    Signed-off-by: Wolfram Sang

    Hans de Goede
     
  • Pull block fixes from Jens Axboe:

    - NVMe pull request from Christoph
    - rdma error handling fixes (Chao Leng)
    - fc error handling and reconnect fixes (James Smart)
    - fix the qid displace when tracing ioctl command (Keith Busch)
    - don't use BLK_MQ_REQ_NOWAIT for passthru (Chaitanya Kulkarni)
    - fix MTDT for passthru (Logan Gunthorpe)
    - blacklist Write Same on more devices (Kai-Heng Feng)
    - fix an uninitialized work struct (zhenwei pi)"

    - lightnvm out-of-bounds fix (Colin)

    - SG allocation leak fix (Doug)

    - rnbd fixes (Gioh, Guoqing, Jack)

    - zone error translation fixes (Keith)

    - kerneldoc markup fix (Mauro)

    - zram lockdep fix (Peter)

    - Kill unused io_context members (Yufen)

    - NUMA memory allocation cleanup (Xianting)

    - NBD config wakeup fix (Xiubo)

    * tag 'block-5.10-2020-10-24' of git://git.kernel.dk/linux-block: (27 commits)
    block: blk-mq: fix a kernel-doc markup
    nvme-fc: shorten reconnect delay if possible for FC
    nvme-fc: wait for queues to freeze before calling update_hr_hw_queues
    nvme-fc: fix error loop in create_hw_io_queues
    nvme-fc: fix io timeout to abort I/O
    null_blk: use zone status for max active/open
    nvmet: don't use BLK_MQ_REQ_NOWAIT for passthru
    nvmet: cleanup nvmet_passthru_map_sg()
    nvmet: limit passthru MTDS by BIO_MAX_PAGES
    nvmet: fix uninitialized work for zero kato
    nvme-pci: disable Write Zeroes on Sandisk Skyhawk
    nvme: use queuedata for nvme_req_qid
    nvme-rdma: fix crash due to incorrect cqe
    nvme-rdma: fix crash when connect rejected
    block: remove unused members for io_context
    blk-mq: remove the calling of local_memory_node()
    zram: Fix __zram_bvec_{read,write}() locking order
    skd_main: remove unused including
    sgl_alloc_order: fix memory leak
    lightnvm: fix out-of-bounds write to array devices->info[]
    ...

    Linus Torvalds
     
  • Pull io_uring fixes from Jens Axboe:

    - fsize was missed in previous unification of work flags

    - Few fixes cleaning up the flags unification creds cases (Pavel)

    - Fix NUMA affinities for completely unplugged/replugged node for io-wq

    - Two fallout fixes from the set_fs changes. One local to io_uring, one
    for the splice entry point that io_uring uses.

    - Linked timeout fixes (Pavel)

    - Removal of ->flush() ->files work-around that we don't need anymore
    with referenced files (Pavel)

    - Various cleanups (Pavel)

    * tag 'io_uring-5.10-2020-10-24' of git://git.kernel.dk/linux-block:
    splice: change exported internal do_splice() helper to take kernel offset
    io_uring: make loop_rw_iter() use original user supplied pointers
    io_uring: remove req cancel in ->flush()
    io-wq: re-set NUMA node affinities if CPUs come online
    io_uring: don't reuse linked_timeout
    io_uring: unify fsize with def->work_flags
    io_uring: fix racy REQ_F_LINK_TIMEOUT clearing
    io_uring: do poll's hash_node init in common code
    io_uring: inline io_poll_task_handler()
    io_uring: remove extra ->file check in poll prep
    io_uring: make cached_cq_overflow non atomic_t
    io_uring: inline io_fail_links()
    io_uring: kill ref get/drop in personality init
    io_uring: flags-based creds init in queue

    Linus Torvalds
     
  • Pull libata fixes from Jens Axboe:
    "Two minor libata fixes:

    - Fix a DMA boundary mask regression for sata_rcar (Geert)

    - kerneldoc markup fix (Mauro)"

    * tag 'libata-5.10-2020-10-24' of git://git.kernel.dk/linux-block:
    ata: fix some kernel-doc markups
    ata: sata_rcar: Fix DMA boundary mask

    Linus Torvalds
     
  • Pull misc vfs updates from Al Viro:
    "Assorted stuff all over the place (the largest group here is
    Christoph's stat cleanups)"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    fs: remove KSTAT_QUERY_FLAGS
    fs: remove vfs_stat_set_lookup_flags
    fs: move vfs_fstatat out of line
    fs: implement vfs_stat and vfs_lstat in terms of vfs_fstatat
    fs: remove vfs_statx_fd
    fs: omfs: use kmemdup() rather than kmalloc+memcpy
    [PATCH] reduce boilerplate in fsid handling
    fs: Remove duplicated flag O_NDELAY occurring twice in VALID_OPEN_FLAGS
    selftests: mount: add nosymfollow tests
    Add a "nosymfollow" mount option.

    Linus Torvalds
     
  • Pull dma-mapping fixes from Christoph Hellwig:

    - document the new dma_{alloc,free}_pages() API

    - two fixups for the dma-mapping.h split

    * tag 'dma-mapping-5.10-1' of git://git.infradead.org/users/hch/dma-mapping:
    dma-mapping: document dma_{alloc,free}_pages
    dma-mapping: move more functions to dma-map-ops.h
    ARM/sa1111: add a missing include of dma-map-ops.h

    Linus Torvalds
     
  • Pull KVM fixes from Paolo Bonzini:
    "Two fixes for this merge window, and an unrelated bugfix for a host
    hang"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: ioapic: break infinite recursion on lazy EOI
    KVM: vmx: rename pi_init to avoid conflict with paride
    KVM: x86/mmu: Avoid modulo operator on 64-bit value to fix i386 build

    Linus Torvalds
     
  • Pull x86 SEV-ES fixes from Borislav Petkov:
    "Three fixes to SEV-ES to correct setting up the new early pagetable on
    5-level paging machines, to always map boot_params and the kernel
    cmdline, and disable stack protector for ../compressed/head{32,64}.c.
    (Arvind Sankar)"

    * tag 'x86_seves_fixes_for_v5.10_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/boot/64: Explicitly map boot_params and command line
    x86/head/64: Disable stack protection for head$(BITS).o
    x86/boot/64: Initialize 5-level paging variables earlier

    Linus Torvalds
     
  • Given that this code is new, let's add a selftest for it as well.
    It doesn't rely on fixed sets, instead it picks 1024 numbers and
    verifies that they're not more correlated than desired.

    Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/
    Cc: George Spelvin
    Cc: Amit Klein
    Cc: Eric Dumazet
    Cc: "Jason A. Donenfeld"
    Cc: Andy Lutomirski
    Cc: Kees Cook
    Cc: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Linus Torvalds
    Cc: tytso@mit.edu
    Cc: Florian Westphal
    Cc: Marc Plumb
    Signed-off-by: Willy Tarreau

    Willy Tarreau
     
  • With the removal of the interrupt perturbations in previous random32
    change (random32: make prandom_u32() output unpredictable), the PRNG
    has become 100% deterministic again. While SipHash is expected to be
    way more robust against brute force than the previous Tausworthe LFSR,
    there's still the risk that whoever has even one temporary access to
    the PRNG's internal state is able to predict all subsequent draws till
    the next reseed (roughly every minute). This may happen through a side
    channel attack or any data leak.

    This patch restores the spirit of commit f227e3ec3b5c ("random32: update
    the net random state on interrupt and activity") in that it will perturb
    the internal PRNG's statee using externally collected noise, except that
    it will not pick that noise from the random pool's bits nor upon
    interrupt, but will rather combine a few elements along the Tx path
    that are collectively hard to predict, such as dev, skb and txq
    pointers, packet length and jiffies values. These ones are combined
    using a single round of SipHash into a single long variable that is
    mixed with the net_rand_state upon each invocation.

    The operation was inlined because it produces very small and efficient
    code, typically 3 xor, 2 add and 2 rol. The performance was measured
    to be the same (even very slightly better) than before the switch to
    SipHash; on a 6-core 12-thread Core i7-8700k equipped with a 40G NIC
    (i40e), the connection rate dropped from 556k/s to 555k/s while the
    SYN cookie rate grew from 5.38 Mpps to 5.45 Mpps.

    Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/
    Cc: George Spelvin
    Cc: Amit Klein
    Cc: Eric Dumazet
    Cc: "Jason A. Donenfeld"
    Cc: Andy Lutomirski
    Cc: Kees Cook
    Cc: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Linus Torvalds
    Cc: tytso@mit.edu
    Cc: Florian Westphal
    Cc: Marc Plumb
    Tested-by: Sedat Dilek
    Signed-off-by: Willy Tarreau

    Willy Tarreau
     
  • Non-cryptographic PRNGs may have great statistical properties, but
    are usually trivially predictable to someone who knows the algorithm,
    given a small sample of their output. An LFSR like prandom_u32() is
    particularly simple, even if the sample is widely scattered bits.

    It turns out the network stack uses prandom_u32() for some things like
    random port numbers which it would prefer are *not* trivially predictable.
    Predictability led to a practical DNS spoofing attack. Oops.

    This patch replaces the LFSR with a homebrew cryptographic PRNG based
    on the SipHash round function, which is in turn seeded with 128 bits
    of strong random key. (The authors of SipHash have *not* been consulted
    about this abuse of their algorithm.) Speed is prioritized over security;
    attacks are rare, while performance is always wanted.

    Replacing all callers of prandom_u32() is the quick fix.
    Whether to reinstate a weaker PRNG for uses which can tolerate it
    is an open question.

    Commit f227e3ec3b5c ("random32: update the net random state on interrupt
    and activity") was an earlier attempt at a solution. This patch replaces
    it.

    Reported-by: Amit Klein
    Cc: Willy Tarreau
    Cc: Eric Dumazet
    Cc: "Jason A. Donenfeld"
    Cc: Andy Lutomirski
    Cc: Kees Cook
    Cc: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Linus Torvalds
    Cc: tytso@mit.edu
    Cc: Florian Westphal
    Cc: Marc Plumb
    Fixes: f227e3ec3b5c ("random32: update the net random state on interrupt and activity")
    Signed-off-by: George Spelvin
    Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/
    [ willy: partial reversal of f227e3ec3b5c; moved SIPROUND definitions
    to prandom.h for later use; merged George's prandom_seed() proposal;
    inlined siprand_u32(); replaced the net_rand_state[] array with 4
    members to fix a build issue; cosmetic cleanups to make checkpatch
    happy; fixed RANDOM32_SELFTEST build ]
    Signed-off-by: Willy Tarreau

    George Spelvin
     
  • Pull powerpc fixes from Michael Ellerman:

    - A fix for undetected data corruption on Power9 Nimbus constraint with GCC 4.9
    powerpc/eeh: Fix eeh_dev_check_failure() for PE#0
    powerpc/64s: Remove TM from Power10 features
    selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load workaround
    powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation
    powerpc/powernv/dump: Handle multiple writes to ack attribute
    powerpc/powernv/dump: Fix race while processing OPAL dump
    powerpc/smp: Use GFP_ATOMIC while allocating tmp mask
    powerpc/smp: Remove unnecessary variable
    powerpc/mce: Avoid nmi_enter/exit in real mode on pseries hash
    powerpc/opal_elog: Handle multiple writes to ack attribute

    Linus Torvalds
     
  • Pull more RISC-V updates from Palmer Dabbelt:
    "Just a single patch set: the remainder of Christoph's work to remove
    set_fs, including the RISC-V portion"

    * tag 'riscv-for-linus-5.10-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    riscv: remove address space overrides using set_fs()
    riscv: implement __get_kernel_nofault and __put_user_nofault
    riscv: refactor __get_user and __put_user
    riscv: use memcpy based uaccess for nommu again
    asm-generic: make the set_fs implementation optional
    asm-generic: add nommu implementations of __{get,put}_kernel_nofault
    asm-generic: improve the nommu {get,put}_user handling
    uaccess: provide a generic TASK_SIZE_MAX definition

    Linus Torvalds
     
  • Pull ARM SoC defconfig updates from Olof Johansson:
    "We keep this in a separate branch to avoid cross-branch conflicts, but
    most of the material here is fairly boring -- some new drivers turned
    on for hardware since they were merged, and some refreshed files due
    to time having moved a lot of entries around"

    * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (33 commits)
    ARM: multi_v7_defconfig: add FMC2 EBI controller support
    arm64: defconfig: enable Qualcomm ASoC modules
    arm64: defconfig: qcom: enable GPU clock controller for SM8[12]50
    arm64: defconfig: enable INTERCONNECT for Qualcomm chipsets
    arm64: defconfig: enable the sl28cpld board management controller
    arm64: defconfig: Enable the eLCDIF and Raydium RM67191 drivers
    arm64: defconfig: Enable Qcom SNPS Femto PHY
    ARM: configs: Update Realview defconfig
    ARM: configs: Update Versatile defconfig
    ARM: config: aspeed_g5: Enable IBM OP Panel driver
    ARM: config: aspeed-g5: Enable I2C GPIO mux driver
    ARM: config: aspeed: Fix selection of media drivers
    arm64: defconfig: Enable Samsung S3FWRN5 NFC driver
    ARM: omap2plus_defconfig: enable generic net options
    ARM: omap2plus_defconfig: enable twl4030_madc as a loadable module
    arm64: defconfig: Enable clock driver for ROHM BD718x7 PMIC
    arm64: defconfig: Build ADMA and ACONNECT driver
    arm64: defconfig: Build AHUB component drivers
    arm64: defconfig: Enable Lontium LT9611 driver
    arm64: defcondfig: Enable USB ACM and FTDI drivers
    ...

    Linus Torvalds
     
  • Pull ARM Devicetree updates from Olof Johansson:
    "As usual, most of the changes are to devicetrees.

    Besides smaller fixes, some refactorings and cleanups, some of the new
    platforms and chips (or significant features) supported are below:

    Broadcom boards:
    - Cisco Meraki MR32 (BCM53016-based)
    - BCM2711 (RPi4) display pipeline support

    Actions Semi boards:
    - Caninos Loucos Labrador SBC (S500-based)
    - RoseapplePi SBC (S500-based)

    Allwinner SoCs/boards:
    - A100 SoC with Perf1 board
    - Mali, DMA, Cetrus and IR support for R40 SoC

    Amlogic boards:
    - Libretch S905x CC V2 board
    - Hardkernel ODROID-N2+ board

    Aspeed boards/platforms:
    - Wistron Mowgli (AST2500-based, Power9 OpenPower server)
    - Facebook Wedge400 (AST2500-based, ToR switch)

    Hisilicon SoC:
    - SD5203 SoC

    Nvidia boards:
    - Tegra234 VDK, for pre-silicon Orin SoC

    NXP i.MX boards:
    - Librem 5 phone
    - i.MX8MM DDR4 EVK
    - Variscite VAR-SOM-MX8MN SoM
    - Symphony board
    - Tolino Shine 2 HD
    - TQMa6 SoM
    - Y Soft IOTA Orion

    Rockchip boards:
    - NanoPi R2S board
    - A95X-Z2 board
    - more Rock-Pi4 variants

    STM32 boards:
    - Odyssey SOM board (STM32MP157CAC-based)
    - DH DRC02 board

    Toshiba SoCs/boards:
    - Visconti SoC and TPMV7708 board"

    * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (638 commits)
    ARM: dts: nspire: Fix SP804 users
    arm64: dts: lg: Fix SP804 users
    arm64: dts: lg: Fix SP805 clocks
    ARM: mstar: Fix up the fallout from moving the dts/dtsi files
    ARM: mstar: Add mstar prefix to all of the dtsi/dts files
    ARM: mstar: Add interrupt to pm_uart
    ARM: mstar: Add interrupt controller to base dtsi
    ARM: dts: meson8: remove two invalid interrupt lines from the GPU node
    arm64: dts: ti: k3-j7200-common-proc-board: Add USB support
    arm64: dts: ti: k3-j7200-common-proc-board: Configure the SERDES lane function
    arm64: dts: ti: k3-j7200-main: Add USB controller
    arm64: dts: ti: k3-j7200-main.dtsi: Add USB to SERDES lane MUX
    arm64: dts: ti: k3-j7200-main: Add SERDES lane control mux
    dt-bindings: ti-serdes-mux: Add defines for J7200 SoC
    ARM: dts: hisilicon: add SD5203 dts
    ARM: dts: hisilicon: fix the system controller compatible nodes
    arm64: dts: zynqmp: Fix leds subnode name for zcu100/ultra96 v1
    arm64: dts: zynqmp: Remove undocumented u-boot properties
    arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
    arm64: dts: zynqmp: Rename buses to be align with simple-bus yaml
    ...

    Linus Torvalds
     
  • Pull ARM SoC-related driver updates from Olof Johansson:
    "Various driver updates for platforms. A bulk of this is smaller fixes
    or cleanups, but some of the new material this time around is:

    - Support for Nvidia Tegra234 SoC

    - Ring accelerator support for TI AM65x

    - PRUSS driver for TI platforms

    - Renesas support for R-Car V3U SoC

    - Reset support for Cortex-M4 processor on i.MX8MQ

    There are also new socinfo entries for a handful of different SoCs and
    platforms"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (131 commits)
    drm/mediatek: reduce clear event
    soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api
    soc: mediatek: cmdq: add jump function
    soc: mediatek: cmdq: add write_s_mask value function
    soc: mediatek: cmdq: add write_s value function
    soc: mediatek: cmdq: add read_s function
    soc: mediatek: cmdq: add write_s_mask function
    soc: mediatek: cmdq: add write_s function
    soc: mediatek: cmdq: add address shift in jump
    soc: mediatek: mtk-infracfg: Fix kerneldoc
    soc: amlogic: pm-domains: use always-on flag
    reset: sti: reset-syscfg: fix struct description warnings
    reset: imx7: add the cm4 reset for i.MX8MQ
    dt-bindings: reset: imx8mq: add m4 reset
    reset: Fix and extend kerneldoc
    reset: reset-zynqmp: Added support for Versal platform
    dt-bindings: reset: Updated binding for Versal reset driver
    reset: imx7: Support module build
    soc: fsl: qe: Remove unnessesary check in ucc_set_tdm_rxtx_clk
    soc: fsl: qman: convert to use be32_add_cpu()
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform updates from Olof Johansson:
    "SoC changes, a substantial part of this is cleanup of some of the
    older platforms that used to have a bunch of board files.

    In particular:

    - Remove non-DT i.MX platforms that haven't seen activity in years,
    it's time to remove them.

    - A bunch of cleanup and removal of platform data for TI/OMAP
    platforms, moving over to genpd for power/reset control (yay!)

    - Major cleanup of Samsung S3C24xx and S3C64xx platforms, moving them
    closer to multiplatform support (not quite there yet, but getting
    close).

    There are a few other changes too, smaller fixlets, etc. For new
    platform support, the primary ones are:

    - New SoC: Hisilicon SD5203, ARM926EJ-S platform.

    - Cpufreq support for i.MX7ULP"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (121 commits)
    ARM: mstar: Select MStar intc
    ARM: stm32: Replace HTTP links with HTTPS ones
    ARM: debug: add UART early console support for SD5203
    ARM: hisi: add support for SD5203 SoC
    ARM: omap3: enable off mode automatically
    clk: imx: imx35: Remove mx35_clocks_init()
    clk: imx: imx31: Remove mx31_clocks_init()
    clk: imx: imx27: Remove mx27_clocks_init()
    ARM: imx: Remove unused definitions
    ARM: imx35: Retrieve the IIM base address from devicetree
    ARM: imx3: Retrieve the AVIC base address from devicetree
    ARM: imx3: Retrieve the CCM base address from devicetree
    ARM: imx31: Retrieve the IIM base address from devicetree
    ARM: imx27: Retrieve the CCM base address from devicetree
    ARM: imx27: Retrieve the SYSCTRL base address from devicetree
    ARM: s3c64xx: bring back notes from removed debug-macro.S
    ARM: s3c24xx: fix Wunused-variable warning on !MMU
    ARM: samsung: fix PM debug build with DEBUG_LL but !MMU
    MAINTAINERS: mark linux-samsung-soc list non-moderated
    ARM: imx: Remove remnant board file support pieces
    ...

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "I had queued up a batch of fixes that got a bit close to the release
    for sending in before the merge window opened, so I'm including them
    in the merge window batch instead.

    Mostly smaller DT tweaks and fixes, the usual mix that we tend to have
    through the releases"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
    ARM: dts: iwg20d-q7-common: Fix touch controller probe failure
    ARM: OMAP2+: Restore MPU power domain if cpu_cluster_pm_enter() fails
    ARM: dts: am33xx: modify AM33XX_IOPAD for #pinctrl-cells = 2
    soc: actions: include header to fix missing prototype
    arm64: dts: ti: k3-j721e: Rename mux header and update macro names
    soc: qcom: pdr: Fixup array type of get_domain_list_resp message
    arm64: dts: qcom: pm660: Fix missing pound sign in interrupt-cells
    arm64: dts: qcom: kitakami: Temporarily disable SDHCI1
    arm64: dts: sdm630: Temporarily disable SMMUs by default
    arm64: dts: sdm845: Fixup OPP table for all qup devices
    arm64: dts: allwinner: h5: remove Mali GPU PMU module
    ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator
    soc: xilinx: Fix error code in zynqmp_pm_probe()

    Linus Torvalds
     

24 Oct, 2020

5 commits

  • During shutdown the IOAPIC trigger mode is reset to edge triggered
    while the vfio-pci INTx is still registered with a resampler.
    This allows us to get into an infinite loop:

    ioapic_set_irq
    -> ioapic_lazy_update_eoi
    -> kvm_ioapic_update_eoi_one
    -> kvm_notify_acked_irq
    -> kvm_notify_acked_gsi
    -> (via irq_acked fn ptr) irqfd_resampler_ack
    -> kvm_set_irq
    -> (via set fn ptr) kvm_set_ioapic_irq
    -> kvm_ioapic_set_irq
    -> ioapic_set_irq

    Commit 8be8f932e3db ("kvm: ioapic: Restrict lazy EOI update to
    edge-triggered interrupts", 2020-05-04) acknowledges that this recursion
    loop exists and tries to avoid it at the call to ioapic_lazy_update_eoi,
    but at this point the scenario is already set, we have an edge interrupt
    with resampler on the same gsi.

    Fortunately, the only user of irq ack notifiers (in addition to resamplefd)
    is i8254 timer interrupt reinjection. These are edge-triggered, so in
    principle they would need the call to kvm_ioapic_update_eoi_one from
    ioapic_lazy_update_eoi, but they already disable AVIC(*), so they don't
    need the lazy EOI behavior. Therefore, remove the call to
    kvm_ioapic_update_eoi_one from ioapic_lazy_update_eoi.

    This fixes CVE-2020-27152. Note that this issue cannot happen with
    SR-IOV assigned devices because virtual functions do not have INTx,
    only MSI.

    Fixes: f458d039db7e ("kvm: ioapic: Lazy update IOAPIC EOI")
    Suggested-by: Paolo Bonzini
    Tested-by: Alex Williamson
    Signed-off-by: Vitaly Kuznetsov
    Signed-off-by: Paolo Bonzini

    Vitaly Kuznetsov
     
  • allyesconfig results in:

    ld: drivers/block/paride/paride.o: in function `pi_init':
    (.text+0x1340): multiple definition of `pi_init'; arch/x86/kvm/vmx/posted_intr.o:posted_intr.c:(.init.text+0x0): first defined here
    make: *** [Makefile:1164: vmlinux] Error 1

    because commit:

    commit 8888cdd0996c2d51cd417f9a60a282c034f3fa28
    Author: Xiaoyao Li
    Date: Wed Sep 23 11:31:11 2020 -0700

    KVM: VMX: Extract posted interrupt support to separate files

    added another pi_init(), though one already existed in the paride code.

    Reported-by: Jens Axboe
    Signed-off-by: Paolo Bonzini

    Paolo Bonzini
     
  • Replace a modulo operator with the more common pattern for computing the
    gfn "offset" of a huge page to fix an i386 build error.

    arch/x86/kvm/mmu/tdp_mmu.c:212: undefined reference to `__umoddi3'

    In fact, almost all of tdp_mmu.c can be elided on 32-bit builds, but
    that is a much larger patch.

    Fixes: 2f2fad0897cb ("kvm: x86/mmu: Add functions to handle changed TDP SPTEs")
    Reported-by: Daniel Díaz
    Signed-off-by: Sean Christopherson
    Message-Id:
    Signed-off-by: Paolo Bonzini

    Sean Christopherson
     
  • To 2.29

    Signed-off-by: Steve French

    Steve French
     
  • Pull xfs fixes from Darrick Wong:
    "Two bug fixes that trickled in during the merge window:

    - Make fallocate check the alignment of its arguments against the
    fundamental allocation unit of the volume the file lives on, so
    that we don't trigger the fs' alignment checks.

    - Cancel unprocessed log intents immediately when log recovery fails,
    to avoid a log deadlock"

    * tag 'xfs-5.10-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
    xfs: cancel intents immediately if process_intents fails
    xfs: fix fallocate functions when rtextsize is larger than 1

    Linus Torvalds