11 Jan, 2021

2 commits

  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     

10 Jan, 2021

4 commits

  • …/groeck/linux-staging

    Pull hwmon fixes from Guenter Roeck:

    - Fix possible KASAN issue in amd_energy driver

    - Avoid configuration problem in pwm-fan driver

    - Fix kernel-doc warning in sbtsi_temp documentation

    * tag 'hwmon-for-v5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (amd_energy) fix allocation of hwmon_channel_info config
    hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values
    hwmon: (sbtsi_temp) Fix Documenation kernel-doc warning

    Linus Torvalds
     
  • Pull dmaengine fixes from Vinod Koul:
    "A bunch of dmaengine driver fixes for:

    - coverity discovered issues for xilinx driver

    - qcom, gpi driver fix for undefined bhaviour and one off cleanup

    - update Peter's email for TI DMA drivers

    - one-off for idxd driver

    - resource leak fix for mediatek and milbeaut drivers"

    * tag 'dmaengine-fix-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine:
    dmaengine: stm32-mdma: fix STM32_MDMA_VERY_HIGH_PRIORITY value
    dmaengine: xilinx_dma: fix mixed_enum_type coverity warning
    dmaengine: xilinx_dma: fix incompatible param warning in _child_probe()
    dmaengine: xilinx_dma: check dma_async_device_register return value
    dmaengine: qcom: fix gpi undefined behavior
    dt-bindings: dma: ti: Update maintainer and author information
    MAINTAINERS: Add entry for Texas Instruments DMA drivers
    qcom: bam_dma: Delete useless kfree code
    dmaengine: dw-edma: Fix use after free in dw_edma_alloc_chunk()
    dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of the probe function
    dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling path of the probe function
    dmaengine: qcom: gpi: Fixes a format mismatch
    dmaengine: idxd: off by one in cleanup code
    dmaengine: ti: k3-udma: Fix pktdma rchan TPL level setup

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:
    "Three driver bugfixes for I2C. Buisness as usual"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: mediatek: Fix apdma and i2c hand-shake timeout
    i2c: i801: Fix the i2c-mux gpiod_lookup_table not being properly terminated
    i2c: sprd: use a specific timeout to avoid system hang up issue

    Linus Torvalds
     
  • Change my email contact ahead of a likely painful eleven-month migration
    to a certain cobalt enteprisey groupware cloud product that will totally
    break my workflow. Some day I may get used to having to email being
    sequestered behind both claret and cerulean oath2+sms 2fa layers, but
    for now I'll stick with keying in one password to receive an email vs.
    the required four.

    Signed-off-by: Darrick J. Wong
    Signed-off-by: Linus Torvalds

    Darrick J. Wong
     

09 Jan, 2021

