1. 12 Jan, 2023 10 commits
    • Nhat Pham's avatar
      Docs/admin-guide/mm/zswap: remove zsmalloc's lack of writeback warning · 1beb8ae3
      Nhat Pham authored
      Writeback has been implemented for zsmalloc, so this warning no longer
      holds.
      
      Link: https://lkml.kernel.org/r/20230106220016.172303-1-nphamcs@gmail.com
      Fixes: 9997bc01 ("zsmalloc: implement writeback mechanism for zsmalloc")
      Suggested-by: default avatarThomas Weißschuh <linux@weissschuh.net>
      Signed-off-by: default avatarNhat Pham <nphamcs@gmail.com>
      Reviewed-by: default avatarSergey Senozhatsky <senozhatsky@chromium.org>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      1beb8ae3
    • Peter Xu's avatar
      mm/hugetlb: pre-allocate pgtable pages for uffd wr-protects · fed15f13
      Peter Xu authored
      Userfaultfd-wp uses pte markers to mark wr-protected pages for both shmem
      and hugetlb.  Shmem has pre-allocation ready for markers, but hugetlb path
      was overlooked.
      
      Doing so by calling huge_pte_alloc() if the initial pgtable walk fails to
      find the huge ptep.  It's possible that huge_pte_alloc() can fail with
      high memory pressure, in that case stop the loop immediately and fail
      silently.  This is not the most ideal solution but it matches with what we
      do with shmem meanwhile it avoids the splat in dmesg.
      
      Link: https://lkml.kernel.org/r/20230104225207.1066932-2-peterx@redhat.com
      Fixes: 60dfaad6 ("mm/hugetlb: allow uffd wr-protect none ptes")
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Reported-by: default avatarJames Houghton <jthoughton@google.com>
      Reviewed-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
      Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
      Acked-by: default avatarJames Houghton <jthoughton@google.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Axel Rasmussen <axelrasmussen@google.com>
      Cc: Muchun Song <songmuchun@bytedance.com>
      Cc: Nadav Amit <nadav.amit@gmail.com>
      Cc: <stable@vger.kernel.org>	[5.19+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      fed15f13
    • James Houghton's avatar
      hugetlb: unshare some PMDs when splitting VMAs · b30c14cd
      James Houghton authored
      PMD sharing can only be done in PUD_SIZE-aligned pieces of VMAs; however,
      it is possible that HugeTLB VMAs are split without unsharing the PMDs
      first.
      
      Without this fix, it is possible to hit the uffd-wp-related WARN_ON_ONCE
      in hugetlb_change_protection [1].  The key there is that
      hugetlb_unshare_all_pmds will not attempt to unshare PMDs in
      non-PUD_SIZE-aligned sections of the VMA.
      
      It might seem ideal to unshare in hugetlb_vm_op_open, but we need to
      unshare in both the new and old VMAs, so unsharing in hugetlb_vm_op_split
      seems natural.
      
      [1]: https://lore.kernel.org/linux-mm/CADrL8HVeOkj0QH5VZZbRzybNE8CG-tEGFshnA+bG9nMgcWtBSg@mail.gmail.com/
      
      Link: https://lkml.kernel.org/r/20230104231910.1464197-1-jthoughton@google.com
      Fixes: 6dfeaff9 ("hugetlb/userfaultfd: unshare all pmds for hugetlbfs when register wp")
      Signed-off-by: default avatarJames Houghton <jthoughton@google.com>
      Reviewed-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
      Acked-by: default avatarPeter Xu <peterx@redhat.com>
      Cc: Axel Rasmussen <axelrasmussen@google.com>
      Cc: Muchun Song <songmuchun@bytedance.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      b30c14cd
    • Suren Baghdasaryan's avatar
      mm: fix vma->anon_name memory leak for anonymous shmem VMAs · a1193de5
      Suren Baghdasaryan authored
      free_anon_vma_name() is missing a check for anonymous shmem VMA which
      leads to a memory leak due to refcount not being dropped.  Fix this by
      calling anon_vma_name_put() unconditionally.  It will free vma->anon_name
      whenever it's non-NULL.
      
      Link: https://lkml.kernel.org/r/20230105000241.1450843-1-surenb@google.com
      Fixes: d09e8ca6 ("mm: anonymous shared memory naming")
      Signed-off-by: default avatarSuren Baghdasaryan <surenb@google.com>
      Suggested-by: default avatarDavid Hildenbrand <david@redhat.com>
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      Reported-by: syzbot+91edf9178386a07d06a7@syzkaller.appspotmail.com
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      a1193de5
    • Zach O'Keefe's avatar
      mm/shmem: restore SHMEM_HUGE_DENY precedence over MADV_COLLAPSE · 3de0c269
      Zach O'Keefe authored
      SHMEM_HUGE_DENY is for emergency use by the admin, to disable allocation
      of shmem huge pages if, for example, a dangerous bug is found in their
      usage: see "deny" in Documentation/mm/transhuge.rst.  An app using
      madvise(,,MADV_COLLAPSE) should not be allowed to override it: restore its
      precedence over shmem_huge_force.
      
      Restore SHMEM_HUGE_DENY precedence over MADV_COLLAPSE.
      
      Link: https://lkml.kernel.org/r/20221224082035.3197140-2-zokeefe@google.com
      Fixes: 7c6c6cc4 ("mm/shmem: add flag to enforce shmem THP in hugepage_vma_check()")
      Signed-off-by: default avatarZach O'Keefe <zokeefe@google.com>
      Suggested-by: default avatarHugh Dickins <hughd@google.com>
      Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
      Cc: Yang Shi <shy828301@gmail.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      3de0c269
    • Zach O'Keefe's avatar
      mm/MADV_COLLAPSE: don't expand collapse when vm_end is past requested end · 52dc0310
      Zach O'Keefe authored
      MADV_COLLAPSE acts on one hugepage-aligned/sized region at a time, until
      it has collapsed all eligible memory contained within the bounds supplied
      by the user.
      
      At the top of each hugepage iteration we (re)lock mmap_lock and
      (re)validate the VMA for eligibility and update variables that might have
      changed while mmap_lock was dropped.  One thing that might occur is that
      the VMA could be resized, and as such, we refetch vma->vm_end to make sure
      we don't collapse past the end of the VMA's new end.
      
      However, it's possible that when refetching vma->vm_end that we expand the
      region acted on by MADV_COLLAPSE if vma->vm_end is greater than size+len
      supplied by the user.
      
      The consequence here is that we may attempt to collapse more memory than
      requested, possibly yielding either "too much success" or "false failure"
      user-visible results.  An example of the former is if we MADV_COLLAPSE the
      first 4MiB of a 2TiB mmap()'d file, the incorrect refetch would cause the
      operation to block for much longer than anticipated as we attempt to
      collapse the entire TiB region.  An example of the latter is that applying
      MADV_COLLPSE to a 4MiB file mapped to the start of a 6MiB VMA will
      successfully collapse the first 4MiB, then incorrectly attempt to collapse
      the last hugepage-aligned/sized region -- fail (since readahead/page cache
      lookup will fail) -- and report a failure to the user.
      
      I don't believe there is a kernel stability concern here as we always
      (re)validate the VMA / region accordingly.  Also as Hugh mentions, the
      user-visible effects are: we try to collapse more memory than requested
      by the user, and/or failing an operation that should have otherwise
      succeeded.  An example is trying to collapse a 4MiB file contained
      within a 12MiB VMA.
      
      Don't expand the acted-on region when refetching vma->vm_end.
      
      Link: https://lkml.kernel.org/r/20221224082035.3197140-1-zokeefe@google.com
      Fixes: 4d24de94 ("mm: MADV_COLLAPSE: refetch vm_end after reacquiring mmap_lock")
      Signed-off-by: default avatarZach O'Keefe <zokeefe@google.com>
      Reported-by: default avatarHugh Dickins <hughd@google.com>
      Cc: Yang Shi <shy828301@gmail.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      52dc0310
    • David Hildenbrand's avatar
      mm/userfaultfd: enable writenotify while userfaultfd-wp is enabled for a VMA · 51d3d5eb
      David Hildenbrand authored
      Currently, we don't enable writenotify when enabling userfaultfd-wp on a
      shared writable mapping (for now only shmem and hugetlb).  The consequence
      is that vma->vm_page_prot will still include write permissions, to be set
      as default for all PTEs that get remapped (e.g., mprotect(), NUMA hinting,
      page migration, ...).
      
      So far, vma->vm_page_prot is assumed to be a safe default, meaning that we
      only add permissions (e.g., mkwrite) but not remove permissions (e.g.,
      wrprotect).  For example, when enabling softdirty tracking, we enable
      writenotify.  With uffd-wp on shared mappings, that changed.  More details
      on vma->vm_page_prot semantics were summarized in [1].
      
      This is problematic for uffd-wp: we'd have to manually check for a uffd-wp
      PTEs/PMDs and manually write-protect PTEs/PMDs, which is error prone. 
      Prone to such issues is any code that uses vma->vm_page_prot to set PTE
      permissions: primarily pte_modify() and mk_pte().
      
      Instead, let's enable writenotify such that PTEs/PMDs/...  will be mapped
      write-protected as default and we will only allow selected PTEs that are
      definitely safe to be mapped without write-protection (see
      can_change_pte_writable()) to be writable.  In the future, we might want
      to enable write-bit recovery -- e.g., can_change_pte_writable() -- at more
      locations, for example, also when removing uffd-wp protection.
      
      This fixes two known cases:
      
      (a) remove_migration_pte() mapping uffd-wp'ed PTEs writable, resulting
          in uffd-wp not triggering on write access.
      (b) do_numa_page() / do_huge_pmd_numa_page() mapping uffd-wp'ed PTEs/PMDs
          writable, resulting in uffd-wp not triggering on write access.
      
      Note that do_numa_page() / do_huge_pmd_numa_page() can be reached even
      without NUMA hinting (which currently doesn't seem to be applicable to
      shmem), for example, by using uffd-wp with a PROT_WRITE shmem VMA.  On
      such a VMA, userfaultfd-wp is currently non-functional.
      
      Note that when enabling userfaultfd-wp, there is no need to walk page
      tables to enforce the new default protection for the PTEs: we know that
      they cannot be uffd-wp'ed yet, because that can only happen after enabling
      uffd-wp for the VMA in general.
      
      Also note that this makes mprotect() on ranges with uffd-wp'ed PTEs not
      accidentally set the write bit -- which would result in uffd-wp not
      triggering on later write access.  This commit makes uffd-wp on shmem
      behave just like uffd-wp on anonymous memory in that regard, even though,
      mixing mprotect with uffd-wp is controversial.
      
      [1] https://lkml.kernel.org/r/92173bad-caa3-6b43-9d1e-9a471fdbc184@redhat.com
      
      Link: https://lkml.kernel.org/r/20221209080912.7968-1-david@redhat.com
      Fixes: b1f9e876 ("mm/uffd: enable write protection for shmem & hugetlbfs")
      Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
      Reported-by: default avatarIves van Hoorne <ives@codesandbox.io>
      Debugged-by: default avatarPeter Xu <peterx@redhat.com>
      Acked-by: default avatarPeter Xu <peterx@redhat.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Alistair Popple <apopple@nvidia.com>
      Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
      Cc: Nadav Amit <nadav.amit@gmail.com>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      51d3d5eb
    • Hugh Dickins's avatar
      mm/khugepaged: fix collapse_pte_mapped_thp() to allow anon_vma · ab0c3f12
      Hugh Dickins authored
      uprobe_write_opcode() uses collapse_pte_mapped_thp() to restore huge pmd,
      when removing a breakpoint from hugepage text: vma->anon_vma is always set
      in that case, so undo the prohibition.  And MADV_COLLAPSE ought to be able
      to collapse some page tables in a vma which happens to have anon_vma set
      from CoWing elsewhere.
      
      Is anon_vma lock required?  Almost not: if any page other than expected
      subpage of the non-anon huge page is found in the page table, collapse is
      aborted without making any change.  However, it is possible that an anon
      page was CoWed from this extent in another mm or vma, in which case a
      concurrent lookup might look here: so keep it away while clearing pmd (but
      perhaps we shall go back to using pmd_lock() there in future).
      
      Note that collapse_pte_mapped_thp() is exceptional in freeing a page table
      without having cleared its ptes: I'm uneasy about that, and had thought
      pte_clear()ing appropriate; but exclusive i_mmap lock does fix the
      problem, and we would have to move the mmu_notification if clearing those
      ptes.
      
      What this fixes is not a dangerous instability.  But I suggest Cc stable
      because uprobes "healing" has regressed in that way, so this should follow
      8d3c106e into those stable releases where it was backported (and may
      want adjustment there - I'll supply backports as needed).
      
      Link: https://lkml.kernel.org/r/b740c9fb-edba-92ba-59fb-7a5592e5dfc@google.com
      Fixes: 8d3c106e ("mm/khugepaged: take the right locks for page table retraction")
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
      Cc: Jann Horn <jannh@google.com>
      Cc: Yang Shi <shy828301@gmail.com>
      Cc: Zach O'Keefe <zokeefe@google.com>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: <stable@vger.kernel.org>    [5.4+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      ab0c3f12
    • David Hildenbrand's avatar
      mm/hugetlb: fix uffd-wp handling for migration entries in hugetlb_change_protection() · 44f86392
      David Hildenbrand authored
      We have to update the uffd-wp SWP PTE bit independent of the type of
      migration entry.  Currently, if we're unlucky and we want to install/clear
      the uffd-wp bit just while we're migrating a read-only mapped hugetlb
      page, we would miss to set/clear the uffd-wp bit.
      
      Further, if we're processing a readable-exclusive migration entry and
      neither want to set or clear the uffd-wp bit, we could currently end up
      losing the uffd-wp bit.  Note that the same would hold for writable
      migrating entries, however, having a writable migration entry with the
      uffd-wp bit set would already mean that something went wrong.
      
      Note that the change from !is_readable_migration_entry ->
      writable_migration_entry is harmless and actually cleaner, as raised by
      Miaohe Lin and discussed in [1].
      
      [1] https://lkml.kernel.org/r/90dd6a93-4500-e0de-2bf0-bf522c311b0c@huawei.com
      
      Link: https://lkml.kernel.org/r/20221222205511.675832-3-david@redhat.com
      Fixes: 60dfaad6 ("mm/hugetlb: allow uffd wr-protect none ptes")
      Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
      Reviewed-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
      Cc: Miaohe Lin <linmiaohe@huawei.com>
      Cc: Muchun Song <muchun.song@linux.dev>
      Cc: Peter Xu <peterx@redhat.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      44f86392
    • David Hildenbrand's avatar
      mm/hugetlb: fix PTE marker handling in hugetlb_change_protection() · 0e678153
      David Hildenbrand authored
      Patch series "mm/hugetlb: uffd-wp fixes for hugetlb_change_protection()".
      
      Playing with virtio-mem and background snapshots (using uffd-wp) on
      hugetlb in QEMU, I managed to trigger a VM_BUG_ON().  Looking into the
      details, hugetlb_change_protection() seems to not handle uffd-wp correctly
      in all cases.
      
      Patch #1 fixes my test case.  I don't have reproducers for patch #2, as it
      requires running into migration entries.
      
      I did not yet check in detail yet if !hugetlb code requires similar care.
      
      
      This patch (of 2):
      
      There are two problematic cases when stumbling over a PTE marker in
      hugetlb_change_protection():
      
      (1) We protect an uffd-wp PTE marker a second time using uffd-wp: we will
          end up in the "!huge_pte_none(pte)" case and mess up the PTE marker.
      
      (2) We unprotect a uffd-wp PTE marker: we will similarly end up in the
          "!huge_pte_none(pte)" case even though we cleared the PTE, because
          the "pte" variable is stale. We'll mess up the PTE marker.
      
      For example, if we later stumble over such a "wrongly modified" PTE marker,
      we'll treat it like a present PTE that maps some garbage page.
      
      This can, for example, be triggered by mapping a memfd backed by huge
      pages, registering uffd-wp, uffd-wp'ing an unmapped page and (a)
      uffd-wp'ing it a second time; or (b) uffd-unprotecting it; or (c)
      unregistering uffd-wp. Then, ff we trigger fallocate(FALLOC_FL_PUNCH_HOLE)
      on that file range, we will run into a VM_BUG_ON:
      
      [  195.039560] page:00000000ba1f2987 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x0
      [  195.039565] flags: 0x7ffffc0001000(reserved|node=0|zone=0|lastcpupid=0x1fffff)
      [  195.039568] raw: 0007ffffc0001000 ffffe742c0000008 ffffe742c0000008 0000000000000000
      [  195.039569] raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000
      [  195.039569] page dumped because: VM_BUG_ON_PAGE(compound && !PageHead(page))
      [  195.039573] ------------[ cut here ]------------
      [  195.039574] kernel BUG at mm/rmap.c:1346!
      [  195.039579] invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
      [  195.039581] CPU: 7 PID: 4777 Comm: qemu-system-x86 Not tainted 6.0.12-200.fc36.x86_64 #1
      [  195.039583] Hardware name: LENOVO 20WNS1F81N/20WNS1F81N, BIOS N35ET50W (1.50 ) 09/15/2022
      [  195.039584] RIP: 0010:page_remove_rmap+0x45b/0x550
      [  195.039588] Code: [...]
      [  195.039589] RSP: 0018:ffffbc03c3633ba8 EFLAGS: 00010292
      [  195.039591] RAX: 0000000000000040 RBX: ffffe742c0000000 RCX: 0000000000000000
      [  195.039592] RDX: 0000000000000002 RSI: ffffffff8e7aac1a RDI: 00000000ffffffff
      [  195.039592] RBP: 0000000000000001 R08: 0000000000000000 R09: ffffbc03c3633a08
      [  195.039593] R10: 0000000000000003 R11: ffffffff8f146328 R12: ffff9b04c42754b0
      [  195.039594] R13: ffffffff8fcc6328 R14: ffffbc03c3633c80 R15: ffff9b0484ab9100
      [  195.039595] FS:  00007fc7aaf68640(0000) GS:ffff9b0bbf7c0000(0000) knlGS:0000000000000000
      [  195.039596] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  195.039597] CR2: 000055d402c49110 CR3: 0000000159392003 CR4: 0000000000772ee0
      [  195.039598] PKRU: 55555554
      [  195.039599] Call Trace:
      [  195.039600]  <TASK>
      [  195.039602]  __unmap_hugepage_range+0x33b/0x7d0
      [  195.039605]  unmap_hugepage_range+0x55/0x70
      [  195.039608]  hugetlb_vmdelete_list+0x77/0xa0
      [  195.039611]  hugetlbfs_fallocate+0x410/0x550
      [  195.039612]  ? _raw_spin_unlock_irqrestore+0x23/0x40
      [  195.039616]  vfs_fallocate+0x12e/0x360
      [  195.039618]  __x64_sys_fallocate+0x40/0x70
      [  195.039620]  do_syscall_64+0x58/0x80
      [  195.039623]  ? syscall_exit_to_user_mode+0x17/0x40
      [  195.039624]  ? do_syscall_64+0x67/0x80
      [  195.039626]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
      [  195.039628] RIP: 0033:0x7fc7b590651f
      [  195.039653] Code: [...]
      [  195.039654] RSP: 002b:00007fc7aaf66e70 EFLAGS: 00000293 ORIG_RAX: 000000000000011d
      [  195.039655] RAX: ffffffffffffffda RBX: 0000558ef4b7f370 RCX: 00007fc7b590651f
      [  195.039656] RDX: 0000000018000000 RSI: 0000000000000003 RDI: 000000000000000c
      [  195.039657] RBP: 0000000008000000 R08: 0000000000000000 R09: 0000000000000073
      [  195.039658] R10: 0000000008000000 R11: 0000000000000293 R12: 0000000018000000
      [  195.039658] R13: 00007fb8bbe00000 R14: 000000000000000c R15: 0000000000001000
      [  195.039661]  </TASK>
      
      Fix it by not going into the "!huge_pte_none(pte)" case if we stumble over
      an exclusive marker.  spin_unlock() + continue would get the job done.
      
      However, instead, make it clearer that there are no fall-through
      statements: we process each case (hwpoison, migration, marker, !none,
      none) and then unlock the page table to continue with the next PTE.  Let's
      avoid "continue" statements and use a single spin_unlock() at the end.
      
      Link: https://lkml.kernel.org/r/20221222205511.675832-1-david@redhat.com
      Link: https://lkml.kernel.org/r/20221222205511.675832-2-david@redhat.com
      Fixes: 60dfaad6 ("mm/hugetlb: allow uffd wr-protect none ptes")
      Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
      Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
      Reviewed-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
      Cc: Miaohe Lin <linmiaohe@huawei.com>
      Cc: Muchun Song <muchun.song@linux.dev>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      0e678153
  2. 08 Jan, 2023 3 commits
  3. 07 Jan, 2023 6 commits
  4. 06 Jan, 2023 19 commits
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2023-01-06' of git://anongit.freedesktop.org/drm/drm · 0a715535
      Linus Torvalds authored
      Pull drm fixes from Daniel Vetter:
       "Still not much, but more than last week. Dave should be back next week
        from the beaching.
      
        drivers:
         - i915-gvt fixes
         - amdgpu/kfd fixes
         - panfrost bo refcounting fix
         - meson afbc corruption fix
         - imx plane width fix
      
        core:
         - drm/sched fixes
         - drm/mm kunit test fix
         - dma-buf export error handling fixes"
      
      * tag 'drm-fixes-2023-01-06' of git://anongit.freedesktop.org/drm/drm:
        Revert "drm/amd/display: Enable Freesync Video Mode by default"
        drm/i915/gvt: fix double free bug in split_2MB_gtt_entry
        drm/i915/gvt: use atomic operations to change the vGPU status
        drm/i915/gvt: fix vgpu debugfs clean in remove
        drm/i915/gvt: fix gvt debugfs destroy
        drm/i915: unpin on error in intel_vgpu_shadow_mm_pin()
        drm/amd/display: Uninitialized variables causing 4k60 UCLK to stay at DPM1 and not DPM0
        drm/amdkfd: Fix kernel warning during topology setup
        drm/scheduler: Fix lockup in drm_sched_entity_kill()
        drm/imx: ipuv3-plane: Fix overlay plane width
        drm/scheduler: Fix lockup in drm_sched_entity_kill()
        drm/virtio: Fix memory leak in virtio_gpu_object_create()
        drm/meson: Reduce the FIFO lines held when AFBC is not used
        drm/tests: reduce drm_mm_test stack usage
        drm/panfrost: Fix GEM handle creation ref-counting
        drm/plane-helper: Add the missing declaration of drm_atomic_state
        dma-buf: fix dma_buf_export init order v2
      0a715535
    • Jason A. Donenfeld's avatar
      tpm: Allow system suspend to continue when TPM suspend fails · 1382999a
      Jason A. Donenfeld authored
      TPM 1 is sometimes broken across system suspends, due to races or
      locking issues or something else that haven't been diagnosed or fixed
      yet, most likely having to do with concurrent reads from the TPM's
      hardware random number generator driver. These issues prevent the system
      from actually suspending, with errors like:
      
        tpm tpm0: A TPM error (28) occurred continue selftest
        ...
        tpm tpm0: A TPM error (28) occurred attempting get random
        ...
        tpm tpm0: Error (28) sending savestate before suspend
        tpm_tis 00:08: PM: __pnp_bus_suspend(): tpm_pm_suspend+0x0/0x80 returns 28
        tpm_tis 00:08: PM: dpm_run_callback(): pnp_bus_suspend+0x0/0x10 returns 28
        tpm_tis 00:08: PM: failed to suspend: error 28
        PM: Some devices failed to suspend, or early wake event detected
      
      This issue was partially fixed by 23393c64 ("char: tpm: Protect
      tpm_pm_suspend with locks"), in a last minute 6.1 commit that Linus took
      directly because the TPM maintainers weren't available. However, it
      seems like this just addresses the most common cases of the bug, rather
      than addressing it entirely. So there are more things to fix still,
      apparently.
      
      In lieu of actually fixing the underlying bug, just allow system suspend
      to continue, so that laptops still go to sleep fine. Later, this can be
      reverted when the real bug is fixed.
      
      Link: https://lore.kernel.org/lkml/7cbe96cf-e0b5-ba63-d1b4-f63d2e826efa@suse.cz/
      Cc: stable@vger.kernel.org # 6.1+
      Reported-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Acked-by: default avatarLuigi Semenzato <semenzato@chromium.org>
      Cc: Peter Huewe <peterhuewe@gmx.de>
      Cc: Jarkko Sakkinen <jarkko@kernel.org>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Johannes Altmanninger <aclopte@gmail.com>
      Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1382999a
    • Linus Torvalds's avatar
      hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling · cb7a95af
      Linus Torvalds authored
      Commit 55d1cbbb ("hfs/hfsplus: use WARN_ON for sanity check") fixed
      a build warning by turning a comment into a WARN_ON(), but it turns out
      that syzbot then complains because it can trigger said warning with a
      corrupted hfs image.
      
      The warning actually does warn about a bad situation, but we are much
      better off just handling it as the error it is.  So rather than warn
      about us doing bad things, stop doing the bad things and return -EIO.
      
      While at it, also fix a memory leak that was introduced by an earlier
      fix for a similar syzbot warning situation, and add a check for one case
      that historically wasn't handled at all (ie neither comment nor
      subsequent WARN_ON).
      
      Reported-by: syzbot+7bb7cd3595533513a9e7@syzkaller.appspotmail.com
      Fixes: 55d1cbbb ("hfs/hfsplus: use WARN_ON for sanity check")
      Fixes: 8d824e69 ("hfs: fix OOB Read in __hfs_brec_find")
      Link: https://lore.kernel.org/lkml/000000000000dbce4e05f170f289@google.com/Tested-by: default avatarMichael Schmitz <schmitzmic@gmail.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Viacheslav Dubeyko <slava@dubeyko.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cb7a95af
    • Linus Torvalds's avatar
      Merge tag 'block-2023-01-06' of git://git.kernel.dk/linux · a689b938
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "The big change here is obviously the revert of the pktcdvd driver
        removal. Outside of that, just minor tweaks. In detail:
      
         - Re-instate the pktcdvd driver, which necessitates adding back
           bio_copy_data_iter() and the fops->devnode() hook for now (me)
      
         - Fix for splitting of a bio marked as NOWAIT, causing either nowait
           reads or writes to error with EAGAIN even if parts of the IO
           completed (me)
      
         - Fix for ublk, punting management commands to io-wq as they can all
           easily block for extended periods of time (Ming)
      
         - Removal of SRCU dependency for the block layer (Paul)"
      
      * tag 'block-2023-01-06' of git://git.kernel.dk/linux:
        block: Remove "select SRCU"
        Revert "pktcdvd: remove driver."
        Revert "block: remove devnode callback from struct block_device_operations"
        Revert "block: bio_copy_data_iter"
        ublk: honor IO_URING_F_NONBLOCK for handling control command
        block: don't allow splitting of a REQ_NOWAIT bio
        block: handle bio_split_to_limits() NULL return
      a689b938
    • Linus Torvalds's avatar
      Merge tag 'io_uring-2023-01-06' of git://git.kernel.dk/linux · ef1a4a77
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "A few minor fixes that should go into the 6.2 release:
      
         - Fix for a memory leak in io-wq worker creation, if we ultimately
           end up canceling the worker creation before it gets created (me)
      
         - lockdep annotations for the CQ locking (Pavel)
      
         - A regression fix for CQ timeout handling (Pavel)
      
         - Ring pinning around deferred task_work fix (Pavel)
      
         - A trivial member move in struct io_ring_ctx, saving us some memory
           (me)"
      
      * tag 'io_uring-2023-01-06' of git://git.kernel.dk/linux:
        io_uring: fix CQ waiting timeout handling
        io_uring: move 'poll_multi_queue' bool in io_ring_ctx
        io_uring: lockdep annotate CQ locking
        io_uring: pin context while queueing deferred tw
        io_uring/io-wq: free worker if task_work creation is canceled
      ef1a4a77
    • Linus Torvalds's avatar
      Merge tag 'tif-notify-signal-2023-01-06' of git://git.kernel.dk/linux · 93387d49
      Linus Torvalds authored
      Pull arm TIF_NOTIFY_SIGNAL fixup from Jens Axboe:
       "Hui Tang reported a performance regressions with _TIF_WORK_MASK in
        newer kernels, which he tracked to a change that went into 5.11. After
        this change, we'll call do_work_pending() more often than we need to,
        because we're now testing bits 0..15 rather than just 0..7.
      
        Shuffle the bits around to avoid this"
      
      * tag 'tif-notify-signal-2023-01-06' of git://git.kernel.dk/linux:
        ARM: renumber bits related to _TIF_WORK_MASK
      93387d49
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-6.2-rc3' of https://github.com/ceph/ceph-client · 5c1a712f
      Linus Torvalds authored
      Pull ceph fixes from Ilya Dryomov:
       "Two file locking fixes from Xiubo"
      
      * tag 'ceph-for-6.2-rc3' of https://github.com/ceph/ceph-client:
        ceph: avoid use-after-free in ceph_fl_release_lock()
        ceph: switch to vfs_inode_has_locks() to fix file lock bug
      5c1a712f
    • Linus Torvalds's avatar
      Merge tag 'fixes_for_v6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 7b8c854c
      Linus Torvalds authored
      Pull UDF fixes from Jan Kara:
       "Two fixups of the UDF changes that went into 6.2-rc1"
      
      * tag 'fixes_for_v6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: initialize newblock to 0
        udf: Fix extension of the last extent in the file
      7b8c854c
    • Linus Torvalds's avatar
      Merge tag 'for-6.2-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · fc7b76c4
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A few more regression and regular fixes:
      
         - regressions:
             - fix assertion condition using = instead of ==
             - fix false alert on bad tree level check
             - fix off-by-one error in delalloc search during lseek
      
         - fix compat ro feature check at read-write remount
      
         - handle case when read-repair happens with ongoing device replace
      
         - updated error messages"
      
      * tag 'for-6.2-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix compat_ro checks against remount
        btrfs: always report error in run_one_delayed_ref()
        btrfs: handle case when repair happens with dev-replace
        btrfs: fix off-by-one in delalloc search during lseek
        btrfs: fix false alert on bad tree level check
        btrfs: add error message for metadata level mismatch
        btrfs: fix ASSERT em->len condition in btrfs_get_extent
      fc7b76c4
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · a389e546
      Linus Torvalds authored
      Pull RISC-V fixes from Palmer Dabbelt:
      
       - use the correct mask for c.jr/c.jalr when decoding instructions
      
       - build fix for get_user() to avoid a sparse warning
      
      * tag 'riscv-for-linus-6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: uaccess: fix type of 0 variable on error in get_user()
        riscv, kprobes: Stricter c.jr/c.jalr decoding
      a389e546
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.2-1-2023-01-06' of... · 56f81458
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.2-1-2023-01-06' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Fix segfault when trying to process tracepoints present in a
         perf.data file and not linked with libtraceevent.
      
       - Fix build on uClibc systems by adding missing sys/types.h include,
         that was being obtained indirectly which stopped being the case when
         tools/lib/traceevent was removed.
      
       - Don't show commands in 'perf help' that depend on linking with
         libtraceevent when not building with that library, which is now a
         possibility since we no longer ship a copy in tools/lib/traceevent.
      
       - Fix failure in 'perf test' entry testing the combination of 'perf
         probe' user space function + 'perf record' + 'perf script' where it
         expects a backtrace leading to glibc's inet_pton() from 'ping' that
         now happens more than once with glibc 2.35 for IPv6 addreses.
      
       - Fix for the inet_pton perf test on s/390 where
         'text_to_binary_address' now appears on the backtrace.
      
       - Fix build error on riscv due to missing header for 'struct
         perf_sample'.
      
       - Fix 'make -C tools perf_install' install variant by not propagating
         the 'subdir' to submakes for the 'install_headers' targets.
      
       - Fix handling of unsupported cgroup events when using BPF counters in
         'perf stat'.
      
       - Count all cgroups, not just the last one when using 'perf stat' and
         combining --for-each-cgroup with --bpf-counters.
      
         This makes the output using BPF counters match the output without
         using it, which was the intention all along, the output should be the
         same using --bpf-counters or not.
      
       - Fix 'perf lock contention' core dump related to not finding the
         "__sched_text_end" symbol on s/390.
      
       - Fix build failure when HEAD is signed: exclude the signature from the
         version string.
      
       - Add missing closedir() calls to in perf_data__open_dir(), plugging a
         fd leak.
      
      * tag 'perf-tools-fixes-for-v6.2-1-2023-01-06' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf tools: Fix build on uClibc systems by adding missing sys/types.h include
        perf stat: Fix handling of --for-each-cgroup with --bpf-counters to match non BPF mode
        perf stat: Fix handling of unsupported cgroup events when using BPF counters
        perf test record_probe_libc_inet_pton: Fix test on s/390 where 'text_to_binary_address' now appears on the backtrace
        perf lock contention: Fix core dump related to not finding the "__sched_text_end" symbol on s/390
        perf build: Don't propagate subdir to submakes for install_headers
        perf test record_probe_libc_inet_pton: Fix failure due to extra inet_pton() backtrace in glibc >= 2.35
        perf tools: Fix segfault when trying to process tracepoints in perf.data and not linked with libtraceevent
        perf tools: Don't include signature in version strings
        perf help: Use HAVE_LIBTRACEEVENT to filter out unsupported commands
        perf tools riscv: Fix build error on riscv due to missing header for 'struct perf_sample'
        perf tools: Fix resources leak in perf_data__open_dir()
      56f81458
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2023-01-06' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d7a0853d
      Linus Torvalds authored
      Pull perf fix from Ingo Molnar:
       "Intel RAPL updates for new model IDs"
      
      * tag 'perf-urgent-2023-01-06' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/rapl: Add support for Intel Emerald Rapids
        perf/x86/rapl: Add support for Intel Meteor Lake
        perf/x86/rapl: Treat Tigerlake like Icelake
      d7a0853d
    • Linus Torvalds's avatar
      Merge tag 'v6.2-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 90bc52c5
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This fixes a CFI crash in arm64/sm4 as well as a regression in the
        caam driver"
      
      * tag 'v6.2-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: arm64/sm4 - fix possible crash with CFI enabled
        crypto: caam - fix CAAM io mem access in blob_gen
      90bc52c5
    • Thinh Nguyen's avatar
      usb: dwc3: gadget: Ignore End Transfer delay on teardown · c4e3ef56
      Thinh Nguyen authored
      If we delay sending End Transfer for Setup TRB to be prepared, we need
      to check if the End Transfer was in preparation for a driver
      teardown/soft-disconnect. In those cases, just send the End Transfer
      command without delay.
      
      In the case of soft-disconnect, there's a very small chance the command
      may not go through immediately. But should it happen, the Setup TRB will
      be prepared during the polling of the controller halted state, allowing
      the command to go through then.
      
      In the case of disabling endpoint due to reconfiguration (e.g.
      set_interface(alt-setting) or usb reset), then it's driven by the host.
      Typically the host wouldn't immediately cancel the control request and
      send another control transfer to trigger the End Transfer command
      timeout.
      
      Fixes: 4db0fbb6 ("usb: dwc3: gadget: Don't delay End Transfer on delayed_status")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarThinh Nguyen <Thinh.Nguyen@synopsys.com>
      Link: https://lore.kernel.org/r/f1617a323e190b9cc408fb8b65456e32b5814113.1670546756.git.Thinh.Nguyen@synopsys.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c4e3ef56
    • Arnd Bergmann's avatar
      usb: dwc3: xilinx: include linux/gpio/consumer.h · e498a044
      Arnd Bergmann authored
      The newly added gpio consumer calls cause a build failure in configurations
      that fail to include the right header implicitly:
      
      drivers/usb/dwc3/dwc3-xilinx.c: In function 'dwc3_xlnx_init_zynqmp':
      drivers/usb/dwc3/dwc3-xilinx.c:207:22: error: implicit declaration of function 'devm_gpiod_get_optional'; did you mean 'devm_clk_get_optional'? [-Werror=implicit-function-declaration]
        207 |         reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
            |                      ^~~~~~~~~~~~~~~~~~~~~~~
            |                      devm_clk_get_optional
      
      Fixes: ca05b382 ("usb: dwc3: xilinx: Add gpio-reset support")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Link: https://lore.kernel.org/r/20230103121755.956027-1-arnd@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e498a044
    • Tom Rix's avatar
      udf: initialize newblock to 0 · 23970a1c
      Tom Rix authored
      The clang build reports this error
      fs/udf/inode.c:805:6: error: variable 'newblock' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
              if (*err < 0)
                  ^~~~~~~~
      newblock is never set before error handling jump.
      Initialize newblock to 0 and remove redundant settings.
      
      Fixes: d8b39db5fab8 ("udf: Handle error when adding extent to a file")
      Reported-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarTom Rix <trix@redhat.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Message-Id: <20221230175341.1629734-1-trix@redhat.com>
      23970a1c
    • Jan Kara's avatar
      udf: Fix extension of the last extent in the file · 83c7423d
      Jan Kara authored
      When extending the last extent in the file within the last block, we
      wrongly computed the length of the last extent. This is mostly a
      cosmetical problem since the extent does not contain any data and the
      length will be fixed up by following operations but still.
      
      Fixes: 1f3868f0 ("udf: Fix extending file within last block")
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      83c7423d
    • Daniel Vetter's avatar
      Merge tag 'drm-intel-fixes-2023-01-05' of... · 5193326c
      Daniel Vetter authored
      Merge tag 'drm-intel-fixes-2023-01-05' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      Only gvt-fixes:
           - debugfs fixes (Zhenyu)
           - fix up for vgpu status (Zhi)
           - double free fix in split_2MB_gtt_entry (Zheng)
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/Y7cszBkLRvAy6uao@intel.com
      5193326c
    • Yang Yingliang's avatar
      usb: fotg210-udc: fix error return code in fotg210_udc_probe() · 1a5a23b9
      Yang Yingliang authored
      After commit  5f217ccd ("fotg210-udc: Support optional external PHY"),
      the error code is re-assigned to 0 in fotg210_udc_probe(), if allocate or
      map memory fails after the assignment, it can't return an error code. Set
      the error code to -ENOMEM to fix this problem.
      
      Fixes: 5f217ccd ("fotg210-udc: Support optional external PHY")
      Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: https://lore.kernel.org/r/20221230065427.944586-1-yangyingliang@huawei.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1a5a23b9
  5. 05 Jan, 2023 2 commits
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 1f5abbd7
      Linus Torvalds authored
      Pull thermal control fix from Rafael Wysocki:
       "Add a missing sysfs attribute to the int340x thermal driver (Srinivas
        Pandruvada)"
      
      * tag 'thermal-6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: int340x: Add missing attribute for data rate base
      1f5abbd7
    • Linus Torvalds's avatar
      Merge tag 'net-6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 50011c32
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bpf, wifi, and netfilter.
      
        Current release - regressions:
      
         - bpf: fix nullness propagation for reg to reg comparisons, avoid
           null-deref
      
         - inet: control sockets should not use current thread task_frag
      
         - bpf: always use maximal size for copy_array()
      
         - eth: bnxt_en: don't link netdev to a devlink port for VFs
      
        Current release - new code bugs:
      
         - rxrpc: fix a couple of potential use-after-frees
      
         - netfilter: conntrack: fix IPv6 exthdr error check
      
         - wifi: iwlwifi: fw: skip PPAG for JF, avoid FW crashes
      
         - eth: dsa: qca8k: various fixes for the in-band register access
      
         - eth: nfp: fix schedule in atomic context when sync mc address
      
         - eth: renesas: rswitch: fix getting mac address from device tree
      
         - mobile: ipa: use proper endpoint mask for suspend
      
        Previous releases - regressions:
      
         - tcp: add TIME_WAIT sockets in bhash2, fix regression caught by
           Jiri / python tests
      
         - net: tc: don't intepret cls results when asked to drop, fix
           oob-access
      
         - vrf: determine the dst using the original ifindex for multicast
      
         - eth: bnxt_en:
            - fix XDP RX path if BPF adjusted packet length
            - fix HDS (header placement) and jumbo thresholds for RX packets
      
         - eth: ice: xsk: do not use xdp_return_frame() on tx_buf->raw_buf,
           avoid memory corruptions
      
        Previous releases - always broken:
      
         - ulp: prevent ULP without clone op from entering the LISTEN status
      
         - veth: fix race with AF_XDP exposing old or uninitialized
           descriptors
      
         - bpf:
            - pull before calling skb_postpull_rcsum() (fix checksum support
              and avoid a WARN())
            - fix panic due to wrong pageattr of im->image (when livepatch and
              kretfunc coexist)
            - keep a reference to the mm, in case the task is dead
      
         - mptcp: fix deadlock in fastopen error path
      
         - netfilter:
            - nf_tables: perform type checking for existing sets
            - nf_tables: honor set timeout and garbage collection updates
            - ipset: fix hash:net,port,net hang with /0 subnet
            - ipset: avoid hung task warning when adding/deleting entries
      
         - selftests: net:
            - fix cmsg_so_mark.sh test hang on non-x86 systems
            - fix the arp_ndisc_evict_nocarrier test for IPv6
      
         - usb: rndis_host: secure rndis_query check against int overflow
      
         - eth: r8169: fix dmar pte write access during suspend/resume with
           WOL
      
         - eth: lan966x: fix configuration of the PCS
      
         - eth: sparx5: fix reading of the MAC address
      
         - eth: qed: allow sleep in qed_mcp_trace_dump()
      
         - eth: hns3:
            - fix interrupts re-initialization after VF FLR
            - fix handling of promisc when MAC addr table gets full
            - refine the handling for VF heartbeat
      
         - eth: mlx5:
            - properly handle ingress QinQ-tagged packets on VST
            - fix io_eq_size and event_eq_size params validation on big endian
            - fix RoCE setting at HCA level if not supported at all
            - don't turn CQE compression on by default for IPoIB
      
         - eth: ena:
            - fix toeplitz initial hash key value
            - account for the number of XDP-processed bytes in interface stats
            - fix rx_copybreak value update
      
        Misc:
      
         - ethtool: harden phy stat handling against buggy drivers
      
         - docs: netdev: convert maintainer's doc from FAQ to a normal
           document"
      
      * tag 'net-6.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (112 commits)
        caif: fix memory leak in cfctrl_linkup_request()
        inet: control sockets should not use current thread task_frag
        net/ulp: prevent ULP without clone op from entering the LISTEN status
        qed: allow sleep in qed_mcp_trace_dump()
        MAINTAINERS: Update maintainers for ptp_vmw driver
        usb: rndis_host: Secure rndis_query check against int overflow
        net: dpaa: Fix dtsec check for PCS availability
        octeontx2-pf: Fix lmtst ID used in aura free
        drivers/net/bonding/bond_3ad: return when there's no aggregator
        netfilter: ipset: Rework long task execution when adding/deleting entries
        netfilter: ipset: fix hash:net,port,net hang with /0 subnet
        net: sparx5: Fix reading of the MAC address
        vxlan: Fix memory leaks in error path
        net: sched: htb: fix htb_classify() kernel-doc
        net: sched: cbq: dont intepret cls results when asked to drop
        net: sched: atm: dont intepret cls results when asked to drop
        dt-bindings: net: marvell,orion-mdio: Fix examples
        dt-bindings: net: sun8i-emac: Add phy-supply property
        net: ipa: use proper endpoint mask for suspend
        selftests: net: return non-zero for failures reported in arp_ndisc_evict_nocarrier
        ...
      50011c32