1. 09 Feb, 2021 6 commits
  2. 08 Feb, 2021 1 commit
  3. 07 Feb, 2021 9 commits
    • Linus Torvalds's avatar
      Linux 5.11-rc7 · 92bf2261
      Linus Torvalds authored
      92bf2261
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-fixes-5.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · b75dba7f
      Linus Torvalds authored
      Pull libnvdimm fixes from Dan Williams:
       "A fix for a crash scenario that has been present since the initial
        merge, a minor regression in sysfs attribute visibility, and a fix for
        some flexible array warnings.
      
        The bulk of this pull is an update to the libnvdimm unit test
        infrastructure to test non-ACPI platforms. Given there is zero
        regression risk for test updates, and the tests enable validation of
        bits headed towards the next merge window, I saw no reason to hold the
        new tests back. Santosh originally submitted this before the v5.11
        window opened.
      
        Summary:
      
         - Fix a crash when sysfs accesses race 'dimm' driver probe/remove.
      
         - Fix a regression in 'resource' attribute visibility necessary for
           mapping badblocks and other physical address interrogations.
      
         - Fix some flexible array warnings
      
         - Expand the unit test infrastructure for non-ACPI platforms"
      
      * tag 'libnvdimm-fixes-5.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        libnvdimm/dimm: Avoid race between probe and available_slots_show()
        ndtest: Add papr health related flags
        ndtest: Add nvdimm control functions
        ndtest: Add regions and mappings to the test buses
        ndtest: Add dimm attributes
        ndtest: Add dimms to the two buses
        ndtest: Add compatability string to treat it as PAPR family
        testing/nvdimm: Add test module for non-nfit platforms
        libnvdimm/namespace: Fix visibility of namespace resource attribute
        libnvdimm/pmem: Remove unused header
        ACPI: NFIT: Fix flexible_array.cocci warnings
      b75dba7f
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.11-2' of git://git.infradead.org/users/hch/dma-mapping · ff92acb2
      Linus Torvalds authored
      Pull dma-mapping fix from Christoph Hellwig:
       "Fix a 32 vs 64-bit padding issue in the new benchmark code (Barry
        Song)"
      
      * tag 'dma-mapping-5.11-2' of git://git.infradead.org/users/hch/dma-mapping:
        dma-mapping: benchmark: use u8 for reserved field in uAPI structure
      ff92acb2
    • Linus Torvalds's avatar
      Merge tag 'irq_urgent_for_v5.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fc6c0ae5
      Linus Torvalds authored
      Pull irq fixes from Borislav Petkov:
      
       - Prevent device managed IRQ allocation helpers from returning IRQ 0
      
       - A fix for MSI activation of PCI endpoints with multiple MSIs
      
      * tag 'irq_urgent_for_v5.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Prevent [devm_]irq_alloc_desc from returning irq 0
        genirq/msi: Activate Multi-MSI early when MSI_FLAG_ACTIVATE_EARLY is set
      fc6c0ae5
    • Linus Torvalds's avatar
      Merge tag 'core_urgent_for_v5.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c6792d44
      Linus Torvalds authored
      Pull syscall entry fixes from Borislav Petkov:
      
       - For syscall user dispatch, separate prctl operation from syscall
         redirection range specification before the API has been made official
         in 5.11.
      
       - Ensure tasks using the generic syscall code do trap after returning
         from a syscall when single-stepping is requested.
      
      * tag 'core_urgent_for_v5.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        entry: Use different define for selector variable in SUD
        entry: Ensure trap after single-step on system call return
      c6792d44
    • Linus Torvalds's avatar
      Merge tag 'sched_urgent_for_v5.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6fed85df
      Linus Torvalds authored
      Pull scheduler fix from Borislav Petkov:
       "Revert an attempt to not spread IRQ threads on isolated CPUs which has
        a bunch of problems"
      
      * tag 'sched_urgent_for_v5.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "lib: Restrict cpumask_local_spread to houskeeping CPUs"
      6fed85df
    • Linus Torvalds's avatar
      Merge tag 'timers_urgent_for_v5.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 814daadb
      Linus Torvalds authored
      Pull timer fixes from Borislav Petkov:
       "Two more timers-related fixes for v5.11:
      
         - Use a freezable workqueue for RTC sync because the sync can happen
           at any time and trigger suspend assertion checks in the i2c
           subsystem.
      
         - Correct a previous RTC validation change to check only bit 6 in
           register D because some Intel machines use bits 0-5"
      
      * tag 'timers_urgent_for_v5.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        ntp: Use freezable workqueue for RTC synchronization
        rtc: mc146818: Dont test for bit 0-5 in Register D
      814daadb
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e24f9c5f
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
       "I hope this is the last batch of x86/urgent updates for this round:
      
         - Remove superfluous EFI PGD range checks which lead to those
           assertions failing with certain kernel configs and LLVM.
      
         - Disable setting breakpoints on facilities involved in #DB exception
           handling to avoid infinite loops.
      
         - Add extra serialization to non-serializing MSRs (IA32_TSC_DEADLINE
           and x2 APIC MSRs) to adhere to SDM's recommendation and avoid any
           theoretical issues.
      
         - Re-add the EPB MSR reading on turbostat so that it works on older
           kernels which don't have the corresponding EPB sysfs file.
      
         - Add Alder Lake to the list of CPUs which support split lock.
      
         - Fix %dr6 register handling in order to be able to set watchpoints
           with gdb again.
      
         - Disable CET instrumentation in the kernel so that gcc doesn't add
           ENDBR64 to kernel code and thus confuse tracing"
      
      * tag 'x86_urgent_for_v5.11_rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/efi: Remove EFI PGD build time checks
        x86/debug: Prevent data breakpoints on cpu_dr7
        x86/debug: Prevent data breakpoints on __per_cpu_offset
        x86/apic: Add extra serialization for non-serializing MSRs
        tools/power/turbostat: Fallback to an MSR read for EPB
        x86/split_lock: Enable the split lock feature on another Alder Lake CPU
        x86/debug: Fix DR6 handling
        x86/build: Disable CET instrumentation in the kernel
      e24f9c5f
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.11-2' of... · 2db138bb
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Use the 'python3' command to invoke python scripts because some
         distributions do not provide the 'python' command any more.
      
       - Clean-up and update documents
      
       - Use pkg-config to search libcrypto
      
       - Fix duplicated debug flags
      
       - Ignore some more stubs in scripts/kallsyms.c
      
      * tag 'kbuild-fixes-v5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kallsyms: fix nonconverging kallsyms table with lld
        kbuild: fix duplicated flags in DEBUG_CFLAGS
        scripts/clang-tools: switch explicitly to Python 3
        kbuild: remove PYTHON variable
        Documentation/llvm: Add a section about supported architectures
        Revert "checkpatch: add check for keyword 'boolean' in Kconfig definitions"
        scripts: use pkg-config to locate libcrypto
        kconfig: mconf: fix HOSTCC call
        doc: gcc-plugins: update gcc-plugins.rst
        kbuild: simplify GCC_PLUGINS enablement in dummy-tools/gcc
        Documentation/Kbuild: Remove references to gcc-plugin.sh
        scripts: switch explicitly to Python 3
      2db138bb
  4. 06 Feb, 2021 18 commits
  5. 05 Feb, 2021 6 commits
    • Gabriel Krisman Bertazi's avatar
      entry: Use different define for selector variable in SUD · 36a6c843
      Gabriel Krisman Bertazi authored
      Michael Kerrisk suggested that, from an API perspective, it is a bad
      idea to share the PR_SYS_DISPATCH_ defines between the prctl operation
      and the selector variable.
      
      Therefore, define two new constants to be used by SUD's selector variable
      and update the corresponding documentation and test cases.
      
      While this changes the API syscall user dispatch has never been part of a
      Linux release, it will show up for the first time in 5.11.
      Suggested-by: default avatarMichael Kerrisk (man-pages) <mtk.manpages@gmail.com>
      Signed-off-by: default avatarGabriel Krisman Bertazi <krisman@collabora.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Link: https://lore.kernel.org/r/20210205184321.2062251-1-krisman@collabora.com
      
      36a6c843
    • Gabriel Krisman Bertazi's avatar
      entry: Ensure trap after single-step on system call return · 6342adca
      Gabriel Krisman Bertazi authored
      Commit 29915524 ("entry: Drop usage of TIF flags in the generic syscall
      code") introduced a bug on architectures using the generic syscall entry
      code, in which processes stopped by PTRACE_SYSCALL do not trap on syscall
      return after receiving a TIF_SINGLESTEP.
      
      The reason is that the meaning of TIF_SINGLESTEP flag is overloaded to
      cause the trap after a system call is executed, but since the above commit,
      the syscall call handler only checks for the SYSCALL_WORK flags on the exit
      work.
      
      Split the meaning of TIF_SINGLESTEP such that it only means single-step
      mode, and create a new type of SYSCALL_WORK to request a trap immediately
      after a syscall in single-step mode.  In the current implementation, the
      SYSCALL_WORK flag shadows the TIF_SINGLESTEP flag for simplicity.
      
      Update x86 to flip this bit when a tracer enables single stepping.
      
      Fixes: 29915524 ("entry: Drop usage of TIF flags in the generic syscall code")
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGabriel Krisman Bertazi <krisman@collabora.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Tested-by: default avatarKyle Huey <me@kylehuey.com>
      Link: https://lore.kernel.org/r/87h7mtc9pr.fsf_-_@collabora.com
      6342adca
    • Thomas Gleixner's avatar
      Revert "lib: Restrict cpumask_local_spread to houskeeping CPUs" · 2452483d
      Thomas Gleixner authored
      This reverts commit 1abdfe70.
      
      This change is broken and not solving any problem it claims to solve.
      
      Robin reported that cpumask_local_spread() now returns any cpu out of
      cpu_possible_mask in case that NOHZ_FULL is disabled (runtime or compile
      time). It can also return any offline or not-present CPU in the
      housekeeping mask. Before that it was returning a CPU out of
      online_cpu_mask.
      
      While the function is racy against CPU hotplug if the caller does not
      protect against it, the actual use cases are not caring much about it as
      they use it mostly as hint for:
      
       - the user space affinity hint which is unused by the kernel
       - memory node selection which is just suboptimal
       - network queue affinity which might fail but is handled gracefully
      
      But the occasional fail vs. hotplug is very different from returning
      anything from possible_cpu_mask which can have a large amount of offline
      CPUs obviously.
      
      The changelog of the commit claims:
      
       "The current implementation of cpumask_local_spread() does not respect
        the isolated CPUs, i.e., even if a CPU has been isolated for Real-Time
        task, it will return it to the caller for pinning of its IRQ
        threads. Having these unwanted IRQ threads on an isolated CPU adds up
        to a latency overhead."
      
      The only correct part of this changelog is:
      
       "The current implementation of cpumask_local_spread() does not respect
        the isolated CPUs."
      
      Everything else is just disjunct from reality.
      Reported-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Nitesh Narayan Lal <nitesh@redhat.com>
      Cc: Marcelo Tosatti <mtosatti@redhat.com>
      Cc: abelits@marvell.com
      Cc: davem@davemloft.net
      Link: https://lore.kernel.org/r/87y2g26tnt.fsf@nanos.tec.linutronix.de
      2452483d
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 1e0d27fc
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "18 patches.
      
        Subsystems affected by this patch series: mm (hugetlb, compaction,
        vmalloc, shmem, memblock, pagecache, kasan, and hugetlb), mailmap,
        gcov, ubsan, and MAINTAINERS"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        MAINTAINERS/.mailmap: use my @kernel.org address
        mm: hugetlb: fix missing put_page in gather_surplus_pages()
        ubsan: implement __ubsan_handle_alignment_assumption
        kasan: make addr_has_metadata() return true for valid addresses
        kasan: add explicit preconditions to kasan_report()
        mm/filemap: add missing mem_cgroup_uncharge() to __add_to_page_cache_locked()
        mailmap: add entries for Manivannan Sadhasivam
        mailmap: fix name/email for Viresh Kumar
        memblock: do not start bottom-up allocations with kernel_end
        mm: thp: fix MADV_REMOVE deadlock on shmem THP
        init/gcov: allow CONFIG_CONSTRUCTORS on UML to fix module gcov
        mm/vmalloc: separate put pages and flush VM flags
        mm, compaction: move high_pfn to the for loop scope
        mm: migrate: do not migrate HugeTLB page whose refcount is one
        mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active
        mm: hugetlb: fix a race between isolating and freeing page
        mm: hugetlb: fix a race between freeing and dissolving the page
        mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page
      1e0d27fc
    • Hans de Goede's avatar
      genirq: Prevent [devm_]irq_alloc_desc from returning irq 0 · 4c7bcb51
      Hans de Goede authored
      Since commit a85a6c86 ("driver core: platform: Clarify that IRQ 0
      is invalid"), having a linux-irq with number 0 will trigger a WARN()
      when calling platform_get_irq*() to retrieve that linux-irq.
      
      Since [devm_]irq_alloc_desc allocs a single irq and since irq 0 is not used
      on some systems, it can return 0, triggering that WARN(). This happens
      e.g. on Intel Bay Trail and Cherry Trail devices using the LPE audio engine
      for HDMI audio:
      
       0 is an invalid IRQ number
       WARNING: CPU: 3 PID: 472 at drivers/base/platform.c:238 platform_get_irq_optional+0x108/0x180
       Modules linked in: snd_hdmi_lpe_audio(+) ...
      
       Call Trace:
        platform_get_irq+0x17/0x30
        hdmi_lpe_audio_probe+0x4a/0x6c0 [snd_hdmi_lpe_audio]
      
       ---[ end trace ceece38854223a0b ]---
      
      Change the 'from' parameter passed to __[devm_]irq_alloc_descs() by the
      [devm_]irq_alloc_desc macros from 0 to 1, so that these macros will no
      longer return 0.
      
      Fixes: a85a6c86 ("driver core: platform: Clarify that IRQ 0 is invalid")
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/20201221185647.226146-1-hdegoede@redhat.com
      4c7bcb51
    • Aurelien Aptel's avatar
      cifs: report error instead of invalid when revalidating a dentry fails · 21b200d0
      Aurelien Aptel authored
      Assuming
      - //HOST/a is mounted on /mnt
      - //HOST/b is mounted on /mnt/b
      
      On a slow connection, running 'df' and killing it while it's
      processing /mnt/b can make cifs_get_inode_info() returns -ERESTARTSYS.
      
      This triggers the following chain of events:
      => the dentry revalidation fail
      => dentry is put and released
      => superblock associated with the dentry is put
      => /mnt/b is unmounted
      
      This patch makes cifs_d_revalidate() return the error instead of 0
      (invalid) when cifs_revalidate_dentry() fails, except for ENOENT (file
      deleted) and ESTALE (file recreated).
      Signed-off-by: default avatarAurelien Aptel <aaptel@suse.com>
      Suggested-by: default avatarShyam Prasad N <nspmangalore@gmail.com>
      Reviewed-by: default avatarShyam Prasad N <nspmangalore@gmail.com>
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      21b200d0