17 commits

  • Pull zonefs fix from Damien Le Moal:
    "A single patch from Arnd to fix a missing dependency in zonefs
    Kconfig"

    * tag 'zonefs-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
    zonefs: select CONFIG_CRC32

    Linus Torvalds
     
  • …/linux/kernel/git/shuah/linux-kselftest

    Pull kunit fixes from Shuah Khan:
    "One fix to force the use of the 'tty' console for UML.

    Given that kunit tool requires the console output, explicitly stating
    the dependency makes sense than relying on it being the default"

    * tag 'linux-kselftest-kunit-fixes-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    kunit: tool: Force the use of the 'tty' console for UML

    Linus Torvalds
     
  • …kernel/git/shuah/linux-kselftest

    Pull kselftest fixes from Shuah Khan:
    "Two minor fixes to vDSO test changes in this merge window"

    * tag 'linux-kselftest-next-5.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests/vDSO: fix -Wformat warning in vdso_test_correctness
    selftests/vDSO: add additional binaries to .gitignore

    Linus Torvalds
     
  • Pull documentation fixes from Jonathan Corbet:
    "A handful of relatively small documentation fixes"

    * tag 'docs-5.11-3' of git://git.lwn.net/linux:
    docs: admin-guide: bootconfig: Fix feils to fails
    Documentation/admin-guide: kernel-parameters: hyphenate comma-separated
    docs: binfmt-misc: Fix .rst formatting
    docs: remove mention of ENABLE_MUST_CHECK
    atomic: remove further references to atomic_ops
    Documentation: doc-guide: fixes to sphinx.rst
    docs/mm: concepts.rst: Correct the threshold to low watermark
    Documentation: admin: early_param()s are also listed in kernel-parameters
    docs: Fix reST markup when linking to sections

    Linus Torvalds
     
  • 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"

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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()

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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()
    ...

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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()

    Linus Torvalds
     
  • 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
    ...

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • The kernel test robot reported a -5.8% performance regression on the
    "poll2" test of will-it-scale, and bisected it to commit d55564cfc222
    ("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: kernel test robot
    Tested-by: Oliver Sang
    Cc: Al Viro
    Cc: David Laight
    Cc: Peter Zijlstra
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • This reverts commit 757055ae8dedf5333af17b3b5b4b70ba9bc9da4e.

    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 3cffa06aeef7ece30f6
    ("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: Andy Shevchenko
    Reported-by: Vineet Gupta
    Reported-by: Thomas Meyer
    Signed-off-by: Petr Mladek
    Acked-by: Greg Kroah-Hartman
    Acked-by: Sergey Senozhatsky
    Signed-off-by: Linus Torvalds

    Petr Mladek
     
  • * 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

    Rafael J. Wysocki
     

08 Jan, 2021

17 commits

  • 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: 8abee9566b7e ("hwmon: Add amd_energy driver to report energy counters")

    Signed-off-by: David Arcari
    Cc: Naveen Krishna Chatradhi
    Cc: Jean Delvare
    Cc: Guenter Roeck
    Cc: linux-kernel@vger.kernel.org
    Cc: stable@vger.kernel.org
    Signed-off-by: David Arcari
    Acked-by: Naveen Krishna Chatradhi
    Link: https://lore.kernel.org/r/20210107144707.6927-1-darcari@redhat.com
    Signed-off-by: Guenter Roeck

    David Arcari
     
  • 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.patch

    Acked-by: Jamie Iles
    Link: https://lore.kernel.org/r/20201230152010.3914962-1-arnd@kernel.org'
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • Signed-off-by: Paolo Bonzini

    Paolo Bonzini
     
  • …/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

    Paolo Bonzini
     
  • * 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: Daniel Vetter
    From: Thomas Zimmermann
    Link: https://patchwork.freedesktop.org/patch/msgid/X/gnKs52t8xUuAlE@linux-uq9g

    Daniel Vetter
     
  • 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: Daniel Vetter
    From: Rob Clark
    Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGtWMhzyD6kejmViZeZ+zfJxRvfq-R2t_zA+DcDiTxsYRQ@mail.gmail.com

    Daniel Vetter
     
  • 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: e02737d5b826 ("x86/intel_rdt: Add tasks files")
    Reported-by: Shakeel Butt
    Signed-off-by: Fenghua Yu
    Signed-off-by: Reinette Chatre
    Signed-off-by: Borislav Petkov
    Reviewed-by: Tony Luck
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/962ede65d8e95be793cb61102cca37f7bb018e66.1608243147.git.reinette.chatre@intel.com

    Fenghua Yu
     
  • 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: e02737d5b826 ("x86/intel_rdt: Add tasks files")
    Reported-by: Shakeel Butt
    Reported-by: Valentin Schneider
    Signed-off-by: Fenghua Yu
    Signed-off-by: Reinette Chatre
    Signed-off-by: Borislav Petkov
    Reviewed-by: Tony Luck
    Reviewed-by: James Morse
    Reviewed-by: Valentin Schneider
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/17aa2fb38fc12ce7bb710106b3e7c7b45acb9e94.1608243147.git.reinette.chatre@intel.com

    Fenghua Yu
     
  • 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.org
    Signed-off-by: Jakub Kicinski

    Jakub Kicinski
     
  • Exclude RMII from modes that report 1 GbE support. Reduced MII supports
    up to 100 MbE.

    Fixes: 14fceff4771e ("net: dsa: Add Lantiq / Intel DSA driver for vrx200")
    Signed-off-by: Aleksander Jan Bajkowski
    Reviewed-by: Florian Fainelli
    Link: https://lore.kernel.org/r/20210107195818.3878-1-olek2@wp.pl
    Signed-off-by: Jakub Kicinski

    Aleksander Jan Bajkowski
     
  • 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.com
    Signed-off-by: Jakub Kicinski

    Jakub Kicinski
     
  • 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: f13ade199391 ("s390/qeth: run non-offload L3 traffic over common xmit path")
    Signed-off-by: Julian Wiedmann
    Signed-off-by: Jakub Kicinski

    Julian Wiedmann
     
  • 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: 9dc48ccc68b9 ("qeth: serialize sysfs-triggered device configurations")
    Signed-off-by: Julian Wiedmann
    Reviewed-by: Alexandra Winter
    Signed-off-by: Jakub Kicinski

    Julian Wiedmann
     
  • 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: 9dc48ccc68b9 ("qeth: serialize sysfs-triggered device configurations")
    Signed-off-by: Julian Wiedmann
    Reviewed-by: Alexandra Winter
    Signed-off-by: Jakub Kicinski

    Julian Wiedmann
     
  • 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.org
    Signed-off-by: Jakub Kicinski

    Jakub Kicinski
     
  • 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: 7c741868ceab ("selftests: Add torture tests to nexthop tests")
    Signed-off-by: Ido Schimmel
    Reviewed-by: Petr Machata
    Reviewed-by: David Ahern
    Signed-off-by: Jakub Kicinski

    Ido Schimmel
     
  • 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: 38428d68719c ("nexthop: support for fdb ecmp nexthops")
    Signed-off-by: Petr Machata
    Signed-off-by: Ido Schimmel
    Reviewed-by: David Ahern
    Signed-off-by: Jakub Kicinski

    Petr Machata