1. 09 Jan, 2021 6 commits
  2. 08 Jan, 2021 34 commits
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 78d42025
      Linus Torvalds authored
      Pull device properties framework fixes from Rafael Wysocki:
       "Revert a problematic commit that went in during the 5.10 cycle and
        improve the kerneldoc description of the function affected by it (both
        changes from Bard Liao)"
      
      * tag 'devprop-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        device property: add description of fwnode cases
        Revert "device property: Keep secondary firmware node secondary by type"
      78d42025
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · fb9ca0be
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These address two build issues and drop confusing text from a couple
        of Kconfig entries.
      
        Specifics:
      
         - Drop two local variables that are never read and the code updating
           their values from the x86 suspend-to-idle code (Rafael Wysocki)
      
         - Add empty stub of an ACPI helper function to avoid build issues
           when CONFIG_ACPI is not set (Shawn Guo)
      
         - Remove confusing text regarding modules from Kconfig entries that
           correspond to non-modular code (Peter Robinson)"
      
      * tag 'acpi-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: Update Kconfig help text for items that are no longer modular
        ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
        ACPI: PM: s2idle: Drop unused local variables and related code
      fb9ca0be
    • Linus Torvalds's avatar
      Merge tag 'pm-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · be31d940
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These address two issues in the intel_pstate driver and one in the
        powernow-k8 cpufreq driver.
      
        Specifics:
      
         - Make the powernow-k8 cpufreq driver avoid calling
           cpufreq_cpu_get(), which theoretically may return NULL, to get a
           policy pointer that is known to it already (Colin Ian King)
      
         - Drop two functions that are not used any more from the intel_pstate
           driver (Lukas Bulwahn)
      
         - Make intel_pstate check the HWP capabilities to get the maximum
           available P-state in the passive mode to avoid using a stale value
           of it in case of out-of-band updates (Rafael Wysocki)"
      
      * tag 'pm-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: intel_pstate: remove obsolete functions
        cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
        cpufreq: intel_pstate: Use HWP capabilities in intel_cpufreq_adjust_perf()
      be31d940
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2021-01-08' of git://anongit.freedesktop.org/drm/drm · 43d3d587
      Linus Torvalds authored
      Pull drm fixes from Daniel Vetter:
       "Looks like people are back from the break, usual small pile of fixes
        all over. Next week Dave should be back.
      
        The only thing pending I'm aware of is a "this shouldn't have become
        uapi" reverts for amdgpu, but they're already on the list and not that
        important really so can wait another week.
      
        Summary:
      
         - fix for ttm list corruption in radeon, reported by a few people
      
         - fixes for amdgpu, i915, msm
      
         - dma-buf use-after free fix"
      
      * tag 'drm-fixes-2021-01-08' of git://anongit.freedesktop.org/drm/drm: (29 commits)
        drm/msm: Only enable A6xx LLCC code on A6xx
        drm/msm: Add modparam to allow vram carveout
        drm/msm: Call msm_init_vram before binding the gpu
        drm/msm/dp: postpone irq_hpd event during connection pending state
        drm/ttm: unexport ttm_pool_init/fini
        drm/radeon: stop re-init the TTM page pool
        dmabuf: fix use-after-free of dmabuf's file->f_inode
        Revert "drm/amd/display: Fix memory leaks in S3 resume"
        drm/amdgpu/display: drop DCN support for aarch64
        drm/amdgpu: enable ras eeprom support for sienna cichlid
        drm/amdgpu: fix no bad_pages issue after umc ue injection
        drm/amdgpu: fix potential memory leak during navi12 deinitialization
        drm/amd/display: Fix unused variable warning
        drm/amd/pm: improve the fine grain tuning function for RV/RV2/PCO
        drm/amd/pm: fix the failure when change power profile for renoir
        drm/amdgpu: fix a GPU hang issue when remove device
        drm/amdgpu: fix a memory protection fault when remove amdgpu device
        drm/amdgpu: switched to cached noretry setting for vangogh
        drm/amd/display: fix sysfs amdgpu_current_backlight_pwm NULL pointer issue
        drm/amd/pm: updated PM to I2C controller port on sienna cichlid
        ...
      43d3d587
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 2a190b22
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "x86:
         - Fixes for the new scalable MMU
         - Fixes for migration of nested hypervisors on AMD
         - Fix for clang integrated assembler
         - Fix for left shift by 64 (UBSAN)
         - Small cleanups
         - Straggler SEV-ES patch
      
        ARM:
         - VM init cleanups
         - PSCI relay cleanups
         - Kill CONFIG_KVM_ARM_PMU
         - Fixup __init annotations
         - Fixup reg_to_encoding()
         - Fix spurious PMCR_EL0 access
      
        Misc:
         - selftests cleanups"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (38 commits)
        KVM: x86: __kvm_vcpu_halt can be static
        KVM: SVM: Add support for booting APs in an SEV-ES guest
        KVM: nSVM: cancel KVM_REQ_GET_NESTED_STATE_PAGES on nested vmexit
        KVM: nSVM: mark vmcb as dirty when forcingly leaving the guest mode
        KVM: nSVM: correctly restore nested_run_pending on migration
        KVM: x86/mmu: Clarify TDP MMU page list invariants
        KVM: x86/mmu: Ensure TDP MMU roots are freed after yield
        kvm: check tlbs_dirty directly
        KVM: x86: change in pv_eoi_get_pending() to make code more readable
        MAINTAINERS: Really update email address for Sean Christopherson
        KVM: x86: fix shift out of bounds reported by UBSAN
        KVM: selftests: Implement perf_test_util more conventionally
        KVM: selftests: Use vm_create_with_vcpus in create_vm
        KVM: selftests: Factor out guest mode code
        KVM/SVM: Remove leftover __svm_vcpu_run prototype from svm.c
        KVM: SVM: Add register operand to vmsave call in sev_es_vcpu_load
        KVM: x86/mmu: Optimize not-present/MMIO SPTE check in get_mmio_spte()
        KVM: x86/mmu: Use raw level to index into MMIO walks' sptes array
        KVM: x86/mmu: Get root level from walkers when retrieving MMIO SPTE
        KVM: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte()
        ...
      2a190b22
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 3e2a590a
      Linus Torvalds authored
      Pull iommu fixes from Will Deacon:
       "This is mainly all Intel VT-D stuff, but there are some fixes for AMD
        and ARM as well.
      
        We've also got the revert I promised during the merge window, which
        removes a temporary hack to accomodate i915 while we transitioned the
        Intel IOMMU driver over to the common DMA-IOMMU API.
      
        Finally, there are still a couple of other VT-D fixes floating around,
        so I expect to send you another batch of fixes next week.
      
        Summary:
      
         - Fix VT-D TLB invalidation for subdevices
      
         - Fix VT-D use-after-free on subdevice detach
      
         - Fix VT-D locking so that IRQs are disabled during SVA bind/unbind
      
         - Fix VT-D address alignment when flushing IOTLB
      
         - Fix memory leak in VT-D IRQ remapping failure path
      
         - Revert temporary i915 sglist hack now that it is no longer required
      
         - Fix sporadic boot failure with Arm SMMU on Qualcomm SM8150
      
         - Fix NULL dereference in AMD IRQ remapping code with remapping disabled
      
         - Fix accidental enabling of irqs on AMD resume-from-suspend path
      
         - Fix some typos in comments"
      
      * tag 'iommu-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        iommu/vt-d: Fix ineffective devTLB invalidation for subdevices
        iommu/vt-d: Fix general protection fault in aux_detach_device()
        iommu/vt-d: Move intel_iommu info from struct intel_svm to struct intel_svm_dev
        iommu/arm-smmu-qcom: Initialize SCTLR of the bypass context
        iommu/vt-d: Fix lockdep splat in sva bind()/unbind()
        Revert "iommu: Add quirk for Intel graphic devices in map_sg"
        iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb()
        iommu/amd: Stop irq_remapping_select() matching when remapping is disabled
        iommu/amd: Set iommu->int_enabled consistently when interrupts are set up
        iommu/intel: Fix memleak in intel_irq_remapping_alloc
        iommu/iova: fix 'domain' typos
      3e2a590a
    • Linus Torvalds's avatar
      Merge tag 'arm-fixes-5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 95f05058
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "These are a small number of bug fixes that all came in before or
        during the merge window, most for the omap platform:
      
         - One boot regression fix for Nokia N9 (OMAP3).
      
         - Two small defconfig changes for omap2, to reflect changes in
           drivers
      
         - Warning fixes for DT issues on omap2, picoxcell and bitmap SoCs.
      
           The picoxcell platform will be removed in v5.12, but fixing it
           first makes it easier to backport to the fix to stable kernels and
           get a clean build with new dtc versions"
      
      * tag 'arm-fixes-5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        ARM: picoxcell: fix missing interrupt-parent properties
        ARM: dts: ux500/golden: Set display max brightness
        arm64: dts: bitmain: Use generic "ngpios" rather than "snps,nr-gpios"
        ARM: omap2: pmic-cpcap: fix maximum voltage to be consistent with defaults on xt875
        ARM: omap2plus_defconfig: enable SPI GPIO
        ARM: OMAP2+: omap_device: fix idling of devices during probe
        ARM: dts: OMAP3: disable AES on N950/N9
        ARM: omap2plus_defconfig: drop unused POWER_AVS option
      95f05058
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 56ef24e5
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Clean-ups following the merging window: remove unused variable,
         duplicate includes, superfluous barrier, move some inline asm to
         separate functions.
      
       - Disable top-byte-ignore on kernel code addresses with KASAN/MTE
         enabled (already done when MTE is disabled).
      
       - Fix ARCH_LOW_ADDRESS_LIMIT definition with CONFIG_ZONE_DMA disabled.
      
       - Compiler/linker flags: link with "-z norelno", discard .eh_frame_hdr
         instead of --no-eh-frame-hdr.
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: Move PSTATE.TCO setting to separate functions
        arm64: kasan: Set TCR_EL1.TBID1 when KASAN_HW_TAGS is enabled
        arm64: vdso: disable .eh_frame_hdr via /DISCARD/ instead of --no-eh-frame-hdr
        arm64: traps: remove duplicate include statement
        arm64: link with -z norelro for LLD or aarch64-elf
        arm64: mm: Fix ARCH_LOW_ADDRESS_LIMIT when !CONFIG_ZONE_DMA
        arm64: mte: remove an ISB on kernel exit
        arm64/smp: Remove unused irq variable in arch_show_interrupts()
      56ef24e5
    • Linus Torvalds's avatar
      Merge tag 'net-5.11-rc3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 6279d812
      Linus Torvalds authored
      Pull more networking fixes from Jakub Kicinski:
       "Slightly lighter pull request to get back into the Thursday cadence.
      
        Current release - always broken:
      
         - can: mcp251xfd: fix Tx/Rx ring buffer driver race conditions
      
         - dsa: hellcreek: fix led_classdev build errors
      
        Previous releases - regressions:
      
         - ipv6: fib: flush exceptions when purging route to avoid netdev
           reference leak
      
         - ip_tunnels: fix pmtu check in nopmtudisc mode
      
         - ip: always refragment ip defragmented packets to avoid MTU issues
           when forwarding through tunnels, correct "packet too big" message
           is prohibitively tricky to generate
      
         - s390/qeth: fix locking for discipline setup / removal and during
           recovery to prevent both deadlocks and races
      
         - mlx5: Use port_num 1 instead of 0 when delete a RoCE address
      
        Previous releases - always broken:
      
         - cdc_ncm: correct overhead calculation in delayed_ndp_size to
           prevent out of bound accesses with Huawei 909s-120 LTE module
      
         - fix stmmac dwmac-sun8i suspend/resume:
                 - PHY being left powered off
                 - MAC syscon configuration being reset
                 - reference to the reset controller being improperly dropped
      
         - qrtr: fix null-ptr-deref in qrtr_ns_remove
      
         - can: tcan4x5x: fix bittiming const, use common bittiming from m_can
           driver
      
         - mlx5e: CT: Use per flow counter when CT flow accounting is enabled
      
         - mlx5e: Fix SWP offsets when vlan inserted by driver
      
        Misc:
      
         - bpf: Fix a task_iter bug caused by a bpf -> net merge conflict
           resolution
      
        And the usual many fixes to various error paths"
      
      * tag 'net-5.11-rc3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (69 commits)
        net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE
        s390/qeth: fix L2 header access in qeth_l3_osa_features_check()
        s390/qeth: fix locking for discipline setup / removal
        s390/qeth: fix deadlock during recovery
        selftests: fib_nexthops: Fix wrong mausezahn invocation
        nexthop: Bounce NHA_GATEWAY in FDB nexthop groups
        nexthop: Unlink nexthop group entry in error path
        nexthop: Fix off-by-one error in error path
        octeontx2-af: fix memory leak of lmac and lmac->name
        chtls: Fix chtls resources release sequence
        chtls: Added a check to avoid NULL pointer dereference
        chtls: Replace skb_dequeue with skb_peek
        chtls: Avoid unnecessary freeing of oreq pointer
        chtls: Fix panic when route to peer not configured
        chtls: Remove invalid set_tcb call
        chtls: Fix hardware tid leak
        net: ip: always refragment ip defragmented packets
        net: fix pmtu check in nopmtudisc mode
        selftests: netfilter: add selftest for ipip pmtu discovery with enabled connection tracking
        docs: octeontx2: tune rst markup
        ...
      6279d812
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · ea1c87c1
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes a functional bug in arm/chacha-neon as well as a potential
        buffer overflow in ecdh"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
        crypto: arm/chacha-neon - add missing counter increment
      ea1c87c1
    • Linus Torvalds's avatar
      poll: fix performance regression due to out-of-line __put_user() · ef0ba055
      Linus Torvalds authored
      The kernel test robot reported a -5.8% performance regression on the
      "poll2" test of will-it-scale, and bisected it to commit d55564cf
      ("x86: Make __put_user() generate an out-of-line call").
      
      I didn't expect an out-of-line __put_user() to matter, because no normal
      core code should use that non-checking legacy version of user access any
      more.  But I had overlooked the very odd poll() usage, which does a
      __put_user() to update the 'revents' values of the poll array.
      
      Now, Al Viro correctly points out that instead of updating just the
      'revents' field, it would be much simpler to just copy the _whole_
      pollfd entry, and then we could just use "copy_to_user()" on the whole
      array of entries, the same way we use "copy_from_user()" a few lines
      earlier to get the original values.
      
      But that is not what we've traditionally done, and I worry that threaded
      applications might be concurrently modifying the other fields of the
      pollfd array.  So while Al's suggestion is simpler - and perhaps worth
      trying in the future - this instead keeps the "just update revents"
      model.
      
      To fix the performance regression, use the modern "unsafe_put_user()"
      instead of __put_user(), with the proper "user_write_access_begin()"
      guarding in place. This improves code generation enormously.
      
      Link: https://lore.kernel.org/lkml/20210107134723.GA28532@xsang-OptiPlex-9020/Reported-by: default avatarkernel test robot <oliver.sang@intel.com>
      Tested-by: default avatarOliver Sang <oliver.sang@intel.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: David Laight <David.Laight@aculab.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ef0ba055
    • Petr Mladek's avatar
      Revert "init/console: Use ttynull as a fallback when there is no console" · a91bd622
      Petr Mladek authored
      This reverts commit 757055ae.
      
      The commit caused that ttynull was used as the default console
      on several systems[1][2][3]. As a result, the console was
      blank even when a better alternative existed.
      
      It happened when there was no console configured
      on the command line and ttynull_init() was the first initcall
      calling register_console().
      
      Or it happened when /dev/ did not exist when console_on_rootfs()
      was called. It was not able to open /dev/console even though
      a console driver was registered. It tried to add ttynull console
      but it obviously did not help. But ttynull became the preferred
      console and was used by /dev/console when it was available later.
      
      The commit tried to fix a historical problem that have been there
      for ages. The primary motivation was the commit 3cffa06a
      ("printk/console: Allow to disable console output by using console=""
       or console=null"). It provided a clean solution for a workaround
       that was widely used and worked only by chance.
      
      This revert causes that the console="" or console=null command line
      options will again work only by chance. These options will cause that
      a particular console will be preferred and the default (tty) ones
      will not get enabled. There will be no console registered at
      all. As a result there won't be stdin, stdout, and stderr for
      the init process. But it worked exactly this way even before.
      
      The proper solution has to fulfill many conditions:
      
        + Register ttynull only when explicitly required or as
          the ultimate fallback.
      
        + ttynull should get associated with /dev/console but it must
          not become preferred console when used as a fallback.
          Especially, it must still be possible to replace it
          by a better console later.
      
      Such a change requires clean up of the register_console() code.
      Otherwise, it would be even harder to follow. Especially, the use
      of has_preferred_console and CON_CONSDEV flag is tricky. The clean
      up is risky. The ordering of consoles is not well defined. And
      any changes tend to break existing user settings.
      
      Do the revert at the least risky solution for now.
      
      [1] https://lore.kernel.org/linux-kselftest/20201221144302.GR4077@smile.fi.intel.com/
      [2] https://lore.kernel.org/lkml/d2a3b3c0-e548-7dd1-730f-59bc5c04e191@synopsys.com/
      [3] https://patchwork.ozlabs.org/project/linux-um/patch/20210105120128.10854-1-thomas@m3y3r.de/Reported-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Reported-by: default avatarVineet Gupta <vgupta@synopsys.com>
      Reported-by: default avatarThomas Meyer <thomas@m3y3r.de>
      Signed-off-by: default avatarPetr Mladek <pmladek@suse.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a91bd622
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-scan' and 'acpi-misc' · 24e8ab68
      Rafael J. Wysocki authored
      * acpi-scan:
        ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
      
      * acpi-misc:
        ACPI: Update Kconfig help text for items that are no longer modular
      24e8ab68
    • Arnd Bergmann's avatar
      ARM: picoxcell: fix missing interrupt-parent properties · bac71717
      Arnd Bergmann authored
      dtc points out that the interrupts for some devices are not parsable:
      
      picoxcell-pc3x2.dtsi:45.19-49.5: Warning (interrupts_property): /paxi/gem@30000: Missing interrupt-parent
      picoxcell-pc3x2.dtsi:51.21-55.5: Warning (interrupts_property): /paxi/dmac@40000: Missing interrupt-parent
      picoxcell-pc3x2.dtsi:57.21-61.5: Warning (interrupts_property): /paxi/dmac@50000: Missing interrupt-parent
      picoxcell-pc3x2.dtsi:233.21-237.5: Warning (interrupts_property): /rwid-axi/axi2pico@c0000000: Missing interrupt-parent
      
      There are two VIC instances, so it's not clear which one needs to be
      used. I found the BSP sources that reference VIC0, so use that:
      
      https://github.com/r1mikey/meta-picoxcell/blob/master/recipes-kernel/linux/linux-picochip-3.0/0001-picoxcell-support-for-Picochip-picoXcell-SoC.patchAcked-by: default avatarJamie Iles <jamie@jamieiles.com>
      Link: https://lore.kernel.org/r/20201230152010.3914962-1-arnd@kernel.org'
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      bac71717
    • Paolo Bonzini's avatar
      KVM: x86: __kvm_vcpu_halt can be static · 872f36eb
      Paolo Bonzini authored
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      872f36eb
    • Paolo Bonzini's avatar
      Merge tag 'kvmarm-fixes-5.11-1' of... · 774206bc
      Paolo Bonzini authored
      Merge tag 'kvmarm-fixes-5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      
      KVM/arm64 fixes for 5.11, take #1
      
      - VM init cleanups
      - PSCI relay cleanups
      - Kill CONFIG_KVM_ARM_PMU
      - Fixup __init annotations
      - Fixup reg_to_encoding()
      - Fix spurious PMCR_EL0 access
      774206bc
    • Daniel Vetter's avatar
      Merge tag 'drm-misc-fixes-2021-01-08' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · 29f95f20
      Daniel Vetter authored
      * dma-buf: fix a use-after-free
      * radeon: don't init the TTM page pool manually
      * ttm: unexport ttm_pool_{init,fini}()
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      From: Thomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/X/gnKs52t8xUuAlE@linux-uq9g
      29f95f20
    • Daniel Vetter's avatar
      Merge tag 'drm-msm-fixes-2021-01-07' of https://gitlab.freedesktop.org/drm/msm into drm-fixes · 25ea8ecf
      Daniel Vetter authored
      A few misc fixes from Rob, mostly fallout from the locking rework that
      landed in the merge window, plus a few smaller things.
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      From: Rob Clark <robdclark@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGtWMhzyD6kejmViZeZ+zfJxRvfq-R2t_zA+DcDiTxsYRQ@mail.gmail.com
      25ea8ecf
    • Jakub Kicinski's avatar
      Merge tag 'mlx5-fixes-2021-01-07' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · 220efcf9
      Jakub Kicinski authored
      Saeed Mahameed says:
      
      ====================
      mlx5 fixes 2021-01-07
      
      * tag 'mlx5-fixes-2021-01-07' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
        net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups
        net/mlx5e: Fix two double free cases
        net/mlx5: Release devlink object if adev fails
        net/mlx5e: ethtool, Fix restriction of autoneg with 56G
        net/mlx5e: In skb build skip setting mark in switchdev mode
        net/mlx5: E-Switch, fix changing vf VLANID
        net/mlx5e: Fix SWP offsets when vlan inserted by driver
        net/mlx5e: CT: Use per flow counter when CT flow accounting is enabled
        net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address
        net/mlx5e: Add missing capability check for uplink follow
        net/mlx5: Check if lag is supported before creating one
      ====================
      
      Link: https://lore.kernel.org/r/20210107202845.470205-1-saeed@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      220efcf9
    • Aleksander Jan Bajkowski's avatar
      net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE · 3545454c
      Aleksander Jan Bajkowski authored
      Exclude RMII from modes that report 1 GbE support. Reduced MII supports
      up to 100 MbE.
      
      Fixes: 14fceff4 ("net: dsa: Add Lantiq / Intel DSA driver for vrx200")
      Signed-off-by: default avatarAleksander Jan Bajkowski <olek2@wp.pl>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Link: https://lore.kernel.org/r/20210107195818.3878-1-olek2@wp.plSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3545454c
    • Jakub Kicinski's avatar
      Merge branch 's390-qeth-fixes-2021-01-07' · 286e95ee
      Jakub Kicinski authored
      Julian Wiedmann says:
      
      ====================
      s390/qeth: fixes 2021-01-07
      
      This brings two locking fixes for the device control path.
      Also one fix for a path where our .ndo_features_check() attempts to
      access a non-existent L2 header.
      ====================
      
      Link: https://lore.kernel.org/r/20210107172442.1737-1-jwi@linux.ibm.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      286e95ee
    • Julian Wiedmann's avatar
      s390/qeth: fix L2 header access in qeth_l3_osa_features_check() · f9c48453
      Julian Wiedmann authored
      ip_finish_output_gso() may call .ndo_features_check() even before the
      skb has a L2 header. This conflicts with qeth_get_ip_version()'s attempt
      to inspect the L2 header via vlan_eth_hdr().
      
      Switch to vlan_get_protocol(), as already used further down in the
      common qeth_features_check() path.
      
      Fixes: f13ade19 ("s390/qeth: run non-offload L3 traffic over common xmit path")
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      f9c48453
    • Julian Wiedmann's avatar
      s390/qeth: fix locking for discipline setup / removal · b41b554c
      Julian Wiedmann authored
      Due to insufficient locking, qeth_core_set_online() and
      qeth_dev_layer2_store() can run in parallel, both attempting to load &
      setup the discipline (and stepping on each other toes along the way).
      A similar race can also occur between qeth_core_remove_device() and
      qeth_dev_layer2_store().
      
      Access to .discipline is meant to be protected by the discipline_mutex,
      so add/expand the locking in qeth_core_remove_device() and
      qeth_core_set_online().
      Adjust the locking in qeth_l*_remove_device() accordingly, as it's now
      handled by the callers in a consistent manner.
      
      Based on an initial patch by Ursula Braun.
      
      Fixes: 9dc48ccc ("qeth: serialize sysfs-triggered device configurations")
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Reviewed-by: default avatarAlexandra Winter <wintera@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b41b554c
    • Julian Wiedmann's avatar
      s390/qeth: fix deadlock during recovery · 0b9902c1
      Julian Wiedmann authored
      When qeth_dev_layer2_store() - holding the discipline_mutex - waits
      inside qeth_l*_remove_device() for a qeth_do_reset() thread to complete,
      we can hit a deadlock if qeth_do_reset() concurrently calls
      qeth_set_online() and thus tries to aquire the discipline_mutex.
      
      Move the discipline_mutex locking outside of qeth_set_online() and
      qeth_set_offline(), and turn the discipline into a parameter so that
      callers understand the dependency.
      
      To fix the deadlock, we can now relax the locking:
      As already established, qeth_l*_remove_device() waits for
      qeth_do_reset() to complete. So qeth_do_reset() itself is under no risk
      of having card->discipline ripped out while it's running, and thus
      doesn't need to take the discipline_mutex.
      
      Fixes: 9dc48ccc ("qeth: serialize sysfs-triggered device configurations")
      Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
      Reviewed-by: default avatarAlexandra Winter <wintera@linux.ibm.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0b9902c1
    • Jakub Kicinski's avatar
      Merge branch 'nexthop-various-fixes' · d7083427
      Jakub Kicinski authored
      Ido Schimmel says:
      
      ====================
      nexthop: Various fixes
      
      This series contains various fixes for the nexthop code. The bugs were
      uncovered during the development of resilient nexthop groups.
      
      Patches #1-#2 fix the error path of nexthop_create_group(). I was not
      able to trigger these bugs with current code, but it is possible with
      the upcoming resilient nexthop groups code which adds a user
      controllable memory allocation further in the function.
      
      Patch #3 fixes wrong validation of netlink attributes.
      
      Patch #4 fixes wrong invocation of mausezahn in a selftest.
      ====================
      
      Link: https://lore.kernel.org/r/20210107144824.1135691-1-idosch@idosch.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d7083427
    • Ido Schimmel's avatar
      selftests: fib_nexthops: Fix wrong mausezahn invocation · a5c9ca76
      Ido Schimmel authored
      For IPv6 traffic, mausezahn needs to be invoked with '-6'. Otherwise an
      error is returned:
      
       # ip netns exec me mausezahn veth1 -B 2001:db8:101::2 -A 2001:db8:91::1 -c 0 -t tcp "dp=1-1023, flags=syn"
       Failed to set source IPv4 address. Please check if source is set to a valid IPv4 address.
        Invalid command line parameters!
      
      Fixes: 7c741868 ("selftests: Add torture tests to nexthop tests")
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a5c9ca76
    • Petr Machata's avatar
      nexthop: Bounce NHA_GATEWAY in FDB nexthop groups · b19218b2
      Petr Machata authored
      The function nh_check_attr_group() is called to validate nexthop groups.
      The intention of that code seems to have been to bounce all attributes
      above NHA_GROUP_TYPE except for NHA_FDB. However instead it bounces all
      these attributes except when NHA_FDB attribute is present--then it accepts
      them.
      
      NHA_FDB validation that takes place before, in rtm_to_nh_config(), already
      bounces NHA_OIF, NHA_BLACKHOLE, NHA_ENCAP and NHA_ENCAP_TYPE. Yet further
      back, NHA_GROUPS and NHA_MASTER are bounced unconditionally.
      
      But that still leaves NHA_GATEWAY as an attribute that would be accepted in
      FDB nexthop groups (with no meaning), so long as it keeps the address
      family as unspecified:
      
       # ip nexthop add id 1 fdb via 127.0.0.1
       # ip nexthop add id 10 fdb via default group 1
      
      The nexthop code is still relatively new and likely not used very broadly,
      and the FDB bits are newer still. Even though there is a reproducer out
      there, it relies on an improbable gateway arguments "via default", "via
      all" or "via any". Given all this, I believe it is OK to reformulate the
      condition to do the right thing and bounce NHA_GATEWAY.
      
      Fixes: 38428d68 ("nexthop: support for fdb ecmp nexthops")
      Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      b19218b2
    • Ido Schimmel's avatar
      nexthop: Unlink nexthop group entry in error path · 7b01e53e
      Ido Schimmel authored
      In case of error, remove the nexthop group entry from the list to which
      it was previously added.
      
      Fixes: 430a0491 ("nexthop: Add support for nexthop groups")
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7b01e53e
    • Ido Schimmel's avatar
      nexthop: Fix off-by-one error in error path · 07e61a97
      Ido Schimmel authored
      A reference was not taken for the current nexthop entry, so do not try
      to put it in the error path.
      
      Fixes: 430a0491 ("nexthop: Add support for nexthop groups")
      Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      07e61a97
    • Colin Ian King's avatar
      octeontx2-af: fix memory leak of lmac and lmac->name · ac7996d6
      Colin Ian King authored
      Currently the error return paths don't kfree lmac and lmac->name
      leading to some memory leaks.  Fix this by adding two error return
      paths that kfree these objects
      
      Addresses-Coverity: ("Resource leak")
      Fixes: 1463f382 ("octeontx2-af: Add support for CGX link management")
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Link: https://lore.kernel.org/r/20210107123916.189748-1-colin.king@canonical.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ac7996d6
    • Jakub Kicinski's avatar
      Merge branch 'bug-fixes-for-chtls-driver' · 85bd6055
      Jakub Kicinski authored
      Ayush Sawal says:
      
      ====================
      Bug fixes for chtls driver
      
      patch 1: Fix hardware tid leak.
      patch 2: Remove invalid set_tcb call.
      patch 3: Fix panic when route to peer not configured.
      patch 4: Avoid unnecessary freeing of oreq pointer.
      patch 5: Replace skb_dequeue with skb_peek.
      patch 6: Added a check to avoid NULL pointer dereference patch.
      patch 7: Fix chtls resources release sequence.
      ====================
      
      Link: https://lore.kernel.org/r/20210106042912.23512-1-ayush.sawal@chelsio.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      85bd6055
    • Ayush Sawal's avatar
      chtls: Fix chtls resources release sequence · 15ef6b0e
      Ayush Sawal authored
      CPL_ABORT_RPL is sent after releasing the resources by calling
      chtls_release_resources(sk); and chtls_conn_done(sk);
      eventually causing kernel panic. Fixing it by calling release
      in appropriate order.
      
      Fixes: cc35c88a ("crypto : chtls - CPL handler definition")
      Signed-off-by: default avatarVinay Kumar Yadav <vinay.yadav@chelsio.com>
      Signed-off-by: default avatarAyush Sawal <ayush.sawal@chelsio.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      15ef6b0e
    • Ayush Sawal's avatar
      chtls: Added a check to avoid NULL pointer dereference · eade1e0a
      Ayush Sawal authored
      In case of server removal lookup_stid() may return NULL pointer, which
      is used as listen_ctx. So added a check before accessing this pointer.
      
      Fixes: cc35c88a ("crypto : chtls - CPL handler definition")
      Signed-off-by: default avatarVinay Kumar Yadav <vinay.yadav@chelsio.com>
      Signed-off-by: default avatarAyush Sawal <ayush.sawal@chelsio.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      eade1e0a
    • Ayush Sawal's avatar
      chtls: Replace skb_dequeue with skb_peek · a84b2c0d
      Ayush Sawal authored
      The skb is unlinked twice, one in __skb_dequeue in function
      chtls_reset_synq() and another in cleanup_syn_rcv_conn().
      So in this patch using skb_peek() instead of __skb_dequeue(),
      so that unlink will be handled only in cleanup_syn_rcv_conn().
      
      Fixes: cc35c88a ("crypto : chtls - CPL handler definition")
      Signed-off-by: default avatarVinay Kumar Yadav <vinay.yadav@chelsio.com>
      Signed-off-by: default avatarAyush Sawal <ayush.sawal@chelsio.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a84b2c0d