1. 10 Jan, 2021 3 commits
    • Linus Torvalds's avatar
      Merge tag 'arc-5.11-rc3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 0653161f
      Linus Torvalds authored
      Pull ARC fixes from Vineet Gupta:
      
       - Address the 2nd boot failure due to snafu in signal handling code
         (first was generic console ttynull issue)
      
       - misc other fixes
      
      * tag 'arc-5.11-rc3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: [hsdk]: Enable FPU_SAVE_RESTORE
        ARC: unbork 5.11 bootup: fix snafu in _TIF_NOTIFY_SIGNAL handling
        include/soc: remove headers for EZChip NPS
        arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC
      0653161f
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · b3cd1a16
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - A fix for machine check handling with VMAP stack on 32-bit.
      
       - A clang build fix.
      
      Thanks to Christophe Leroy and Nathan Chancellor.
      
      * tag 'powerpc-5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc: Handle .text.{hot,unlikely}.* in linker script
        powerpc/32s: Fix RTAS machine check with VMAP stack
      b3cd1a16
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.11_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a440e4d7
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
       "As expected, fixes started trickling in after the holidays so here is
        the accumulated pile of x86 fixes for 5.11:
      
         - A fix for fanotify_mark() missing the conversion of x86_32 native
           syscalls which take 64-bit arguments to the compat handlers due to
           former having a general compat handler. (Brian Gerst)
      
         - Add a forgotten pmd page destructor call to pud_free_pmd_page()
           where a pmd page is freed. (Dan Williams)
      
         - Make IN/OUT insns with an u8 immediate port operand handling for
           SEV-ES guests more precise by using only the single port byte and
           not the whole s32 value of the insn decoder. (Peter Gonda)
      
         - Correct a straddling end range check before returning the proper
           MTRR type, when the end address is the same as top of memory.
           (Ying-Tsun Huang)
      
         - Change PQR_ASSOC MSR update scheme when moving a task to a resctrl
           resource group to avoid significant performance overhead with some
           resctrl workloads. (Fenghua Yu)
      
         - Avoid the actual task move overhead when the task is already in the
           resource group. (Fenghua Yu)"
      
      * tag 'x86_urgent_for_v5.11_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Don't move a task to the same resource group
        x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
        x86/mtrr: Correct the range check before performing MTRR type lookups
        x86/sev-es: Fix SEV-ES OUT/IN immediate opcode vc handling
        x86/mm: Fix leak of pmd ptlock
        fanotify: Fix sys_fanotify_mark() on native x86-32
      a440e4d7
  2. 09 Jan, 2021 8 commits
  3. 08 Jan, 2021 29 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
    • Vineet Gupta's avatar
      ARC: [hsdk]: Enable FPU_SAVE_RESTORE · e8deee4f
      Vineet Gupta authored
      HSDK has hardware floating point and the common use case is with
      glibc+hf so enable that as default.
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      e8deee4f
    • 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
    • David Arcari's avatar
      hwmon: (amd_energy) fix allocation of hwmon_channel_info config · 84e26155
      David Arcari authored
      hwmon, specifically hwmon_num_channel_attrs, expects the config
      array in the hwmon_channel_info structure to be terminated by
      a zero entry.  amd_energy does not honor this convention.  As
      result, a KASAN warning is possible.  Fix this by adding an
      additional entry and setting it to zero.
      
      Fixes: 8abee956 ("hwmon: Add amd_energy driver to report energy counters")
      Signed-off-by: default avatarDavid Arcari <darcari@redhat.com>
      Cc: Naveen Krishna Chatradhi <nchatrad@amd.com>
      Cc: Jean Delvare <jdelvare@suse.com>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Cc: linux-kernel@vger.kernel.org
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDavid Arcari <darcari@redhat.com>
      Acked-by: default avatarNaveen Krishna Chatradhi <nchatrad@amd.com>
      Link: https://lore.kernel.org/r/20210107144707.6927-1-darcari@redhat.comSigned-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      84e26155
    • 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
    • Fenghua Yu's avatar
      x86/resctrl: Don't move a task to the same resource group · a0195f31
      Fenghua Yu authored
      Shakeel Butt reported in [1] that a user can request a task to be moved
      to a resource group even if the task is already in the group. It just
      wastes time to do the move operation which could be costly to send IPI
      to a different CPU.
      
      Add a sanity check to ensure that the move operation only happens when
      the task is not already in the resource group.
      
      [1] https://lore.kernel.org/lkml/CALvZod7E9zzHwenzf7objzGKsdBmVwTgEJ0nPgs0LUFU3SN5Pw@mail.gmail.com/
      
      Fixes: e02737d5 ("x86/intel_rdt: Add tasks files")
      Reported-by: default avatarShakeel Butt <shakeelb@google.com>
      Signed-off-by: default avatarFenghua Yu <fenghua.yu@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Reviewed-by: default avatarTony Luck <tony.luck@intel.com>
      Cc: stable@vger.kernel.org
      Link: https://lkml.kernel.org/r/962ede65d8e95be793cb61102cca37f7bb018e66.1608243147.git.reinette.chatre@intel.com
      a0195f31
    • Fenghua Yu's avatar
      x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR · ae28d1aa
      Fenghua Yu authored
      Currently, when moving a task to a resource group the PQR_ASSOC MSR is
      updated with the new closid and rmid in an added task callback. If the
      task is running, the work is run as soon as possible. If the task is not
      running, the work is executed later in the kernel exit path when the
      kernel returns to the task again.
      
      Updating the PQR_ASSOC MSR as soon as possible on the CPU a moved task
      is running is the right thing to do. Queueing work for a task that is
      not running is unnecessary (the PQR_ASSOC MSR is already updated when
      the task is scheduled in) and causing system resource waste with the way
      in which it is implemented: Work to update the PQR_ASSOC register is
      queued every time the user writes a task id to the "tasks" file, even if
      the task already belongs to the resource group.
      
      This could result in multiple pending work items associated with a
      single task even if they are all identical and even though only a single
      update with most recent values is needed. Specifically, even if a task
      is moved between different resource groups while it is sleeping then it
      is only the last move that is relevant but yet a work item is queued
      during each move.
      
      This unnecessary queueing of work items could result in significant
      system resource waste, especially on tasks sleeping for a long time.
      For example, as demonstrated by Shakeel Butt in [1] writing the same
      task id to the "tasks" file can quickly consume significant memory. The
      same problem (wasted system resources) occurs when moving a task between
      different resource groups.
      
      As pointed out by Valentin Schneider in [2] there is an additional issue
      with the way in which the queueing of work is done in that the task_struct
      update is currently done after the work is queued, resulting in a race with
      the register update possibly done before the data needed by the update is
      available.
      
      To solve these issues, update the PQR_ASSOC MSR in a synchronous way
      right after the new closid and rmid are ready during the task movement,
      only if the task is running. If a moved task is not running nothing
      is done since the PQR_ASSOC MSR will be updated next time the task is
      scheduled. This is the same way used to update the register when tasks
      are moved as part of resource group removal.
      
      [1] https://lore.kernel.org/lkml/CALvZod7E9zzHwenzf7objzGKsdBmVwTgEJ0nPgs0LUFU3SN5Pw@mail.gmail.com/
      [2] https://lore.kernel.org/lkml/20201123022433.17905-1-valentin.schneider@arm.com
      
       [ bp: Massage commit message and drop the two update_task_closid_rmid()
         variants. ]
      
      Fixes: e02737d5 ("x86/intel_rdt: Add tasks files")
      Reported-by: default avatarShakeel Butt <shakeelb@google.com>
      Reported-by: default avatarValentin Schneider <valentin.schneider@arm.com>
      Signed-off-by: default avatarFenghua Yu <fenghua.yu@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Reviewed-by: default avatarTony Luck <tony.luck@intel.com>
      Reviewed-by: default avatarJames Morse <james.morse@arm.com>
      Reviewed-by: default avatarValentin Schneider <valentin.schneider@arm.com>
      Cc: stable@vger.kernel.org
      Link: https://lkml.kernel.org/r/17aa2fb38fc12ce7bb710106b3e7c7b45acb9e94.1608243147.git.reinette.chatre@intel.com
      ae28d1aa
    • 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