Skip to content
Permalink
Fuad-Tabba/KVM…
Switch branches/tags

Commits on Oct 10, 2021

  1. KVM: arm64: Handle protected guests at 32 bits

    Protected KVM does not support protected AArch32 guests. However,
    it is possible for the guest to force run AArch32, potentially
    causing problems. Add an extra check so that if the hypervisor
    catches the guest doing that, it can prevent the guest from
    running again by resetting vcpu->arch.target and returning
    ARM_EXCEPTION_IL.
    
    If this were to happen, The VMM can try and fix it by re-
    initializing the vcpu with KVM_ARM_VCPU_INIT, however, this is
    likely not possible for protected VMs.
    
    Adapted from commit 22f5538 ("KVM: arm64: Handle Asymmetric
    AArch32 systems")
    
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Oct 10, 2021
  2. KVM: arm64: Trap access to pVM restricted features

    Trap accesses to restricted features for VMs running in protected
    mode.
    
    Access to feature registers are emulated, and only supported
    features are exposed to protected VMs.
    
    Accesses to restricted registers as well as restricted
    instructions are trapped, and an undefined exception is injected
    into the protected guests, i.e., with EC = 0x0 (unknown reason).
    This EC is the one used, according to the Arm Architecture
    Reference Manual, for unallocated or undefined system registers
    or instructions.
    
    Only affects the functionality of protected VMs. Otherwise,
    should not affect non-protected VMs when KVM is running in
    protected mode.
    
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Oct 10, 2021
  3. KVM: arm64: Move sanitized copies of CPU features

    Move the sanitized copies of the CPU feature registers to the
    recently created sys_regs.c. This consolidates all copies in a
    more relevant file.
    
    No functional change intended.
    
    Acked-by: Will Deacon <will@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Oct 10, 2021
  4. KVM: arm64: Initialize trap registers for protected VMs

    Protected VMs have more restricted features that need to be
    trapped. Moreover, the host should not be trusted to set the
    appropriate trapping registers and their values.
    
    Initialize the trapping registers, i.e., hcr_el2, mdcr_el2, and
    cptr_el2 at EL2 for protected guests, based on the values of the
    guest's feature id registers.
    
    No functional change intended as trap handlers introduced in the
    previous patch are still not hooked in to the guest exit
    handlers.
    
    Reviewed-by: Andrew Jones <drjones@redhat.com>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Oct 10, 2021
  5. KVM: arm64: Add handlers for protected VM System Registers

    Add system register handlers for protected VMs. These cover Sys64
    registers (including feature id registers), and debug.
    
    No functional change intended as these are not hooked in yet to
    the guest exit handlers introduced earlier. So when trapping is
    triggered, the exit handlers let the host handle it, as before.
    
    Reviewed-by: Andrew Jones <drjones@redhat.com>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Oct 10, 2021
  6. KVM: arm64: Simplify masking out MTE in feature id reg

    Simplify code for hiding MTE support in feature id register when
    MTE is not enabled/supported by KVM.
    
    No functional change intended.
    
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Reviewed-by: Andrew Jones <drjones@redhat.com>
    Fuad Tabba authored and intel-lab-lkp committed Oct 10, 2021
  7. KVM: arm64: Add missing field descriptor for MDCR_EL2

    It's not currently used. Added for completeness.
    
    No functional change intended.
    
    Suggested-by: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Reviewed-by: Andrew Jones <drjones@redhat.com>
    Fuad Tabba authored and intel-lab-lkp committed Oct 10, 2021
  8. KVM: arm64: Pass struct kvm to per-EC handlers

    We need struct kvm to check for protected VMs to be able to pick
    the right handlers for them in subsequent patches.
    
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Fuad Tabba authored and intel-lab-lkp committed Oct 10, 2021
  9. KVM: arm64: Move early handlers to per-EC handlers

    Simplify the early exception handling by slicing the gigantic decoding
    tree into a more manageable set of functions, similar to what we have
    in handle_exit.c.
    
    This will also make the structure reusable for pKVM's own early exit
    handling.
    
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Marc Zyngier authored and intel-lab-lkp committed Oct 10, 2021
  10. KVM: arm64: Don't include switch.h into nvhe/kvm-main.c

    hyp-main.c includes switch.h while it only requires adjust-pc.h.
    Fix it to remove an unnecessary dependency.
    
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Marc Zyngier authored and intel-lab-lkp committed Oct 10, 2021
  11. KVM: arm64: Move __get_fault_info() and co into their own include file

    In order to avoid including the whole of the switching helpers
    in unrelated files, move the __get_fault_info() and related helpers
    into their own include file.
    
    Signed-off-by: Marc Zyngier <maz@kernel.org>
    Signed-off-by: Fuad Tabba <tabba@google.com>
    Marc Zyngier authored and intel-lab-lkp committed Oct 10, 2021

Commits on Oct 7, 2021

  1. Merge tag 'nfsd-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/cel/linux
    
    Pull nfsd fixes from Chuck Lever:
     "Bug fixes for NFSD error handling paths"
    
    * tag 'nfsd-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
      NFSD: Keep existing listeners on portlist error
      SUNRPC: fix sign error causing rpcsec_gss drops
      nfsd: Fix a warning for nfsd_file_close_inode
      nfsd4: Handle the NFSv4 READDIR 'dircount' hint being zero
      nfsd: fix error handling of register_pernet_subsys() in init_nfsd()
    torvalds committed Oct 7, 2021
  2. Merge tag 'armsoc-fixes-5.15' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/soc/soc
    
    Pull ARM SoC fixes from Arnd Bergmann:
     "This is a larger than normal update for Arm SoC specific code, most of
      it in device trees, but also drivers and the omap and at91/sama7
      platforms:
    
       - There are four new entries to the MAINTAINERS file: Sven Peter and
         Alyssa Rosenzweig for Apple M1, Romain Perier for Mstar/sigmastar,
         and Vignesh Raghavendra for TI K3
    
       - Build fixes to address randconfig warnings in sharpsl, dove, omap1,
         and qcom platforms as well as the scmi and op-tee subsystems
    
       - Regression fixes for missing CONFIG_FB and other options for
         several defconfigs
    
       - Several bug fixes for the newly added Microchip SAMA7 platform,
         mostly regarding power management
    
       - Missing SMP barriers to protect accesses to SCMI virtio device
    
       - Regression fixes for TI OMAP, including a boot-time hang on am335x.
    
       - Lots of bug fixes for NXP i.MX, mostly addressing incorrect
         settings in devicetree files, and one revert for broken suspend.
    
       - Fixes for ARM Juno/Vexpress devicetree files, addressing a couple
         of schema warnings.
    
       - Regression fixes for qualcomm SoC specific drivers and devicetree
         files, reverting an mdt_loader change and at least pastially
         reverting some of the 5.15 DTS changes, plus some minor bugfixes"
    
    * tag 'armsoc-fixes-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (64 commits)
      MAINTAINERS: Add Sven Peter as ARM/APPLE MACHINE maintainer
      MAINTAINERS: Add Alyssa Rosenzweig as M1 reviewer
      firmware: arm_scmi: Add proper barriers to scmi virtio device
      firmware: arm_scmi: Simplify spinlocks in virtio transport
      ARM: dts: omap3430-sdp: Fix NAND device node
      bus: ti-sysc: Use CLKDM_NOAUTO for dra7 dcan1 for errata i893
      ARM: sharpsl_param: work around -Wstringop-overread warning
      ARM: defconfig: gemini: Restore framebuffer
      ARM: dove: mark 'putc' as inline
      ARM: omap1: move omap15xx local bus handling to usb.c
      MAINTAINERS: Add Vignesh to TI K3 platform maintainership
      arm64: dts: imx8m*-venice-gw7902: fix M2_RST# gpio
      ARM: imx6: disable the GIC CPU interface before calling stby-poweroff sequence
      arm64: dts: ls1028a: fix eSDHC2 node
      arm64: dts: imx8mm-kontron-n801x-som: do not allow to switch off buck2
      ARM: dts: at91: sama7g5ek: to not touch slew-rate for SDMMC pins
      ARM: dts: at91: sama7g5ek: use proper slew-rate settings for GMACs
      ARM: at91: pm: preload base address of controllers in tlb
      ARM: at91: pm: group constants and addresses loading
      ARM: dts: at91: sama7g5ek: add suspend voltage for ddr3l rail
      ...
    torvalds committed Oct 7, 2021
  3. Merge tag 'asahi-soc-fixes-5.15' of https://github.com/AsahiLinux/linux

    … into arm/fixes
    
    Apple SoC fixes for 5.15; just two MAINTAINERS updates.
    
    - MAINTAINERS: Add Sven Peter as ARM/APPLE MACHINE maintainer
    - MAINTAINERS: Add Alyssa Rosenzweig as M1 reviewer
    
    * tag 'asahi-soc-fixes-5.15' of https://github.com/AsahiLinux/linux:
      MAINTAINERS: Add Sven Peter as ARM/APPLE MACHINE maintainer
      MAINTAINERS: Add Alyssa Rosenzweig as M1 reviewer
    
    Link: https://lore.kernel.org/r/a50a9015-0e62-c451-4d0d-668233b35b85@marcan.st
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Oct 7, 2021
  4. Merge tag 'scmi-fixes-5.15' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/sudeep.holla/linux into arm/fixes
    
    SCMI fixes for v5.15
    
    A few fixes addressing:
    - Kconfig dependency between VIRTIO and ARM_SCMI_PROTOCOL
    - Link-time error with __exit annotation for virtio_scmi_exit
    - Unnecessary nested irqsave/irqrestore spinlocks in virtio transport
    - Missing SMP barriers to protect accesses to SCMI virtio device
    
    * tag 'scmi-fixes-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
      firmware: arm_scmi: Add proper barriers to scmi virtio device
      firmware: arm_scmi: Simplify spinlocks in virtio transport
      firmware: arm_scmi: Remove __exit annotation
      firmware: arm_scmi: Fix virtio transport Kconfig dependency
    
    Link: https://lore.kernel.org/r/20211007102822.27886-1-sudeep.holla@arm.com
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Oct 7, 2021
  5. Merge tag 'omap-for-v5.15/fixes-rc4' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tmlind/linux-omap into arm/fixes
    
    Fixes for omaps for v5.15
    
    Few regression fixes for omaps for the v5.15-rc cycle. There is a fix
    for boot time hangs that can happen on some am335x devices that started
    when the pruss devicetree nodes were added. The other fixes are less
    critical:
    
    - Fix compiler warning for sysc_init_soc() that got recently introduced
    
    - Fix external abort for am335x pruss as otherwise some am335x will hang
    
    - Use CLKDM_NOAUTO quirk also for dra7 dcan1
    
    - Fix older NAND device node regression for omap3-sdp
    
    * tag 'omap-for-v5.15/fixes-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
      ARM: dts: omap3430-sdp: Fix NAND device node
      bus: ti-sysc: Use CLKDM_NOAUTO for dra7 dcan1 for errata i893
      soc: ti: omap-prm: Fix external abort for am335x pruss
      bus: ti-sysc: Add break in switch statement in sysc_init_soc()
    
    Link: https://lore.kernel.org/r/pull-1633609552-789682@atomide.com
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Oct 7, 2021
  6. Merge tag 'misc-fixes-20211007' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/dhowells/linux-fs
    
    Pull netfslib, cachefiles and afs fixes from David Howells:
    
     - Fix another couple of oopses in cachefiles tracing stemming from the
       possibility of passing in a NULL object pointer
    
     - Fix netfs_clear_unread() to set READ on the iov_iter so that source
       it is passed to doesn't do the wrong thing (some drivers look at the
       flag on iov_iter rather than other available information to determine
       the direction)
    
     - Fix afs_launder_page() to write back at the correct file position on
       the server so as not to corrupt data
    
    * tag 'misc-fixes-20211007' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
      afs: Fix afs_launder_page() to set correct start file position
      netfs: Fix READ/WRITE confusion when calling iov_iter_xarray()
      cachefiles: Fix oops with cachefiles_cull() due to NULL object
    torvalds committed Oct 7, 2021
  7. Merge tag 'perf-tools-fixes-for-v5.15-2021-10-07' of git://git.kernel…

    ….org/pub/scm/linux/kernel/git/acme/linux
    
    Pull perf tools fixes from Arnaldo Carvalho de Melo:
    
     - Fix plugin static linking with libopencsd on ARM and ARM64
    
     - Add missing -lstdc++ when linking with libopencsd
    
     - Add missing topdown metrics events to 'perf test attr'
    
     - Plug leak sys_event_tables list after processing JSON vendor events
       entries
    
     - Sync sound/asound.h copy with the kernel sources
    
    * tag 'perf-tools-fixes-for-v5.15-2021-10-07' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
      perf tests attr: Add missing topdown metrics events
      tools include UAPI: Sync sound/asound.h copy with the kernel sources
      perf build: Fix plugin static linking with libopencsd on ARM and ARM64
      perf build: Add missing -lstdc++ when linking with libopencsd
      perf jevents: Free the sys_event_tables list after processing entries
    torvalds committed Oct 7, 2021
  8. Merge tag 'net-5.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/netdev/net
    
    Pull networking fixes from Jakub Kicinski:
     "Including fixes from xfrm, bpf, netfilter, and wireless.
    
      Current release - regressions:
    
       - xfrm: fix XFRM_MSG_MAPPING ABI breakage caused by inserting a new
         value in the middle of an enum
    
       - unix: fix an issue in unix_shutdown causing the other end
         read/write failures
    
       - phy: mdio: fix memory leak
    
      Current release - new code bugs:
    
       - mlx5e: improve MQPRIO resiliency against bad configs
    
      Previous releases - regressions:
    
       - bpf: fix integer overflow leading to OOB access in map element
         pre-allocation
    
       - stmmac: dwmac-rk: fix ethernet on rk3399 based devices
    
       - netfilter: conntrack: fix boot failure with
         nf_conntrack.enable_hooks=1
    
       - brcmfmac: revert using ISO3166 country code and 0 rev as fallback
    
       - i40e: fix freeing of uninitialized misc IRQ vector
    
       - iavf: fix double unlock of crit_lock
    
      Previous releases - always broken:
    
       - bpf, arm: fix register clobbering in div/mod implementation
    
       - netfilter: nf_tables: correct issues in netlink rule change event
         notifications
    
       - dsa: tag_dsa: fix mask for trunked packets
    
       - usb: r8152: don't resubmit rx immediately to avoid soft lockup on
         device unplug
    
       - i40e: fix endless loop under rtnl if FW fails to correctly respond
         to capability query
    
       - mlx5e: fix rx checksum offload coexistence with ipsec offload
    
       - mlx5: force round second at 1PPS out start time and allow it only
         in supported clock modes
    
       - phy: pcs: xpcs: fix incorrect CL37 AN sequence, EEE disable
         sequence
    
      Misc:
    
       - xfrm: slightly rejig the new policy uAPI to make it less cryptic"
    
    * tag 'net-5.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (66 commits)
      net: prefer socket bound to interface when not in VRF
      iavf: fix double unlock of crit_lock
      i40e: Fix freeing of uninitialized misc IRQ vector
      i40e: fix endless loop under rtnl
      dt-bindings: net: dsa: marvell: fix compatible in example
      ionic: move filter sync_needed bit set
      gve: report 64bit tx_bytes counter from gve_handle_report_stats()
      gve: fix gve_get_stats()
      rtnetlink: fix if_nlmsg_stats_size() under estimation
      gve: Properly handle errors in gve_assign_qpl
      gve: Avoid freeing NULL pointer
      gve: Correct available tx qpl check
      unix: Fix an issue in unix_shutdown causing the other end read/write failures
      net: stmmac: trigger PCS EEE to turn off on link down
      net: pcs: xpcs: fix incorrect steps on disable EEE
      netlink: annotate data races around nlk->bound
      net: pcs: xpcs: fix incorrect CL37 AN sequence
      net: sfp: Fix typo in state machine debug string
      net/sched: sch_taprio: properly cancel timer from taprio_destroy()
      net: bridge: fix under estimation in br_get_linkxstats_size()
      ...
    torvalds committed Oct 7, 2021
  9. Merge tag 'hyperv-fixes-signed-20211007' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/hyperv/linux
    
    Pull hyperv fixes from Wei Liu:
    
     - Replace uuid.h with types.h in a header (Andy Shevchenko)
    
     - Avoid sleeping in atomic context in PCI driver (Long Li)
    
     - Avoid sending IPI to self when it shouldn't (Vitaly Kuznetsov)
    
    * tag 'hyperv-fixes-signed-20211007' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
      x86/hyperv: Avoid erroneously sending IPI to 'self'
      hyper-v: Replace uuid.h with types.h
      PCI: hv: Fix sleep while in non-sleep context when removing child devices from the bus
    torvalds committed Oct 7, 2021
  10. MAINTAINERS: Add Sven Peter as ARM/APPLE MACHINE maintainer

    Hector suggested I should add myself to help him maintain the
    platform.
    
    Acked-by: Hector Martin <marcan@marcan.st>
    Signed-off-by: Sven Peter <sven@svenpeter.dev>
    svenpeter42 authored and marcan committed Oct 7, 2021
  11. MAINTAINERS: Add Alyssa Rosenzweig as M1 reviewer

    Add myself as a reviewer for Asahi Linux (Apple M1) patches.
    
    I would like to be CC'ed on Asahi Linux patches for review and testing.
    I am also collecting Asahi Linux patches downstream, rebasing on
    linux-next periodically, and would like to be notified of what to
    cherry-pick from lists.
    
    Cc: Hector Martin <marcan@marcan.st>
    Cc: Sven Peter <sven@svenpeter.dev>
    Acked-by: Hector Martin <marcan@marcan.st>
    Acked-by: Sven Peter <sven@svenpeter.dev>
    Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
    alyssarosenzweig authored and marcan committed Oct 7, 2021
  12. net: prefer socket bound to interface when not in VRF

    The commit 6da5b0f ("net: ensure unbound datagram socket to be
    chosen when not in a VRF") modified compute_score() so that a device
    match is always made, not just in the case of an l3mdev skb, then
    increments the score also for unbound sockets. This ensures that
    sockets bound to an l3mdev are never selected when not in a VRF.
    But as unbound and bound sockets are now scored equally, this results
    in the last opened socket being selected if there are matches in the
    default VRF for an unbound socket and a socket bound to a dev that is
    not an l3mdev. However, handling prior to this commit was to always
    select the bound socket in this case. Reinstate this handling by
    incrementing the score only for bound sockets. The required isolation
    due to choosing between an unbound socket and a socket bound to an
    l3mdev remains in place due to the device match always being made.
    The same approach is taken for compute_score() for stream sockets.
    
    Fixes: 6da5b0f ("net: ensure unbound datagram socket to be chosen when not in a VRF")
    Fixes: e781905 ("net: ensure unbound stream socket to be chosen when not in a VRF")
    Signed-off-by: Mike Manning <mmanning@vyatta.att-mail.com>
    Reviewed-by: David Ahern <dsahern@kernel.org>
    Link: https://lore.kernel.org/r/cf0a8523-b362-1edf-ee78-eef63cbbb428@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    mikebcom authored and Jakub Kicinski committed Oct 7, 2021
  13. Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

    Daniel Borkmann says:
    
    ====================
    pull-request: bpf 2021-10-07
    
    We've added 7 non-merge commits during the last 8 day(s) which contain
    a total of 8 files changed, 38 insertions(+), 21 deletions(-).
    
    The main changes are:
    
    1) Fix ARM BPF JIT to preserve caller-saved regs for DIV/MOD JIT-internal
       helper call, from Johan Almbladh.
    
    2) Fix integer overflow in BPF stack map element size calculation when
       used with preallocation, from Tatsuhiko Yasumatsu.
    
    3) Fix an AF_UNIX regression due to added BPF sockmap support related
       to shutdown handling, from Jiang Wang.
    
    4) Fix a segfault in libbpf when generating light skeletons from objects
       without BTF, from Kumar Kartikeya Dwivedi.
    
    5) Fix a libbpf memory leak in strset to free the actual struct strset
       itself, from Andrii Nakryiko.
    
    6) Dual-license bpf_insn.h similarly as we did for libbpf and bpftool,
       with ACKs from all contributors, from Luca Boccassi.
    ====================
    
    Link: https://lore.kernel.org/r/20211007135010.21143-1-daniel@iogearbox.net
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Oct 7, 2021
  14. Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/klassert/
    
    ipsec
    
    Steffen Klassert says:
    
    ====================
    pull request (net): ipsec 2021-10-07
    
    1) Fix a sysbot reported shift-out-of-bounds in xfrm_get_default.
       From Pavel Skripkin.
    
    2) Fix XFRM_MSG_MAPPING ABI breakage. The new XFRM_MSG_MAPPING
       messages were accidentally not paced at the end.
       Fix by Eugene Syromiatnikov.
    
    3) Fix the uapi for the default policy, use explicit field and macros
       and make it accessible to userland.
       From Nicolas Dichtel.
    
    4) Fix a missing rcu lock in xfrm_notify_userpolicy().
       From Nicolas Dichtel.
    
    Please pull or let me know if there are problems.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Oct 7, 2021
  15. Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/tnguy/net-
    
    queue
    
    Tony Nguyen says:
    
    ====================
    Intel Wired LAN Driver Updates 2021-10-06
    
    This series contains updates to i40e and iavf drivers.
    
    Jiri Benc expands an error check to prevent infinite loop for i40e.
    
    Sylwester prevents freeing of uninitialized IRQ vector to resolve a
    kernel oops for i40e.
    
    Stefan Assmann fixes a double mutex unlock for iavf.
    ====================
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed Oct 7, 2021
  16. Merge tag 'devicetree-fixes-for-5.15-3' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/robh/linux
    
    Pull devicetree fixes from Rob Herring:
    
     - Add another allowed address for TI sn65dsi86
    
     - Drop more redundant minItems/maxItems
    
     - Fix more graph 'unevaluatedProperties' warnings in media bindings
    
    * tag 'devicetree-fixes-for-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
      dt-bindings: drm/bridge: ti-sn65dsi86: Fix reg value
      dt-bindings: Drop more redundant 'maxItems/minItems'
      dt-bindings: media: Fix more graph 'unevaluatedProperties' related warnings
    torvalds committed Oct 7, 2021

