1. 20 Feb, 2023 2 commits
    • Linus Torvalds's avatar
      Merge tag 'rust-6.3' of https://github.com/Rust-for-Linux/linux · 69adb0bc
      Linus Torvalds authored
      Pull Rust updates from Miguel Ojeda:
       "More core additions, getting closer to a point where the first Rust
        modules can be upstreamed. The major ones being:
      
         - Sync: new types 'Arc', 'ArcBorrow' and 'UniqueArc'.
      
         - Types: new trait 'ForeignOwnable' and new type 'ScopeGuard'.
      
        There is also a substantial removal in terms of lines:
      
         - 'alloc' crate: remove the 'borrow' module (type 'Cow' and trait
           'ToOwned')"
      
      * tag 'rust-6.3' of https://github.com/Rust-for-Linux/linux:
        rust: delete rust-project.json when running make clean
        rust: MAINTAINERS: Add the zulip link
        rust: types: implement `ForeignOwnable` for `Arc<T>`
        rust: types: implement `ForeignOwnable` for the unit type
        rust: types: implement `ForeignOwnable` for `Box<T>`
        rust: types: introduce `ForeignOwnable`
        rust: types: introduce `ScopeGuard`
        rust: prelude: prevent doc inline of external imports
        rust: sync: add support for dispatching on Arc and ArcBorrow.
        rust: sync: introduce `UniqueArc`
        rust: sync: allow type of `self` to be `ArcBorrow<T>`
        rust: sync: introduce `ArcBorrow`
        rust: sync: allow coercion from `Arc<T>` to `Arc<U>`
        rust: sync: allow type of `self` to be `Arc<T>` or variants
        rust: sync: add `Arc` for ref-counted allocations
        rust: compiler_builtins: make stubs non-global
        rust: alloc: remove the `borrow` module (`ToOwned`, `Cow`)
      69adb0bc
    • Linus Torvalds's avatar
      Merge tag 'remove-get_kernel_pages-for-6.3' of... · d644c670
      Linus Torvalds authored
      Merge tag 'remove-get_kernel_pages-for-6.3' of https://git.linaro.org/people/jens.wiklander/linux-tee
      
      Pull TEE update from Jens Wiklander:
       "Remove get_kernel_pages()
      
        Vmalloc page support is removed from shm_get_kernel_pages() and the
        get_kernel_pages() call is replaced by calls to get_page(). With no
        remaining callers of get_kernel_pages() the function is removed"
      
      [ This looks like it's just some random 'tee' cleanup, but the bigger
        picture impetus for this is really to to to remove historical
        confusion with mixed use of kernel virtual addresses and 'struct page'
        pointers.
      
        Kernel virtual pointers in the vmalloc space is then particularly
        confusing - both for looking up a page pointer (when trying to then
        unify a "virtual address or page" interface) and _particularly_ when
        mixed with HIGHMEM support and the kmap*() family of remapping.
      
        This is particularly true with HIGHMEM getting much less test coverage
        with 32-bit architectures being increasingly legacy targets.
      
        So we actively wanted to remove get_kernel_pages() to make sure nobody
        else used it too, and thus the 'tee' part is "finally remove last
        user".
      
        See also commit 6647e76a ("v4l2: don't fall back to follow_pfn()
        if pin_user_pages_fast() fails") for a totally different version of a
        conceptually similar "let's stop this confusion of different ways of
        referring to memory".   - Linus ]
      
      * tag 'remove-get_kernel_pages-for-6.3' of https://git.linaro.org/people/jens.wiklander/linux-tee:
        mm: Remove get_kernel_pages()
        tee: Remove call to get_kernel_pages()
        tee: Remove vmalloc page support
        highmem: Enhance is_kmap_addr() to check kmap_local_page() mappings
      d644c670
  2. 19 Feb, 2023 4 commits
  3. 18 Feb, 2023 4 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 5e725d11
      Linus Torvalds authored
      Pull kvm/x86 fixes from Paolo Bonzini:
      
       - zero all padding for KVM_GET_DEBUGREGS
      
       - fix rST warning
      
       - disable vPMU support on hybrid CPUs
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        kvm: initialize all of the kvm_debugregs structure before sending it to userspace
        perf/x86: Refuse to export capabilities for hybrid PMUs
        KVM: x86/pmu: Disable vPMU support on hybrid CPUs (host PMUs)
        Documentation/hw-vuln: Fix rST warning
      5e725d11
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 0c2822b1
      Linus Torvalds authored
      Pull arm64 regression fix from Will Deacon:
       "Apologies for the _extremely_ late pull request here, but we had a
        'perf' (i.e. CPU PMU) regression on the Apple M1 reported on Wednesday
        [1] which was introduced by bd275681 ("perf: Rewrite core context
        handling") during the merge window.
      
        Mark and I looked into this and noticed an additional problem caused
        by the same patch, where the 'CHAIN' event (used to combine two
        adjacent 32-bit counters into a single 64-bit counter) was not being
        filtered correctly. Mark posted a series on Thursday [2] which
        addresses both of these regressions and I queued it the same day.
      
        The changes are small, self-contained and have been confirmed to fix
        the original regression.
      
        Summary:
      
         - Fix 'perf' regression for non-standard CPU PMU hardware (i.e. Apple
           M1)"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: perf: reject CHAIN events at creation time
        arm_pmu: fix event CPU filtering
      0c2822b1
    • Linus Torvalds's avatar
      Merge tag 'block-6.2-2023-02-17' of git://git.kernel.dk/linux · 0e9fd589
      Linus Torvalds authored
      Pull block fix from Jens Axboe:
       "I guess this is what can happen when you prep things early for going
        away, something else comes in last minute. This one fixes another
        regression in 6.2 for NVMe, from this release, and hence we should
        probably get it submitted for 6.2.
      
        Still waiting for the original reporter (see bugzilla linked in the
        commit) to test this, but Keith managed to setup and recreate the
        issue and tested the patch that way"
      
      * tag 'block-6.2-2023-02-17' of git://git.kernel.dk/linux:
        nvme-pci: refresh visible attrs for cmb attributes
      0e9fd589
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2023-02-17-15-16-2' of... · 38f8ccde
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2023-02-17-15-16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc fixes from Andrew Morton:
       "Six hotfixes. Five are cc:stable: four for MM, one for nilfs2.
      
        Also a MAINTAINERS update"
      
      * tag 'mm-hotfixes-stable-2023-02-17-15-16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        nilfs2: fix underflow in second superblock position calculations
        hugetlb: check for undefined shift on 32 bit architectures
        mm/migrate: fix wrongly apply write bit after mkdirty on sparc64
        MAINTAINERS: update FPU EMULATOR web page
        mm/MADV_COLLAPSE: set EAGAIN on unexpected page refcount
        mm/filemap: fix page end in filemap_get_read_batch
      38f8ccde
  4. 17 Feb, 2023 20 commits
  5. 16 Feb, 2023 10 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2023-02-16' of... · f7597e3c
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2023-02-16' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      - Moving gen11 hw wa to the right place. (Matt)
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/Y+47eUvwbafER35/@intel.com
      f7597e3c
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2023-02-16' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · a2a04b51
      Dave Airlie authored
      Multiple fixes in vc4 to address issues with YUV planes, HDMI and CRTC;
      an invalid page access fix for fbdev, mark dynamic debug as broken, a
      double free and refcounting fix for vmwgfx.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230216091905.i5wswy4dd74x4br5@houat
      a2a04b51
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-6.2-2023-02-15' of... · caa068c9
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-6.2-2023-02-15' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      
      amd-drm-fixes-6.2-2023-02-15:
      
      amdgpu:
      - Fix GC11.x suspend warning
      - Fix display warning
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230216041122.7714-1-alexander.deucher@amd.com
      caa068c9
    • Mark Rutland's avatar
      arm64: perf: reject CHAIN events at creation time · 853e2dac
      Mark Rutland authored
      Currently it's possible for a user to open CHAIN events arbitrarily,
      which we previously tried to rule out in commit:
      
        ca2b4972 ("arm64: perf: Reject stand-alone CHAIN events for PMUv3")
      
      Which allowed the events to be opened, but prevented them from being
      scheduled by by using an arm_pmu::filter_match hook to reject the
      relevant events.
      
      The CHAIN event filtering in the arm_pmu::filter_match hook was silently
      removed in commit:
      
        bd275681 ("perf: Rewrite core context handling")
      
      As a result, it's now possible for users to open CHAIN events, and for
      these to be installed arbitrarily.
      
      Fix this by rejecting CHAIN events at creation time. This avoids the
      creation of events which will never count, and doesn't require using the
      dynamic filtering.
      
      Attempting to open a CHAIN event (0x1e) will now be rejected:
      
      | # ./perf stat -e armv8_pmuv3/config=0x1e/ ls
      | perf
      |
      |  Performance counter stats for 'ls':
      |
      |    <not supported>      armv8_pmuv3/config=0x1e/
      |
      |        0.002197470 seconds time elapsed
      |
      |        0.000000000 seconds user
      |        0.002294000 seconds sys
      
      Other events (e.g. CPU_CYCLES / 0x11) will open as usual:
      
      | # ./perf stat -e armv8_pmuv3/config=0x11/ ls
      | perf
      |
      |  Performance counter stats for 'ls':
      |
      |            2538761      armv8_pmuv3/config=0x11/
      |
      |        0.002227330 seconds time elapsed
      |
      |        0.002369000 seconds user
      |        0.000000000 seconds sys
      
      Fixes: bd275681 ("perf: Rewrite core context handling")
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ravi Bangoria <ravi.bangoria@amd.com>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/r/20230216141240.3833272-3-mark.rutland@arm.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      853e2dac
    • Mark Rutland's avatar
      arm_pmu: fix event CPU filtering · 61d03862
      Mark Rutland authored
      Janne reports that perf has been broken on Apple M1 as of commit:
      
        bd275681 ("perf: Rewrite core context handling")
      
      That commit replaced the pmu::filter_match() callback with
      pmu::filter(), whose return value has the opposite polarity, with true
      implying events should be ignored rather than scheduled. While an
      attempt was made to update the logic in armv8pmu_filter() and
      armpmu_filter() accordingly, the return value remains inverted in a
      couple of cases:
      
      * If the arm_pmu does not have an arm_pmu::filter() callback,
        armpmu_filter() will always return whether the CPU is supported rather
        than whether the CPU is not supported.
      
        As a result, the perf core will not schedule events on supported CPUs,
        resulting in a loss of events. Additionally, the perf core will
        attempt to schedule events on unsupported CPUs, but this will be
        rejected by armpmu_add(), which may result in a loss of events from
        other PMUs on those unsupported CPUs.
      
      * If the arm_pmu does have an arm_pmu::filter() callback, and
        armpmu_filter() is called on a CPU which is not supported by the
        arm_pmu, armpmu_filter() will return false rather than true.
      
        As a result, the perf core will attempt to schedule events on
        unsupported CPUs, but this will be rejected by armpmu_add(), which may
        result in a loss of events from other PMUs on those unsupported CPUs.
      
      This means a loss of events can be seen with any arm_pmu driver, but
      with the ARMv8 PMUv3 driver (which is the only arm_pmu driver with an
      arm_pmu::filter() callback) the event loss will be more limited and may
      go unnoticed, which is how this issue evaded testing so far.
      
      Fix the CPU filtering by performing this consistently in
      armpmu_filter(), and remove the redundant arm_pmu::filter() callback and
      armv8pmu_filter() implementation.
      
      Commit bd275681 also silently removed the CHAIN event filtering from
      armv8pmu_filter(), which will be addressed by a separate patch without
      using the filter callback.
      
      Fixes: bd275681 ("perf: Rewrite core context handling")
      Reported-by: default avatarJanne Grunau <j@jannau.net>
      Link: https://lore.kernel.org/asahi/20230215-arm_pmu_m1_regression-v1-1-f5a266577c8d@jannau.net/Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ravi Bangoria <ravi.bangoria@amd.com>
      Cc: Asahi Lina <lina@asahilina.net>
      Cc: Eric Curtin <ecurtin@redhat.com>
      Tested-by: default avatarJanne Grunau <j@jannau.net>
      Link: https://lore.kernel.org/r/20230216141240.3833272-2-mark.rutland@arm.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      61d03862
    • Linus Torvalds's avatar
      Merge tag 'net-6.2-final' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 3ac88fa4
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Fixes from the main networking tree only, probably because all
        sub-trees have backed off and haven't submitted their changes.
      
        None of the fixes here are particularly scary and no outstanding
        regressions. In an ideal world the "current release" sections would be
        empty at this stage but that never happens.
      
        Current release - regressions:
      
         - fix unwanted sign extension in netdev_stats_to_stats64()
      
        Current release - new code bugs:
      
         - initialize net->notrefcnt_tracker earlier
      
         - devlink: fix netdev notifier chain corruption
      
         - nfp: make sure mbox accesses in IPsec code are atomic
      
         - ice: fix check for weight and priority of a scheduling node
      
        Previous releases - regressions:
      
         - ice: xsk: fix cleaning of XDP_TX frame, prevent inf loop
      
         - igb: fix I2C bit banging config with external thermal sensor
      
        Previous releases - always broken:
      
         - sched: tcindex: update imperfect hash filters respecting rcu
      
         - mpls: fix stale pointer if allocation fails during device rename
      
         - dccp/tcp: avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions
      
         - remove WARN_ON_ONCE(sk->sk_forward_alloc) from
           sk_stream_kill_queues()
      
         - af_key: fix heap information leak
      
         - ipv6: fix socket connection with DSCP (correct interpretation of
           the tclass field vs fib rule matching)
      
         - tipc: fix kernel warning when sending SYN message
      
         - vmxnet3: read RSS information from the correct descriptor (eop)"
      
      * tag 'net-6.2-final' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (35 commits)
        devlink: Fix netdev notifier chain corruption
        igb: conditionalize I2C bit banging on external thermal sensor support
        net: mpls: fix stale pointer if allocation fails during device rename
        net/sched: tcindex: search key must be 16 bits
        tipc: fix kernel warning when sending SYN message
        igb: Fix PPS input and output using 3rd and 4th SDP
        net: use a bounce buffer for copying skb->mark
        ixgbe: add double of VLAN header when computing the max MTU
        i40e: add double of VLAN header when computing the max MTU
        ixgbe: allow to increase MTU to 3K with XDP enabled
        net: stmmac: Restrict warning on disabling DMA store and fwd mode
        net/sched: act_ctinfo: use percpu stats
        net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence
        ice: fix lost multicast packets in promisc mode
        ice: Fix check for weight and priority of a scheduling node
        bnxt_en: Fix mqprio and XDP ring checking logic
        net: Fix unwanted sign extension in netdev_stats_to_stats64()
        net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path
        net: openvswitch: fix possible memory leak in ovs_meter_cmd_set()
        af_key: Fix heap information leak
        ...
      3ac88fa4
    • Linus Torvalds's avatar
      Merge tag 'block-6.2-2023-02-16' of git://git.kernel.dk/linux · d3d6f0eb
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Just a few NVMe fixes that should go into the 6.2 release, adding a
        quirk and fixing two issues introduced in this release:
      
         - NVMe fixes via Christoph:
             - Always return an ERR_PTR from nvme_pci_alloc_dev (Irvin Cote)
             - Add bogus ID quirk for ADATA SX6000PNP (Daniel Wagner)
             - Set the DMA mask earlier (Christoph Hellwig)"
      
      * tag 'block-6.2-2023-02-16' of git://git.kernel.dk/linux:
        nvme-pci: always return an ERR_PTR from nvme_pci_alloc_dev
        nvme-pci: set the DMA mask earlier
        nvme-pci: add bogus ID quirk for ADATA SX6000PNP
      d3d6f0eb
    • Linus Torvalds's avatar
      Merge tag 'spi-v6.2-rc8-abi' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · b5596f1d
      Linus Torvalds authored
      Pull spi fix from Mark Brown:
       "One more last minute patch for v6.2 updating the parsing of the newly
        added spi-cs-setup-delay-ns.
      
        It's been pointed out that due to the way DT parsing works the change
        in property size is ABI visible so let's not let a release go out
        without it being fixed. The change got split from some earlier ABI
        related fixes to the property since the first version sent had a build
        error"
      
      * tag 'spi-v6.2-rc8-abi' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: Use a 32-bit DT property for spi-cs-setup-delay-ns
      b5596f1d
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 18902059
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - fix a potential Kconfig issue with gpio-mlxbf2 not selecting
         GPIOLIB_IRQCHIP
      
       - another immutable irqchip conversion, this time for gpio-vf610
      
       - fix a wakeup issue on Clevo NH5xAx
      
      * tag 'gpio-fixes-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: mlxbf2: select GPIOLIB_IRQCHIP
        gpiolib: acpi: Add a ignore wakeup quirk for Clevo NH5xAx
        gpio: vf610: make irq_chip immutable
        gpiolib: acpi: remove redundant declaration
      18902059
    • Christoph Hellwig's avatar
      stop mainaining UUID · 88d35583
      Christoph Hellwig authored
      The uuid code is very low maintainance now that the major overhaul
      has completed, and doesn't need it's own tree.  All the recent work
      has been done by Andy who'd like to stay on as a reviewer without an
      explicit tree.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Acked-by: default avatarAndy Shevchenko <andy@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      88d35583