Skip to content
  1. Aug 25, 2023
  2. Aug 15, 2023
    • Arnd Bergmann's avatar
      PCI/sysfs: Move declarations to linux/pci.h · 87382ead
      Arnd Bergmann authored
      
      
      A couple of architectures build the __weak versions of
      pci_create_resource_files() and pci_remove_resource_files() but don't
      have prototypes for these, which causes warnings:
      
        drivers/pci/pci-sysfs.c:1253:12: error: no previous prototype for 'pci_create_resource_files' [-Werror=missing-prototypes]
         1253 | int __weak pci_create_resource_files(struct pci_dev *dev) { return 0; }
        drivers/pci/pci-sysfs.c:1254:13: error: no previous prototype for 'pci_remove_resource_files' [-Werror=missing-prototypes]
         1254 | void __weak pci_remove_resource_files(struct pci_dev *dev) { return; }
      
      Move the prototypes from alpha architecture into the global header to avoid
      these warnings for all of them.
      
      Link: https://lore.kernel.org/r/20230810141947.1236730-5-arnd@kernel.org
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      87382ead
    • Zheng Zengkai's avatar
      PCI/P2PDMA: Use pci_dev_id() to simplify the code · 0e8207f5
      Zheng Zengkai authored
      
      
      When we have a struct pci_dev *, use pci_dev_id() instead of manually
      composing the ID from dev->bus->number and dev->devfn.
      
      [bhelgaas: commit log]
      Link: https://lore.kernel.org/r/20230811111057.31900-1-zhengzengkai@huawei.com
      Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarLogan Gunthorpe <logang@deltatee.com>
      0e8207f5
  3. Aug 08, 2023
  4. Jul 28, 2023
    • Ira Weiny's avatar
      PCI/DOE: Fix destroy_work_on_stack() race · e3a3a097
      Ira Weiny authored
      The following debug object splat was observed in testing:
      
        ODEBUG: free active (active state 0) object: 0000000097d23782 object type: work_struct hint: doe_statemachine_work+0x0/0x510
        WARNING: CPU: 1 PID: 71 at lib/debugobjects.c:514 debug_print_object+0x7d/0xb0
        ...
        Workqueue: pci 0000:36:00.0 DOE [1 doe_statemachine_work
        RIP: 0010:debug_print_object+0x7d/0xb0
        ...
        Call Trace:
         ? debug_print_object+0x7d/0xb0
         ? __pfx_doe_statemachine_work+0x10/0x10
         debug_object_free.part.0+0x11b/0x150
         doe_statemachine_work+0x45e/0x510
         process_one_work+0x1d4/0x3c0
      
      This occurs because destroy_work_on_stack() was called after signaling
      the completion in the calling thread.  This creates a race between
      destroy_work_on_stack() and the task->work struct going out of scope in
      pci_doe().
      
      Signal the work complete after destroying the work struct.  This is safe
      because signal_task_complete() is the final thing the work item does and
      the workqueue code is careful not to access the work struct after.
      
      Fixes: abf04be0
      
       ("PCI/DOE: Fix memory leak with CONFIG_DEBUG_OBJECTS=y")
      Link: https://lore.kernel.org/r/20230726-doe-fix-v1-1-af07e614d4dd@intel.com
      Signed-off-by: default avatarIra Weiny <ira.weiny@intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarLukas Wunner <lukas@wunner.de>
      Acked-by: default avatarDan Williams <dan.j.williams@intel.com>
      e3a3a097
  5. Jul 19, 2023
    • Rob Herring's avatar
      PCI: Explicitly include correct DT includes · c925cfaf
      Rob Herring authored
      
      
      The DT of_device.h and of_platform.h date back to the separate
      of_platform_bus_type before it as merged into the regular platform bus.  As
      part of that merge prepping Arm DT support 13 years ago, they "temporarily"
      include each other. They also include platform_device.h and of.h. As a
      result, there's a pretty much random mix of those include files used
      throughout the tree. In order to detangle these headers and replace the
      implicit includes with struct declarations, users need to explicitly
      include the correct includes.
      
      Link: https://lore.kernel.org/r/20230714174827.4061572-1-robh@kernel.org
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      c925cfaf
  6. Jul 14, 2023
  7. Jul 10, 2023
    • Linus Torvalds's avatar
      Linux 6.5-rc1 · 06c2afb8
      Linus Torvalds authored
      06c2afb8
    • Linus Torvalds's avatar
      MAINTAINERS 2: Electric Boogaloo · c192ac73
      Linus Torvalds authored
      We just sorted the entries and fields last release, so just out of a
      perverse sense of curiosity, I decided to see if we can keep things
      ordered for even just one release.
      
      The answer is "No. No we cannot".
      
      I suggest that all kernel developers will need weekly training sessions,
      involving a lot of Big Bird and Sesame Street.  And at the yearly
      maintainer summit, we will all sing the alphabet song together.
      
      I doubt I will keep doing this.  At some point "perverse sense of
      curiosity" turns into just a cold dark place filled with sadness and
      despair.
      
      Repeats: 80e62bc8
      
       ("MAINTAINERS: re-sort all entries and fields")
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c192ac73
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.5-2023-07-09' of git://git.infradead.org/users/hch/dma-mapping · f71f6421
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
      
       - swiotlb area sizing fixes (Petr Tesarik)
      
      * tag 'dma-mapping-6.5-2023-07-09' of git://git.infradead.org/users/hch/dma-mapping:
        swiotlb: reduce the number of areas to match actual memory pool size
        swiotlb: always set the number of areas before allocating the pool
      f71f6421
    • Linus Torvalds's avatar
      Merge tag 'irq_urgent_for_v6.5_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a9943ad3
      Linus Torvalds authored
      Pull irq update from Borislav Petkov:
      
       - Optimize IRQ domain's name assignment
      
      * tag 'irq_urgent_for_v6.5_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqdomain: Use return value of strreplace()
      a9943ad3
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v6.5_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 51e3d7c2
      Linus Torvalds authored
      Pull x86 fpu fix from Borislav Petkov:
      
       - Do FPU AP initialization on Xen PV too which got missed by the recent
         boot reordering work
      
      * tag 'x86_urgent_for_v6.5_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/xen: Fix secondary processors' FPU initialization
      51e3d7c2
    • Linus Torvalds's avatar
      Merge tag 'x86-core-2023-07-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e3da8db0
      Linus Torvalds authored
      Pull x86 fix from Thomas Gleixner:
       "A single fix for the mechanism to park CPUs with an INIT IPI.
      
        On shutdown or kexec, the kernel tries to park the non-boot CPUs with
        an INIT IPI. But the same code path is also used by the crash utility.
        If the CPU which panics is not the boot CPU then it sends an INIT IPI
        to the boot CPU which resets the machine.
      
        Prevent this by validating that the CPU which runs the stop mechanism
        is the boot CPU. If not, leave the other CPUs in HLT"
      
      * tag 'x86-core-2023-07-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/smp: Don't send INIT to boot CPU
      e3da8db0
    • Linus Torvalds's avatar
      Merge tag 'mips_6.5_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 74099e20
      Linus Torvalds authored
      Pull MIPS fixes from Thomas Bogendoerfer:
      
       - fixes for KVM
      
       - fix for loongson build and cpu probing
      
       - DT fixes
      
      * tag 'mips_6.5_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: kvm: Fix build error with KVM_MIPS_DEBUG_COP0_COUNTERS enabled
        MIPS: dts: add missing space before {
        MIPS: Loongson: Fix build error when make modules_install
        MIPS: KVM: Fix NULL pointer dereference
        MIPS: Loongson: Fix cpu_probe_loongson() again
      74099e20
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.5-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 76487845
      Linus Torvalds authored
      Pull xfs fix from Darrick Wong:
       "Nothing exciting here, just getting rid of a gcc warning that I got
        tired of seeing when I turn on gcov"
      
      * tag 'xfs-6.5-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: fix uninit warning in xfs_growfs_data
      76487845
    • Linus Torvalds's avatar
      Merge tag '6.5-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6 · 4770353b
      Linus Torvalds authored
      Pull more smb client updates from Steve French:
      
       - fix potential use after free in unmount
      
       - minor cleanup
      
       - add worker to cleanup stale directory leases
      
      * tag '6.5-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Add a laundromat thread for cached directories
        smb: client: remove redundant pointer 'server'
        cifs: fix session state transition to avoid use-after-free issue
      4770353b
    • Linus Torvalds's avatar
      Merge tag 'ntb-6.5' of https://github.com/jonmason/ntb · cff06873
      Linus Torvalds authored
      Pull NTB updates from Jon Mason:
       "Fixes for pci_clean_master, error handling in driver inits, and
        various other issues/bugs"
      
      * tag 'ntb-6.5' of https://github.com/jonmason/ntb:
        ntb: hw: amd: Fix debugfs_create_dir error checking
        ntb.rst: Fix copy and paste error
        ntb_netdev: Fix module_init problem
        ntb: intel: Remove redundant pci_clear_master
        ntb: epf: Remove redundant pci_clear_master
        ntb_hw_amd: Remove redundant pci_clear_master
        ntb: idt: drop redundant pci_enable_pcie_error_reporting()
        MAINTAINERS: git://github -> https://github.com for jonmason
        NTB: EPF: fix possible memory leak in pci_vntb_probe()
        NTB: ntb_tool: Add check for devm_kcalloc
        NTB: ntb_transport: fix possible memory leak while device_register() fails
        ntb: intel: Fix error handling in intel_ntb_pci_driver_init()
        NTB: amd: Fix error handling in amd_ntb_pci_driver_init()
        ntb: idt: Fix error handling in idt_pci_driver_init()
      cff06873
  8. Jul 09, 2023
    • Hugh Dickins's avatar
      mm: lock newly mapped VMA with corrected ordering · 1c7873e3
      Hugh Dickins authored
      Lockdep is certainly right to complain about
      
        (&vma->vm_lock->lock){++++}-{3:3}, at: vma_start_write+0x2d/0x3f
                       but task is already holding lock:
        (&mapping->i_mmap_rwsem){+.+.}-{3:3}, at: mmap_region+0x4dc/0x6db
      
      Invert those to the usual ordering.
      
      Fixes: 33313a74
      
       ("mm: lock newly mapped VMA which can be modified after it becomes visible")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Tested-by: default avatarSuren Baghdasaryan <surenb@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1c7873e3
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2023-07-08-10-43' of... · 946c6b59
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2023-07-08-10-43' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull hotfixes from Andrew Morton:
       "16 hotfixes. Six are cc:stable and the remainder address post-6.4
        issues"
      
      The merge undoes the disabling of the CONFIG_PER_VMA_LOCK feature, since
      it was all hopefully fixed in mainline.
      
      * tag 'mm-hotfixes-stable-2023-07-08-10-43' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        lib: dhry: fix sleeping allocations inside non-preemptable section
        kasan, slub: fix HW_TAGS zeroing with slub_debug
        kasan: fix type cast in memory_is_poisoned_n
        mailmap: add entries for Heiko Stuebner
        mailmap: update manpage link
        bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page
        MAINTAINERS: add linux-next info
        mailmap: add Markus Schneider-Pargmann
        writeback: account the number of pages written back
        mm: call arch_swap_restore() from do_swap_page()
        squashfs: fix cache race with migration
        mm/hugetlb.c: fix a bug within a BUG(): inconsistent pte comparison
        docs: update ocfs2-devel mailing list address
        MAINTAINERS: update ocfs2-devel mailing list address
        mm: disable CONFIG_PER_VMA_LOCK until its fixed
        fork: lock VMAs of the parent process when forking
      946c6b59
    • Suren Baghdasaryan's avatar
      fork: lock VMAs of the parent process when forking · fb49c455
      Suren Baghdasaryan authored
      
      
      When forking a child process, the parent write-protects anonymous pages
      and COW-shares them with the child being forked using copy_present_pte().
      
      We must not take any concurrent page faults on the source vma's as they
      are being processed, as we expect both the vma and the pte's behind it
      to be stable.  For example, the anon_vma_fork() expects the parents
      vma->anon_vma to not change during the vma copy.
      
      A concurrent page fault on a page newly marked read-only by the page
      copy might trigger wp_page_copy() and a anon_vma_prepare(vma) on the
      source vma, defeating the anon_vma_clone() that wasn't done because the
      parent vma originally didn't have an anon_vma, but we now might end up
      copying a pte entry for a page that has one.
      
      Before the per-vma lock based changes, the mmap_lock guaranteed
      exclusion with concurrent page faults.  But now we need to do a
      vma_start_write() to make sure no concurrent faults happen on this vma
      while it is being processed.
      
      This fix can potentially regress some fork-heavy workloads.  Kernel
      build time did not show noticeable regression on a 56-core machine while
      a stress test mapping 10000 VMAs and forking 5000 times in a tight loop
      shows ~5% regression.  If such fork time regression is unacceptable,
      disabling CONFIG_PER_VMA_LOCK should restore its performance.  Further
      optimizations are possible if this regression proves to be problematic.
      
      Suggested-by: default avatarDavid Hildenbrand <david@redhat.com>
      Reported-by: default avatarJiri Slaby <jirislaby@kernel.org>
      Closes: https://lore.kernel.org/all/dbdef34c-3a07-5951-e1ae-e9c6e3cdf51b@kernel.org/
      Reported-by: default avatarHolger Hoffstätte <holger@applied-asynchrony.com>
      Closes: https://lore.kernel.org/all/b198d649-f4bf-b971-31d0-e8433ec2a34c@applied-asynchrony.com/
      Reported-by: default avatarJacob Young <jacobly.alt@gmail.com>
      Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217624
      Fixes: 0bff0aae
      
       ("x86/mm: try VMA lock-based page fault handling first")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarSuren Baghdasaryan <surenb@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fb49c455
    • Suren Baghdasaryan's avatar
      mm: lock newly mapped VMA which can be modified after it becomes visible · 33313a74
      Suren Baghdasaryan authored
      
      
      mmap_region adds a newly created VMA into VMA tree and might modify it
      afterwards before dropping the mmap_lock.  This poses a problem for page
      faults handled under per-VMA locks because they don't take the mmap_lock
      and can stumble on this VMA while it's still being modified.  Currently
      this does not pose a problem since post-addition modifications are done
      only for file-backed VMAs, which are not handled under per-VMA lock.
      However, once support for handling file-backed page faults with per-VMA
      locks is added, this will become a race.
      
      Fix this by write-locking the VMA before inserting it into the VMA tree.
      Other places where a new VMA is added into VMA tree do not modify it
      after the insertion, so do not need the same locking.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarSuren Baghdasaryan <surenb@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      33313a74
    • Suren Baghdasaryan's avatar
      mm: lock a vma before stack expansion · c137381f
      Suren Baghdasaryan authored
      
      
      With recent changes necessitating mmap_lock to be held for write while
      expanding a stack, per-VMA locks should follow the same rules and be
      write-locked to prevent page faults into the VMA being expanded. Add
      the necessary locking.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarSuren Baghdasaryan <surenb@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c137381f
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 7fcd473a
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "A few late arriving patches that missed the initial pull request. It's
        mostly bug fixes (the dt-bindings is a fix for the initial pull)"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: ufs: core: Remove unused function declaration
        scsi: target: docs: Remove tcm_mod_builder.py
        scsi: target: iblock: Quiet bool conversion warning with pr_preempt use
        scsi: dt-bindings: ufs: qcom: Fix ICE phandle
        scsi: core: Simplify scsi_cdl_check_cmd()
        scsi: isci: Fix comment typo
        scsi: smartpqi: Replace one-element arrays with flexible-array members
        scsi: target: tcmu: Replace strlcpy() with strscpy()
        scsi: ncr53c8xx: Replace strlcpy() with strscpy()
        scsi: lpfc: Fix lpfc_name struct packing
      7fcd473a
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.5-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 84dc5aa3
      Linus Torvalds authored
      Pull more i2c updates from Wolfram Sang:
      
       - xiic patch should have been in the original pull but slipped through
      
       - mpc patch fixes a build regression
      
       - nomadik cleanup
      
      * tag 'i2c-for-6.5-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: mpc: Drop unused variable
        i2c: nomadik: Remove a useless call in the remove function
        i2c: xiic: Don't try to handle more interrupt events after error
      84dc5aa3