Commits on Oct 6, 2021

  1. NFSD: Keep existing listeners on portlist error

    If nfsd has existing listening sockets without any processes, then an error
    returned from svc_create_xprt() for an additional transport will remove
    those existing listeners.  We're seeing this in practice when userspace
    attempts to create rpcrdma transports without having the rpcrdma modules
    present before creating nfsd kernel processes.  Fix this by checking for
    existing sockets before calling nfsd_destroy().
    
    Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Benjamin Coddington authored and chucklever committed Oct 6, 2021
  2. iavf: fix double unlock of crit_lock

    The crit_lock mutex could be unlocked twice as reported here
    https://lists.osuosl.org/pipermail/intel-wired-lan/Week-of-Mon-20210823/025525.html
    
    Remove the superfluous unlock. Technically the problem was already
    present before 5ac49f3 as that commit only replaced the locking
    primitive, but no functional change.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Fixes: 5ac49f3 ("iavf: use mutexes for locking of critical sections")
    Fixes: bac8486 ("iavf: Refactor the watchdog state machine")
    Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    sassmann authored and anguy11 committed Oct 6, 2021
  3. i40e: Fix freeing of uninitialized misc IRQ vector

    When VSI set up failed in i40e_probe() as part of PF switch set up
    driver was trying to free misc IRQ vectors in
    i40e_clear_interrupt_scheme and produced a kernel Oops:
    
       Trying to free already-free IRQ 266
       WARNING: CPU: 0 PID: 5 at kernel/irq/manage.c:1731 __free_irq+0x9a/0x300
       Workqueue: events work_for_cpu_fn
       RIP: 0010:__free_irq+0x9a/0x300
       Call Trace:
       ? synchronize_irq+0x3a/0xa0
       free_irq+0x2e/0x60
       i40e_clear_interrupt_scheme+0x53/0x190 [i40e]
       i40e_probe.part.108+0x134b/0x1a40 [i40e]
       ? kmem_cache_alloc+0x158/0x1c0
       ? acpi_ut_update_ref_count.part.1+0x8e/0x345
       ? acpi_ut_update_object_reference+0x15e/0x1e2
       ? strstr+0x21/0x70
       ? irq_get_irq_data+0xa/0x20
       ? mp_check_pin_attr+0x13/0xc0
       ? irq_get_irq_data+0xa/0x20
       ? mp_map_pin_to_irq+0xd3/0x2f0
       ? acpi_register_gsi_ioapic+0x93/0x170
       ? pci_conf1_read+0xa4/0x100
       ? pci_bus_read_config_word+0x49/0x70
       ? do_pci_enable_device+0xcc/0x100
       local_pci_probe+0x41/0x90
       work_for_cpu_fn+0x16/0x20
       process_one_work+0x1a7/0x360
       worker_thread+0x1cf/0x390
       ? create_worker+0x1a0/0x1a0
       kthread+0x112/0x130
       ? kthread_flush_work_fn+0x10/0x10
       ret_from_fork+0x1f/0x40
    
    The problem is that at that point misc IRQ vectors
    were not allocated yet and we get a call trace
    that driver is trying to free already free IRQ vectors.
    
    Add a check in i40e_clear_interrupt_scheme for __I40E_MISC_IRQ_REQUESTED
    PF state before calling i40e_free_misc_vector. This state is set only if
    misc IRQ vectors were properly initialized.
    
    Fixes: c17401a ("i40e: use separate state bit for miscellaneous IRQ setup")
    Reported-by: PJ Waskiewicz <pwaskiewicz@jumptrading.com>
    Signed-off-by: Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
    Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
    Tested-by: Dave Switzer <david.switzer@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    sylwesterdziedziuch authored and anguy11 committed Oct 6, 2021
  4. i40e: fix endless loop under rtnl

    The loop in i40e_get_capabilities can never end. The problem is that
    although i40e_aq_discover_capabilities returns with an error if there's
    a firmware problem, the returned error is not checked. There is a check for
    pf->hw.aq.asq_last_status but that value is set to I40E_AQ_RC_OK on most
    firmware problems.
    
    When i40e_aq_discover_capabilities encounters a firmware problem, it will
    encounter the same problem on its next invocation. As the result, the loop
    becomes endless. We hit this with I40E_ERR_ADMIN_QUEUE_TIMEOUT but looking
    at the code, it can happen with a range of other firmware errors.
    
    I don't know what the correct behavior should be: whether the firmware
    should be retried a few times, or whether pf->hw.aq.asq_last_status should
    be always set to the encountered firmware error (but then it would be
    pointless and can be just replaced by the i40e_aq_discover_capabilities
    return value). However, the current behavior with an endless loop under the
    rtnl mutex(!) is unacceptable and Intel has not submitted a fix, although we
    explained the bug to them 7 months ago.
    
    This may not be the best possible fix but it's better than hanging the whole
    system on a firmware bug.
    
    Fixes: 56a62fc ("i40e: init code and hardware support")
    Tested-by: Stefan Assmann <sassmann@redhat.com>
    Signed-off-by: Jiri Benc <jbenc@redhat.com>
    Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Tested-by: Dave Switzer <david.switzer@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Jiri Benc authored and anguy11 committed Oct 6, 2021
  5. x86/hyperv: Avoid erroneously sending IPI to 'self'

    __send_ipi_mask_ex() uses an optimization: when the target CPU mask is
    equal to 'cpu_present_mask' it uses 'HV_GENERIC_SET_ALL' format to avoid
    converting the specified cpumask to VP_SET. This case was overlooked when
    'exclude_self' parameter was added. As the result, a spurious IPI to
    'self' can be send.
    
    Reported-by: Thomas Gleixner <tglx@linutronix.de>
    Fixes: dfb5c1e ("x86/hyperv: remove on-stack cpumask from hv_send_ipi_mask_allbutself")
    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
    Reviewed-by: Michael Kelley <mikelley@microsoft.com>
    Link: https://lore.kernel.org/r/20211006125016.941616-1-vkuznets@redhat.com
    Signed-off-by: Wei Liu <wei.liu@kernel.org>
    vittyvk authored and liuw committed Oct 6, 2021
  6. Merge tag 'imx-fixes-5.15-2' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/shawnguo/linux into arm/fixes
    
    i.MX fixes for 5.15, round 2:
    
    - A couple of fixes from Haibo Chen to update SPI NOR TX bus width for
      i.MX6 and i.MX8 boards.  This becomes necessary because spi-nor driver
      starts using the setting in DT.
    - Mark buck2 always-on for i.MX8MM Kontron-n801x-som board to avoid the
      core supply being turned off unexpectedly.
    - Fix eSDHC2 device tree settings for LS1028A SoC.
    - Disable GIC CPU interface before calling stby-poweroff sequence to fix
      power-off failure on i.MX6.
    - Fix M2_RST# GPIO pinmux on i.MX8M venice-gw7902 boards.
    
    * tag 'imx-fixes-5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
      arm64: dts: imx8m*-venice-gw7902: fix M2_RST# gpio
      ARM: imx6: disable the GIC CPU interface before calling stby-poweroff sequence
      arm64: dts: ls1028a: fix eSDHC2 node
      arm64: dts: imx8mm-kontron-n801x-som: do not allow to switch off buck2
      arm64: dts: imx8: change the spi-nor tx
      ARM: dts: imx: change the spi-nor tx
    
    Link: https://lore.kernel.org/r/20211006125734.GA10197@dragon
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    arndb committed Oct 6, 2021
  7. dt-bindings: net: dsa: marvell: fix compatible in example

    While the MV88E6390 switch chip exists, one is supposed to use a
    compatible of "marvell,mv88e6190" for it. Fix this in the given example.
    
    Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
    Fixes: a3c53be ("net: dsa: mv88e6xxx: Support multiple MDIO busses")
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    ziswiler authored and davem330 committed Oct 6, 2021
  8. ionic: move filter sync_needed bit set

    Move the setting of the filter-sync-needed bit to the error
    case in the filter add routine to be sure we're checking the
    live filter status rather than a copy of the pre-sync status.
    
    Fixes: 969f843 ("ionic: sync the filters in the work task")
    Signed-off-by: Shannon Nelson <snelson@pensando.io>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    emusln authored and davem330 committed Oct 6, 2021
Older