Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to linux-6.10-rc2 from kvm/next + SVSM host/guest support + direct VMSA #6

Open
wants to merge 10,000 commits into
base: master
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on May 28, 2024

  1. Merge branch 'selftests-mptcp-mark-unstable-subtests-as-flaky'

    Matthieu Baerts says:
    
    ====================
    selftests: mptcp: mark unstable subtests as flaky
    
    Some subtests can be unstable, failing once every X runs. Fixing them
    can take time: there could be an issue in the kernel or in the subtest,
    and it is then important to do a proper analysis, not to hide real bugs.
    
    To avoid creating noises on the different CIs where tests are more
    unstable than on our side, some subtests have been marked as flaky. As a
    result, errors with these subtests (if any) are ignored.
    
    Note that the MPTCP CI will continue to track these flaky subtests. All
    these unstable subtests are also tracked by our bug tracker.
    
    These are fixes for the -net tree, because the instabilities are visible
    there. The first patch introducing the flake support has no 'Fixes'
    tags, mainly because it requires recent and important refactoring done
    in all MPTCP selftests. Backporting that to old versions where the flaky
    tests have been introduced would be too difficult, and probably not
    worth it. The other patches, adding MPTCP_LIB_SUBTEST_FLAKY=1, have a
    Fixes tag, simply to ease the backport of the future fixes removing them
    along with the proper fix.
    ====================
    
    Link: https://lore.kernel.org/r/20240524-upstream-net-20240524-selftests-mptcp-flaky-v1-0-a352362f3f8e@kernel.org
    Signed-off-by: Jakub Kicinski <[email protected]>
    kuba-moo committed May 28, 2024
    Configuration menu
    Copy the full SHA
    6e15774 View commit details
    Browse the repository at this point in the history
  2. docs: netdev: Fix typo in Signed-off-by tag

    s/of/off/
    
    Signed-off-by: Thorsten Blum <[email protected]>
    Fixes: e110ba6 ("docs: netdev: add note about Changes Requested and revising commit messages")
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    toblux authored and kuba-moo committed May 28, 2024
    Configuration menu
    Copy the full SHA
    c519cf9 View commit details
    Browse the repository at this point in the history
  3. drm/xe: Change pcode timeout to 50msec while polling again

    Polling is initially attempted with timeout_base_ms enabled for
    preemption, and if it exceeds this timeframe, another attempt is made
    without preemption, allowing an additional 50 ms before timing out.
    
    v2
    - Rebase
    
    v3
    - Move warnings to separate patch (Lucas)
    
    Cc: Lucas De Marchi <[email protected]>
    Cc: Rodrigo Vivi <[email protected]>
    Signed-off-by: Himal Prasad Ghimiray <[email protected]>
    Fixes: 7dc9b92 ("drm/xe: Remove i915_utils dependency from xe_pcode.")
    Reviewed-by: Lucas De Marchi <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Rodrigo Vivi <[email protected]>
    (cherry picked from commit c81858e)
    Signed-off-by: Thomas Hellström <[email protected]>
    hghimira authored and Thomas Hellström committed May 28, 2024
    Configuration menu
    Copy the full SHA
    77b79df View commit details
    Browse the repository at this point in the history
  4. drm/xe: Only use reserved BCS instances for usm migrate exec queue

    The GuC context scheduling queue is 2 entires deep, thus it is possible
    for a migration job to be stuck behind a fault if migration exec queue
    shares engines with user jobs. This can deadlock as the migrate exec
    queue is required to service page faults. Avoid deadlock by only using
    reserved BCS instances for usm migrate exec queue.
    
    Fixes: a043fba ("drm/xe/pvc: Use fast copy engines as migrate engine on PVC")
    Cc: Matt Roper <[email protected]>
    Cc: Niranjana Vishwanathapura <[email protected]>
    Signed-off-by: Matthew Brost <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Reviewed-by: Brian Welty <[email protected]>
    (cherry picked from commit 04f4a70)
    Signed-off-by: Thomas Hellström <[email protected]>
    mbrost05 authored and Thomas Hellström committed May 28, 2024
    Configuration menu
    Copy the full SHA
    c8ea2c3 View commit details
    Browse the repository at this point in the history
  5. drm/xe: Properly handle alloc_guc_id() failure

    Release the submission_state lock if alloc_guc_id() fails.
    
    v2: Add Fixes tag and CC stable kernel
    
    Fixes: dd08ebf ("drm/xe: Introduce a new DRM driver for Intel GPUs")
    Cc: <[email protected]> # v6.8+
    Signed-off-by: Niranjana Vishwanathapura <[email protected]>
    Reviewed-by: Nirmoy Das <[email protected]>
    Reviewed-by: Matthew Brost <[email protected]>
    Signed-off-by: José Roberto de Souza <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 40672b7)
    Signed-off-by: Thomas Hellström <[email protected]>
    nvishwa1 authored and Thomas Hellström committed May 28, 2024
    Configuration menu
    Copy the full SHA
    6c5cd08 View commit details
    Browse the repository at this point in the history
  6. tpm_tis_spi: Account for SPI header when allocating TPM SPI xfer buffer

    The TPM SPI transfer mechanism uses MAX_SPI_FRAMESIZE for computing the
    maximum transfer length and the size of the transfer buffer. As such, it
    does not account for the 4 bytes of header that prepends the SPI data
    frame. This can result in out-of-bounds accesses and was confirmed with
    KASAN.
    
    Introduce SPI_HDRSIZE to account for the header and use to allocate the
    transfer buffer.
    
    Fixes: a86a42a ("tpm_tis_spi: Add hardware wait polling")
    Signed-off-by: Matthew R. Ochs <[email protected]>
    Tested-by: Carol Soto <[email protected]>
    Reviewed-by: Jarkko Sakkinen <[email protected]>
    Signed-off-by: Jarkko Sakkinen <[email protected]>
    nvmochs authored and jarkkojs committed May 28, 2024
    Configuration menu
    Copy the full SHA
    195aba9 View commit details
    Browse the repository at this point in the history
  7. tpm: Open code tpm_buf_parameters()

    With only single call site, this makes no sense (slipped out of the
    radar during the review). Open code and document the action directly
    to the site, to make it more readable.
    
    Fixes: 1b6d7f9 ("tpm: add session encryption protection to tpm2_get_random()")
    Signed-off-by: Jarkko Sakkinen <[email protected]>
    jarkkojs committed May 28, 2024
    Configuration menu
    Copy the full SHA
    f3d7ba9 View commit details
    Browse the repository at this point in the history
  8. sock_map: avoid race between sock_map_close and sk_psock_put

    sk_psock_get will return NULL if the refcount of psock has gone to 0, which
    will happen when the last call of sk_psock_put is done. However,
    sk_psock_drop may not have finished yet, so the close callback will still
    point to sock_map_close despite psock being NULL.
    
    This can be reproduced with a thread deleting an element from the sock map,
    while the second one creates a socket, adds it to the map and closes it.
    
    That will trigger the WARN_ON_ONCE:
    
    ------------[ cut here ]------------
    WARNING: CPU: 1 PID: 7220 at net/core/sock_map.c:1701 sock_map_close+0x2a2/0x2d0 net/core/sock_map.c:1701
    Modules linked in:
    CPU: 1 PID: 7220 Comm: syz-executor380 Not tainted 6.9.0-syzkaller-07726-g3c999d1ae3c7 #0
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024
    RIP: 0010:sock_map_close+0x2a2/0x2d0 net/core/sock_map.c:1701
    Code: df e8 92 29 88 f8 48 8b 1b 48 89 d8 48 c1 e8 03 42 80 3c 20 00 74 08 48 89 df e8 79 29 88 f8 4c 8b 23 eb 89 e8 4f 15 23 f8 90 <0f> 0b 90 48 83 c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d e9 13 26 3d 02
    RSP: 0018:ffffc9000441fda8 EFLAGS: 00010293
    RAX: ffffffff89731ae1 RBX: ffffffff94b87540 RCX: ffff888029470000
    RDX: 0000000000000000 RSI: ffffffff8bcab5c0 RDI: ffffffff8c1faba0
    RBP: 0000000000000000 R08: ffffffff92f9b61f R09: 1ffffffff25f36c3
    R10: dffffc0000000000 R11: fffffbfff25f36c4 R12: ffffffff89731840
    R13: ffff88804b587000 R14: ffff88804b587000 R15: ffffffff89731870
    FS:  000055555e080380(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000000000 CR3: 00000000207d4000 CR4: 0000000000350ef0
    Call Trace:
     <TASK>
     unix_release+0x87/0xc0 net/unix/af_unix.c:1048
     __sock_release net/socket.c:659 [inline]
     sock_close+0xbe/0x240 net/socket.c:1421
     __fput+0x42b/0x8a0 fs/file_table.c:422
     __do_sys_close fs/open.c:1556 [inline]
     __se_sys_close fs/open.c:1541 [inline]
     __x64_sys_close+0x7f/0x110 fs/open.c:1541
     do_syscall_x64 arch/x86/entry/common.c:52 [inline]
     do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
    RIP: 0033:0x7fb37d618070
    Code: 00 00 48 c7 c2 b8 ff ff ff f7 d8 64 89 02 b8 ff ff ff ff eb d4 e8 10 2c 00 00 80 3d 31 f0 07 00 00 74 17 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 48 c3 0f 1f 80 00 00 00 00 48 83 ec 18 89 7c
    RSP: 002b:00007ffcd4a525d8 EFLAGS: 00000202 ORIG_RAX: 0000000000000003
    RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fb37d618070
    RDX: 0000000000000010 RSI: 00000000200001c0 RDI: 0000000000000004
    RBP: 0000000000000000 R08: 0000000100000000 R09: 0000000100000000
    R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000000
    R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
     </TASK>
    
    Use sk_psock, which will only check that the pointer is not been set to
    NULL yet, which should only happen after the callbacks are restored. If,
    then, a reference can still be gotten, we may call sk_psock_stop and cancel
    psock->work.
    
    As suggested by Paolo Abeni, reorder the condition so the control flow is
    less convoluted.
    
    After that change, the reproducer does not trigger the WARN_ON_ONCE
    anymore.
    
    Suggested-by: Paolo Abeni <[email protected]>
    Reported-by: [email protected]
    Closes: https://syzkaller.appspot.com/bug?extid=07a2e4a1a57118ef7355
    Fixes: aadb2bb ("sock_map: Fix a potential use-after-free in sock_map_close()")
    Fixes: 5b4a79b ("bpf, sockmap: Don't let sock_map_{close,destroy,unhash} call itself")
    Cc: [email protected]
    Signed-off-by: Thadeu Lima de Souza Cascardo <[email protected]>
    Acked-by: Jakub Sitnicki <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    Thadeu Lima de Souza Cascardo authored and Paolo Abeni committed May 28, 2024
    Configuration menu
    Copy the full SHA
    4b4647a View commit details
    Browse the repository at this point in the history
  9. tpm: Rename TPM2_OA_TMPL to TPM2_OA_NULL_KEY and make it local

    Rename and document TPM2_OA_TMPL, as originally requested in the patch
    set review, but left unaddressed without any appropriate reasoning. The
    new name is TPM2_OA_NULL_KEY, has a documentation and is local only to
    tpm2-sessions.c.
    
    Link: https://lore.kernel.org/linux-integrity/ddbeb8111f48a8ddb0b8fca248dff6cc9d7079b2.camel@HansenPartnership.com/
    Link: https://lore.kernel.org/linux-integrity/CZCKTWU6ZCC9.2UTEQPEVICYHL@suppilovahvero/
    Signed-off-by: Jarkko Sakkinen <[email protected]>
    jarkkojs committed May 28, 2024
    Configuration menu
    Copy the full SHA
    f09fc6c View commit details
    Browse the repository at this point in the history
  10. tpm: Enable TCG_TPM2_HMAC by default only for X86_64

    Given the not fully root caused performance issues on non-x86 platforms,
    enable the feature by default only for x86-64. That is the platform it
    brings the most value and has gone most of the QA. Can be reconsidered
    later and can be obviously opt-in enabled too on any arch.
    
    Link: https://lore.kernel.org/linux-integrity/[email protected]/#t
    Signed-off-by: Jarkko Sakkinen <[email protected]>
    jarkkojs committed May 28, 2024
    Configuration menu
    Copy the full SHA
    d3e43a8 View commit details
    Browse the repository at this point in the history
  11. ALSA: seq: Fix missing bank setup between MIDI1/MIDI2 UMP conversion

    When a UMP packet is converted between MIDI1 and MIDI2 protocols, the
    bank selection may be lost.  The conversion from MIDI1 to MIDI2 needs
    the encoding of the bank into UMP_MSG_STATUS_PROGRAM bits, while the
    conversion from MIDI2 to MIDI1 needs the extraction from that
    instead.
    
    This patch implements the missing bank selection mechanism in those
    conversions.
    
    Fixes: e9e0281 ("ALSA: seq: Automatic conversion of UMP events")
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    tiwai committed May 28, 2024
    Configuration menu
    Copy the full SHA
    8a42886 View commit details
    Browse the repository at this point in the history
  12. ALSA: seq: Don't clear bank selection at event -> UMP MIDI2 conversion

    The current code to convert from a legacy sequencer event to UMP MIDI2
    clears the bank selection at each time the program change is
    submitted.  This is confusing and may lead to incorrect bank values
    tranmitted to the destination in the end.
    
    Drop the line to clear the bank info and keep the provided values.
    
    Fixes: e9e0281 ("ALSA: seq: Automatic conversion of UMP events")
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    tiwai committed May 28, 2024
    Configuration menu
    Copy the full SHA
    a200df7 View commit details
    Browse the repository at this point in the history
  13. ALSA/hda: intel-dsp-config: reduce log verbosity

    The information on PCI class/subclass was interesting in the Skylake
    timeframe, since the DSP was only enabled on a limited number of
    platforms. Now most Intel platforms do enable the DSP, so the
    information is less interesting to log.
    
    When a DSP driver is used, the common helper may be called multiple
    times due to deferred probes, but there's no reason to print the same
    information multiple times. Using dev_info_once() covers all the
    existing usages for internal cards with DSPs. External cards don't
    rely on DSPs so far.
    
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Reviewed-by: Bard Liao <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    plbossart authored and tiwai committed May 28, 2024
    Configuration menu
    Copy the full SHA
    e662c90 View commit details
    Browse the repository at this point in the history
  14. regulator: rtq2208: Fix invalid memory access when devm_of_regulator_…

    …put_matches is called
    
    In this patch, a software bug has been fixed.
    rtq2208_ldo_match is no longer a local variable.
    It prevents invalid memory access when devm_of_regulator_put_matches
     is called.
    
    Signed-off-by: Alina Yu <[email protected]>
    Link: https://msgid.link/r/4ce8c4f16f1cf3aa4e5f36c0694dd3c5ccf3cd1c.1716870419.git.alina_yu@richtek.com
    Signed-off-by: Mark Brown <[email protected]>
    Alina Yu authored and broonie committed May 28, 2024
    Configuration menu
    Copy the full SHA
    72b6a2d View commit details
    Browse the repository at this point in the history
  15. null_blk: Print correct max open zones limit in null_init_zoned_dev()

    When changing the maximum number of open zones, print that number
    instead of the total number of zones.
    
    Fixes: dc4d137 ("null_blk: add support for max open/active zone limit for zoned devices")
    Cc: [email protected]
    Signed-off-by: Damien Le Moal <[email protected]>
    Reviewed-by: Niklas Cassel <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    damien-lemoal authored and axboe committed May 28, 2024
    Configuration menu
    Copy the full SHA
    233e27b View commit details
    Browse the repository at this point in the history
  16. sd: also set max_user_sectors when setting max_sectors

    sd can set a max_sectors value that is lower than the max_hw_sectors
    limit based on the block limits VPD page.   While this is rather unusual,
    it used to work until the max_user_sectors field was split out to cleanly
    deal with conflicting hardware and user limits when the hardware limit
    changes.  Also set max_user_sectors to ensure the limit can properly be
    stacked.
    
    Fixes: 4f563a6 ("block: add a max_user_discard_sectors queue limit")
    Reported-by: Mike Snitzer <[email protected]>
    Signed-off-by: Christoph Hellwig <[email protected]>
    Acked-by: Mike Snitzer <[email protected]>
    Reviewed-by: Martin K. Petersen <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Christoph Hellwig authored and axboe committed May 28, 2024
    Configuration menu
    Copy the full SHA
    bafea1c View commit details
    Browse the repository at this point in the history
  17. block: stack max_user_sectors

    The max_user_sectors is one of the three factors determining the actual
    max_sectors limit for READ/WRITE requests.  Because of that it needs to
    be stacked at least for the device mapper multi-path case where requests
    are directly inserted on the lower device.  For SCSI disks this is
    important because the sd driver actually sets it's own advisory limit
    that is lower than max_hw_sectors based on the block limits VPD page.
    While this is a bit odd an unusual, the same effect can happen if a
    user or udev script tweaks the value manually.
    
    Fixes: 4f563a6 ("block: add a max_user_discard_sectors queue limit")
    Reported-by: Mike Snitzer <[email protected]>
    Signed-off-by: Christoph Hellwig <[email protected]>
    Acked-by: Mike Snitzer <[email protected]>
    Reviewed-by: Martin K. Petersen <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Christoph Hellwig authored and axboe committed May 28, 2024
    Configuration menu
    Copy the full SHA
    e528bed View commit details
    Browse the repository at this point in the history
  18. block: check for max_hw_sectors underflow

    The logical block size need to be smaller than the max_hw_sector
    setting, otherwise we can't even transfer a single LBA.
    
    Signed-off-by: Hannes Reinecke <[email protected]>
    Reviewed-by: Christoph Hellwig <[email protected]>
    Reviewed-by: John Garry <[email protected]>
    Signed-off-by: Jens Axboe <[email protected]>
    Hannes Reinecke authored and axboe committed May 28, 2024
    Configuration menu
    Copy the full SHA
    e993db2 View commit details
    Browse the repository at this point in the history
  19. bcache: allow allocator to invalidate bucket in gc

    Currently, if the gc is running, when the allocator found free_inc
    is empty, allocator has to wait the gc finish. Before that, the
    IO is blocked.
    
    But actually, there would be some buckets is reclaimable before gc,
    and gc will never mark this kind of bucket to be unreclaimable.
    
    So we can put these buckets into free_inc in gc running to avoid
    IO being blocked.
    
    Signed-off-by: Dongsheng Yang <[email protected]>
    Signed-off-by: Mingzhe Zou <[email protected]>
    Signed-off-by: Coly Li <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    yangdongsheng authored and axboe committed May 28, 2024
    Configuration menu
    Copy the full SHA
    a14a68b View commit details
    Browse the repository at this point in the history
  20. bcache: call force_wake_up_gc() if necessary in check_should_bypass()

    If there are extreme heavy write I/O continuously hit on relative small
    cache device (512GB in my testing), it is possible to make counter
    c->gc_stats.in_use continue to increase and exceed CUTOFF_CACHE_ADD.
    
    If 'c->gc_stats.in_use > CUTOFF_CACHE_ADD' happens, all following write
    requests will bypass the cache device because check_should_bypass()
    returns 'true'. Because all writes bypass the cache device, counter
    c->sectors_to_gc has no chance to be negative value, and garbage
    collection thread won't be waken up even the whole cache becomes clean
    after writeback accomplished. The aftermath is that all write I/Os go
    directly into backing device even the cache device is clean.
    
    To avoid the above situation, this patch uses a quite conservative way
    to fix: if 'c->gc_stats.in_use > CUTOFF_CACHE_ADD' happens, only wakes
    up garbage collection thread when the whole cache device is clean.
    
    Before the fix, the writes-always-bypass situation happens after 10+
    hours write I/O pressure on 512GB Intel optane memory which acts as
    cache device. After this fix, such situation doesn't happen after 36+
    hours testing.
    
    Signed-off-by: Coly Li <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Coly Li authored and axboe committed May 28, 2024
    Configuration menu
    Copy the full SHA
    0535693 View commit details
    Browse the repository at this point in the history
  21. bcache: code cleanup in __bch_bucket_alloc_set()

    In __bch_bucket_alloc_set() the lines after lable 'err:' indeed do
    nothing useful after multiple cache devices are removed from bcache
    code. This cleanup patch drops the useless code to save a bit CPU
    cycles.
    
    Signed-off-by: Coly Li <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Coly Li authored and axboe committed May 28, 2024
    Configuration menu
    Copy the full SHA
    74d4ce9 View commit details
    Browse the repository at this point in the history
  22. net: ti: icssg-prueth: Fix start counter for ft1 filter

    The start counter for FT1 filter is wrongly set to 0 in the driver.
    FT1 is used for source address violation (SAV) check and source address
    starts at Byte 6 not Byte 0. Fix this by changing start counter to
    ETH_ALEN in icssg_ft1_set_mac_addr().
    
    Fixes: e9b4ece ("net: ti: icssg-prueth: Add Firmware config and classification APIs.")
    Signed-off-by: MD Danish Anwar <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    danish-ti authored and Paolo Abeni committed May 28, 2024
    Configuration menu
    Copy the full SHA
    56a5cf5 View commit details
    Browse the repository at this point in the history
  23. bcachefs: Plumb bkey into __btree_err()

    It can be useful to know the exact byte offset within a btree node where
    an error occured.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    1292bc2 View commit details
    Browse the repository at this point in the history
  24. bcachefs: Fix lookup_first_inode() when inode_generations are present

    This function is used for finding the hash seed (which is the same in
    all versions of an inode in different snapshots): ff an inode has been
    deleted in a child snapshot we need to iterate until we find a live
    version.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    9e1a66e View commit details
    Browse the repository at this point in the history
  25. bcachefs: Fix locking assert

    We now track whether a transaction is locked, and verify that we don't
    have nodes locked when the transaction isn't locked; reorder relocks to
    not pop the new assert.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    218e5e0 View commit details
    Browse the repository at this point in the history
  26. bcachefs: Refactor delete_dead_snapshots()

    Consolidate per-key work into delete_dead_snapshots_process_key(), so we
    now walk all keys once, not twice.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    82af5ce View commit details
    Browse the repository at this point in the history
  27. bcachefs: Run check_key_has_snapshot in snapshot_delete_keys()

    delete_dead_snapshots now runs before the main fsck.c passes which check
    for keys for invalid snapshots; thus, it needs those checks as well.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    08f5000 View commit details
    Browse the repository at this point in the history
  28. bcachefs: Fix setting of downgrade recovery passes/errors

    bch2_check_version_downgrade() was setting c->sb.version, which
    bch2_sb_set_downgrade() expects to be at the previous version; and it
    shouldn't even have been set directly because c->sb.version is updated
    by write_super().
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    247c056 View commit details
    Browse the repository at this point in the history
  29. bcachefs: add missing MODULE_DESCRIPTION()

    Fix the 'make W=1' warning:
    WARNING: modpost: missing MODULE_DESCRIPTION() in fs/bcachefs/mean_and_variance_test.o
    
    Signed-off-by: Jeff Johnson <[email protected]>
    Signed-off-by: Kent Overstreet <[email protected]>
    Jeff Johnson authored and Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    b413107 View commit details
    Browse the repository at this point in the history
  30. bcachefs: btree_gc can now handle unknown btrees

    Compatibility fix - we no longer have a separate table for which order
    gc walks btrees in, and special case the stripes btree directly.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    088d0de View commit details
    Browse the repository at this point in the history
  31. bcachefs: Better fsck error message for key version

    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    f1d4fed View commit details
    Browse the repository at this point in the history
  32. nvme: use srcu for iterating namespace list

    The nvme pci driver synchronizes with all the namespace queues during a
    reset to ensure that there's no pending timeout work.
    
    Meanwhile the timeout work potentially iterates those same namespaces to
    freeze their queues.
    
    Each of those namespace iterations use the same read lock. If a write
    lock should somehow get between the synchronize and freeze steps, then
    forward progress is deadlocked.
    
    We had been relying on the nvme controller state machine to ensure the
    reset work wouldn't conflict with timeout work. That guarantee may be a
    bit fragile to rely on, so iterate the namespace lists without taking
    potentially circular locks, as reported by lockdep.
    
    Link: https://lore.kernel.org/all/20220930001943.zdbvolc3gkekfmcv@shindev/
    Reported-by: Shinichiro Kawasaki <[email protected]>
    Tested-by: Shinichiro Kawasaki <[email protected]>
    Reviewed-by: Sagi Grimberg <[email protected]>
    Reviewed-by: Christoph Hellwig <[email protected]>
    Signed-off-by: Keith Busch <[email protected]>
    keithbusch committed May 28, 2024
    Configuration menu
    Copy the full SHA
    be647e2 View commit details
    Browse the repository at this point in the history
  33. nvmet: fix a possible leak when destroy a ctrl during qp establishment

    In nvmet_sq_destroy we capture sq->ctrl early and if it is non-NULL we
    know that a ctrl was allocated (in the admin connect request handler)
    and we need to release pending AERs, clear ctrl->sqs and sq->ctrl
    (for nvme-loop primarily), and drop the final reference on the ctrl.
    
    However, a small window is possible where nvmet_sq_destroy starts (as
    a result of the client giving up and disconnecting) concurrently with
    the nvme admin connect cmd (which may be in an early stage). But *before*
    kill_and_confirm of sq->ref (i.e. the admin connect managed to get an sq
    live reference). In this case, sq->ctrl was allocated however after it was
    captured in a local variable in nvmet_sq_destroy.
    This prevented the final reference drop on the ctrl.
    
    Solve this by re-capturing the sq->ctrl after all inflight request has
    completed, where for sure sq->ctrl reference is final, and move forward
    based on that.
    
    This issue was observed in an environment with many hosts connecting
    multiple ctrls simoutanuosly, creating a delay in allocating a ctrl
    leading up to this race window.
    
    Reported-by: Alex Turin <[email protected]>
    Signed-off-by: Sagi Grimberg <[email protected]>
    Reviewed-by: Christoph Hellwig <[email protected]>
    Signed-off-by: Keith Busch <[email protected]>
    sagigrimberg authored and keithbusch committed May 28, 2024
    Configuration menu
    Copy the full SHA
    c758b77 View commit details
    Browse the repository at this point in the history
  34. Merge tag 'probes-fixes-v6.10-rc1' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/trace/linux-trace
    
    Pull probes fixes from Masami Hiramatsu:
    
     - uprobes: prevent mutex_lock() under rcu_read_lock().
    
       Recent changes moved uprobe_cpu_buffer preparation which involves
       mutex_lock(), under __uprobe_trace_func() which is called inside
       rcu_read_lock().
    
       Fix it by moving uprobe_cpu_buffer preparation outside of
       __uprobe_trace_func()
    
     - kprobe-events: handle the error case of btf_find_struct_member()
    
    * tag 'probes-fixes-v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
      tracing/probes: fix error check in parse_btf_field()
      uprobes: prevent mutex_lock() under rcu_read_lock()
    torvalds committed May 28, 2024
    Configuration menu
    Copy the full SHA
    8d6bc6a View commit details
    Browse the repository at this point in the history
  35. Merge tag 'tpmdd-next-6.10-rc2' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/jarkko/linux-tpmdd
    
    Pull tpm fixes from Jarkko Sakkinen:
     "This fixes two unaddressed review comments for the HMAC encryption
      patch set. They are cosmetic but we are better off, if such
      unnecessary glitches do not exist in the release.
    
      The important part is enabling the HMAC encryption by default only on
      x86-64 because that is the only sufficiently tested arch.
    
      Finally, there is a bug fix for SPI transfer buffer allocation, which
      did not take into account the SPI header size"
    
    * tag 'tpmdd-next-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
      tpm: Enable TCG_TPM2_HMAC by default only for X86_64
      tpm: Rename TPM2_OA_TMPL to TPM2_OA_NULL_KEY and make it local
      tpm: Open code tpm_buf_parameters()
      tpm_tis_spi: Account for SPI header when allocating TPM SPI xfer buffer
    torvalds committed May 28, 2024
    Configuration menu
    Copy the full SHA
    e0cce98 View commit details
    Browse the repository at this point in the history
  36. Merge remote-tracking branch 'drm/drm-fixes' into drm-misc-fixes

    v6.10-rc1 is released, forward from v6.9
    
    Signed-off-by: Maarten Lankhorst <[email protected]>
    mlankhorst committed May 28, 2024
    Configuration menu
    Copy the full SHA
    f73a058 View commit details
    Browse the repository at this point in the history
  37. bcachefs: split out sb-members_format.h

    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    016c22e View commit details
    Browse the repository at this point in the history
  38. bcachefs: split out sb-downgrade_format.h

    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    4c5eef0 View commit details
    Browse the repository at this point in the history
  39. bcachefs: Split out disk_groups_format.h

    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    1cdcc6e View commit details
    Browse the repository at this point in the history
  40. bcachefs: Split out replicas_format.h

    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    2499805 View commit details
    Browse the repository at this point in the history
  41. bcachefs: Split out journal_seq_blacklist_format.h

    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    5c16c57 View commit details
    Browse the repository at this point in the history
  42. bcachefs: Split out sb-errors_format.h

    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    759bb4e View commit details
    Browse the repository at this point in the history
  43. bcachefs: Fix uninitialized var warning

    Can't actually be used uninitialized, but gcc was being silly.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    8528bde View commit details
    Browse the repository at this point in the history
  44. netfilter: nft_payload: skbuff vlan metadata mangle support

    Userspace assumes vlan header is present at a given offset, but vlan
    offload allows to store this in metadata fields of the skbuff. Hence
    mangling vlan results in a garbled packet. Handle this transparently by
    adding a parser to the kernel.
    
    If vlan metadata is present and payload offset is over 12 bytes (source
    and destination mac address fields), then subtract vlan header present
    in vlan metadata, otherwise mangle vlan metadata based on offset and
    length, extracting data from the source register.
    
    This is similar to:
    
      8cfd23e ("netfilter: nft_payload: work around vlan header stripping")
    
    to deal with vlan payload mangling.
    
    Fixes: 7ec3f7b ("netfilter: nft_payload: add packet mangling support")
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    ummakynes committed May 28, 2024
    Configuration menu
    Copy the full SHA
    33c563e View commit details
    Browse the repository at this point in the history
  45. netfilter: tproxy: bail out if IP has been disabled on the device

    syzbot reports:
    general protection fault, probably for non-canonical address 0xdffffc0000000003: 0000 [#1] PREEMPT SMP KASAN PTI
    KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f]
    [..]
    RIP: 0010:nf_tproxy_laddr4+0xb7/0x340 net/ipv4/netfilter/nf_tproxy_ipv4.c:62
    Call Trace:
     nft_tproxy_eval_v4 net/netfilter/nft_tproxy.c:56 [inline]
     nft_tproxy_eval+0xa9a/0x1a00 net/netfilter/nft_tproxy.c:168
    
    __in_dev_get_rcu() can return NULL, so check for this.
    
    Reported-and-tested-by: [email protected]
    Fixes: cc6eb43 ("tproxy: use the interface primary IP address as a default value for --on-ip")
    Signed-off-by: Florian Westphal <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    Florian Westphal authored and ummakynes committed May 28, 2024
    Configuration menu
    Copy the full SHA
    21a673b View commit details
    Browse the repository at this point in the history
  46. netfilter: nft_fib: allow from forward/input without iif selector

    This removes the restriction of needing iif selector in the
    forward/input hooks for fib lookups when requested result is
    oif/oifname.
    
    Removing this restriction allows "loose" lookups from the forward hooks.
    
    Fixes: be8be04 ("netfilter: nft_fib: reverse path filter for policy-based routing on iif")
    Signed-off-by: Eric Garver <[email protected]>
    Signed-off-by: Pablo Neira Ayuso <[email protected]>
    erig0 authored and ummakynes committed May 28, 2024
    Configuration menu
    Copy the full SHA
    e8ded22 View commit details
    Browse the repository at this point in the history
  47. bcachefs: Don't return -EROFS from mount on inconsistency error

    We were accidentally returning -EROFS during recovery on filesystem
    inconsistency - since this is what the journal returns on emergency
    shutdown.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 28, 2024
    Configuration menu
    Copy the full SHA
    83208cb View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. net/sched: taprio: make q->picos_per_byte available to fill_sched_ent…

    …ry()
    
    In commit b5b73b2 ("taprio: Fix allowing too small intervals"), a
    comparison of user input against length_to_duration(q, ETH_ZLEN) was
    introduced, to avoid RCU stalls due to frequent hrtimers.
    
    The implementation of length_to_duration() depends on q->picos_per_byte
    being set for the link speed. The blamed commit in the Fixes: tag has
    moved this too late, so the checks introduced above are ineffective.
    The q->picos_per_byte is zero at parse_taprio_schedule() ->
    parse_sched_list() -> parse_sched_entry() -> fill_sched_entry() time.
    
    Move the taprio_set_picos_per_byte() call as one of the first things in
    taprio_change(), before the bulk of the netlink attribute parsing is
    done. That's because it is needed there.
    
    Add a selftest to make sure the issue doesn't get reintroduced.
    
    Fixes: 09dbdf2 ("net/sched: taprio: fix calculation of maximum gate durations")
    Signed-off-by: Vladimir Oltean <[email protected]>
    Reviewed-by: Eric Dumazet <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    vladimiroltean authored and kuba-moo committed May 29, 2024
    Configuration menu
    Copy the full SHA
    e634134 View commit details
    Browse the repository at this point in the history
  2. net/sched: taprio: extend minimum interval restriction to entire cycl…

    …e too
    
    It is possible for syzbot to side-step the restriction imposed by the
    blamed commit in the Fixes: tag, because the taprio UAPI permits a
    cycle-time different from (and potentially shorter than) the sum of
    entry intervals.
    
    We need one more restriction, which is that the cycle time itself must
    be larger than N * ETH_ZLEN bit times, where N is the number of schedule
    entries. This restriction needs to apply regardless of whether the cycle
    time came from the user or was the implicit, auto-calculated value, so
    we move the existing "cycle == 0" check outside the "if "(!new->cycle_time)"
    branch. This way covers both conditions and scenarios.
    
    Add a selftest which illustrates the issue triggered by syzbot.
    
    Fixes: b5b73b2 ("taprio: Fix allowing too small intervals")
    Reported-by: [email protected]
    Closes: https://lore.kernel.org/netdev/[email protected]/
    Signed-off-by: Vladimir Oltean <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    vladimiroltean authored and kuba-moo committed May 29, 2024
    Configuration menu
    Copy the full SHA
    fb66df2 View commit details
    Browse the repository at this point in the history
  3. drm/panfrost: Fix dma_resv deadlock at drm object pin time

    When Panfrost must pin an object that is being prepared a dma-buf
    attachment for on behalf of another driver, the core drm gem object pinning
    code already takes a lock on the object's dma reservation.
    
    However, Panfrost GEM object's pinning callback would eventually try taking
    the lock on the same dma reservation when delegating pinning of the object
    onto the shmem subsystem, which led to a deadlock.
    
    This can be shown by enabling CONFIG_DEBUG_WW_MUTEX_SLOWPATH, which throws
    the following recursive locking situation:
    
    weston/3440 is trying to acquire lock:
    ffff000000e235a0 (reservation_ww_class_mutex){+.+.}-{3:3}, at: drm_gem_shmem_pin+0x34/0xb8 [drm_shmem_helper]
    but task is already holding lock:
    ffff000000e235a0 (reservation_ww_class_mutex){+.+.}-{3:3}, at: drm_gem_pin+0x2c/0x80 [drm]
    
    Fix it by replacing drm_gem_shmem_pin with its locked version, as the lock
    had already been taken by drm_gem_pin().
    
    Cc: Thomas Zimmermann <[email protected]>
    Cc: Dmitry Osipenko <[email protected]>
    Cc: Boris Brezillon <[email protected]>
    Cc: Steven Price <[email protected]>
    Fixes: a780278 ("drm/gem: Acquire reservation lock in drm_gem_{pin/unpin}()")
    Signed-off-by: Adrián Larumbe <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Signed-off-by: Boris Brezillon <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    larunbe authored and bbrezillon committed May 29, 2024
    Configuration menu
    Copy the full SHA
    e57f218 View commit details
    Browse the repository at this point in the history
  4. drm/lima: Fix dma_resv deadlock at drm object pin time

    Commit a780278 ("drm/gem: Acquire reservation lock in
    drm_gem_{pin/unpin}()") moved locking the DRM object's dma reservation to
    drm_gem_pin(), but Lima's pin callback kept calling drm_gem_shmem_pin,
    which also tries to lock the same dma_resv, leading to a double lock
    situation.
    
    As was already done for Panfrost in the previous commit, fix it by
    replacing drm_gem_shmem_pin() with its locked variant.
    
    Cc: Thomas Zimmermann <[email protected]>
    Cc: Dmitry Osipenko <[email protected]>
    Cc: Boris Brezillon <[email protected]>
    Cc: Steven Price <[email protected]>
    Fixes: a780278 ("drm/gem: Acquire reservation lock in drm_gem_{pin/unpin}()")
    Signed-off-by: Adrián Larumbe <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Tested-by: Val Packett <[email protected]>
    Signed-off-by: Boris Brezillon <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    larunbe authored and bbrezillon committed May 29, 2024
    Configuration menu
    Copy the full SHA
    8c2f5dd View commit details
    Browse the repository at this point in the history
  5. drm/gem-shmem: Add import attachment warning to locked pin function

    Commit ec14424 ("drm/gem-shmem: Acquire reservation lock in GEM
    pin/unpin callbacks") moved locking DRM object's dma reservation to
    drm_gem_shmem_object_pin, and made drm_gem_shmem_pin_locked public, so
    we need to make sure the not-imported check warning is also added to
    the latter.
    
    Cc: Thomas Zimmermann <[email protected]>
    Cc: Dmitry Osipenko <[email protected]>
    Cc: Boris Brezillon <[email protected]>
    Fixes: a780278 ("drm/gem: Acquire reservation lock in drm_gem_{pin/unpin}()")
    Signed-off-by: Adrián Larumbe <[email protected]>
    Reviewed-by: Boris Brezillon <[email protected]>
    Signed-off-by: Boris Brezillon <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    larunbe authored and bbrezillon committed May 29, 2024
    Configuration menu
    Copy the full SHA
    3b8407e View commit details
    Browse the repository at this point in the history
  6. kconfig: remove unused expr_is_no()

    This has not been used since commit e911503 ("Kconfig: Remove
    bad inference rules expr_eliminate_dups2()").
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    a607468 View commit details
    Browse the repository at this point in the history
  7. kconfig: fix comparison to constant symbols, 'm', 'n'

    Currently, comparisons to 'm' or 'n' result in incorrect output.
    
    [Test Code]
    
        config MODULES
                def_bool y
                modules
    
        config A
                def_tristate m
    
        config B
                def_bool A > n
    
    CONFIG_B is unset, while CONFIG_B=y is expected.
    
    The reason for the issue is because Kconfig compares the tristate values
    as strings.
    
    Currently, the .type fields in the constant symbol definitions,
    symbol_{yes,mod,no} are unspecified, i.e., S_UNKNOWN.
    
    When expr_calc_value() evaluates 'A > n', it checks the types of 'A' and
    'n' to determine how to compare them.
    
    The left-hand side, 'A', is a tristate symbol with a value of 'm', which
    corresponds to a numeric value of 1. (Internally, 'y', 'm', and 'n' are
    represented as 2, 1, and 0, respectively.)
    
    The right-hand side, 'n', has an unknown type, so it is treated as the
    string "n" during the comparison.
    
    expr_calc_value() compares two values numerically only when both can
    have numeric values. Otherwise, they are compared as strings.
    
        symbol    numeric value    ASCII code
        -------------------------------------
          y           2             0x79
          m           1             0x6d
          n           0             0x6e
    
    'm' is greater than 'n' if compared numerically (since 1 is greater
    than 0), but smaller than 'n' if compared as strings (since the ASCII
    code 0x6d is smaller than 0x6e).
    
    Specifying .type=S_TRISTATE for symbol_{yes,mod,no} fixes the above
    test code.
    
    Doing so, however, would cause a regression to the following test code.
    
    [Test Code 2]
    
        config MODULES
                def_bool n
                modules
    
        config A
                def_tristate n
    
        config B
                def_bool A = m
    
    You would get CONFIG_B=y, while CONFIG_B should not be set.
    
    The reason is because sym_get_string_value() turns 'm' into 'n' when the
    module feature is disabled. Consequently, expr_calc_value() evaluates
    'A = n' instead of 'A = m'. This oddity has been hidden because the type
    of 'm' was previously S_UNKNOWN instead of S_TRISTATE.
    
    sym_get_string_value() should not tweak the string because the tristate
    value has already been correctly calculated. There is no reason to
    return the string "n" where its tristate value is mod.
    
    Fixes: 31847b6 ("kconfig: allow use of relations other than (in)equality")
    Signed-off-by: Masahiro Yamada <[email protected]>
    masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    aabdc96 View commit details
    Browse the repository at this point in the history
  8. kconfig: remove redundant check in expr_join_or()

    The check for 'sym1 == sym2' is redundant here because it has already
    been done a few lines above:
    
        if (sym1 != sym2)
                return NULL;
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    31894d3 View commit details
    Browse the repository at this point in the history
  9. kbuild: scripts/gdb: Replace missed $(srctree)/$(src) w/ $(src)

    Recently we went through the source tree and replaced
    $(srctree)/$(src) w/ $(src). However, the gdb scripts Makefile had a
    hidden $(srctree)/$(src) that looked like this:
    
      $(abspath $(srctree))/$(src)
    
    Because we missed that then my installed kernel had symlinks that
    looked like this:
    
      __init__.py ->
        ${INSTALL_DIR}/$(INSTALL_DIR}/scripts/gdb/linux/__init__.py
    
    Let's also replace the midden $(abspath $(srctree))/$(src) with
    $(src). Now:
    
      __init__.py ->
        $(INSTALL_DIR}/scripts/gdb/linux/__init__.py
    
    Fixes: b1992c3 ("kbuild: use $(src) instead of $(srctree)/$(src) for source directory")
    Signed-off-by: Douglas Anderson <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    dianders authored and masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    659bbf7 View commit details
    Browse the repository at this point in the history
  10. kbuild: avoid unneeded kallsyms step 3

    Since commit 951bcae ("kallsyms: Avoid weak references for kallsyms
    symbols"), the kallsyms step 3 always occurs.
    
    You can compare the build logs.
    
    [Before 951bcae]
    
      $ git checkout 951bcae^
      $ make defconfig all
           [ snip ]
        LD      .tmp_vmlinux.kallsyms1
        NM      .tmp_vmlinux.kallsyms1.syms
        KSYMS   .tmp_vmlinux.kallsyms1.S
        AS      .tmp_vmlinux.kallsyms1.S
        LD      .tmp_vmlinux.kallsyms2
        NM      .tmp_vmlinux.kallsyms2.syms
        KSYMS   .tmp_vmlinux.kallsyms2.S
        AS      .tmp_vmlinux.kallsyms2.S
        LD      vmlinux
    
    [After 951bcae]
    
      $ git checkout 951bcae
      $ make defconfig all
           [ snip ]
        LD      .tmp_vmlinux.kallsyms1
        NM      .tmp_vmlinux.kallsyms1.syms
        KSYMS   .tmp_vmlinux.kallsyms1.S
        AS      .tmp_vmlinux.kallsyms1.S
        LD      .tmp_vmlinux.kallsyms2
        NM      .tmp_vmlinux.kallsyms2.syms
        KSYMS   .tmp_vmlinux.kallsyms2.S
        AS      .tmp_vmlinux.kallsyms2.S
        LD      .tmp_vmlinux.kallsyms3             # should not happen
        NM      .tmp_vmlinux.kallsyms3.syms        # should not happen
        KSYMS   .tmp_vmlinux.kallsyms3.S           # should not happen
        AS      .tmp_vmlinux.kallsyms3.S           # should not happen
        LD      vmlinux
    
    The resulting vmlinux is correct, but it always requires an additional
    linking step.
    
    The symbols produced by kallsyms are excluded from kallsyms itself
    because they were previously missing in step 1. With those symbols
    excluded, the symbol lists matched between step 1 and step 2,
    eliminating the need for step 3. Now, this has a negative effect.
    
    Since 951bcae, the PROVIDE() directives provide the fallback
    definitions, which are not trimmed from the sysbol list in step 1
    because ${kallsymso_prev} is empty at this point.
    
    In step 2, ${kallsymso_prev} is set, and the kallsyms_* symbols are
    trimmed from the symbol list.
    
    Due to the table size difference between step 1 and step 2 (the former
    is larger due to the presence of kallsyms_*), step 3 is triggered.
    
    Now that the kallsyms_* symbols are always linked, let's stop omitting
    them from kallsyms. This avoids unnecessary step 3.
    
    Fixes: 951bcae ("kallsyms: Avoid weak references for kallsyms symbols")
    Signed-off-by: Masahiro Yamada <[email protected]>
    masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    04b8cb0 View commit details
    Browse the repository at this point in the history
  11. kbuild: change scripts/mksysmap into sed script

    The previous commit removed the subshell execution from scripts/mksysmap,
    which is now simple enough to become a sed script.
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    b18b047 View commit details
    Browse the repository at this point in the history
  12. kbuild: fix short log for AS in link-vmlinux.sh

    In convention, short logs print the output file, not the input file.
    
    Let's change the suffix for 'AS' since it assembles *.S into *.o.
    
    [Before]
    
      LD      .tmp_vmlinux.kallsyms1
      NM      .tmp_vmlinux.kallsyms1.syms
      KSYMS   .tmp_vmlinux.kallsyms1.S
      AS      .tmp_vmlinux.kallsyms1.S
      LD      .tmp_vmlinux.kallsyms2
      NM      .tmp_vmlinux.kallsyms2.syms
      KSYMS   .tmp_vmlinux.kallsyms2.S
      AS      .tmp_vmlinux.kallsyms2.S
      LD      vmlinux
    
    [After]
    
      LD      .tmp_vmlinux.kallsyms1
      NM      .tmp_vmlinux.kallsyms1.syms
      KSYMS   .tmp_vmlinux.kallsyms1.S
      AS      .tmp_vmlinux.kallsyms1.o
      LD      .tmp_vmlinux.kallsyms2
      NM      .tmp_vmlinux.kallsyms2.syms
      KSYMS   .tmp_vmlinux.kallsyms2.S
      AS      .tmp_vmlinux.kallsyms2.o
      LD      vmlinux
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    3430f65 View commit details
    Browse the repository at this point in the history
  13. kbuild: remove a stale comment about cleaning in link-vmlinux.sh

    Remove the left-over of commit 51eb95e ("kbuild: Don't remove
    link-vmlinux temporary files on exit/signal").
    
    Signed-off-by: Masahiro Yamada <[email protected]>
    masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    3c562a7 View commit details
    Browse the repository at this point in the history
  14. scripts/make_fit: Drop fdt image entry compatible string

    According to the FIT image source file format document found in U-boot [1]
    and the split-out FIT image specification [2], under "'/images' node" ->
    "Conditionally mandatory property", the "compatible" property is described
    as "compatible method for loading image", i.e., not the compatible string
    embedded in the FDT or used for matching.
    
    Drop the compatible string from the fdt image entry node.
    
    While at it also fix up a typo in the document section of output_dtb.
    
    [1] U-boot source "doc/usage/fit/source_file_format.rst", or on the website:
        https://docs.u-boot.org/en/latest/usage/fit/source_file_format.html
    [2] https://github.com/open-source-firmware/flat-image-tree/blob/main/source/chapter2-source-file-format.rst
    
    Fixes: 7a23b02 ("arm64: boot: Support Flat Image Tree")
    Signed-off-by: Chen-Yu Tsai <[email protected]>
    Reviewed-by: Simon Glass <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    wens authored and masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    e06a698 View commit details
    Browse the repository at this point in the history
  15. Revert "drm/i915: Remove extra multi-gt pm-references"

    This reverts commit 1f33dc0.
    
    There was a patch supposed to fix an issue of illegal attempts to free a
    still active i915 VMA object when parking a GT believed to be idle,
    reported by CI on 2-GT Meteor Lake.  As a solution, an extra wakeref for
    a Primary GT was acquired from i915_gem_do_execbuffer() -- see commit
    f56fe3e ("drm/i915: Fix a VMA UAF for multi-gt platform").
    
    However, that fix occurred insufficient -- the issue was still reported by
    CI.  That wakeref was released on exit from i915_gem_do_execbuffer(), then
    potentially before completion of the request and deactivation of its
    associated VMAs.  Moreover, CI reports indicated that single-GT platforms
    also suffered sporadically from the same race.
    
    Since that issue was fixed by another commit f3c71b2 ("drm/i915/vma:
    Fix UAF on destroy against retire race"), the changes introduced by that
    insufficient fix were dropped as no longer useful.  However, that series
    resulted in another VMA UAF scenario now being triggered in CI.
    
    <4> [260.290809] ------------[ cut here ]------------
    <4> [260.290988] list_del corruption. prev->next should be ffff888118c5d990, but was ffff888118c5a510. (prev=ffff888118c5a510)
    <4> [260.291004] WARNING: CPU: 2 PID: 1143 at lib/list_debug.c:62 __list_del_entry_valid_or_report+0xb7/0xe0
    ..
    <4> [260.291055] CPU: 2 PID: 1143 Comm: kms_plane Not tainted 6.9.0-rc2-CI_DRM_14524-ga25d180c6853+ #1
    <4> [260.291058] Hardware name: Intel Corporation Meteor Lake Client Platform/MTL-P LP5x T3 RVP, BIOS MTLPFWI1.R00.3471.D91.2401310918 01/31/2024
    <4> [260.291060] RIP: 0010:__list_del_entry_valid_or_report+0xb7/0xe0
    ...
    <4> [260.291087] Call Trace:
    <4> [260.291089]  <TASK>
    <4> [260.291124]  i915_vma_reopen+0x43/0x80 [i915]
    <4> [260.291298]  eb_lookup_vmas+0x9cb/0xcc0 [i915]
    <4> [260.291579]  i915_gem_do_execbuffer+0xc9a/0x26d0 [i915]
    <4> [260.291883]  i915_gem_execbuffer2_ioctl+0x123/0x2a0 [i915]
    ...
    <4> [260.292301]  </TASK>
    ...
    <4> [260.292506] ---[ end trace 0000000000000000 ]---
    <4> [260.292782] general protection fault, probably for non-canonical address 0x6b6b6b6b6b6b6ca3: 0000 [#1] PREEMPT SMP NOPTI
    <4> [260.303575] CPU: 2 PID: 1143 Comm: kms_plane Tainted: G        W          6.9.0-rc2-CI_DRM_14524-ga25d180c6853+ #1
    <4> [260.313851] Hardware name: Intel Corporation Meteor Lake Client Platform/MTL-P LP5x T3 RVP, BIOS MTLPFWI1.R00.3471.D91.2401310918 01/31/2024
    <4> [260.326359] RIP: 0010:eb_validate_vmas+0x114/0xd80 [i915]
    ...
    <4> [260.428756] Call Trace:
    <4> [260.431192]  <TASK>
    <4> [639.283393]  i915_gem_do_execbuffer+0xd05/0x26d0 [i915]
    <4> [639.305245]  i915_gem_execbuffer2_ioctl+0x123/0x2a0 [i915]
    ...
    <4> [639.411134]  </TASK>
    ...
    <4> [639.449979] ---[ end trace 0000000000000000 ]---
    
    We defer actually closing, unbinding and destroying a VMA until next idle
    point, or until the object is freed in the meantime.  By postponing the
    unbind, we allow for the VMA to be reopened by the client, avoiding the
    work required to rebind the VMA.
    
    Starting from commit b0647a5 ("drm/i915: Avoid live-lock with
    i915_vma_parked()"), we assume that as long as a GT is held idle, no VMA
    would be reopened while we destroy them.  That assumption is no longer
    true in multi-GT configurations, where a VMA we reopen may be handled by a
    GT different from the one that we already keep active via its engine while
    we set up an execbuf request.
    
    Restoring the extra GT0 PM wakeref removed from i915_gem_do_execbuffer()
    processing path seems to fix this issue.
    
    Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10608
    Signed-off-by: Janusz Krzysztofik <[email protected]>
    Cc: Rodrigo Vivi <[email protected]>
    Cc: Nirmoy Das <[email protected]>
    Reviewed-by: Nirmoy Das <[email protected]>
    Fixes: 1f33dc0 ("drm/i915: Remove extra multi-gt pm-references")
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Rodrigo Vivi <[email protected]>
    (cherry picked from commit 749670a)
    Signed-off-by: Jani Nikula <[email protected]>
    jkrzyszt-intel authored and jnikula committed May 29, 2024
    Configuration menu
    Copy the full SHA
    6475357 View commit details
    Browse the repository at this point in the history
  16. drm/i915/gt: Disarm breadcrumbs if engines are already idle

    The breadcrumbs use a GT wakeref for guarding the interrupt, but are
    disarmed during release of the engine wakeref. This leaves a hole where
    we may attach a breadcrumb just as the engine is parking (after it has
    parked its breadcrumbs), execute the irq worker with some signalers still
    attached, but never be woken again.
    
    That issue manifests itself in CI with IGT runner timeouts while tests
    are waiting indefinitely for release of all GT wakerefs.
    
    <6> [209.151778] i915: Running live_engine_pm_selftests/live_engine_busy_stats
    <7> [209.231628] i915 0000:00:02.0: [drm:intel_power_well_disable [i915]] disabling PW_5
    <7> [209.231816] i915 0000:00:02.0: [drm:intel_power_well_disable [i915]] disabling PW_4
    <7> [209.231944] i915 0000:00:02.0: [drm:intel_power_well_disable [i915]] disabling PW_3
    <7> [209.232056] i915 0000:00:02.0: [drm:intel_power_well_disable [i915]] disabling PW_2
    <7> [209.232166] i915 0000:00:02.0: [drm:intel_power_well_disable [i915]] disabling DC_off
    <7> [209.232270] i915 0000:00:02.0: [drm:skl_enable_dc6 [i915]] Enabling DC6
    <7> [209.232368] i915 0000:00:02.0: [drm:gen9_set_dc_state.part.0 [i915]] Setting DC state from 00 to 02
    <4> [299.356116] [IGT] Inactivity timeout exceeded. Killing the current test with SIGQUIT.
    ...
    <6> [299.356526] sysrq: Show State
    ...
    <6> [299.373964] task:i915_selftest   state:D stack:11784 pid:5578  tgid:5578  ppid:873    flags:0x00004002
    <6> [299.373967] Call Trace:
    <6> [299.373968]  <TASK>
    <6> [299.373970]  __schedule+0x3bb/0xda0
    <6> [299.373974]  schedule+0x41/0x110
    <6> [299.373976]  intel_wakeref_wait_for_idle+0x82/0x100 [i915]
    <6> [299.374083]  ? __pfx_var_wake_function+0x10/0x10
    <6> [299.374087]  live_engine_busy_stats+0x9b/0x500 [i915]
    <6> [299.374173]  __i915_subtests+0xbe/0x240 [i915]
    <6> [299.374277]  ? __pfx___intel_gt_live_setup+0x10/0x10 [i915]
    <6> [299.374369]  ? __pfx___intel_gt_live_teardown+0x10/0x10 [i915]
    <6> [299.374456]  intel_engine_live_selftests+0x1c/0x30 [i915]
    <6> [299.374547]  __run_selftests+0xbb/0x190 [i915]
    <6> [299.374635]  i915_live_selftests+0x4b/0x90 [i915]
    <6> [299.374717]  i915_pci_probe+0x10d/0x210 [i915]
    
    At the end of the interrupt worker, if there are no more engines awake,
    disarm the breadcrumb and go to sleep.
    
    Fixes: 9d5612c ("drm/i915/gt: Defer enabling the breadcrumb interrupt to after submission")
    Closes: https://gitlab.freedesktop.org/drm/intel/issues/10026
    Signed-off-by: Chris Wilson <[email protected]>
    Cc: Andrzej Hajda <[email protected]>
    Cc: <[email protected]> # v5.12+
    Signed-off-by: Janusz Krzysztofik <[email protected]>
    Acked-by: Nirmoy Das <[email protected]>
    Reviewed-by: Andrzej Hajda <[email protected]>
    Reviewed-by: Andi Shyti <[email protected]>
    Signed-off-by: Andi Shyti <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit fbad43e)
    Signed-off-by: Jani Nikula <[email protected]>
    ickle authored and jnikula committed May 29, 2024
    Configuration menu
    Copy the full SHA
    70cb918 View commit details
    Browse the repository at this point in the history
  17. drm/i915/guc: avoid FIELD_PREP warning

    With gcc-7 and earlier, there are lots of warnings like
    
    In file included from <command-line>:0:0:
    In function '__guc_context_policy_add_priority.isra.66',
        inlined from '__guc_context_set_prio.isra.67' at drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3292:3,
        inlined from 'guc_context_set_prio' at drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:3320:2:
    include/linux/compiler_types.h:399:38: error: call to '__compiletime_assert_631' declared with attribute error: FIELD_PREP: mask is not constant
      _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                                          ^
    ...
    drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c:2422:3: note: in expansion of macro 'FIELD_PREP'
       FIELD_PREP(GUC_KLV_0_KEY, GUC_CONTEXT_POLICIES_KLV_ID_##id) | \
       ^~~~~~~~~~
    
    Make sure that GUC_KLV_0_KEY is an unsigned value to avoid the warning.
    
    Fixes: 77b6f79 ("drm/i915/guc: Update to GuC version 69.0.3")
    Signed-off-by: Arnd Bergmann <[email protected]>
    Reviewed-by: Michal Wajdeczko <[email protected]>
    Signed-off-by: Julia Filipchuk <[email protected]>
    Signed-off-by: John Harrison <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 364e039)
    Signed-off-by: Jani Nikula <[email protected]>
    arndb authored and jnikula committed May 29, 2024
    Configuration menu
    Copy the full SHA
    d4f36db View commit details
    Browse the repository at this point in the history
  18. drm/panel/lg-sw43408: select CONFIG_DRM_DISPLAY_DP_HELPER

    This panel driver uses DSC PPS functions and as such depends on the
    DRM_DISPLAY_DP_HELPER. Select this symbol to make required functions
    available to the driver.
    
    Reported-by: kernel test robot <[email protected]>
    Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
    Fixes: 069a6c0 ("drm: panel: Add LG sw43408 panel driver")
    Reviewed-by: Neil Armstrong <[email protected]>
    Reviewed-by: Marijn Suijten <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Dmitry Baryshkov <[email protected]>
    lumag committed May 29, 2024
    Configuration menu
    Copy the full SHA
    33defca View commit details
    Browse the repository at this point in the history
  19. drm/i915/selftests: Set always_coherent to false when reading from CPU

    Commit 8d4ba9f ("drm/i915/selftests: Pick correct caching mode.")
    was not complete  as for non LLC  sharing platforms cpu read can happen
    from LLC which probably doesn't have the latest changes made by GPU.
    
    Cc: Andi Shyti <[email protected]>
    Cc: Janusz Krzysztofik <[email protected]>
    Cc: Jonathan Cavitt <[email protected]>
    Fixes: 8d4ba9f ("drm/i915/selftests: Pick correct caching mode.")
    Reviewed-by: Jonathan Cavitt <[email protected]>
    Reviewed-by: Andi Shyti <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Nirmoy Das <[email protected]>
    (cherry picked from commit 007ed70)
    Signed-off-by: Jani Nikula <[email protected]>
    nirmoy authored and jnikula committed May 29, 2024
    Configuration menu
    Copy the full SHA
    659a306 View commit details
    Browse the repository at this point in the history
  20. drm/panel/lg-sw43408: mark sw43408_backlight_ops as static

    Fix sparse warning regarding symbol 'sw43408_backlight_ops' not being
    declared.
    
    Reported-by: kernel test robot <[email protected]>
    Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
    Reviewed-by: Neil Armstrong <[email protected]>
    Fixes: 069a6c0 ("drm: panel: Add LG sw43408 panel driver")
    Reviewed-by: Marijn Suijten <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Signed-off-by: Dmitry Baryshkov <[email protected]>
    lumag committed May 29, 2024
    Configuration menu
    Copy the full SHA
    8c318cb View commit details
    Browse the repository at this point in the history
  21. drm/i915/gt: Fix CCS id's calculation for CCS mode setting

    The whole point of the previous fixes has been to change the CCS
    hardware configuration to generate only one stream available to
    the compute users. We did this by changing the info.engine_mask
    that is set during device probe, reset during the detection of
    the fused engines, and finally reset again when choosing the CCS
    mode.
    
    We can't use the engine_mask variable anymore, as with the
    current configuration, it imposes only one CCS no matter what the
    hardware configuration is.
    
    Before changing the engine_mask for the third time, save it and
    use it for calculating the CCS mode.
    
    After the previous changes, the user reported a performance drop
    to around 1/4. We have tested that the compute operations, with
    the current patch, have improved by the same factor.
    
    Fixes: 6db3125 ("drm/i915/gt: Enable only one CCS for compute workload")
    Signed-off-by: Andi Shyti <[email protected]>
    Cc: Chris Wilson <[email protected]>
    Cc: Gnattu OC <[email protected]>
    Cc: Joonas Lahtinen <[email protected]>
    Cc: Matt Roper <[email protected]>
    Tested-by: Jian Ye <[email protected]>
    Reviewed-by: Umesh Nerlige Ramappa <[email protected]>
    Tested-by: Gnattu OC <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit a09d232)
    Signed-off-by: Jani Nikula <[email protected]>
    Andi Shyti authored and jnikula committed May 29, 2024
    Configuration menu
    Copy the full SHA
    ee01b6a View commit details
    Browse the repository at this point in the history
  22. drm/i915/dpt: Make DPT object unshrinkable

    In some scenarios, the DPT object gets shrunk but
    the actual framebuffer did not and thus its still
    there on the DPT's vm->bound_list. Then it tries to
    rewrite the PTEs via a stale CPU mapping. This causes panic.
    
    Cc: [email protected]
    Reported-by: Shawn Lee <[email protected]>
    Fixes: 0dc987b ("drm/i915/display: Add smem fallback allocation for dpt")
    Signed-off-by: Vidya Srinivas <[email protected]>
    [vsyrjala: Add TODO comment]
    Signed-off-by: Ville Syrjälä <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit 51064d4)
    Signed-off-by: Jani Nikula <[email protected]>
    vsrini4 authored and jnikula committed May 29, 2024
    Configuration menu
    Copy the full SHA
    43e2b37 View commit details
    Browse the repository at this point in the history
  23. drm/i915: Fix audio component initialization

    After registering the audio component in i915_audio_component_init()
    the audio driver may call i915_audio_component_get_power() via the
    component ops. This could program AUD_FREQ_CNTRL with an uninitialized
    value if the latter function is called before display.audio.freq_cntrl
    gets initialized. The get_power() function also does a modeset which in
    the above case happens too early before the initialization step and
    triggers the
    
    "Reject display access from task"
    
    error message added by the Fixes: commit below.
    
    Fix the above issue by registering the audio component only after the
    initialization step.
    
    Fixes: 87c1694 ("drm/i915: save AUD_FREQ_CNTRL state at audio domain suspend")
    Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10291
    Cc: [email protected] # v5.5+
    Signed-off-by: Imre Deak <[email protected]>
    Reviewed-by: Jani Nikula <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    (cherry picked from commit fdd0b80)
    Signed-off-by: Jani Nikula <[email protected]>
    ideak authored and jnikula committed May 29, 2024
    Configuration menu
    Copy the full SHA
    75800e2 View commit details
    Browse the repository at this point in the history
  24. ALSA: seq: Fix incorrect UMP type for system messages

    When converting a legacy system message to a UMP packet, it forgot to
    modify the UMP type field but keeping the default type (either type 2
    or 4).  Correct to the right type for system messages.
    
    Fixes: e9e0281 ("ALSA: seq: Automatic conversion of UMP events")
    Cc: <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    tiwai committed May 29, 2024
    Configuration menu
    Copy the full SHA
    edb3277 View commit details
    Browse the repository at this point in the history
  25. ALSA: ump: Don't clear bank selection after sending a program change

    The current code clears the bank selection MSB/LSB after sending a
    program change, but this can be wrong, as many apps may not send the
    full bank selection with both MSB and LSB but sending only one.
    Better to keep the previous bank set.
    
    Fixes: 0b5288f ("ALSA: ump: Add legacy raw MIDI support")
    Cc: <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    tiwai committed May 29, 2024
    Configuration menu
    Copy the full SHA
    fe85f6e View commit details
    Browse the repository at this point in the history
  26. ALSA: pcm: fix typo in comment

    Fix the typo in the comment for SNDRV_PCM_RATE_KNOT
    
    Signed-off-by: Alexandre Belloni <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    alexandrebelloni authored and tiwai committed May 29, 2024
    Configuration menu
    Copy the full SHA
    6d40dbc View commit details
    Browse the repository at this point in the history
  27. ASoC: Intel: sof-sdw: fix missing SPI_MASTER dependency

    The addition of the Cirrus Logic 'sidecar' amps adds a dependency on SPI_MASTER.
    
    Kconfig warnings: (for reference only)
       WARNING: unmet direct dependencies detected for SND_SOC_CS35L56_SPI
       Depends on [n]:
         SOUND [=y] && SND [=y] && SND_SOC [=y] && SPI_MASTER [=n] &&
         (SOUNDWIRE [=y] || !SOUNDWIRE [=y])
       Selected by [y]:
        - SND_SOC_INTEL_SOUNDWIRE_SOF_MACH [=y] && SOUND [=y] && SND [=y]
          && SND_SOC [=y] && SND_SOC_INTEL_MACH [=y] &&
          SND_SOC_SOF_INTEL_SOUNDWIRE [=y] && I2C [=y] && ACPI [=y] &&
          (MFD_INTEL_LPSS [=y] || COMPILE_TEST [=n]) &&
          (SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES [=y] || COMPILE_TEST
          [=n]) && SOUNDWIRE [=y]
    
    Fixes: b831b4d ("ASoC: intel: sof_sdw: Add support for cs42l43-cs35l56 sidecar amps")
    Reported-by: kernel test robot <[email protected]>
    Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
    Signed-off-by: Pierre-Louis Bossart <[email protected]>
    Reviewed-by: Bard Liao <[email protected]>
    Link: https://msgid.link/r/[email protected]
    Reviewed-by: Charles Keepax <[email protected]>
    Signed-off-by: Mark Brown <[email protected]>
    plbossart authored and broonie committed May 29, 2024
    Configuration menu
    Copy the full SHA
    b062938 View commit details
    Browse the repository at this point in the history
  28. MAINTAINERS: dwmac: starfive: update Maintainer

    Update the maintainer of starfive dwmac driver.
    
    Signed-off-by: Minda Chen <[email protected]>
    Acked-by: Emil Renner Berthing <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    mindachen1987 authored and davem330 committed May 29, 2024
    Configuration menu
    Copy the full SHA
    e9022b3 View commit details
    Browse the repository at this point in the history
  29. nfc/nci: Add the inconsistency check between the input data length an…

    …d count
    
    write$nci(r0, &(0x7f0000000740)=ANY=[@ANYBLOB="610501"], 0xf)
    
    Syzbot constructed a write() call with a data length of 3 bytes but a count value
    of 15, which passed too little data to meet the basic requirements of the function
    nci_rf_intf_activated_ntf_packet().
    
    Therefore, increasing the comparison between data length and count value to avoid
    problems caused by inconsistent data length and count.
    
    Reported-and-tested-by: [email protected]
    Signed-off-by: Edward Adam Davis <[email protected]>
    Signed-off-by: David S. Miller <[email protected]>
    Edward-AD authored and davem330 committed May 29, 2024
    Configuration menu
    Copy the full SHA
    068648a View commit details
    Browse the repository at this point in the history
  30. powerpc/bpf: enforce full ordering for ATOMIC operations with BPF_FETCH

    The Linux Kernel Memory Model [1][2] requires RMW operations that have a
    return value to be fully ordered.
    
    BPF atomic operations with BPF_FETCH (including BPF_XCHG and
    BPF_CMPXCHG) return a value back so they need to be JITed to fully
    ordered operations. POWERPC currently emits relaxed operations for
    these.
    
    We can show this by running the following litmus-test:
    
      PPC SB+atomic_add+fetch
    
      {
          0:r0=x;  (* dst reg assuming offset is 0 *)
          0:r1=2;  (* src reg *)
          0:r2=1;
          0:r4=y;  (* P0 writes to this, P1 reads this *)
          0:r5=z;  (* P1 writes to this, P0 reads this *)
          0:r6=0;
    
          1:r2=1;
          1:r4=y;
          1:r5=z;
      }
    
      P0                      | P1            ;
      stw         r2, 0(r4)   | stw  r2,0(r5) ;
                              |               ;
      loop:lwarx  r3, r6, r0  |               ;
      mr          r8, r3      |               ;
      add         r3, r3, r1  | sync          ;
      stwcx.      r3, r6, r0  |               ;
      bne         loop        |               ;
      mr          r1, r8      |               ;
                              |               ;
      lwa         r7, 0(r5)   | lwa  r7,0(r4) ;
    
      ~exists(0:r7=0 /\ 1:r7=0)
    
      Witnesses
      Positive: 9 Negative: 3
      Condition ~exists (0:r7=0 /\ 1:r7=0)
      Observation SB+atomic_add+fetch Sometimes 3 9
    
    This test shows that the older store in P0 is reordered with a newer
    load to a different address. Although there is a RMW operation with
    fetch between them. Adding a sync before and after RMW fixes the issue:
    
      Witnesses
      Positive: 9 Negative: 0
      Condition ~exists (0:r7=0 /\ 1:r7=0)
      Observation SB+atomic_add+fetch Never 0 9
    
    [1] https://www.kernel.org/doc/Documentation/memory-barriers.txt
    [2] https://www.kernel.org/doc/Documentation/atomic_t.txt
    
    Fixes: aea7ef8 ("powerpc/bpf/32: add support for BPF_ATOMIC bitwise operations")
    Fixes: 2d9206b ("powerpc/bpf/32: Add instructions for atomic_[cmp]xchg")
    Fixes: dbe6e24 ("powerpc/bpf/64: add support for atomic fetch operations")
    Fixes: 1e82dfa ("powerpc/bpf/64: Add instructions for atomic_[cmp]xchg")
    Cc: [email protected] # v6.0+
    Signed-off-by: Puranjay Mohan <[email protected]>
    Reviewed-by: Christophe Leroy <[email protected]>
    Reviewed-by: Naveen N Rao <[email protected]>
    Acked-by: Paul E. McKenney <[email protected]>
    Signed-off-by: Michael Ellerman <[email protected]>
    Link: https://msgid.link/[email protected]
    puranjaymohan authored and mpe committed May 29, 2024
    Configuration menu
    Copy the full SHA
    b1e7cee View commit details
    Browse the repository at this point in the history
  31. ASoC: SOF: ipc4-topology: Fix input format query of process modules w…

    …ithout base extension
    
    If a process module does not have base config extension then the same
    format applies to all of it's inputs and the process->base_config_ext is
    NULL, causing NULL dereference when specifically crafted topology and
    sequences used.
    
    Fixes: 648fea1 ("ASoC: SOF: ipc4-topology: set copier output format for process module")
    Signed-off-by: Peter Ujfalusi <[email protected]>
    Reviewed-by: Pierre-Louis Bossart <[email protected]>
    Reviewed-by: Seppo Ingalsuo <[email protected]>
    Reviewed-by: Ranjani Sridharan <[email protected]>
    Cc: [email protected]
    Link: https://msgid.link/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    ujfalusi authored and broonie committed May 29, 2024
    Configuration menu
    Copy the full SHA
    ffa077b View commit details
    Browse the repository at this point in the history
  32. spi: cadence: Ensure data lines set to low during dummy-cycle period

    During dummy-cycles xSPI will switch GPIO into Hi-Z mode. In that dummy
    period voltage on data lines will slowly drop, what can cause
    unintentional modebyte transmission. Value send to SPI memory chip will
    depend on last address, and clock frequency.
    To prevent unforeseen consequences of that behaviour, force send
    single modebyte(0x00).
    Modebyte will be send only if number of dummy-cycles is not equal
    to 0. Code must also reduce dummycycle byte count by one - as one byte
    is send as modebyte.
    
    Signed-off-by: Witold Sadowski <[email protected]>
    Link: https://msgid.link/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Witold Sadowski authored and broonie committed May 29, 2024
    Configuration menu
    Copy the full SHA
    4a69c12 View commit details
    Browse the repository at this point in the history
  33. ASoC: SOF: add missing MODULE_DESCRIPTION

    Merge series from Pierre-Louis Bossart <[email protected]>:
    
    'make W=1' now reports missing MODULE_DESCRIPTION lines. This patchset
    cleans-up all the module definitions and adds MODULE_DESCRIPTION lines
    as needed.
    broonie committed May 29, 2024
    Configuration menu
    Copy the full SHA
    ba2e832 View commit details
    Browse the repository at this point in the history
  34. spi: Assign dummy scatterlist to unidirectional transfers

    Commit 8cc3bad ("spi: Remove unneded check for orig_nents")
    introduced a regression: unmapped data could now be passed to the DMA
    APIs, resulting in null pointer dereferences. Commit 9f788ba ("spi:
    Don't mark message DMA mapped when no transfer in it is") and commit
    da56009 ("spi: Check if transfer is mapped before calling DMA sync
    APIs") addressed the problem, but only partially. Unidirectional
    transactions will still result in null pointer dereference. To prevent
    that from happening, assign a dummy scatterlist when no data is mapped,
    so that the DMA API can be called and not result in a null pointer
    dereference.
    
    Signed-off-by: Andy Shevchenko <[email protected]>
    Reported-by: Neil Armstrong <[email protected]>
    Closes: https://lore.kernel.org/r/[email protected]
    Reported-by: Nícolas F. R. A. Prado <[email protected]>
    Closes: https://lore.kernel.org/all/d3679496-2e4e-4a7c-97ed-f193bd53af1d@notapiano
    Closes: https://lore.kernel.org/all/4748499f-789c-45a8-b50a-2dd09f4bac8c@notapiano
    Fixes: 8cc3bad ("spi: Remove unneded check for orig_nents")
    Tested-by: Nícolas F. R. A. Prado <[email protected]>
    [nfraprado: wrote the commit message]
    Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
    Link: https://msgid.link/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    andy-shev authored and broonie committed May 29, 2024
    Configuration menu
    Copy the full SHA
    9dedabe View commit details
    Browse the repository at this point in the history
  35. io_uring: don't attempt to mmap larger than what the user asks for

    If IORING_FEAT_SINGLE_MMAP is ignored, as can happen if an application
    uses an ancient liburing or does setup manually, then 3 mmap's are
    required to map the ring into userspace. The kernel will still have
    collapsed the mappings, however userspace may ask for mapping them
    individually. If so, then we should not use the full number of ring
    pages, as it may exceed the partial mapping. Doing so will yield an
    -EFAULT from vm_insert_pages(), as we pass in more pages than what the
    application asked for.
    
    Cap the number of pages to match what the application asked for, for
    the particular mapping operation.
    
    Reported-by: Lucas Mülling <[email protected]>
    Link: axboe/liburing#1157
    Fixes: 3ab1db3 ("io_uring: get rid of remap_pfn_range() for mapping rings/sqes")
    Signed-off-by: Jens Axboe <[email protected]>
    axboe committed May 29, 2024
    Configuration menu
    Copy the full SHA
    06fe9b1 View commit details
    Browse the repository at this point in the history
  36. Merge tag 'v6.10-p3' of git://git.kernel.org/pub/scm/linux/kernel/git…

    …/herbert/crypto-2.6
    
    Pull crypto fix from Herbert Xu:
     "This fixes a new run-time warning triggered by tpm"
    
    * tag 'v6.10-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      hwrng: core - Remove add_early_randomness
    torvalds committed May 29, 2024
    Configuration menu
    Copy the full SHA
    db16366 View commit details
    Browse the repository at this point in the history
  37. kheaders: explicitly define file modes for archived headers

    Build environments might be running with different umask settings
    resulting in indeterministic file modes for the files contained in
    kheaders.tar.xz. The file itself is served with 444, i.e. world
    readable. Archive the files explicitly with 744,a+X to improve
    reproducibility across build environments.
    
    --mode=0444 is not suitable as directories need to be executable. Also,
    444 makes it hard to delete all the readonly files after extraction.
    
    Cc: [email protected]
    Signed-off-by: Matthias Maennich <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    metti authored and masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    3bd27a8 View commit details
    Browse the repository at this point in the history
  38. kheaders: use command -v to test for existence of cpio

    Commit 13e1df0 ("kheaders: explicitly validate existence of cpio
    command") added an explicit check for `cpio` using `type`.
    
    However, `type` in `dash` (which is used in some popular distributions
    and base images as the shell script runner) prints the missing message
    to standard output, and thus no error is printed:
    
        $ bash -c 'type missing >/dev/null'
        bash: line 1: type: missing: not found
        $ dash -c 'type missing >/dev/null'
        $
    
    For instance, this issue may be seen by loongarch builders, given its
    defconfig enables CONFIG_IKHEADERS since commit 9cc1df4 ("LoongArch:
    Update Loongson-3 default config file").
    
    Therefore, use `command -v` instead to have consistent behavior, and
    take the chance to provide a more explicit error.
    
    Fixes: 13e1df0 ("kheaders: explicitly validate existence of cpio command")
    Signed-off-by: Miguel Ojeda <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    ojeda authored and masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    6e58e01 View commit details
    Browse the repository at this point in the history
  39. dt-bindings: kbuild: Fix dt_binding_check on unconfigured build

    The 'dt_binding_check' target shouldn't depend on the kernel
    configuration, but it has since commit 604a57b ("dt-bindings:
    kbuild: Add separate target/dependency for processed-schema.json").
    That is because CHECK_DT_BINDING make variable was dropped, but
    scripts/dtc/Makefile was missed. The CHECK_DTBS variable can be used
    instead.
    
    Reported-by: Francesco Dolcini <[email protected]>
    Fixes: 604a57b ("dt-bindings: kbuild: Add separate target/dependency for processed-schema.json")
    Signed-off-by: "Rob Herring (Arm)" <[email protected]>
    Signed-off-by: Masahiro Yamada <[email protected]>
    robherring authored and masahir0y committed May 29, 2024
    Configuration menu
    Copy the full SHA
    1b1c9f0 View commit details
    Browse the repository at this point in the history
  40. Merge tag '9p-for-6.10-rc2' of https://github.com/martinetd/linux

    Pull 9p fixes from Dominique Martinet:
     "Two fixes headed to stable trees:
    
       - a trace event was dumping uninitialized values
    
       - a missing lock that was thought to have exclusive access, and it
         turned out not to"
    
    * tag '9p-for-6.10-rc2' of https://github.com/martinetd/linux:
      9p: add missing locking around taking dentry fid list
      net/9p: fix uninit-value in p9_client_rpc()
    torvalds committed May 29, 2024
    Configuration menu
    Copy the full SHA
    397a83a View commit details
    Browse the repository at this point in the history
  41. Revert "vfs: Delete the associated dentry when deleting a file"

    This reverts commit 681ce86.
    
    We gave it a try, but it turns out the kernel test robot did in fact
    find performance regressions for it, so we'll have to look at the more
    involved alternative fixes for Yafang Shao's Elasticsearch load issue.
    
    There were several alternatives discussed, they just weren't as simple
    as this first attempt.
    
    The report is of a -7.4% regression of filebench.sum_operations/s, which
    appears significant enough to trigger my "this patch may get reverted if
    somebody finds a performance regression on some other load" rule.
    
    So it's still the case that we should end up deleting dentries more
    aggressively - or just be better at pruning them later - but it needs a
    bit more finesse than this simple thing.
    
    Link: https://lore.kernel.org/all/[email protected]/
    Cc: Yafang Shao <[email protected]>
    Cc: Al Viro <[email protected]>
    Cc: Christian Brauner <[email protected]>
    Signed-off-by: Linus Torvalds <[email protected]>
    torvalds committed May 29, 2024
    Configuration menu
    Copy the full SHA
    4a4be1a View commit details
    Browse the repository at this point in the history
  42. ALSA: ump: Don't accept an invalid UMP protocol number

    When a UMP Stream Configuration message is received, the driver tries
    to switch the protocol, but there was no sanity check of the protocol,
    hence it can pass an invalid value.  Add the check and bail out if a
    wrong value is passed.
    
    Fixes: a798076 ("ALSA: ump: Add helper to change MIDI protocol")
    Cc: <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    tiwai committed May 29, 2024
    Configuration menu
    Copy the full SHA
    ac0d71e View commit details
    Browse the repository at this point in the history
  43. ALSA: ump: Set default protocol when not given explicitly

    When an inquiry of the current protocol via UMP Stream Configuration
    message fails by some reason, we may leave the current protocol
    undefined, which may lead to unexpected behavior.  Better to assume a
    valid protocol found in the protocol capability bits instead.
    
    For a device that doesn't support the UMP v1.2 feature, it won't reach
    to this code path, and USB MIDI GTB descriptor would be used for
    determining the protocol, instead.
    
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    tiwai committed May 29, 2024
    Configuration menu
    Copy the full SHA
    bc42ca0 View commit details
    Browse the repository at this point in the history
  44. spi: stm32: Don't warn about spurious interrupts

    The dev_warn to notify about a spurious interrupt was introduced with
    the reasoning that these are unexpected. However spurious interrupts
    tend to trigger continously and the error message on the serial console
    prevents that the core's detection of spurious interrupts kicks in
    (which disables the irq) and just floods the console.
    
    Fixes: c64e7ef ("spi: stm32: make spurious and overrun interrupts visible")
    Signed-off-by: Uwe Kleine-König <[email protected]>
    Link: https://msgid.link/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    Uwe Kleine-König authored and broonie committed May 29, 2024
    Configuration menu
    Copy the full SHA
    95d7c45 View commit details
    Browse the repository at this point in the history
  45. bcachefs: Fix failure to return error on misaligned dio write

    This was reported as an error when running coreutils shred.
    
    Signed-off-by: Kent Overstreet <[email protected]>
    Kent Overstreet committed May 29, 2024
    Configuration menu
    Copy the full SHA
    7b038b5 View commit details
    Browse the repository at this point in the history
  46. drm/amdgpu: Adjust logic in amdgpu_device_partner_bandwidth()

    Use current speed/width on devices which don't support
    dynamic PCIe switching.
    
    Fixes: 466a7d1 ("drm/amd: Use the first non-dGPU PCI device for BW limits")
    Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3289
    Acked-by: Christian König <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    alexdeucher committed May 29, 2024
    Configuration menu
    Copy the full SHA
    ba46b3b View commit details
    Browse the repository at this point in the history
  47. drm/amdgpu: silence UBSAN warning

    Convert a variable sized array from [1] to [].
    
    Reviewed-by: Christian König <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    alexdeucher committed May 29, 2024
    Configuration menu
    Copy the full SHA
    05d9e24 View commit details
    Browse the repository at this point in the history
  48. drm/amdgpu: fix dereference null return value for the function amdgpu…

    …_vm_pt_parent
    
    The pointer parent may be NULLed by the function amdgpu_vm_pt_parent.
    To make the code more robust, check the pointer parent.
    
    Signed-off-by: Jesse Zhang <[email protected]>
    Suggested-by: Christian König <[email protected]>
    Reviewed-by: Christian König <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Jie1zhang authored and alexdeucher committed May 29, 2024
    Configuration menu
    Copy the full SHA
    a0cf365 View commit details
    Browse the repository at this point in the history
  49. Revert "drm/amdkfd: fix gfx_target_version for certain 11.0.3 devices"

    This reverts commit 28ebbb4.
    
    Revert this commit as apparently the LLVM code to take advantage of
    this never landed.
    
    Reviewed-by: Feifei Xu <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    Cc: Feifei Xu <[email protected]>
    alexdeucher committed May 29, 2024
    Configuration menu
    Copy the full SHA
    dd2b75f View commit details
    Browse the repository at this point in the history
  50. drm/amdkfd: simplify APU VRAM handling

    With commit 89773b8
    ("drm/amdkfd: Let VRAM allocations go to GTT domain on small APUs")
    big and small APU "VRAM" handling in KFD was unified.  Since AMD_IS_APU
    is set for both big and small APUs, we can simplify the checks in
    the code.
    
    v2: clean up a few more places (Lang)
    
    Acked-by: Felix Kuehling <[email protected]>
    Reviewed-by: Lang Yu <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    alexdeucher committed May 29, 2024
    Configuration menu
    Copy the full SHA
    1f327df View commit details
    Browse the repository at this point in the history
  51. drm/amdgpu: Make CPX mode auto default in NPS4

    On GFXIP9.4.3, make CPX mode as the default compute mode if the node is
    setup in NPS4 memory partition mode. This change is only applicable for
    dGPU, for APU, continue to use TPX mode.
    
    Reviewed-by: Felix Kuehling <[email protected]>
    Signed-off-by: Rajneesh Bhardwaj <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    rajbhar authored and alexdeucher committed May 29, 2024
    Configuration menu
    Copy the full SHA
    a9bc5a1 View commit details
    Browse the repository at this point in the history
  52. drm/amd/pm: remove deprecated I2C_CLASS_SPD support from newly added …

    …SMU_14_0_2
    
    Support for I2C_CLASS_SPD  is currently being removed from the kernel.
    Only remaining step is to remove the definition of I2C_CLASS_SPD.
    Setting I2C_CLASS_SPD  in a driver is a no-op meanwhile, so remove it
    here.
    
    Reviewed-by: Alex Deucher <[email protected]>
    Signed-off-by: Heiner Kallweit <[email protected]>
    Signed-off-by: Alex Deucher <[email protected]>
    hkallweit authored and alexdeucher committed May 29, 2024
    Configuration menu
    Copy the full SHA
    67c7d4f View commit details
    Browse the repository at this point in the history
  53. hwmon: (dell-smm) Add Dell G15 5511 to fan control whitelist

    A user reported that he needs to disable BIOS fan control on his
    Dell G15 5511 in order to be able to control the fans.
    
    Closes: Wer-Wolf/i8kutils#5
    Signed-off-by: Armin Wolf <[email protected]>
    Acked-by: Pali Rohár <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Guenter Roeck <[email protected]>
    Wer-Wolf authored and groeck committed May 29, 2024
    Configuration menu
    Copy the full SHA
    fa0bc8f View commit details
    Browse the repository at this point in the history
  54. hwmon: (ltc2992) Fix memory leak in ltc2992_parse_dt()

    A new error path was added to the fwnode_for_each_available_node() loop
    in ltc2992_parse_dt(), which leads to an early return that requires a
    call to fwnode_handle_put() to avoid a memory leak in that case.
    
    Add the missing fwnode_handle_put() in the error path from a zero value
    shunt resistor.
    
    Cc: [email protected]
    Fixes: 10b0290 ("hwmon: (ltc2992) Avoid division by zero")
    Signed-off-by: Javier Carrasco <[email protected]>
    Link: https://lore.kernel.org/r/20240523-fwnode_for_each_available_child_node_scoped-v2-1-701f3a03f2fb@gmail.com
    Signed-off-by: Guenter Roeck <[email protected]>
    javiercarrascocruz authored and groeck committed May 29, 2024
    Configuration menu
    Copy the full SHA
    a94ff8e View commit details
    Browse the repository at this point in the history

Commits on May 30, 2024

  1. net: fix __dst_negative_advice() race

    __dst_negative_advice() does not enforce proper RCU rules when
    sk->dst_cache must be cleared, leading to possible UAF.
    
    RCU rules are that we must first clear sk->sk_dst_cache,
    then call dst_release(old_dst).
    
    Note that sk_dst_reset(sk) is implementing this protocol correctly,
    while __dst_negative_advice() uses the wrong order.
    
    Given that ip6_negative_advice() has special logic
    against RTF_CACHE, this means each of the three ->negative_advice()
    existing methods must perform the sk_dst_reset() themselves.
    
    Note the check against NULL dst is centralized in
    __dst_negative_advice(), there is no need to duplicate
    it in various callbacks.
    
    Many thanks to Clement Lecigne for tracking this issue.
    
    This old bug became visible after the blamed commit, using UDP sockets.
    
    Fixes: a87cb3e ("net: Facility to report route quality of connected sockets")
    Reported-by: Clement Lecigne <[email protected]>
    Diagnosed-by: Clement Lecigne <[email protected]>
    Signed-off-by: Eric Dumazet <[email protected]>
    Cc: Tom Herbert <[email protected]>
    Reviewed-by: David Ahern <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    Eric Dumazet authored and kuba-moo committed May 30, 2024
    Configuration menu
    Copy the full SHA
    92f1655 View commit details
    Browse the repository at this point in the history
  2. ipv4: correctly iterate over the target netns in inet_dump_ifaddr()

    A recent change to inet_dump_ifaddr had the function incorrectly iterate
    over net rather than tgt_net, resulting in the data coming for the
    incorrect network namespace.
    
    Fixes: cdb2f80 ("inet: use xa_array iterator to implement inet_dump_ifaddr()")
    Reported-by: Stéphane Graber <[email protected]>
    Closes: lxc/incus#892
    Bisected-by: Stéphane Graber <[email protected]>
    Signed-off-by: Alexander Mikhalitsyn <[email protected]>
    Tested-by: Stéphane Graber <[email protected]>
    Acked-by: Christian Brauner <[email protected]>
    Reviewed-by: Eric Dumazet <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    mihalicyn authored and kuba-moo committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b8c8abe View commit details
    Browse the repository at this point in the history
  3. net: dsa: microchip: fix RGMII error in KSZ DSA driver

    The driver should return RMII interface when XMII is running in RMII mode.
    
    Fixes: 0ab7f6b ("net: dsa: microchip: ksz9477: use common xmii function")
    Signed-off-by: Tristram Ha <[email protected]>
    Acked-by: Arun Ramadoss <[email protected]>
    Acked-by: Jerry Ray <[email protected]>
    Reviewed-by: Andrew Lunn <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    triha2work authored and kuba-moo committed May 30, 2024
    Configuration menu
    Copy the full SHA
    278d65c View commit details
    Browse the repository at this point in the history
  4. Merge tag 'nvme-6.10-2024-05-29' of git://git.infradead.org/nvme into…

    … block-6.10
    
    Pull NVMe fixes from Keith:
    
    "nvme fixes for Linux 6.10
    
     - Removing unused fields (Kanchan)
     - Large folio offsets support (Kundan)
     - Multipath NUMA node initialiazation fix (Nilay)
     - Multipath IO stats accounting fixes (Keith)
     - Circular lockdep fix (Keith)
     - Target race condition fix (Sagi)
     - Target memory leak fix (Sagi)"
    
    * tag 'nvme-6.10-2024-05-29' of git://git.infradead.org/nvme:
      nvmet: fix a possible leak when destroy a ctrl during qp establishment
      nvme: use srcu for iterating namespace list
      nvme: adjust multiples of NVME_CTRL_PAGE_SIZE in offset
      nvme: remove sgs and sws
      nvmet: fix ns enable/disable possible hang
      nvme-multipath: fix io accounting on failover
      nvme: fix multipath batched completion accounting
      nvme-multipath: find NUMA path only for online numa-node
    axboe committed May 30, 2024
    Configuration menu
    Copy the full SHA
    1521dc2 View commit details
    Browse the repository at this point in the history
  5. e1000e: move force SMBUS near the end of enable_ulp function

    The commit 861e808 ("e1000e: move force SMBUS from enable ulp
    function to avoid PHY loss issue") introduces a regression on
    PCH_MTP_I219_LM18 (PCIID: 0x8086550A). Without the referred commit, the
    ethernet works well after suspend and resume, but after applying the
    commit, the ethernet couldn't work anymore after the resume and the
    dmesg shows that the NIC link changes to 10Mbps (1000Mbps originally):
    
        [   43.305084] e1000e 0000:00:1f.6 enp0s31f6: NIC Link is Up 10 Mbps Full Duplex, Flow Control: Rx/Tx
    
    Without the commit, the force SMBUS code will not be executed if
    "return 0" or "goto out" is executed in the enable_ulp(), and in my
    case, the "goto out" is executed since FWSM_FW_VALID is set. But after
    applying the commit, the force SMBUS code will be ran unconditionally.
    
    Here move the force SMBUS code back to enable_ulp() and put it
    immediately ahead of hw->phy.ops.release(hw), this could allow the
    longest settling time as possible for interface in this function and
    doesn't change the original code logic.
    
    The issue was found on a Lenovo laptop with the ethernet hw as below:
    00:1f.6 Ethernet controller [0200]: Intel Corporation Device [8086:550a]
    (rev 20).
    
    And this patch is verified (cable plug and unplug, system suspend
    and resume) on Lenovo laptops with ethernet hw: [8086:550a],
    [8086:550b], [8086:15bb], [8086:15be], [8086:1a1f], [8086:1a1c] and
    [8086:0dc7].
    
    Fixes: 861e808 ("e1000e: move force SMBUS from enable ulp function to avoid PHY loss issue")
    Signed-off-by: Hui Wang <[email protected]>
    Acked-by: Vitaly Lifshits <[email protected]>
    Tested-by: Naama Meir <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Reviewed-by: Paul Menzel <[email protected]>
    Signed-off-by: Tony Nguyen <[email protected]>
    Tested-by: Zhang Rui <[email protected]>
    Signed-off-by: Jacob Keller <[email protected]>
    Link: https://lore.kernel.org/r/20240528-net-2024-05-28-intel-net-fixes-v1-1-dc8593d2bbc6@intel.com
    Signed-off-by: Jakub Kicinski <[email protected]>
    jason77-wang authored and kuba-moo committed May 30, 2024
    Configuration menu
    Copy the full SHA
    bfd546a View commit details
    Browse the repository at this point in the history
  6. i40e: factoring out i40e_suspend/i40e_resume

    Two new functions, i40e_io_suspend() and i40e_io_resume(), have been
    introduced.  These functions were factored out from the existing
    i40e_suspend() and i40e_resume() respectively.  This factoring was
    done due to concerns about the logic of the I40E_SUSPENSED state, which
    caused the device to be unable to recover.  The functions are now used
    in the EEH handling for device suspend/resume callbacks.
    
    The function i40e_enable_mc_magic_wake() has been moved ahead of
    i40e_io_suspend() to ensure it is declared before being used.
    
    Tested-by: Robert Thomas <[email protected]>
    Signed-off-by: Thinh Tran <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Tested-by: Pucha Himasekhar Reddy <[email protected]>
    Reviewed-by: Jacob Keller <[email protected]>
    Signed-off-by: Jacob Keller <[email protected]>
    Link: https://lore.kernel.org/r/20240528-net-2024-05-28-intel-net-fixes-v1-2-dc8593d2bbc6@intel.com
    Signed-off-by: Jakub Kicinski <[email protected]>
    Thinh Tran authored and kuba-moo committed May 30, 2024
    Configuration menu
    Copy the full SHA
    218ed82 View commit details
    Browse the repository at this point in the history
  7. i40e: Fully suspend and resume IO operations in EEH case

    When EEH events occurs, the callback functions in the i40e, which are
    managed by the EEH driver, will completely suspend and resume all IO
    operations.
    
    - In the PCI error detected callback, replaced i40e_prep_for_reset()
      with i40e_io_suspend(). The change is to fully suspend all I/O
      operations
    - In the PCI error slot reset callback, replaced pci_enable_device_mem()
      with pci_enable_device(). This change enables both I/O and memory of
      the device.
    - In the PCI error resume callback, replaced i40e_handle_reset_warning()
      with i40e_io_resume(). This change allows the system to resume I/O
      operations
    
    Fixes: a5f3d2c ("powerpc/pseries/pci: Add MSI domains")
    Reviewed-by: Jacob Keller <[email protected]>
    Tested-by: Robert Thomas <[email protected]>
    Signed-off-by: Thinh Tran <[email protected]>
    Reviewed-by: Simon Horman <[email protected]>
    Tested-by: Pucha Himasekhar Reddy <[email protected]>
    Signed-off-by: Jacob Keller <[email protected]>
    Link: https://lore.kernel.org/r/20240528-net-2024-05-28-intel-net-fixes-v1-3-dc8593d2bbc6@intel.com
    Signed-off-by: Jakub Kicinski <[email protected]>
    Thinh Tran authored and kuba-moo committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c80b653 View commit details
    Browse the repository at this point in the history
  8. ice: fix 200G PHY types to link speed mapping

    Commit 24407a0 ("ice: Add 200G speed/phy type use") added support
    for 200G PHY speeds, but did not include the mapping of 200G PHY types
    to link speed. As a result the driver is returning UNKNOWN link speed
    when setting 200G ethtool advertised link modes.
    
    To fix this add 200G PHY types to link speed mapping to
    ice_get_link_speed_based_on_phy_type().
    
    Fixes: 24407a0 ("ice: Add 200G speed/phy type use")
    Reviewed-by: Michal Swiatkowski <[email protected]>
    Signed-off-by: Paul Greenwalt <[email protected]>
    Tested-by: Pucha Himasekhar Reddy <[email protected]>
    Signed-off-by: Jacob Keller <[email protected]>
    Link: https://lore.kernel.org/r/20240528-net-2024-05-28-intel-net-fixes-v1-5-dc8593d2bbc6@intel.com
    Signed-off-by: Jakub Kicinski <[email protected]>
    pgreenwa authored and kuba-moo committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2a6d8f2 View commit details
    Browse the repository at this point in the history
  9. ice: check for unregistering correct number of devlink params

    On module load, the ice driver checks for the lack of a specific PF
    capability to determine if it should reduce the number of devlink params
    to register.  One situation when this test returns true is when the
    driver loads in safe mode.  The same check is not present on the unload
    path when devlink params are unregistered.  This results in the driver
    triggering a WARN_ON in the kernel devlink code.
    
    The current check and code path uses a reduction in the number of elements
    reported in the list of params.  This is fragile and not good for future
    maintaining.
    
    Change the parameters to be held in two lists, one always registered and
    one dependent on the check.
    
    Add a symmetrical check in the unload path so that the correct parameters
    are unregistered as well.
    
    Fixes: 109eb29 ("ice: Add tx_scheduling_layers devlink param")
    CC: Lukasz Czapnik <[email protected]>
    Reviewed-by: Przemek Kitszel <[email protected]>
    Signed-off-by: Dave Ertman <[email protected]>
    Reviewed-by: Jacob Keller <[email protected]>
    Tested-by: Pucha Himasekhar Reddy <[email protected]>
    Signed-off-by: Jacob Keller <[email protected]>
    Link: https://lore.kernel.org/r/20240528-net-2024-05-28-intel-net-fixes-v1-8-dc8593d2bbc6@intel.com
    Signed-off-by: Jakub Kicinski <[email protected]>
    dmertman authored and kuba-moo committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a51c9b1 View commit details
    Browse the repository at this point in the history
  10. Merge branch 'intel-wired-lan-driver-updates-2024-05-28-e1000e-i40e-ice'

    Jacob Keller says:
    
    ====================
    Intel Wired LAN Driver Updates 2024-05-28 (e1000e, i40e, ice) [part]
    
    This series includes a variety of fixes that have been accumulating on the
    Intel Wired LAN dev-queue.
    
    Hui Wang provides a fix for suspend/resume on e1000e due to failure
    to correctly setup the SMBUS in enable_ulp().
    
    Thinh Tran provides a fix for EEH I/O suspend/resume on i40e to
    ensure that I/O operations can continue after a resume. To avoid duplicate
    code, the common logic is factored out of i40e_suspend and i40e_resume.
    
    Paul Greenwalt provides a fix to correctly map the 200G PHY types to link
    speeds in the ice driver.
    
    Dave Ertman provides a fix correcting devlink parameter unregistration in
    the event that the driver loads in safe mode and some of the parameters
    were not registered.
    ====================
    
    Link: https://lore.kernel.org/r/20240528-net-2024-05-28-intel-net-fixes-v1-0-dc8593d2bbc6@intel.com
    Signed-off-by: Jakub Kicinski <[email protected]>
    kuba-moo committed May 30, 2024
    Configuration menu
    Copy the full SHA
    602d959 View commit details
    Browse the repository at this point in the history
  11. net: ena: Fix redundant device NUMA node override

    The driver overrides the NUMA node id of the device regardless of
    whether it knows its correct value (often setting it to -1 even though
    the node id is advertised in 'struct device'). This can lead to
    suboptimal configurations.
    
    This patch fixes this behavior and makes the shared memory allocation
    functions use the NUMA node id advertised by the underlying device.
    
    Fixes: 1738cd3 ("net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)")
    Signed-off-by: Shay Agroskin <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jakub Kicinski <[email protected]>
    ShayAgros authored and kuba-moo committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2dc8b1e View commit details
    Browse the repository at this point in the history
  12. Merge tag 'nf-24-05-29' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/netfilter/nf
    
    Pablo Neira Ayuso says:
    
    ====================
    Netfilter fixes for net
    
    The following patchset contains Netfilter fixes for net:
    
    Patch #1 syzbot reports that nf_reinject() could be called without
             rcu_read_lock() when flushing pending packets at nfnetlink
             queue removal, from Eric Dumazet.
    
    Patch #2 flushes ipset list:set when canceling garbage collection to
             reference to other lists to fix a race, from Jozsef Kadlecsik.
    
    Patch #3 restores q-in-q matching with nft_payload by reverting
             f6ae9f1 ("netfilter: nft_payload: add C-VLAN support").
    
    Patch #4 fixes vlan mangling in skbuff when vlan offload is present
             in skbuff, without this patch nft_payload corrupts packets
             in this case.
    
    Patch #5 fixes possible nul-deref in tproxy no IP address is found in
             netdevice, reported by syzbot and patch from Florian Westphal.
    
    Patch torvalds#6 removes a superfluous restriction which prevents loose fib
             lookups from input and forward hooks, from Eric Garver.
    
    My assessment is that patches #1, #2 and #5 address possible kernel
    crash, anything else in this batch fixes broken features.
    
    netfilter pull request 24-05-29
    
    * tag 'nf-24-05-29' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
      netfilter: nft_fib: allow from forward/input without iif selector
      netfilter: tproxy: bail out if IP has been disabled on the device
      netfilter: nft_payload: skbuff vlan metadata mangle support
      netfilter: nft_payload: restore vlan q-in-q match support
      netfilter: ipset: Add list flush to cancel_gc
      netfilter: nfnetlink_queue: acquire rcu_read_lock() in instance_destroy_rcu()
    ====================
    
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    Paolo Abeni committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e889eb1 View commit details
    Browse the repository at this point in the history
  13. ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound

    Raw packet from PF_PACKET socket ontop of an IPv6-backed ipvlan device will
    hit WARN_ON_ONCE() in sk_mc_loop() through sch_direct_xmit() path.
    
    WARNING: CPU: 2 PID: 0 at net/core/sock.c:775 sk_mc_loop+0x2d/0x70
    Modules linked in: sch_netem ipvlan rfkill cirrus drm_shmem_helper sg drm_kms_helper
    CPU: 2 PID: 0 Comm: swapper/2 Kdump: loaded Not tainted 6.9.0+ torvalds#279
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
    RIP: 0010:sk_mc_loop+0x2d/0x70
    Code: fa 0f 1f 44 00 00 65 0f b7 15 f7 96 a3 4f 31 c0 66 85 d2 75 26 48 85 ff 74 1c
    RSP: 0018:ffffa9584015cd78 EFLAGS: 00010212
    RAX: 0000000000000011 RBX: ffff91e585793e00 RCX: 0000000002c6a001
    RDX: 0000000000000000 RSI: 0000000000000040 RDI: ffff91e589c0f000
    RBP: ffff91e5855bd100 R08: 0000000000000000 R09: 3d00545216f43d00
    R10: ffff91e584fdcc50 R11: 00000060dd8616f4 R12: ffff91e58132d000
    R13: ffff91e584fdcc68 R14: ffff91e5869ce800 R15: ffff91e589c0f000
    FS:  0000000000000000(0000) GS:ffff91e898100000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00007f788f7c44c0 CR3: 0000000008e1a000 CR4: 00000000000006f0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:
    <IRQ>
     ? __warn (kernel/panic.c:693)
     ? sk_mc_loop (net/core/sock.c:760)
     ? report_bug (lib/bug.c:201 lib/bug.c:219)
     ? handle_bug (arch/x86/kernel/traps.c:239)
     ? exc_invalid_op (arch/x86/kernel/traps.c:260 (discriminator 1))
     ? asm_exc_invalid_op (./arch/x86/include/asm/idtentry.h:621)
     ? sk_mc_loop (net/core/sock.c:760)
     ip6_finish_output2 (net/ipv6/ip6_output.c:83 (discriminator 1))
     ? nf_hook_slow (net/netfilter/core.c:626)
     ip6_finish_output (net/ipv6/ip6_output.c:222)
     ? __pfx_ip6_finish_output (net/ipv6/ip6_output.c:215)
     ipvlan_xmit_mode_l3 (drivers/net/ipvlan/ipvlan_core.c:602) ipvlan
     ipvlan_start_xmit (drivers/net/ipvlan/ipvlan_main.c:226) ipvlan
     dev_hard_start_xmit (net/core/dev.c:3594)
     sch_direct_xmit (net/sched/sch_generic.c:343)
     __qdisc_run (net/sched/sch_generic.c:416)
     net_tx_action (net/core/dev.c:5286)
     handle_softirqs (kernel/softirq.c:555)
     __irq_exit_rcu (kernel/softirq.c:589)
     sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1043)
    
    The warning triggers as this:
    packet_sendmsg
       packet_snd //skb->sk is packet sk
          __dev_queue_xmit
             __dev_xmit_skb //q->enqueue is not NULL
                 __qdisc_run
                   sch_direct_xmit
                     dev_hard_start_xmit
                       ipvlan_start_xmit
                          ipvlan_xmit_mode_l3 //l3 mode
                            ipvlan_process_outbound //vepa flag
                              ipvlan_process_v6_outbound
                                ip6_local_out
                                    __ip6_finish_output
                                      ip6_finish_output2 //multicast packet
                                        sk_mc_loop //sk->sk_family is AF_PACKET
    
    Call ip{6}_local_out() with NULL sk in ipvlan as other tunnels to fix this.
    
    Fixes: 2ad7bf3 ("ipvlan: Initial check-in of the IPVLAN driver.")
    Suggested-by: Eric Dumazet <[email protected]>
    Signed-off-by: Yue Haibing <[email protected]>
    Reviewed-by: Eric Dumazet <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    Yue Haibing authored and Paolo Abeni committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b3dc6e8 View commit details
    Browse the repository at this point in the history
  14. ALSA: seq: Fix yet another spot for system message conversion

    We fixed the incorrect UMP type for system messages in the recent
    commit, but it missed one place in system_ev_to_ump_midi1().
    Fix it now.
    
    Fixes: e9e0281 ("ALSA: seq: Automatic conversion of UMP events")
    Fixes: c2bb796 ("ALSA: seq: Fix incorrect UMP type for system messages")
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    tiwai committed May 30, 2024
    Configuration menu
    Copy the full SHA
    700fe6f View commit details
    Browse the repository at this point in the history
  15. netdev: add qstat for csum complete

    Recent commit 0cfe71f ("netdev: add queue stats") added
    a lot of useful stats, but only those immediately needed by virtio.
    Presumably virtio does not support CHECKSUM_COMPLETE,
    so statistic for that form of checksumming wasn't included.
    Other drivers will definitely need it, in fact we expect it
    to be needed in net-next soon (mlx5). So let's add the definition
    of the counter for CHECKSUM_COMPLETE to uAPI in net already,
    so that the counters are in a more natural order (all subsequent
    counters have not been present in any released kernel, yet).
    
    Signed-off-by: Jakub Kicinski <[email protected]>
    Reviewed-by: Joe Damato <[email protected]>
    Fixes: 0cfe71f ("netdev: add queue stats")
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Paolo Abeni <[email protected]>
    kuba-moo authored and Paolo Abeni committed May 30, 2024
    Configuration menu
    Copy the full SHA
    13c7c94 View commit details
    Browse the repository at this point in the history
  16. ASoC: SOF: ipc4-topology: Add support for NHLT with 16-bit only DMIC …

    …blob
    
    The ACPI NHLT table always had 32-bit DMIC blob even if 16-bit was also
    present and taken as a 'rule' which obviously got broken and there is at
    least one device on the market which ships with only 16-bit DMIC
    configuration blob.
    This corner case has never been supported and it is going to need topology
    updates for DMIC copier to support multiple formats.
    
    As for the kernel side: if the copier supports multiple formats and the
    preferred 32-bit DMIC blob is not found then we will try to get a 16-bit
    DMIC configuration and look for a 16-bit copier config.
    
    Fixes: f920964 ("ASoC: SOF: ipc4-topology: Correct DAI copier config and NHLT blob request")
    Link: thesofproject#4973
    Signed-off-by: Peter Ujfalusi <[email protected]>
    Reviewed-by: Seppo Ingalsuo <[email protected]>
    Reviewed-by: Pierre-Louis Bossart <[email protected]>
    Reviewed-by: Ranjani Sridharan <[email protected]>
    Link: https://msgid.link/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    ujfalusi authored and broonie committed May 30, 2024
    Configuration menu
    Copy the full SHA
    49cb894 View commit details
    Browse the repository at this point in the history
  17. ASoC: SOF: ipc4-topology: Print out the channel count in sof_ipc4_dbg…

    …_audio_format
    
    Print out the number of channels for the format explicitly instead of
    having the reader to understand how to interpret the ch_map and ch_cfg
    values.
    
    Signed-off-by: Peter Ujfalusi <[email protected]>
    Reviewed-by: Pierre-Louis Bossart <[email protected]>
    Reviewed-by: Ranjani Sridharan <[email protected]>
    Reviewed-by: Bard Liao <[email protected]>
    Link: https://msgid.link/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    ujfalusi authored and broonie committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2a865c9 View commit details
    Browse the repository at this point in the history
  18. ASoC: SOF: ipc4-topology/pcm: Rename sof_ipc4_copier_is_single_format()

    Rename the sof_ipc4_copier_is_single_format() to
    sof_ipc4_copier_is_single_bitdepth() to clear the confusion of the use of
    'format' when we are querying information on the bit depth.
    Format is used to describe a combination of parameters (rate, channels,
    sample format / bit depth).
    Rename the flags used to store the result at the same time.
    
    Signed-off-by: Peter Ujfalusi <[email protected]>
    Reviewed-by: Pierre-Louis Bossart <[email protected]>
    Reviewed-by: Bard Liao <[email protected]>
    Reviewed-by: Seppo Ingalsuo <[email protected]>
    Reviewed-by: Ranjani Sridharan <[email protected]>
    Link: https://msgid.link/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    ujfalusi authored and broonie committed May 30, 2024
    Configuration menu
    Copy the full SHA
    3b64fd2 View commit details
    Browse the repository at this point in the history
  19. ASoC: SOF: ipc4-topology: Improve readability of sof_ipc4_prepare_dai…

    …_copier()
    
    Remove the duplicated code paths to check for single bit depth and to
    update the params with storing the parameters needed by the function and
    have a single code section.
    
    No functional change but the code is easier to follow.
    
    Signed-off-by: Peter Ujfalusi <[email protected]>
    Reviewed-by: Pierre-Louis Bossart <[email protected]>
    Reviewed-by: Bard Liao <[email protected]>
    Reviewed-by: Seppo Ingalsuo <[email protected]>
    Reviewed-by: Ranjani Sridharan <[email protected]>
    Link: https://msgid.link/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    ujfalusi authored and broonie committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2fcad03 View commit details
    Browse the repository at this point in the history
  20. ASoC: SOF: ipc4-topology: Adjust the params based on DAI formats

    Currently we only check the bit depth value among to DAI formats, but other
    parameters might be constant, like number of channels and/or rate.
    
    In capture we use the fe params as a reference to find the format and blob
    which should be used, but in the path we can have components which can
    handle expanding/narrowing number of channels or do a resample.
    
    In these cases the topology is expected to have 'fixed' parameter for
    channels/rates/bit depth and the conversion to the fe format is going to
    be done within the path.
    
    In practice this patch fixes issues like:
    All DMIC formats are fixed four channels
    We have a component which converts the four channel to stereo
    FE is opened with 2 channel
    
    Even if we have the correct bit depth format and blob (for four channel) we
    will still be looking for stereo configurations, which will fail.
    
    Note: the adjustment of params have switched order with the checking of
    single bit depth (needed for the NHLT blob fallback support). This change
    is non function, just that if the sof_ipc4_narrow_params_to_format() would
    fail, there is no point of checking the single bit depth.
    
    Signed-off-by: Peter Ujfalusi <[email protected]>
    Reviewed-by: Pierre-Louis Bossart <[email protected]>
    Reviewed-by: Bard Liao <[email protected]>
    Reviewed-by: Seppo Ingalsuo <[email protected]>
    Reviewed-by: Ranjani Sridharan <[email protected]>
    Link: https://msgid.link/r/[email protected]
    Signed-off-by: Mark Brown <[email protected]>
    ujfalusi authored and broonie committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b65456b View commit details
    Browse the repository at this point in the history
  21. powerpc/pseries/lparcfg: drop error message from guest name lookup

    It's not an error or exceptional situation when the hosting
    environment does not expose a name for the LP/guest via RTAS or the
    device tree. This happens with qemu when run without the '-name'
    option. The message also lacks a newline. Remove it.
    
    Signed-off-by: Nathan Lynch <[email protected]>
    Fixes: eddaa9a ("powerpc/pseries: read the lpar name from the firmware")
    Signed-off-by: Michael Ellerman <[email protected]>
    Link: https://msgid.link/[email protected]
    nathanlynch authored and mpe committed May 30, 2024
    Configuration menu
    Copy the full SHA
    12870ae View commit details
    Browse the repository at this point in the history
  22. powerpc/uaccess: Fix build errors seen with GCC 13/14

    Building ppc64le_defconfig with GCC 14 fails with assembler errors:
    
        CC      fs/readdir.o
      /tmp/ccdQn0mD.s: Assembler messages:
      /tmp/ccdQn0mD.s:212: Error: operand out of domain (18 is not a multiple of 4)
      /tmp/ccdQn0mD.s:226: Error: operand out of domain (18 is not a multiple of 4)
      ... [6 lines]
      /tmp/ccdQn0mD.s:1699: Error: operand out of domain (18 is not a multiple of 4)
    
    A snippet of the asm shows:
    
      # ../fs/readdir.c:210:         unsafe_copy_dirent_name(dirent->d_name, name, namlen, efault_end);
             ld 9,0(29)       # MEM[(u64 *)name_38(D) + _88 * 1], MEM[(u64 *)name_38(D) + _88 * 1]
      # 210 "../fs/readdir.c" 1
             1:      std 9,18(8)     # put_user       # *__pus_addr_52, MEM[(u64 *)name_38(D) + _88 * 1]
    
    The 'std' instruction requires a 4-byte aligned displacement because
    it is a DS-form instruction, and as the assembler says, 18 is not a
    multiple of 4.
    
    A similar error is seen with GCC 13 and CONFIG_UBSAN_SIGNED_WRAP=y.
    
    The fix is to change the constraint on the memory operand to put_user(),
    from "m" which is a general memory reference to "YZ".
    
    The "Z" constraint is documented in the GCC manual PowerPC machine
    constraints, and specifies a "memory operand accessed with indexed or
    indirect addressing". "Y" is not documented in the manual but specifies
    a "memory operand for a DS-form instruction". Using both allows the
    compiler to generate a DS-form "std" or X-form "stdx" as appropriate.
    
    The change has to be conditional on CONFIG_PPC_KERNEL_PREFIXED because
    the "Y" constraint does not guarantee 4-byte alignment when prefixed
    instructions are enabled.
    
    Unfortunately clang doesn't support the "Y" constraint so that has to be
    behind an ifdef.
    
    Although the build error is only seen with GCC 13/14, that appears
    to just be luck. The constraint has been incorrect since it was first
    added.
    
    Fixes: c20beff ("powerpc/uaccess: Use flexible addressing with __put_user()/__get_user()")
    Cc: [email protected] # v5.10+
    Suggested-by: Kewen Lin <[email protected]>
    Signed-off-by: Michael Ellerman <[email protected]>
    Link: https://msgid.link/[email protected]
    mpe committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2d43cc7 View commit details
    Browse the repository at this point in the history
  23. powerpc/uaccess: Use YZ asm constraint for ld

    The 'ld' instruction requires a 4-byte aligned displacement because it
    is a DS-form instruction. But the "m" asm constraint doesn't enforce
    that.
    
    Add a special case of __get_user_asm2_goto() so that the "YZ" constraint
    can be used for "ld".
    
    The "Z" constraint is documented in the GCC manual PowerPC machine
    constraints, and specifies a "memory operand accessed with indexed or
    indirect addressing". "Y" is not documented in the manual but specifies
    a "memory operand for a DS-form instruction". Using both allows the
    compiler to generate a DS-form "ld" or X-form "ldx" as appropriate.
    
    The change has to be conditional on CONFIG_PPC_KERNEL_PREFIXED because
    the "Y" constraint does not guarantee 4-byte alignment when prefixed
    instructions are enabled.
    
    No build errors have been reported due to this, but the possibility is
    there depending on compiler code generation decisions.
    
    Fixes: c20beff ("powerpc/uaccess: Use flexible addressing with __put_user()/__get_user()")
    Signed-off-by: Michael Ellerman <[email protected]>
    Link: https://msgid.link/[email protected]
    mpe committed May 30, 2024
    Configuration menu
    Copy the full SHA
    5093494 View commit details
    Browse the repository at this point in the history
  24. powerpc: Limit ARCH_HAS_KERNEL_FPU_SUPPORT to PPC64

    When building a 32-bit kernel, some toolchains do not allow mixing soft
    float and hard float object files:
    
        LD      vmlinux.o
      powerpc64le-unknown-linux-musl-ld: lib/test_fpu_impl.o uses hard float, arch/powerpc/kernel/udbg.o uses soft float
      powerpc64le-unknown-linux-musl-ld: failed to merge target specific data of file lib/test_fpu_impl.o
      make[2]: *** [scripts/Makefile.vmlinux_o:62: vmlinux.o] Error 1
      make[1]: *** [Makefile:1152: vmlinux_o] Error 2
      make: *** [Makefile:240: __sub-make] Error 2
    
    This is not an issue when building a 64-bit kernel. To unbreak the
    build, limit ARCH_HAS_KERNEL_FPU_SUPPORT to 64-bit kernels. This is okay
    because the only real user of this option, amdgpu, was previously
    limited to PPC64 anyway; see commit a28e4b6 ("drm/amd/display: use
    ARCH_HAS_KERNEL_FPU_SUPPORT").
    
    Fixes: 01db473 ("powerpc: implement ARCH_HAS_KERNEL_FPU_SUPPORT")
    Reported-by: kernel test robot <[email protected]>
    Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
    Reported-by: Guenter Roeck <[email protected]>
    Closes: https://lore.kernel.org/lkml/[email protected]/
    Signed-off-by: Samuel Holland <[email protected]>
    Tested-by: Guenter Roeck <[email protected]>
    Signed-off-by: Michael Ellerman <[email protected]>
    Link: https://msgid.link/[email protected]
    SiFiveHolland authored and mpe committed May 30, 2024
    Configuration menu
    Copy the full SHA
    be2fc65 View commit details
    Browse the repository at this point in the history
  25. drm/panel: sitronix-st7789v: fix timing for jt240mhqs_hwt_ek_e3 panel

    Flickering was observed when using partial mode. Moving the vsync to the
    same position as used by the default sitronix-st7789v timing resolves this
    issue.
    
    Fixes: 0fbbe96 ("drm/panel: sitronix-st7789v: add jasonic jt240mhqs-hwt-ek-e3 support")
    Acked-by: Jessica Zhang <[email protected]>
    Signed-off-by: Gerald Loacker <[email protected]>
    Link: https://lore.kernel.org/r/20240409-bugfix-jt240mhqs_hwt_ek_e3-timing-v2-1-e4821802443d@wolfvision.net
    Signed-off-by: Neil Armstrong <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240409-bugfix-jt240mhqs_hwt_ek_e3-timing-v2-1-e4821802443d@wolfvision.net
    Gerald08 authored and superna9999 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    0e5895f View commit details
    Browse the repository at this point in the history
  26. drm/panel: sitronix-st7789v: tweak timing for jt240mhqs_hwt_ek_e3 panel

    Use the default timing parameters to get a refresh rate of about 60 Hz for
    a clock of 6 MHz.
    
    Fixes: 0fbbe96 ("drm/panel: sitronix-st7789v: add jasonic jt240mhqs-hwt-ek-e3 support")
    Signed-off-by: Gerald Loacker <[email protected]>
    Acked-by: Jessica Zhang <[email protected]>
    Link: https://lore.kernel.org/r/20240409-bugfix-jt240mhqs_hwt_ek_e3-timing-v2-2-e4821802443d@wolfvision.net
    Signed-off-by: Neil Armstrong <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240409-bugfix-jt240mhqs_hwt_ek_e3-timing-v2-2-e4821802443d@wolfvision.net
    Gerald08 authored and superna9999 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2ba5058 View commit details
    Browse the repository at this point in the history
  27. drm/panel: sitronix-st7789v: fix display size for jt240mhqs_hwt_ek_e3…

    … panel
    
    This is a portrait mode display. Change the dimensions accordingly.
    
    Fixes: 0fbbe96 ("drm/panel: sitronix-st7789v: add jasonic jt240mhqs-hwt-ek-e3 support")
    Signed-off-by: Gerald Loacker <[email protected]>
    Acked-by: Jessica Zhang <[email protected]>
    Link: https://lore.kernel.org/r/20240409-bugfix-jt240mhqs_hwt_ek_e3-timing-v2-3-e4821802443d@wolfvision.net
    Signed-off-by: Neil Armstrong <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240409-bugfix-jt240mhqs_hwt_ek_e3-timing-v2-3-e4821802443d@wolfvision.net
    Gerald08 authored and superna9999 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b62c150 View commit details
    Browse the repository at this point in the history
  28. ASoC: SOF: ipc4-topology: Fix nhlt configuration blob

    Merge series from Peter Ujfalusi <[email protected]>:
    
    The existing logic to pick a DMIC blob is based on several historical
    assumptions that the NHLT in BIOS always contains 32-bits per sample
    type (first patch, [1]).
    
    The other issue with the existing logic is that it was designed to care only
    about the bit depth of the format and fails to find the existing and correct
    blob when rate/channels are different on the FE side compared to what we should
    be using on the DAI side (we have components in path which can change
    rate/channel count).
    
    These issues have not been observed in past but with new MTL based (Windows)
    laptops and new topologies to enhance the audio quality, we started to see weird
    issues around how our assumptions of vendors failed.
    
    Since some NHLT blob handling cleanup has been done for 6.10, this series will
    complete that work to cover even cases that we don't anticipate to see.
    
    [1] thesofproject#4973
    broonie committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c85578e View commit details
    Browse the repository at this point in the history
  29. x86/topology/amd: Evaluate SMT in CPUID leaf 0x8000001e only on famil…

    …y 0x17 and greater
    
    The new AMD/HYGON topology parser evaluates the SMT information in CPUID leaf
    0x8000001e unconditionally while the original code restricted it to CPUs with
    family 0x17 and greater.
    
    This breaks family 0x15 CPUs which advertise that leaf and have a non-zero
    value in the SMT section. The machine boots, but the scheduler complains loudly
    about the mismatch of the core IDs:
    
      WARNING: CPU: 1 PID: 0 at kernel/sched/core.c:6482 sched_cpu_starting+0x183/0x250
      WARNING: CPU: 0 PID: 1 at kernel/sched/topology.c:2408 build_sched_domains+0x76b/0x12b0
    
    Add the condition back to cure it.
    
      [ bp: Make it actually build because grandpa is not concerned with
        trivial stuff. :-P ]
    
    Fixes: f7fb3b2 ("x86/cpu: Provide an AMD/HYGON specific topology parser")
    Closes: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/56
    Reported-by: Tim Teichmann <[email protected]>
    Reported-by: Christian Heusel <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Borislav Petkov (AMD) <[email protected]>
    Tested-by: Tim Teichmann <[email protected]>
    Cc: [email protected]
    Link: https://lore.kernel.org/r/7skhx6mwe4hxiul64v6azhlxnokheorksqsdbp7qw6g2jduf6c@7b5pvomauugk
    KAGA-KOKO authored and bp3tk0v committed May 30, 2024
    Configuration menu
    Copy the full SHA
    34bf6ba View commit details
    Browse the repository at this point in the history
  30. io_uring/rw: Free iovec before cleaning async data

    kmemleak shows that there is a memory leak in io_uring read operation,
    where a buffer is allocated at iovec import, but never de-allocated.
    
    The memory is allocated at io_async_rw->free_iovec, but, then
    io_async_rw is kfreed, taking the allocated memory with it. I saw this
    happening when the read operation fails with -11 (EAGAIN).
    
    This is the kmemleak splat.
    
        unreferenced object 0xffff8881da591c00 (size 256):
    ...
          backtrace (crc 7a15bdee):
    	[<00000000256f2de4>] __kmalloc+0x2d6/0x410
    	[<000000007a9f5fc7>] iovec_from_user.part.0+0xc6/0x160
    	[<00000000cecdf83a>] __import_iovec+0x50/0x220
    	[<00000000d1d586a2>] __io_import_iovec+0x13d/0x220
    	[<0000000054ee9bd2>] io_prep_rw+0x186/0x340
    	[<00000000a9c0372d>] io_prep_rwv+0x31/0x120
    	[<000000001d1170b9>] io_prep_readv+0xe/0x30
    	[<0000000070b8eb67>] io_submit_sqes+0x1bd/0x780
    	[<00000000812496d4>] __do_sys_io_uring_enter+0x3ed/0x5b0
    	[<0000000081499602>] do_syscall_64+0x5d/0x170
    	[<00000000de1c5a4d>] entry_SYSCALL_64_after_hwframe+0x76/0x7e
    
    This occurs because the async data cleanup functions are not set for
    read/write operations. As a result, the potentially allocated iovec in
    the rw async data is not freed before the async data is released,
    leading to a memory leak.
    
    With this following patch, kmemleak does not show the leaked memory
    anymore, and all liburing tests pass.
    
    Fixes: a9165b8 ("io_uring/rw: always setup io_async_rw for read/write requests")
    Signed-off-by: Breno Leitao <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    leitao authored and axboe committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e112311 View commit details
    Browse the repository at this point in the history
  31. x86/cpu: Provide default cache line size if not enumerated

    tl;dr: CPUs with CPUID.80000008H but without CPUID.01H:EDX[CLFSH]
    will end up reporting cache_line_size()==0 and bad things happen.
    Fill in a default on those to avoid the problem.
    
    Long Story:
    
    The kernel dies a horrible death if c->x86_cache_alignment (aka.
    cache_line_size() is 0.  Normally, this value is populated from
    c->x86_clflush_size.
    
    Right now the code is set up to get c->x86_clflush_size from two
    places.  First, modern CPUs get it from CPUID.  Old CPUs that don't
    have leaf 0x80000008 (or CPUID at all) just get some sane defaults
    from the kernel in get_cpu_address_sizes().
    
    The vast majority of CPUs that have leaf 0x80000008 also get
    ->x86_clflush_size from CPUID.  But there are oddballs.
    
    Intel Quark CPUs[1] and others[2] have leaf 0x80000008 but don't set
    CPUID.01H:EDX[CLFSH], so they skip over filling in ->x86_clflush_size:
    
    	cpuid(0x00000001, &tfms, &misc, &junk, &cap0);
    	if (cap0 & (1<<19))
    		c->x86_clflush_size = ((misc >> 8) & 0xff) * 8;
    
    So they: land in get_cpu_address_sizes() and see that CPUID has level
    0x80000008 and jump into the side of the if() that does not fill in
    c->x86_clflush_size.  That assigns a 0 to c->x86_cache_alignment, and
    hilarity ensues in code like:
    
            buffer = kzalloc(ALIGN(sizeof(*buffer), cache_line_size()),
                             GFP_KERNEL);
    
    To fix this, always provide a sane value for ->x86_clflush_size.
    
    Big thanks to Andy Shevchenko for finding and reporting this and also
    providing a first pass at a fix. But his fix was only partial and only
    worked on the Quark CPUs.  It would not, for instance, have worked on
    the QEMU config.
    
    1. https://raw.githubusercontent.com/InstLatx64/InstLatx64/master/GenuineIntel/GenuineIntel0000590_Clanton_03_CPUID.txt
    2. You can also get this behavior if you use "-cpu 486,+clzero"
       in QEMU.
    
    [ dhansen: remove 'vp_bits_from_cpuid' reference in changelog
    	   because bpetkov brutally murdered it recently. ]
    
    Fixes: fbf6449 ("x86/sev-es: Set x86_virt_bits to the correct value straight away, instead of a two-phase approach")
    Reported-by: Andy Shevchenko <[email protected]>
    Signed-off-by: Dave Hansen <[email protected]>
    Tested-by: Andy Shevchenko <[email protected]>
    Tested-by: Jörn Heusipp <[email protected]>
    Cc: [email protected]
    Link: https://lore.kernel.org/all/[email protected]/
    Link: https://lore.kernel.org/lkml/[email protected]/
    Link: https://lore.kernel.org/all/20240517200534.8EC5F33E%40davehans-spike.ostc.intel.com
    hansendc committed May 30, 2024
    Configuration menu
    Copy the full SHA
    2a38e4c View commit details
    Browse the repository at this point in the history
  32. Merge tag 'net-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/netdev/net
    
    Pull networking fixes from Paolo Abeni:
     "Including fixes from bpf and netfilter.
    
      Current release - regressions:
    
       - gro: initialize network_offset in network layer
    
       - tcp: reduce accepted window in NEW_SYN_RECV state
    
      Current release - new code bugs:
    
       - eth: mlx5e: do not use ptp structure for tx ts stats when not
         initialized
    
       - eth: ice: check for unregistering correct number of devlink params
    
      Previous releases - regressions:
    
       - bpf: Allow delete from sockmap/sockhash only if update is allowed
    
       - sched: taprio: extend minimum interval restriction to entire cycle
         too
    
       - netfilter: ipset: add list flush to cancel_gc
    
       - ipv4: fix address dump when IPv4 is disabled on an interface
    
       - sock_map: avoid race between sock_map_close and sk_psock_put
    
       - eth: mlx5: use mlx5_ipsec_rx_status_destroy to correctly delete
         status rules
    
      Previous releases - always broken:
    
       - core: fix __dst_negative_advice() race
    
       - bpf:
           - fix multi-uprobe PID filtering logic
           - fix pkt_type override upon netkit pass verdict
    
       - netfilter: tproxy: bail out if IP has been disabled on the device
    
       - af_unix: annotate data-race around unix_sk(sk)->addr
    
       - eth: mlx5e: fix UDP GSO for encapsulated packets
    
       - eth: idpf: don't enable NAPI and interrupts prior to allocating Rx
         buffers
    
       - eth: i40e: fully suspend and resume IO operations in EEH case
    
       - eth: octeontx2-pf: free send queue buffers incase of leaf to inner
    
       - eth: ipvlan: dont Use skb->sk in ipvlan_process_v{4,6}_outbound"
    
    * tag 'net-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (69 commits)
      netdev: add qstat for csum complete
      ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound
      net: ena: Fix redundant device NUMA node override
      ice: check for unregistering correct number of devlink params
      ice: fix 200G PHY types to link speed mapping
      i40e: Fully suspend and resume IO operations in EEH case
      i40e: factoring out i40e_suspend/i40e_resume
      e1000e: move force SMBUS near the end of enable_ulp function
      net: dsa: microchip: fix RGMII error in KSZ DSA driver
      ipv4: correctly iterate over the target netns in inet_dump_ifaddr()
      net: fix __dst_negative_advice() race
      nfc/nci: Add the inconsistency check between the input data length and count
      MAINTAINERS: dwmac: starfive: update Maintainer
      net/sched: taprio: extend minimum interval restriction to entire cycle too
      net/sched: taprio: make q->picos_per_byte available to fill_sched_entry()
      netfilter: nft_fib: allow from forward/input without iif selector
      netfilter: tproxy: bail out if IP has been disabled on the device
      netfilter: nft_payload: skbuff vlan metadata mangle support
      net: ti: icssg-prueth: Fix start counter for ft1 filter
      sock_map: avoid race between sock_map_close and sk_psock_put
      ...
    torvalds committed May 30, 2024
    Configuration menu
    Copy the full SHA
    d8ec198 View commit details
    Browse the repository at this point in the history
  33. hwmon: (intel-m10-bmc-hwmon) Fix multiplier for N6000 board power sensor

    The Intel N6000 BMC outputs the board power value in milliwatt, whereas
    the hwmon sysfs interface must provide power values in microwatt.
    
    Fixes: e198322 ("hwmon: intel-m10-bmc-hwmon: Add N6000 sensors")
    Signed-off-by: Peter Colberg <[email protected]>
    Reviewed-by: Matthew Gerlach <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Guenter Roeck <[email protected]>
    pcolberg authored and groeck committed May 30, 2024
    Configuration menu
    Copy the full SHA
    027a44f View commit details
    Browse the repository at this point in the history
  34. hwmon: (shtc1) Fix property misspelling

    The property name is "sensirion,low-precision", not
    "sensicon,low-precision".
    
    Cc: Chris Ruehl <[email protected]>
    Fixes: be7373b ("hwmon: shtc1: add support for device tree bindings")
    Signed-off-by: Guenter Roeck <[email protected]>
    groeck committed May 30, 2024
    Configuration menu
    Copy the full SHA
    52a2c70 View commit details
    Browse the repository at this point in the history
  35. KVM: arm64: nv: Fix relative priorities of exceptions generated by ER…

    …ETAx
    
    ERETAx can fail in multiple ways:
    
    (1) ELR_EL2 points lalaland
    (2) we get a PAC failure
    (3) SPSR_EL2 has the wrong mode
    
    (1) is easy, as we just let the CPU do its thing and deliver an
    Instruction Abort. However, (2) and (3) are interesting, because
    the PAC failure priority is way below that of the Illegal Execution
    State exception.
    
    Which means that if we have detected a PAC failure (and that we have
    FPACCOMBINE), we must be careful to give priority to the Illegal
    Execution State exception, should one be pending.
    
    Solving this involves hoisting the SPSR calculation earlier and
    testing for the IL bit before injecting the FPAC exception.
    
    In the extreme case of a ERETAx returning to an invalid mode *and*
    failing its PAC check, we end up with an Instruction Abort (due
    to the new PC being mangled by the failed Auth) *and* PSTATE.IL
    being set. Which matches the requirements of the architecture.
    
    Whilst we're at it, remove a stale comment that states the obvious
    and only confuses the reader.
    
    Fixes: 213b3d1 ("KVM: arm64: nv: Handle ERETA[AB] instructions")
    Reviewed-by: Joey Gouly <[email protected]>
    Reviewed-by: Oliver Upton <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Marc Zyngier committed May 30, 2024
    Configuration menu
    Copy the full SHA
    41011e2 View commit details
    Browse the repository at this point in the history
  36. KVM: arm64: nv: Expose BTI and CSV_frac to a guest hypervisor

    Now that we expose PAC to NV guests, we can also expose BTI (as
    the two as joined at the hip, due to some of the PAC instructions
    being landing pads).
    
    While we're at it, also propagate CSV_frac, which requires no
    particular emulation.
    
    Fixes: f4f6a95 ("KVM: arm64: nv: Advertise support for PAuth")
    Reviewed-by: Oliver Upton <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Marc Zyngier committed May 30, 2024
    Configuration menu
    Copy the full SHA
    47eb2d6 View commit details
    Browse the repository at this point in the history
  37. riscv: prevent pt_regs corruption for secondary idle threads

    Top of the kernel thread stack should be reserved for pt_regs. However
    this is not the case for the idle threads of the secondary boot harts.
    Their stacks overlap with their pt_regs, so both may get corrupted.
    
    Similar issue has been fixed for the primary hart, see c7cdd96
    ("riscv: prevent stack corruption by reserving task_pt_regs(p) early").
    However that fix was not propagated to the secondary harts. The problem
    has been noticed in some CPU hotplug tests with V enabled. The function
    smp_callin stored several registers on stack, corrupting top of pt_regs
    structure including status field. As a result, kernel attempted to save
    or restore inexistent V context.
    
    Fixes: 9a2451f ("RISC-V: Avoid using per cpu array for ordered booting")
    Fixes: 2875fe0 ("RISC-V: Add cpu_ops and modify default booting method")
    Signed-off-by: Sergey Matyukevich <[email protected]>
    Reviewed-by: Alexandre Ghiti <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Palmer Dabbelt <[email protected]>
    sm-sc authored and palmer-dabbelt committed May 30, 2024
    Configuration menu
    Copy the full SHA
    a638b04 View commit details
    Browse the repository at this point in the history
  38. riscv: enable HAVE_ARCH_HUGE_VMAP for XIP kernel

    HAVE_ARCH_HUGE_VMAP also works on XIP kernel, so remove its dependency on
    !XIP_KERNEL.
    
    This also fixes a boot problem for XIP kernel introduced by the commit in
    "Fixes:". This commit used huge page mapping for vmemmap, but huge page
    vmap was not enabled for XIP kernel.
    
    Fixes: ff172d4 ("riscv: Use hugepage mappings for vmemmap")
    Signed-off-by: Nam Cao <[email protected]>
    Cc: <[email protected]>
    Reviewed-by: Alexandre Ghiti <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Palmer Dabbelt <[email protected]>
    covanam authored and palmer-dabbelt committed May 30, 2024
    Configuration menu
    Copy the full SHA
    7bed516 View commit details
    Browse the repository at this point in the history
  39. Documentation: RISC-V: uabi: Only scalar misaligned loads are supported

    We're stuck supporting scalar misaligned loads in userspace because they
    were part of the ISA at the time we froze the uABI.  That wasn't the
    case for vector misaligned accesses, so depending on them
    unconditionally is a userspace bug.  All extant vector hardware traps on
    these misaligned accesses.
    
    Reviewed-by: Conor Dooley <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Palmer Dabbelt <[email protected]>
    palmer-dabbelt committed May 30, 2024
    Configuration menu
    Copy the full SHA
    982a7eb View commit details
    Browse the repository at this point in the history
  40. riscv: Fix fully ordered LR/SC xchg[8|16]() implementations

    The fully ordered versions of xchg[8|16]() using LR/SC lack the
    necessary memory barriers to guarantee the order.
    
    Fix this by matching what is already implemented in the fully ordered
    versions of cmpxchg() using LR/SC.
    
    Suggested-by: Andrea Parri <[email protected]>
    Reported-by: Andrea Parri <[email protected]>
    Closes: https://lore.kernel.org/linux-riscv/ZlYbupL5XgzgA0MX@andrea/T/#u
    Fixes: a8ed2b7 ("riscv/cmpxchg: Implement xchg for variables of size 1 and 2")
    Signed-off-by: Alexandre Ghiti <[email protected]>
    Reviewed-by: Andrea Parri <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Palmer Dabbelt <[email protected]>
    Alexandre Ghiti authored and palmer-dabbelt committed May 30, 2024
    Configuration menu
    Copy the full SHA
    1d84afa View commit details
    Browse the repository at this point in the history
  41. drm/msm: remove python 3.9 dependency for compiling msm

    Since commit 5acf491 ("drm/msm: import gen_header.py script from Mesa"),
    compilation is broken on machines having python versions older than 3.9
    due to dependency on argparse.BooleanOptionalAction.
    
    Switch to use simple bool for the validate flag to remove the dependency.
    
    Fixes: 5acf491 ("drm/msm: import gen_header.py script from Mesa")
    Signed-off-by: Abhinav Kumar <[email protected]>
    Tested-by: Douglas Anderson <[email protected]>
    Reviewed-by: Dmitry Baryshkov <[email protected]>
    Signed-off-by: Thierry Reding <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    Abhinav Kumar authored and thierryreding committed May 30, 2024
    Configuration menu
    Copy the full SHA
    bb19535 View commit details
    Browse the repository at this point in the history
  42. Merge tag 'asoc-fix-v6.10-rc1' of https://git.kernel.org/pub/scm/linu…

    …x/kernel/git/broonie/sound into for-linus
    
    ASoC: Fixes for v6.10
    
    Several serieses of fixes that have come in since the merge window,
    mostly for Intel systems.  The biggest thing is some updates from Peter
    which fix support for a series of Intel laptops which have been found to
    use 16 bit rather than 32 bit DMIC configuration blobs in their firmware
    descriptions.  We also have a bunch of fixes for module annotations, and
    some smaller single patch fixes.
    tiwai committed May 30, 2024
    Configuration menu
    Copy the full SHA
    e1e287e View commit details
    Browse the repository at this point in the history
  43. io_uring/net: assign kmsg inq/flags before buffer selection

    syzbot reports that recv is using an uninitialized value:
    
    =====================================================
    BUG: KMSAN: uninit-value in io_req_cqe_overflow io_uring/io_uring.c:810 [inline]
    BUG: KMSAN: uninit-value in io_req_complete_post io_uring/io_uring.c:937 [inline]
    BUG: KMSAN: uninit-value in io_issue_sqe+0x1f1b/0x22c0 io_uring/io_uring.c:1763
     io_req_cqe_overflow io_uring/io_uring.c:810 [inline]
     io_req_complete_post io_uring/io_uring.c:937 [inline]
     io_issue_sqe+0x1f1b/0x22c0 io_uring/io_uring.c:1763
     io_wq_submit_work+0xa17/0xeb0 io_uring/io_uring.c:1860
     io_worker_handle_work+0xc04/0x2000 io_uring/io-wq.c:597
     io_wq_worker+0x447/0x1410 io_uring/io-wq.c:651
     ret_from_fork+0x6d/0x90 arch/x86/kernel/process.c:147
     ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
    
    Uninit was stored to memory at:
     io_req_set_res io_uring/io_uring.h:215 [inline]
     io_recv_finish+0xf10/0x1560 io_uring/net.c:861
     io_recv+0x12ec/0x1ea0 io_uring/net.c:1175
     io_issue_sqe+0x429/0x22c0 io_uring/io_uring.c:1751
     io_wq_submit_work+0xa17/0xeb0 io_uring/io_uring.c:1860
     io_worker_handle_work+0xc04/0x2000 io_uring/io-wq.c:597
     io_wq_worker+0x447/0x1410 io_uring/io-wq.c:651
     ret_from_fork+0x6d/0x90 arch/x86/kernel/process.c:147
     ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
    
    Uninit was created at:
     slab_post_alloc_hook mm/slub.c:3877 [inline]
     slab_alloc_node mm/slub.c:3918 [inline]
     __do_kmalloc_node mm/slub.c:4038 [inline]
     __kmalloc+0x6e4/0x1060 mm/slub.c:4052
     kmalloc include/linux/slab.h:632 [inline]
     io_alloc_async_data+0xc0/0x220 io_uring/io_uring.c:1662
     io_msg_alloc_async io_uring/net.c:166 [inline]
     io_recvmsg_prep_setup io_uring/net.c:725 [inline]
     io_recvmsg_prep+0xbe8/0x1a20 io_uring/net.c:806
     io_init_req io_uring/io_uring.c:2135 [inline]
     io_submit_sqe io_uring/io_uring.c:2182 [inline]
     io_submit_sqes+0x1135/0x2f10 io_uring/io_uring.c:2335
     __do_sys_io_uring_enter io_uring/io_uring.c:3246 [inline]
     __se_sys_io_uring_enter+0x40f/0x3c80 io_uring/io_uring.c:3183
     __x64_sys_io_uring_enter+0x11f/0x1a0 io_uring/io_uring.c:3183
     x64_sys_call+0x2c0/0x3b50 arch/x86/include/generated/asm/syscalls_64.h:427
     do_syscall_x64 arch/x86/entry/common.c:52 [inline]
     do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83
     entry_SYSCALL_64_after_hwframe+0x77/0x7f
    
    which appears to be io_recv_finish() reading kmsg->msg.msg_inq to decide
    if it needs to set IORING_CQE_F_SOCK_NONEMPTY or not. If the recv is
    entered with buffer selection, but no buffer is available, then we jump
    error path which calls io_recv_finish() without having assigned
    kmsg->msg_inq. This might cause an errant setting of the NONEMPTY flag
    for a request get gets errored with -ENOBUFS.
    
    Reported-by: [email protected]
    Fixes: 4a3223f ("io_uring/net: switch io_recv() to using io_async_msghdr")
    Signed-off-by: Jens Axboe <[email protected]>
    axboe committed May 30, 2024
    Configuration menu
    Copy the full SHA
    18414a4 View commit details
    Browse the repository at this point in the history
  44. null_blk: Do not allow runt zone with zone capacity smaller then zone…

    … size
    
    A zoned device with a smaller last zone together with a zone capacity
    smaller than the zone size does make any sense as that does not
    correspond to any possible setup for a real device:
    1) For ZNS and zoned UFS devices, all zones are always the same size.
    2) For SMR HDDs, all zones always have the same capacity.
    In other words, if we have a smaller last runt zone, then this zone
    capacity should always be equal to the zone size.
    
    Add a check in null_init_zoned_dev() to prevent a configuration to have
    both a smaller zone size and a zone capacity smaller than the zone size.
    
    Signed-off-by: Damien Le Moal <[email protected]>
    Reviewed-by: Niklas Cassel <[email protected]>
    Reviewed-by: Bart Van Assche <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    damien-lemoal authored and axboe committed May 30, 2024
    Configuration menu
    Copy the full SHA
    b164316 View commit details
    Browse the repository at this point in the history
  45. block: Fix validation of zoned device with a runt zone

    Commit ecfe43b ("block: Remember zone capacity when revalidating
    zones") introduced checks to ensure that the capacity of the zones of
    a zoned device is constant for all zones. However, this check ignores
    the possibility that a zoned device has a smaller last zone with a size
    not equal to the capacity of other zones. Such device correspond in
    practice to an SMR drive with a smaller last zone and all zones with a
    capacity equal to the zone size, leading to the last zone capacity being
    different than the capacity of other zones.
    
    Correctly handle such device by fixing the check for the constant zone
    capacity in blk_revalidate_seq_zone() using the new helper function
    disk_zone_is_last(). This helper function is also used in
    blk_revalidate_zone_cb() when checking the zone size.
    
    Fixes: ecfe43b ("block: Remember zone capacity when revalidating zones")
    Signed-off-by: Damien Le Moal <[email protected]>
    Reviewed-by: Bart Van Assche <[email protected]>
    Reviewed-by: Niklas Cassel <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    damien-lemoal authored and axboe committed May 30, 2024
    Configuration menu
    Copy the full SHA
    cd63999 View commit details
    Browse the repository at this point in the history
  46. block: Fix zone write plugging handling of devices with a runt zone

    A zoned device may have a last sequential write required zone that is
    smaller than other zones. However, all tests to check if a zone write
    plug write offset exceeds the zone capacity use the same capacity
    value stored in the gendisk zone_capacity field. This is incorrect for a
    zoned device with a last runt (smaller) zone.
    
    Add the new field last_zone_capacity to struct gendisk to store the
    capacity of the last zone of the device. blk_revalidate_seq_zone() and
    blk_revalidate_conv_zone() are both modified to get this value when
    disk_zone_is_last() returns true. Similarly to zone_capacity, the value
    is first stored using the last_zone_capacity field of struct
    blk_revalidate_zone_args. Once zone revalidation of all zones is done,
    this is used to set the gendisk last_zone_capacity field.
    
    The checks to determine if a zone is full or if a sector offset in a
    zone exceeds the zone capacity in disk_should_remove_zone_wplug(),
    disk_zone_wplug_abort_unaligned(), blk_zone_write_plug_init_request(),
    and blk_zone_wplug_prepare_bio() are modified to use the new helper
    functions disk_zone_is_full() and disk_zone_wplug_is_full().
    disk_zone_is_full() uses the zone index to determine if the zone being
    tested is the last one of the disk and uses the either the disk
    zone_capacity or last_zone_capacity accordingly.
    
    Fixes: dd291d7 ("block: Introduce zone write plugging")
    Signed-off-by: Damien Le Moal <[email protected]>
    Reviewed-by: Bart Van Assche <[email protected]>
    Reviewed-by: Niklas Cassel <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    damien-lemoal authored and axboe committed May 30, 2024
    Configuration menu
    Copy the full SHA
    29459c3 View commit details
    Browse the repository at this point in the history
  47. Merge tag 'drm-intel-fixes-2024-05-30' of https://gitlab.freedesktop.…

    …org/drm/i915/kernel into drm-fixes
    
    drm/i915 fixes for v6.10-rc2:
    - Fix a race in audio component by registering it later
    - Make DPT object unshrinkable to avoid shrinking when framebuffer has
      not shrunk
    - Fix CCS id calculation to fix a perf regression
    - Fix selftest caching mode
    - Fix FIELD_PREP compiler warnings
    - Fix indefinite wait for GT wakeref release
    - Revert overeager multi-gt pm reference removal
    
    Signed-off-by: Dave Airlie <[email protected]>
    From: Jani Nikula <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    airlied committed May 30, 2024
    Configuration menu
    Copy the full SHA
    cfd36ae View commit details
    Browse the repository at this point in the history
  48. Merge tag 'drm-xe-fixes-2024-05-30' of https://gitlab.freedesktop.org…

    …/drm/xe/kernel into drm-fixes
    
    Driver Changes:
    - One pcode polling timeout change
    - One fix for deadlocks for faulting VMs
    - One error-path lock imbalance fix
    
    Signed-off-by: Dave Airlie <[email protected]>
    
    From: Thomas Hellstrom <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/ZlisNHzgoq9nVg6g@fedora
    airlied committed May 30, 2024
    Configuration menu
    Copy the full SHA
    c301c3d View commit details
    Browse the repository at this point in the history
  49. Merge tag 'amd-drm-fixes-6.10-2024-05-30' of https://gitlab.freedeskt…

    …op.org/agd5f/linux into drm-fixes
    
    amd-drm-fixes-6.10-2024-05-30:
    
    amdgpu:
    - RAS fix
    - Fix colorspace property for MST connectors
    - Fix for PCIe DPM
    - Silence UBSAN warning
    - GPUVM robustness fix
    - Partition fix
    - Drop deprecated I2C_CLASS_SPD
    
    amdkfd:
    - Revert unused changes for certain 11.0.3 devices
    - Simplify APU VRAM handling
    
    Signed-off-by: Dave Airlie <[email protected]>
    
    From: Alex Deucher <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    airlied committed May 30, 2024
    Configuration menu
    Copy the full SHA
    bb61cf4 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. blk-throttle: Fix incorrect display of io.max

    Commit bf20ab5 ("blk-throttle: remove CONFIG_BLK_DEV_THROTTLING_LOW")
    attempts to revert the code change introduced by commit cd5ab1b
    ("blk-throttle: add .low interface").  However, it leaves behind the
    bps_conf[] and iops_conf[] fields in the throtl_grp structure which
    aren't set anywhere in the new blk-throttle.c code but are still being
    used by tg_prfill_limit() to display the limits in io.max. Now io.max
    always displays the following values if a block queue is used:
    
    	<m>:<n> rbps=0 wbps=0 riops=0 wiops=0
    
    Fix this problem by removing bps_conf[] and iops_conf[] and use bps[]
    and iops[] instead to complete the revert.
    
    Fixes: bf20ab5 ("blk-throttle: remove CONFIG_BLK_DEV_THROTTLING_LOW")
    Reported-by: Justin Forbes <[email protected]>
    Closes: containers/podman#22701 (comment)
    Signed-off-by: Waiman Long <[email protected]>
    Acked-by: Tejun Heo <[email protected]>
    Reviewed-by: Yu Kuai <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Jens Axboe <[email protected]>
    Waiman-Long authored and axboe committed May 31, 2024
    Configuration menu
    Copy the full SHA
    0a751df View commit details
    Browse the repository at this point in the history
  2. Merge tag 'drm-misc-fixes-2024-05-30' of https://gitlab.freedesktop.o…

    …rg/drm/misc/kernel into drm-fixes
    
    Short summary of fixes pull:
    
    dma-buf:
    - sw-sync: Don't interfere with IRQ handling
    - Fix kthreads-handling error path
    
    gem-shmem:
    - Warn when trying to pin imported objects
    
    lima:
    - Fix dma_resv-related deadlock in object pin
    
    msm:
    - Remove build-time dependency on Python 3.9
    
    nouveau:
    - nvif: Fix possible integer overflow
    
    panel:
    - lg-sw43408: Select DP helpers; Declare backlight ops as static
    - sitronix-st7789v: Various fixes for jt240mhqs_hwt_ek_e3 panel
    
    panfrost:
    - Fix dma_resv-related deadlock in object pin
    
    Signed-off-by: Dave Airlie <[email protected]>
    
    From: Thomas Zimmermann <[email protected]>
    Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
    airlied committed May 31, 2024
    Configuration menu
    Copy the full SHA
    a2ce3f7 View commit details
    Browse the repository at this point in the history
  3. RISC-V: KVM: No need to use mask when hart-index-bit is 0

    When the maximum hart number within groups is 1, hart-index-bit is set to
    0. Consequently, there is no need to restore the hart ID from IMSIC
    addresses and hart-index-bit settings. Currently, QEMU and kvmtool do not
    pass correct hart-index-bit values when the maximum hart number is a
    power of 2, thereby avoiding this issue. Corresponding patches for QEMU
    and kvmtool will also be dispatched.
    
    Fixes: 89d0130 ("RISC-V: KVM: Implement device interface for AIA irqchip")
    Signed-off-by: Yong-Xuan Wang <[email protected]>
    Reviewed-by: Andrew Jones <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Anup Patel <[email protected]>
    yong-xuan authored and avpatel committed May 31, 2024
    Configuration menu
    Copy the full SHA
    2d707b4 View commit details
    Browse the repository at this point in the history
  4. RISC-V: KVM: Fix incorrect reg_subtype labels in kvm_riscv_vcpu_set_r…

    …eg_isa_ext function
    
    In the function kvm_riscv_vcpu_set_reg_isa_ext, the original code
    used incorrect reg_subtype labels KVM_REG_RISCV_SBI_MULTI_EN/DIS.
    These have been corrected to KVM_REG_RISCV_ISA_MULTI_EN/DIS respectively.
    Although they are numerically equivalent, the actual processing
    will not result in errors, but it may lead to ambiguous code semantics.
    
    Fixes: 6130294 ("RISC-V: KVM: Extend ONE_REG to enable/disable multiple ISA extensions")
    Signed-off-by: Quan Zhou <[email protected]>
    Reviewed-by: Andrew Jones <[email protected]>
    Link: https://lore.kernel.org/r/ff1c6771a67d660db94372ac9aaa40f51e5e0090.1716429371.git.zhouquan@iscas.ac.cn
    Signed-off-by: Anup Patel <[email protected]>
    zcxGGmu authored and avpatel committed May 31, 2024
    Configuration menu
    Copy the full SHA
    c66f3b4 View commit details
    Browse the repository at this point in the history
  5. ALSA: seq: ump: Fix swapped song position pointer data

    At converting between the legacy event and UMP, the parameters for
    MIDI Song Position Pointer are incorrectly stored.  It should have
    been LSB -> MSB order while it stored in MSB -> LSB order.
    This patch corrects the ordering.
    
    Fixes: e9e0281 ("ALSA: seq: Automatic conversion of UMP events")
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Takashi Iwai <[email protected]>
    tiwai committed May 31, 2024
    Configuration menu
    Copy the full SHA
    310fa3e View commit details
    Browse the repository at this point in the history
  6. perf/x86/rapl: Add missing MODULE_DESCRIPTION() line

    Fix the warning from 'make C=1 W=1':
    
      WARNING: modpost: missing MODULE_DESCRIPTION() in arch/x86/events/rapl.o
    
    Signed-off-by: Jeff Johnson <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Alexander Shishkin <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Jeff Johnson authored and Ingo Molnar committed May 31, 2024
    Configuration menu
    Copy the full SHA
    0a44078 View commit details
    Browse the repository at this point in the history
  7. perf/x86/intel: Add missing MODULE_DESCRIPTION() lines

    Fix the 'make W=1 C=1' warnings:
    
      WARNING: modpost: missing MODULE_DESCRIPTION() in arch/x86/events/intel/intel-uncore.o
      WARNING: modpost: missing MODULE_DESCRIPTION() in arch/x86/events/intel/intel-cstate.o
    
    Signed-off-by: Jeff Johnson <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Arnaldo Carvalho de Melo <[email protected]>
    Cc: Alexander Shishkin <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Jeff Johnson authored and Ingo Molnar committed May 31, 2024
    Configuration menu
    Copy the full SHA
    dc8e5df View commit details
    Browse the repository at this point in the history
  8. sched/x86: Export 'percpu arch_freq_scale'

    Commit:
    
      7bc2638 ("sched/topology: Consolidate and clean up access to a CPU's max compute capacity")
    
    removed rq->cpu_capacity_orig in favor of using arch_scale_freq_capacity()
    calls. Export the underlying percpu symbol on x86 so that external trace
    point helper modules can be made to work again.
    
    Signed-off-by: Phil Auld <[email protected]>
    Signed-off-by: Ingo Molnar <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    auldp authored and Ingo Molnar committed May 31, 2024
    Configuration menu
    Copy the full SHA
    d40605a View commit details
    Browse the repository at this point in the history
  9. ata: libata-core: Add ATA_HORKAGE_NOLPM for Crucial CT240BX500SSD1

    Commit 7627a0e ("ata: ahci: Drop low power policy board type")
    dropped the board_ahci_low_power board type, and instead enables LPM if:
    -The AHCI controller reports that it supports LPM (Partial/Slumber), and
    -CONFIG_SATA_MOBILE_LPM_POLICY != 0, and
    -The port is not defined as external in the per port PxCMD register, and
    -The port is not defined as hotplug capable in the per port PxCMD
     register.
    
    Partial and Slumber LPM states can either be initiated by HIPM or DIPM.
    
    For HIPM (host initiated power management) to get enabled, both the AHCI
    controller and the drive have to report that they support HIPM.
    
    For DIPM (device initiated power management) to get enabled, only the
    drive has to report that it supports DIPM. However, the HBA will reject
    device requests to enter LPM states which the HBA does not support.
    
    The problem is that Crucial CT240BX500SSD1 drives do not handle low power
    modes correctly. The problem was most likely not seen before because no
    one had used this drive with a AHCI controller with LPM enabled.
    
    Add a quirk so that we do not enable LPM for this drive, since we see
    command timeouts if we do (even though the drive claims to support DIPM).
    
    Fixes: 7627a0e ("ata: ahci: Drop low power policy board type")
    Cc: [email protected]
    Reported-by: Aarrayy <[email protected]>
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218832
    Reviewed-by: Mika Westerberg <[email protected]>
    Reviewed-by: Damien Le Moal <[email protected]>
    Signed-off-by: Niklas Cassel <[email protected]>
    Niklas Cassel committed May 31, 2024
    Configuration menu
    Copy the full SHA
    86aaa7e View commit details
    Browse the repository at this point in the history
  10. ata: libata-core: Add ATA_HORKAGE_NOLPM for AMD Radeon S3 SSD

    Commit 7627a0e ("ata: ahci: Drop low power policy board type")
    dropped the board_ahci_low_power board type, and instead enables LPM if:
    -The AHCI controller reports that it supports LPM (Partial/Slumber), and
    -CONFIG_SATA_MOBILE_LPM_POLICY != 0, and
    -The port is not defined as external in the per port PxCMD register, and
    -The port is not defined as hotplug capable in the per port PxCMD
     register.
    
    Partial and Slumber LPM states can either be initiated by HIPM or DIPM.
    
    For HIPM (host initiated power management) to get enabled, both the AHCI
    controller and the drive have to report that they support HIPM.
    
    For DIPM (device initiated power management) to get enabled, only the
    drive has to report that it supports DIPM. However, the HBA will reject
    device requests to enter LPM states which the HBA does not support.
    
    The problem is that AMD Radeon S3 SSD drives do not handle low power modes
    correctly. The problem was most likely not seen before because no one
    had used this drive with a AHCI controller with LPM enabled.
    
    Add a quirk so that we do not enable LPM for this drive, since we see
    command timeouts if we do (even though the drive claims to support both
    HIPM and DIPM).
    
    Fixes: 7627a0e ("ata: ahci: Drop low power policy board type")
    Cc: [email protected]
    Reported-by: Doru Iorgulescu <[email protected]>
    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218832
    Reviewed-by: Mika Westerberg <[email protected]>
    Reviewed-by: Damien Le Moal <[email protected]>
    Signed-off-by: Niklas Cassel <[email protected]>
    Niklas Cassel committed May 31, 2024
    Configuration menu
    Copy the full SHA
    4738803 View commit details
    Browse the repository at this point in the history
  11. ata: libata-core: Add ATA_HORKAGE_NOLPM for Apacer AS340

    Commit 7627a0e ("ata: ahci: Drop low power policy board type")
    dropped the board_ahci_low_power board type, and instead enables LPM if:
    -The AHCI controller reports that it supports LPM (Partial/Slumber), and
    -CONFIG_SATA_MOBILE_LPM_POLICY != 0, and
    -The port is not defined as external in the per port PxCMD register, and
    -The port is not defined as hotplug capable in the per port PxCMD
     register.
    
    Partial and Slumber LPM states can either be initiated by HIPM or DIPM.
    
    For HIPM (host initiated power management) to get enabled, both the AHCI
    controller and the drive have to report that they support HIPM.
    
    For DIPM (device initiated power management) to get enabled, only the
    drive has to report that it supports DIPM. However, the HBA will reject
    device requests to enter LPM states which the HBA does not support.
    
    The problem is that Apacer AS340 drives do not handle low power modes
    correctly. The problem was most likely not seen before because no one
    had used this drive with a AHCI controller with LPM enabled.
    
    Add a quirk so that we do not enable LPM for this drive, since we see
    command timeouts if we do (even though the drive claims to support DIPM).
    
    Fixes: 7627a0e ("ata: ahci: Drop low power policy board type")
    Cc: [email protected]
    Reported-by: Tim Teichmann <[email protected]>
    Closes: https://lore.kernel.org/linux-ide/87bk4pbve8.ffs@tglx/
    Reviewed-by: Mika Westerberg <[email protected]>
    Reviewed-by: Damien Le Moal <[email protected]>
    Signed-off-by: Niklas Cassel <[email protected]>
    Niklas Cassel committed May 31, 2024
    Configuration menu
    Copy the full SHA
    3cb648c View commit details
    Browse the repository at this point in the history
  12. landlock: Fix d_parent walk

    The WARN_ON_ONCE() in collect_domain_accesses() can be triggered when
    trying to link a root mount point.  This cannot work in practice because
    this directory is mounted, but the VFS check is done after the call to
    security_path_link().
    
    Do not use source directory's d_parent when the source directory is the
    mount point.
    
    Cc: Günther Noack <[email protected]>
    Cc: Paul Moore <[email protected]>
    Cc: [email protected]
    Reported-by: [email protected]
    Fixes: b91c3e4 ("landlock: Add support for file reparenting with LANDLOCK_ACCESS_FS_REFER")
    Closes: https://lore.kernel.org/r/[email protected]
    Link: https://lore.kernel.org/r/[email protected]
    [mic: Fix commit message]
    Signed-off-by: Mickaël Salaün <[email protected]>
    l0kod committed May 31, 2024
    Configuration menu
    Copy the full SHA
    88da52c View commit details
    Browse the repository at this point in the history
  13. selftests/landlock: Add layout1.refer_mount_root

    Add tests to check error codes when linking or renaming a mount root
    directory.  This previously triggered a kernel warning, but it is fixed
    with the previous commit.
    
    Cc: Günther Noack <[email protected]>
    Cc: Paul Moore <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Mickaël Salaün <[email protected]>
    l0kod committed May 31, 2024
    Configuration menu
    Copy the full SHA
    0055f53 View commit details
    Browse the repository at this point in the history
  14. cifs: fix creating sockets when using sfu mount options

    When running fstest generic/423 with sfu mount option, it
    was being skipped due to inability to create sockets:
    
      generic/423  [not run] cifs does not support mknod/mkfifo
    
    which can also be easily reproduced with their af_unix tool:
    
      ./src/af_unix /mnt1/socket-two bind: Operation not permitted
    
    Fix sfu mount option to allow creating and reporting sockets.
    
    Cc: [email protected]
    Signed-off-by: Steve French <[email protected]>
    Steve French committed May 31, 2024
    Configuration menu
    Copy the full SHA
    518549c View commit details
    Browse the repository at this point in the history
  15. scsi: mpt3sas: Avoid possible run-time warning with long manufacturer…

    … strings
    
    The prior strscpy() replacement of strncpy() here expected the
    manufacture_reply strings to be NUL-terminated, but it is possible
    they are not, as the code pattern here shows, e.g., edev->vendor_id
    being exactly 1 character larger than manufacture_reply->vendor_id,
    and the replaced strncpy() was copying only up to the size of the
    source character array. Replace this with memtostr(), which is the
    unambiguous way to convert a maybe not-NUL-terminated character array
    into a NUL-terminated string.
    
    Fixes: b7e9712 ("scsi: mpt3sas: Replace deprecated strncpy() with strscpy()")
    Signed-off-by: Kees Cook <[email protected]>
    Tested-by: Marco Patalano <[email protected]>
    Reviewed-by: Ewan D. Milne <[email protected]>
    Reviewed-by: Martin K. Petersen <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Kees Cook <[email protected]>
    kees committed May 31, 2024
    Configuration menu
    Copy the full SHA
    adb77bb View commit details
    Browse the repository at this point in the history
  16. mailmap: update entry for Kees Cook

    I'm tired of gmail breaking DKIM. Switch everything over to my
    @kernel.org alias instead.
    
    Signed-off-by: Kees Cook <[email protected]>
    kees committed May 31, 2024
    Configuration menu
    Copy the full SHA
    4e173c8 View commit details
    Browse the repository at this point in the history
  17. mailbox: zynqmp-ipi: drop irq_to_desc() call

    irq_to_desc() is not exported to loadable modules, so this driver now
    fails to link in some configurations:
    
    ERROR: modpost: "irq_to_desc" [drivers/mailbox/zynqmp-ipi-mailbox.ko] undefined!
    
    I can't see a purpose for this call, since the return value is unused
    and probably left over from some code refactoring.
    
    Address the link failure by just removing the line.
    
    Fixes: 6ffb163 ("mailbox: zynqmp: handle SGI for shared IPI")
    Signed-off-by: Arnd Bergmann <[email protected]>
    Tested-by: Tanmay Shah <[email protected]>
    Signed-off-by: Jassi Brar <[email protected]>
    arndb authored and Jassi Brar committed May 31, 2024
    Configuration menu
    Copy the full SHA
    d551ce1 View commit details
    Browse the repository at this point in the history
  18. x86/topology/intel: Unlock CPUID before evaluating anything

    Intel CPUs have a MSR bit to limit CPUID enumeration to leaf two. If
    this bit is set by the BIOS then CPUID evaluation including topology
    enumeration does not work correctly as the evaluation code does not try
    to analyze any leaf greater than two.
    
    This went unnoticed before because the original topology code just
    repeated evaluation several times and managed to overwrite the initial
    limited information with the correct one later. The new evaluation code
    does it once and therefore ends up with the limited and wrong
    information.
    
    Cure this by unlocking CPUID right before evaluating anything which
    depends on the maximum CPUID leaf being greater than two instead of
    rereading stuff after unlock.
    
    Fixes: 22d6366 ("x86/cpu: Use common topology code for Intel")
    Reported-by: Peter Schneider <[email protected]>
    Signed-off-by: Thomas Gleixner <[email protected]>
    Signed-off-by: Borislav Petkov (AMD) <[email protected]>
    Tested-by: Peter Schneider <[email protected]>
    Cc: <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    KAGA-KOKO authored and bp3tk0v committed May 31, 2024
    Configuration menu
    Copy the full SHA
    0c2f6d0 View commit details
    Browse the repository at this point in the history
  19. Merge tag 'bcachefs-2024-05-30' of https://evilpiepirate.org/git/bcac…

    …hefs
    
    Pull bcachefs fixes from Kent Overstreet:
     "Assorted odds and ends...
    
       - two downgrade fixes
    
       - a couple snapshot deletion and repair fixes, thanks to noradtux for
         finding these and providing the image to debug them
    
       - a couple assert fixes
    
       - convert to folio helper, from Matthew
    
       - some improved error messages
    
       - bit of code reorganization (just moving things around); doing this
         while things are quiet so I'm not rebasing fixes past reorgs
    
       - don't return -EROFS on inconsistency error in recovery, this
         confuses util-linux and has it retry the mount
    
       - fix failure to return error on misaligned dio write; reported as an
         issue with coreutils shred"
    
    * tag 'bcachefs-2024-05-30' of https://evilpiepirate.org/git/bcachefs: (21 commits)
      bcachefs: Fix failure to return error on misaligned dio write
      bcachefs: Don't return -EROFS from mount on inconsistency error
      bcachefs: Fix uninitialized var warning
      bcachefs: Split out sb-errors_format.h
      bcachefs: Split out journal_seq_blacklist_format.h
      bcachefs: Split out replicas_format.h
      bcachefs: Split out disk_groups_format.h
      bcachefs: split out sb-downgrade_format.h
      bcachefs: split out sb-members_format.h
      bcachefs: Better fsck error message for key version
      bcachefs: btree_gc can now handle unknown btrees
      bcachefs: add missing MODULE_DESCRIPTION()
      bcachefs: Fix setting of downgrade recovery passes/errors
      bcachefs: Run check_key_has_snapshot in snapshot_delete_keys()
      bcachefs: Refactor delete_dead_snapshots()
      bcachefs: Fix locking assert
      bcachefs: Fix lookup_first_inode() when inode_generations are present
      bcachefs: Plumb bkey into __btree_err()
      bcachefs: Use copy_folio_from_iter_atomic()
      bcachefs: Fix sb-downgrade validation
      ...
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    ff9bce3 View commit details
    Browse the repository at this point in the history
  20. Merge tag 'riscv-for-linus-6.10-rc2' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/riscv/linux
    
    Pull RISC-V fixes from Palmer Dabbelt:
    
     - A fix to avoid pt_regs aliasing with idle thread stacks on secondary
       harts.
    
     - HAVE_ARCH_HUGE_VMAP is enabled on XIP kernels, which fixes boot
       issues on XIP systems with huge pages.
    
     - An update to the uABI documentation clarifying that only scalar
       misaligned accesses were grandfathered in as supported, as the vector
       extension did not exist at the time the uABI was frozen.
    
     - A fix for the recently-added byte/half atomics to avoid losing the
       fully ordered decorations.
    
    * tag 'riscv-for-linus-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
      riscv: Fix fully ordered LR/SC xchg[8|16]() implementations
      Documentation: RISC-V: uabi: Only scalar misaligned loads are supported
      riscv: enable HAVE_ARCH_HUGE_VMAP for XIP kernel
      riscv: prevent pt_regs corruption for secondary idle threads
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    c6cc979 View commit details
    Browse the repository at this point in the history
  21. Merge tag 'platform-drivers-x86-v6.10-2' of git://git.kernel.org/pub/…

    …scm/linux/kernel/git/pdx86/platform-drivers-x86
    
    Pull x86 platform driver fixes from Hans de Goede:
    
     - a use-after-free bugfix
    
     - Kconfig fixes for randconfig builds
    
     - allow setting touchscreen_dmi quirks from the cmdline for debugging
    
     - touchscreen_dmi quirks for two new laptop/tablet models
    
    * tag 'platform-drivers-x86-v6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
      platform/x86: touchscreen_dmi: Add info for the EZpad 6s Pro
      platform/x86: touchscreen_dmi: Add info for GlobalSpace SolT IVW 11.6" tablet
      platform/x86: touchscreen_dmi: Add support for setting touchscreen properties from cmdline
      platform/x86: thinkpad_acpi: Select INPUT_SPARSEKMAP in Kconfig
      platform/x86: x86-android-tablets: Add "select LEDS_CLASS"
      platform/x86: ISST: fix use-after-free in tpmi_sst_dev_remove()
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    87895a6 View commit details
    Browse the repository at this point in the history
  22. Merge tag 'sound-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "Lots of small fixes:
    
       - A race fix for debugfs handling in ALSA core
    
       - A series of corrections for MIDI2 core format conversions
    
       - ASoC Intel fixes for 16 bit DMIC config
    
       - Updates for missing module parameters in ASoC code
    
       - HD-audio quirk, Cirrus codec fix, etc minor fixes"
    
    * tag 'sound-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (26 commits)
      ALSA: seq: ump: Fix swapped song position pointer data
      ASoC: SOF: ipc4-topology: Adjust the params based on DAI formats
      ASoC: SOF: ipc4-topology: Improve readability of sof_ipc4_prepare_dai_copier()
      ASoC: SOF: ipc4-topology/pcm: Rename sof_ipc4_copier_is_single_format()
      ASoC: SOF: ipc4-topology: Print out the channel count in sof_ipc4_dbg_audio_format
      ASoC: SOF: ipc4-topology: Add support for NHLT with 16-bit only DMIC blob
      ALSA: seq: Fix yet another spot for system message conversion
      ALSA: ump: Set default protocol when not given explicitly
      ALSA: ump: Don't accept an invalid UMP protocol number
      ASoC: SOF: ipc4-topology: Fix input format query of process modules without base extension
      ASoC: Intel: sof-sdw: fix missing SPI_MASTER dependency
      ALSA: pcm: fix typo in comment
      ALSA: ump: Don't clear bank selection after sending a program change
      ALSA: seq: Fix incorrect UMP type for system messages
      ALSA/hda: intel-dsp-config: reduce log verbosity
      ALSA: seq: Don't clear bank selection at event -> UMP MIDI2 conversion
      ALSA: seq: Fix missing bank setup between MIDI1/MIDI2 UMP conversion
      ASoC: SOF: add missing MODULE_DESCRIPTION()
      ASoC: SOF: reorder MODULE_ definitions
      ASoC: SOF: AMD: group all module related information
      ...
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    7d88cc8 View commit details
    Browse the repository at this point in the history
  23. Merge tag 'dma-mapping-6.10-2024-05-31' of git://git.infradead.org/us…

    …ers/hch/dma-mapping
    
    Pull dma-mapping fixes from Christoph Hellwig:
    
     - dma-mapping benchmark error handling fixes (Fedor Pchelkin)
    
     - correct a config symbol reference in the DMA API documentation (Lukas
       Bulwahn)
    
    * tag 'dma-mapping-6.10-2024-05-31' of git://git.infradead.org/users/hch/dma-mapping:
      Documentation/core-api: correct reference to SWIOTLB_DYNAMIC
      dma-mapping: benchmark: handle NUMA_NO_NODE correctly
      dma-mapping: benchmark: fix node id validation
      dma-mapping: benchmark: avoid needless copy_to_user if benchmark fails
      dma-mapping: benchmark: fix up kthread-related error handling
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    b050496 View commit details
    Browse the repository at this point in the history
  24. kunit/fortify: Remove __kmalloc_node() test

    __kmalloc_node() is considered an "internal" function to the Slab, so
    drop it from explicit testing.
    
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Kees Cook <[email protected]>
    kees committed May 31, 2024
    Configuration menu
    Copy the full SHA
    99a6087 View commit details
    Browse the repository at this point in the history
  25. Merge tag 'io_uring-6.10-20240530' of git://git.kernel.dk/linux

    Pull io_uring fixes from Jens Axboe:
     "A couple of minor fixes for issues introduced in the 6.10 merge window:
    
       - Ensure that all read/write ops have an appropriate cleanup handler
         set (Breno)
    
       - Regression for applications still doing multiple mmaps even if
         FEAT_SINGLE_MMAP is set (me)
    
       - Move kmsg inquiry setting above any potential failure point,
         avoiding a spurious NONEMPTY flag setting on early error (me)"
    
    * tag 'io_uring-6.10-20240530' of git://git.kernel.dk/linux:
      io_uring/net: assign kmsg inq/flags before buffer selection
      io_uring/rw: Free iovec before cleaning async data
      io_uring: don't attempt to mmap larger than what the user asks for
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    6d541d6 View commit details
    Browse the repository at this point in the history
  26. Merge tag 'block-6.10-20240530' of git://git.kernel.dk/linux

    Pull block fixes from Jens Axboe:
    
     - NVMe fixes via Keith:
          - Removing unused fields (Kanchan)
          - Large folio offsets support (Kundan)
          - Multipath NUMA node initialiazation fix (Nilay)
          - Multipath IO stats accounting fixes (Keith)
          - Circular lockdep fix (Keith)
          - Target race condition fix (Sagi)
          - Target memory leak fix (Sagi)
    
     - bcache fixes
    
     - null_blk fixes (Damien)
    
     - Fix regression in io.max due to throttle low removal (Waiman)
    
     - DM limit table fixes (Christoph)
    
     - SCSI and block limit fixes (Christoph)
    
     - zone fixes (Damien)
    
     - Misc fixes (Christoph, Hannes, hexue)
    
    * tag 'block-6.10-20240530' of git://git.kernel.dk/linux: (25 commits)
      blk-throttle: Fix incorrect display of io.max
      block: Fix zone write plugging handling of devices with a runt zone
      block: Fix validation of zoned device with a runt zone
      null_blk: Do not allow runt zone with zone capacity smaller then zone size
      nvmet: fix a possible leak when destroy a ctrl during qp establishment
      nvme: use srcu for iterating namespace list
      bcache: code cleanup in __bch_bucket_alloc_set()
      bcache: call force_wake_up_gc() if necessary in check_should_bypass()
      bcache: allow allocator to invalidate bucket in gc
      block: check for max_hw_sectors underflow
      block: stack max_user_sectors
      sd: also set max_user_sectors when setting max_sectors
      null_blk: Print correct max open zones limit in null_init_zoned_dev()
      block: delete redundant function declaration
      null_blk: Fix return value of nullb_device_power_store()
      dm: make dm_set_zones_restrictions work on the queue limits
      dm: remove dm_check_zoned
      dm: move setting zoned_enabled to dm_table_set_restrictions
      block: remove blk_queue_max_integrity_segments
      nvme: adjust multiples of NVME_CTRL_PAGE_SIZE in offset
      ...
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    0f9a751 View commit details
    Browse the repository at this point in the history
  27. Merge tag 'regmap-fix-v6.10-rc1' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/broonie/regmap
    
    Pull regmap fix from Mark Brown:
     "The I2C bus was not taking account of the register and any padding
      bytes when handling maximum write sizes supported by an I2C adaptor,
      this patch from Jim Wylder fixes that"
    
    * tag 'regmap-fix-v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
      regmap-i2c: Subtract reg size from max_write
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    b7c0562 View commit details
    Browse the repository at this point in the history
  28. Merge tag 'regulator-fix-v6.10-rc1' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/broonie/regulator
    
    Pull regulator fix from Mark Brown:
     "One fix that came in since -rc1, fixing misuse of a local variable in
      the DT parsing code in the RTQ2208 driver"
    
    * tag 'regulator-fix-v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
      regulator: rtq2208: Fix invalid memory access when devm_of_regulator_put_matches is called
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    28add42 View commit details
    Browse the repository at this point in the history
  29. Merge tag 'spi-fix-v6.10-rc1' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/broonie/spi
    
    Pull spi fixes from Mark Brown:
     "A series of fixes that came in since the merge window, the main thing
      being the fixes Andy did for DMA sync where we were calling into the
      DMA API in suprising ways and causing issues as a result, the main
      thing being confusing the IOMMU code.
    
      We've also got some fairly important fixes for the stm32 driver, it
      supports a wide range of hardware and some optimisations that were
      done recently have broken on some systems, and a fix to prevent
      glitched signals on the bus in the cadence driver"
    
    * tag 'spi-fix-v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
      spi: stm32: Don't warn about spurious interrupts
      spi: Assign dummy scatterlist to unidirectional transfers
      spi: cadence: Ensure data lines set to low during dummy-cycle period
      spi: stm32: Revert change that enabled controller before asserting CS
      spi: Check if transfer is mapped before calling DMA sync APIs
      spi: Don't mark message DMA mapped when no transfer in it is
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    d5931dd View commit details
    Browse the repository at this point in the history
  30. Merge tag 'mailbox-fixes-v6.10-rc1' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/jassibrar/mailbox
    
    Pull mailbox fix from Jassi Brar:
    
     - zynqmp-ipi: fix linker error on some configurations
    
    * tag 'mailbox-fixes-v6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox:
      mailbox: zynqmp-ipi: drop irq_to_desc() call
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    b7087cb View commit details
    Browse the repository at this point in the history
  31. Merge tag 'hwmon-for-v6.10-rc2' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/groeck/linux-staging
    
    Pull hwmon fixes from Guenter Roeck:
    
     - sttcs: Fix property spelling
    
     - intel-m10-bmc-hwmon: Fix multiplier for N6000 board power sensor
    
     - ltc2992: Fix memory leak
    
     - dell-smm: Add Dell G15 5511 to fan control whitelist
    
    * tag 'hwmon-for-v6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
      hwmon: (shtc1) Fix property misspelling
      hwmon: (intel-m10-bmc-hwmon) Fix multiplier for N6000 board power sensor
      hwmon: (ltc2992) Fix memory leak in ltc2992_parse_dt()
      hwmon: (dell-smm) Add Dell G15 5511 to fan control whitelist
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    1b907b8 View commit details
    Browse the repository at this point in the history
  32. Merge tag 'drm-fixes-2024-06-01' of https://gitlab.freedesktop.org/dr…

    …m/kernel
    
    Pull drm fixes from Dave Airlie:
     "This is the weekly fixes. Lots of small fixes across the board, one
      BUG_ON fix in shmem seems most important, otherwise amdgpu, i915, xe
      mostly with small fixes to all the other drivers.
    
      shmem:
       - fix BUG_ON in COW handling
       - warn when trying to pin imported objects
    
      buddy:
       - fix page size handling
    
      dma-buf:
       - sw-sync: Don't interfere with IRQ handling
       - fix kthreads-handling error path
    
      i915:
       - fix a race in audio component by registering it later
       - make DPT object unshrinkable to avoid shrinking when framebuffer
         has not shrunk
       - fix CCS id calculation to fix a perf regression
       - fix selftest caching mode
       - fix FIELD_PREP compiler warnings
       - fix indefinite wait for GT wakeref release
       - revert overeager multi-gt pm reference removal
    
      xe:
       - pcode polling timeout change
       - fix for deadlocks for faulting VMs
       - error-path lock imbalance fix
    
      amdgpu:
       - RAS fix
       - fix colorspace property for MST connectors
       - fix for PCIe DPM
       - silence UBSAN warning
       - GPUVM robustness fix
       - partition fix
       - drop deprecated I2C_CLASS_SPD
    
      amdkfd:
       - revert unused changes for certain 11.0.3 devices
       - simplify APU VRAM handling
    
      lima:
       - fix dma_resv-related deadlock in object pin
    
      msm:
       - remove build-time dependency on Python 3.9
    
      nouveau:
       - nvif: Fix possible integer overflow
    
      panel:
       - lg-sw43408: Select DP helpers; Declare backlight ops as static
       - sitronix-st7789v: Various fixes for jt240mhqs_hwt_ek_e3 panel
    
      panfrost:
       - fix dma_resv-related deadlock in object pin"
    
    * tag 'drm-fixes-2024-06-01' of https://gitlab.freedesktop.org/drm/kernel: (35 commits)
      drm/msm: remove python 3.9 dependency for compiling msm
      drm/panel: sitronix-st7789v: fix display size for jt240mhqs_hwt_ek_e3 panel
      drm/panel: sitronix-st7789v: tweak timing for jt240mhqs_hwt_ek_e3 panel
      drm/panel: sitronix-st7789v: fix timing for jt240mhqs_hwt_ek_e3 panel
      drm/amd/pm: remove deprecated I2C_CLASS_SPD support from newly added SMU_14_0_2
      drm/amdgpu: Make CPX mode auto default in NPS4
      drm/amdkfd: simplify APU VRAM handling
      Revert "drm/amdkfd: fix gfx_target_version for certain 11.0.3 devices"
      drm/amdgpu: fix dereference null return value for the function amdgpu_vm_pt_parent
      drm/amdgpu: silence UBSAN warning
      drm/amdgpu: Adjust logic in amdgpu_device_partner_bandwidth()
      drm/i915: Fix audio component initialization
      drm/i915/dpt: Make DPT object unshrinkable
      drm/i915/gt: Fix CCS id's calculation for CCS mode setting
      drm/panel/lg-sw43408: mark sw43408_backlight_ops as static
      drm/i915/selftests: Set always_coherent to false when reading from CPU
      drm/panel/lg-sw43408: select CONFIG_DRM_DISPLAY_DP_HELPER
      drm/i915/guc: avoid FIELD_PREP warning
      drm/i915/gt: Disarm breadcrumbs if engines are already idle
      Revert "drm/i915: Remove extra multi-gt pm-references"
      ...
    torvalds committed May 31, 2024
    Configuration menu
    Copy the full SHA
    cc8ed4d View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2024

  1. Revert "VT: Use macros to define ioctls"

    This reverts commit 8c467f3.
    
    Turns out this breaks many architectures as the vt ioctls do not all
    match up everywhere due to historical reasons, so the original commit is
    invalid for many values.
    
    Reported-by: Nick Bowler <[email protected]>
    Reported-by: Arnd Bergmann <[email protected]>
    Reported-by: Jiri Slaby <[email protected]>
    Reported-by: Christian Zigotzky <[email protected]>
    Reported-by: Michael Ellerman <[email protected]>
    Cc: Al Viro <[email protected]>
    Cc: Alexey Gladkov <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Link: https://lore.kernel.org/r/[email protected]
    Link: https://lore.kernel.org/all/[email protected]/
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    gregkh committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    7bc4244 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'landlock-6.10-rc2' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/mic/linux
    
    Pull landlock fix from Mickaël Salaün:
     "This fixes a wrong path walk triggered by syzkaller"
    
    * tag 'landlock-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
      selftests/landlock: Add layout1.refer_mount_root
      landlock: Fix d_parent walk
    torvalds committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    d9aab0b View commit details
    Browse the repository at this point in the history
  3. Merge tag 'tty-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/gregkh/tty
    
    Pull tty fix from Greg KH:
     "Here is a single revert for a much-reported regression in 6.10-rc1
      when it comes to a few older architectures.
    
      Turns out that the VT ioctls don't work the same across all cpu types
      because of some old compatibility requrements for stuff like alpha and
      powerpc. So revert the change that attempted to have them use the
      _IO() macros and go back to the known-working values instead.
    
      This has NOT been in linux-next but has had many reports that it fixes
      the issue with 6.10-rc1"
    
    * tag 'tty-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
      Revert "VT: Use macros to define ioctls"
    torvalds committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    f26ee67 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'xfs-6.10-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/x…

    …fs-linux
    
    Pull xfs fixes from Chandan Babu:
    
     - Fix a livelock by dropping an xfarray sortinfo folio when an error
       is encountered
    
     - During extended attribute operations, Initialize transaction
       reservation computation based on attribute operation code
    
     - Relax symbolic link's ondisk verification code to allow symbolic
       links with short remote targets
    
     - Prevent soft lockups when unmapping file ranges and also during
       remapping blocks during a reflink operation
    
     - Fix compilation warnings when XFS is built with W=1 option
    
    * tag 'xfs-6.10-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
      xfs: Add cond_resched to block unmap range and reflink remap path
      xfs: don't open-code u64_to_user_ptr
      xfs: allow symlinks with short remote targets
      xfs: fix xfs_init_attr_trans not handling explicit operation codes
      xfs: drop xfarray sortinfo folio on error
      xfs: Stop using __maybe_unused in xfs_alloc.c
      xfs: Clear W=1 warning in xfs_iwalk_run_callbacks()
    torvalds committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    bbeb121 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'kbuild-fixes-v6.10' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/masahiroy/linux-kbuild
    
    Pull Kbuild fixes from Masahiro Yamada:
    
     - Fix a Kconfig bug regarding comparisons to 'm' or 'n'
    
     - Replace missed $(srctree)/$(src)
    
     - Fix unneeded kallsyms step 3
    
     - Remove incorrect "compatible" properties from image nodes in
       image.fit
    
     - Improve gen_kheaders.sh
    
     - Fix 'make dt_binding_check'
    
     - Clean up unnecessary code
    
    * tag 'kbuild-fixes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
      dt-bindings: kbuild: Fix dt_binding_check on unconfigured build
      kheaders: use `command -v` to test for existence of `cpio`
      kheaders: explicitly define file modes for archived headers
      scripts/make_fit: Drop fdt image entry compatible string
      kbuild: remove a stale comment about cleaning in link-vmlinux.sh
      kbuild: fix short log for AS in link-vmlinux.sh
      kbuild: change scripts/mksysmap into sed script
      kbuild: avoid unneeded kallsyms step 3
      kbuild: scripts/gdb: Replace missed $(srctree)/$(src) w/ $(src)
      kconfig: remove redundant check in expr_join_or()
      kconfig: fix comparison to constant symbols, 'm', 'n'
      kconfig: remove unused expr_is_no()
    torvalds committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    ec9eeb8 View commit details
    Browse the repository at this point in the history
  6. Merge tag '6.10-rc1-smb3-client-fixes' of git://git.samba.org/sfrench…

    …/cifs-2.6
    
    Pull smb client fixes from Steve French:
     "Two small smb3 fixes:
    
       - Fix socket creation with sfu mount option (spotted by test generic/423)
    
       - Minor cleanup: fix missing description in two files"
    
    * tag '6.10-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: fix creating sockets when using sfu mount options
      fs: smb: common: add missing MODULE_DESCRIPTION() macros
    torvalds committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    89be402 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2024

  1. Merge tag 'firewire-fixes-6.10-rc1' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/ieee1394/linux1394
    
    Pull firewire fix from Takashi Sakamoto:
     "After merging a commit 1fffe7a ("script: modpost: emit a warning
      when the description is missing"), MODULE_DESCRIPTOR seems to be
      mandatory for kernel modules. In FireWire subsystem, the most of
      practical kernel modules have the field, while KUnit test modules do
      not. A single patch is applied to fix them"
    
    * tag 'firewire-fixes-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
      firewire: add missing MODULE_DESCRIPTION() to test modules
    torvalds committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    54bec8e View commit details
    Browse the repository at this point in the history
  2. Merge tag 'powerpc-6.10-2' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Enforce full ordering for ATOMIC operations with BPF_FETCH
    
     - Fix uaccess build errors seen with GCC 13/14
    
     - Fix build errors on ppc32 due to ARCH_HAS_KERNEL_FPU_SUPPORT
    
     - Drop error message from lparcfg guest name lookup
    
    Thanks to Christophe Leroy, Guenter Roeck, Nathan Lynch, Naveen N Rao,
    Puranjay Mohan, and Samuel Holland.
    
    * tag 'powerpc-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc: Limit ARCH_HAS_KERNEL_FPU_SUPPORT to PPC64
      powerpc/uaccess: Use YZ asm constraint for ld
      powerpc/uaccess: Fix build errors seen with GCC 13/14
      powerpc/pseries/lparcfg: drop error message from guest name lookup
      powerpc/bpf: enforce full ordering for ATOMIC operations with BPF_FETCH
    torvalds committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    8381469 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'hardening-v6.10-rc2-take2' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/kees/linux
    
    Pull hardening fixes from Kees Cook:
    
     - scsi: mpt3sas: Avoid possible run-time warning with long manufacturer
       strings
    
     - mailmap: update entry for Kees Cook
    
     - kunit/fortify: Remove __kmalloc_node() test
    
    * tag 'hardening-v6.10-rc2-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
      kunit/fortify: Remove __kmalloc_node() test
      mailmap: update entry for Kees Cook
      scsi: mpt3sas: Avoid possible run-time warning with long manufacturer strings
    torvalds committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    00a8c35 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'perf-urgent-2024-06-02' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/tip/tip
    
    Pull perf events fix from Ingo Molnar:
     "Add missing MODULE_DESCRIPTION() lines"
    
    * tag 'perf-urgent-2024-06-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf/x86/intel: Add missing MODULE_DESCRIPTION() lines
      perf/x86/rapl: Add missing MODULE_DESCRIPTION() line
    torvalds committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    efa8f11 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'sched-urgent-2024-06-02' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull scheduler fix from Ingo Molnar:
     "Export a symbol to make life easier for instrumentation/debugging"
    
    * tag 'sched-urgent-2024-06-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/x86: Export 'percpu arch_freq_scale'
    torvalds committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    3fca58f View commit details
    Browse the repository at this point in the history
  6. Merge tag 'x86-urgent-2024-06-02' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull x86 fixes from Ingo Molnar:
     "Miscellaneous topology parsing fixes:
    
       - Fix topology parsing regression on older CPUs in the new AMD/Hygon
         parser
    
       - Fix boot crash on odd Intel Quark and similar CPUs that do not fill
         out cpuinfo_x86::x86_clflush_size and zero out
         cpuinfo_x86::x86_cache_alignment as a result.
    
         Provide 32 bytes as a general fallback value.
    
       - Fix topology enumeration on certain rare CPUs where the BIOS locks
         certain CPUID leaves and the kernel unlocked them late, which broke
         with the new topology parsing code. Factor out this unlocking logic
         and move it earlier in the parsing sequence"
    
    * tag 'x86-urgent-2024-06-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/topology/intel: Unlock CPUID before evaluating anything
      x86/cpu: Provide default cache line size if not enumerated
      x86/topology/amd: Evaluate SMT in CPUID leaf 0x8000001e only on family 0x17 and greater
    torvalds committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    a693b9c View commit details
    Browse the repository at this point in the history
  7. Merge tag 'ata-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/libata/linux
    
    Pull ata fixes from Niklas Cassel:
    
     - Add a quirk for three different devices that have shown issues with
       LPM (link power management). These devices appear to not implement
       LPM properly, since we see command timeouts when enabling LPM. The
       quirk disables LPM for these problematic devices. (Me)
    
     - Do not apply the Intel PCS quirk on Alder Lake. The quirk is not
       needed and was originally added by mistake when LPM support was
       enabled for this AHCI controller. Enabling the quirk when not needed
       causes the the controller to not be able to detect the connected
       devices on some platforms.
    
    * tag 'ata-6.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
      ata: libata-core: Add ATA_HORKAGE_NOLPM for Apacer AS340
      ata: libata-core: Add ATA_HORKAGE_NOLPM for AMD Radeon S3 SSD
      ata: libata-core: Add ATA_HORKAGE_NOLPM for Crucial CT240BX500SSD1
      ata: ahci: Do not apply Intel PCS quirk on Intel Alder Lake
    torvalds committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    58d89ee View commit details
    Browse the repository at this point in the history
  8. Linux 6.10-rc2

    torvalds committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    c3f38fa View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2024

  1. KVM: SEV: Automatically switch reclaimed pages to shared

    Currently there's a consistent pattern of always calling
    host_rmp_make_shared() immediately after snp_page_reclaim(), so go ahead
    and handle it automatically as part of snp_page_reclaim(). Also rename
    it to kvm_rmp_make_shared() to more easily distinguish it as a
    KVM-specific variant of the more generic rmp_make_shared() helper.
    
    Suggested-by: Sean Christopherson <[email protected]>
    Signed-off-by: Michael Roth <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    mdroth authored and bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    febff04 View commit details
    Browse the repository at this point in the history
  2. KVM: SEV: Don't WARN() if RMP lookup fails when invalidating gmem pages

    The hook only handles cleanup work specific to SNP, e.g. RMP table
    entries and flushing caches for encrypted guest memory. When run on a
    non-SNP-enabled host (currently only possible using
    KVM_X86_SW_PROTECTED_VM, e.g. via KVM selftests), the callback is a noop
    and will WARN due to the RMP table not being present. It's actually
    expected in this case that the RMP table wouldn't be present and that
    the hook should be a noop, so drop the WARN_ONCE().
    
    Reported-by: Sean Christopherson <[email protected]>
    Closes: https://lore.kernel.org/kvm/[email protected]/
    Fixes: 8eb0190 ("KVM: SEV: Implement gmem hook for invalidating private pages")
    Suggested-by: Paolo Bonzini <[email protected]>
    Signed-off-by: Michael Roth <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    73137f5 View commit details
    Browse the repository at this point in the history
  3. KVM: SVM: Remove the need to trigger an UNBLOCK event on AP creation

    All SNP APs are initially started using the APIC INIT/SIPI sequence in
    the guest. This sequence moves the AP MP state from
    KVM_MP_STATE_UNINITIALIZED to KVM_MP_STATE_RUNNABLE, so there is no need
    to attempt the UNBLOCK.
    
    As it is, the UNBLOCK support in SVM is only enabled when AVIC is
    enabled. When AVIC is disabled, AP creation is still successful.
    
    Remove the KVM_REQ_UNBLOCK request from the AP creation code and revert
    the changes to the vcpu_unblocking() kvm_x86_ops path.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    Signed-off-by: Michael Roth <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    tlendacky authored and bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    b2ec042 View commit details
    Browse the repository at this point in the history
  4. KVM: SEV-ES: Prevent MSR access post VMSA encryption

    KVM currently allows userspace to read/write MSRs even after the VMSA is
    encrypted. This can cause unintentional issues if MSR access has side-
    effects. For ex, while migrating a guest, userspace could attempt to
    migrate MSR_IA32_DEBUGCTLMSR and end up unintentionally disabling LBRV on
    the target. Fix this by preventing access to those MSRs which are context
    switched via the VMSA, once the VMSA is encrypted.
    
    Suggested-by: Sean Christopherson <[email protected]>
    Signed-off-by: Nikunj A Dadhania <[email protected]>
    Signed-off-by: Ravi Bangoria <[email protected]>
    Message-ID: <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    nikunjad authored and bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    27bd5fd View commit details
    Browse the repository at this point in the history
  5. KVM: SEV-ES: Disallow SEV-ES guests when X86_FEATURE_LBRV is absent

    As documented in APM[1], LBR Virtualization must be enabled for SEV-ES
    guests. So, prevent SEV-ES guests when LBRV support is missing.
    
    [1]: AMD64 Architecture Programmer's Manual Pub. 40332, Rev. 4.07 - June
         2023, Vol 2, 15.35.2 Enabling SEV-ES.
         https://bugzilla.kernel.org/attachment.cgi?id=304653
    
    Fixes: 376c6d2 ("KVM: SVM: Provide support for SEV-ES vCPU creation/loading")
    Signed-off-by: Ravi Bangoria <[email protected]>
    Message-ID: <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    Ravi Bangoria authored and bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    d922056 View commit details
    Browse the repository at this point in the history
  6. KVM: SEV-ES: Delegate LBR virtualization to the processor

    As documented in APM[1], LBR Virtualization must be enabled for SEV-ES
    guests. Although KVM currently enforces LBRV for SEV-ES guests, there
    are multiple issues with it:
    
    o MSR_IA32_DEBUGCTLMSR is still intercepted. Since MSR_IA32_DEBUGCTLMSR
      interception is used to dynamically toggle LBRV for performance reasons,
      this can be fatal for SEV-ES guests. For ex SEV-ES guest on Zen3:
    
      [guest ~]# wrmsr 0x1d9 0x4
      KVM: entry failed, hardware error 0xffffffff
      EAX=00000004 EBX=00000000 ECX=000001d9 EDX=00000000
    
      Fix this by never intercepting MSR_IA32_DEBUGCTLMSR for SEV-ES guests.
      No additional save/restore logic is required since MSR_IA32_DEBUGCTLMSR
      is of swap type A.
    
    o KVM will disable LBRV if userspace sets MSR_IA32_DEBUGCTLMSR before the
      VMSA is encrypted. Fix this by moving LBRV enablement code post VMSA
      encryption.
    
    [1]: AMD64 Architecture Programmer's Manual Pub. 40332, Rev. 4.07 - June
         2023, Vol 2, 15.35.2 Enabling SEV-ES.
         https://bugzilla.kernel.org/attachment.cgi?id=304653
    
    Fixes: 376c6d2 ("KVM: SVM: Provide support for SEV-ES vCPU creation/loading")
    Co-developed-by: Nikunj A Dadhania <[email protected]>
    Signed-off-by: Nikunj A Dadhania <[email protected]>
    Signed-off-by: Ravi Bangoria <[email protected]>
    Message-ID: <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    Ravi Bangoria authored and bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    b7e4be0 View commit details
    Browse the repository at this point in the history
  7. KVM: x86: Drop support for hand tuning APIC timer advancement from us…

    …erspace
    
    Remove support for specifying a static local APIC timer advancement value,
    and instead present a read-only boolean parameter to let userspace enable
    or disable KVM's dynamic APIC timer advancement.  Realistically, it's all
    but impossible for userspace to specify an advancement that is more
    precise than what KVM's adaptive tuning can provide.  E.g. a static value
    needs to be tuned for the exact hardware and kernel, and if KVM is using
    hrtimers, likely requires additional tuning for the exact configuration of
    the entire system.
    
    Dropping support for a userspace provided value also fixes several flaws
    in the interface.  E.g. KVM interprets a negative value other than -1 as a
    large advancement, toggling between a negative and positive value yields
    unpredictable behavior as vCPUs will switch from dynamic to static
    advancement, changing the advancement in the middle of VM creation can
    result in different values for vCPUs within a VM, etc.  Those flaws are
    mostly fixable, but there's almost no justification for taking on yet more
    complexity (it's minimal complexity, but still non-zero).
    
    The only arguments against using KVM's adaptive tuning is if a setup needs
    a higher maximum, or if the adjustments are too reactive, but those are
    arguments for letting userspace control the absolute max advancement and
    the granularity of each adjustment, e.g. similar to how KVM provides knobs
    for halt polling.
    
    Link: https://lore.kernel.org/all/[email protected]
    Cc: Shuling Zhou <[email protected]>
    Cc: Marcelo Tosatti <[email protected]>
    Signed-off-by: Sean Christopherson <[email protected]>
    Message-ID: <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    sean-jc authored and bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    89a5881 View commit details
    Browse the repository at this point in the history
  8. Merge branch 'kvm-fixes-6.10-1' into HEAD

    * Fixes and debugging help for the #VE sanity check.  Also disable
      it by default, even for CONFIG_DEBUG_KERNEL, because it was found
      to trigger spuriously (most likely a processor erratum as the
      exact symptoms vary by generation).
    
    * Avoid WARN() when two NMIs arrive simultaneously during an NMI-disabled
      situation (GIF=0 or interrupt shadow) when the processor supports
      virtual NMI.  While generally KVM will not request an NMI window
      when virtual NMIs are supported, in this case it *does* have to
      single-step over the interrupt shadow or enable the STGI intercept,
      in order to deliver the latched second NMI.
    
    * Drop support for hand tuning APIC timer advancement from userspace.
      Since we have adaptive tuning, and it has proved to work well,
      drop the module parameter for manual configuration and with it a
      few stupid bugs that it had.
    bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    f9d1b54 View commit details
    Browse the repository at this point in the history
  9. Merge branch 'kvm-fixes-6.10-1' into HEAD

    * Fixes and debugging help for the #VE sanity check.  Also disable
      it by default, even for CONFIG_DEBUG_KERNEL, because it was found
      to trigger spuriously (most likely a processor erratum as the
      exact symptoms vary by generation).
    
    * Avoid WARN() when two NMIs arrive simultaneously during an NMI-disabled
      situation (GIF=0 or interrupt shadow) when the processor supports
      virtual NMI.  While generally KVM will not request an NMI window
      when virtual NMIs are supported, in this case it *does* have to
      single-step over the interrupt shadow or enable the STGI intercept,
      in order to deliver the latched second NMI.
    
    * Drop support for hand tuning APIC timer advancement from userspace.
      Since we have adaptive tuning, and it has proved to work well,
      drop the module parameter for manual configuration and with it a
      few stupid bugs that it had.
    bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    b3233c7 View commit details
    Browse the repository at this point in the history
  10. Merge tag 'kvm-riscv-fixes-6.10-1' of https://github.com/kvm-riscv/linux

     into HEAD
    
    KVM/riscv fixes for 6.10, take #1
    
    - No need to use mask when hart-index-bits is 0
    - Fix incorrect reg_subtype labels in kvm_riscv_vcpu_set_reg_isa_ext()
    bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    b50788f View commit details
    Browse the repository at this point in the history
  11. Merge branch 'kvm-6.11-sev-snp' into HEAD

    Pull base x86 KVM support for running SEV-SNP guests from Michael Roth:
    
    * add some basic infrastructure and introduces a new KVM_X86_SNP_VM
      vm_type to handle differences versus the existing KVM_X86_SEV_VM and
      KVM_X86_SEV_ES_VM types.
    
    * implement the KVM API to handle the creation of a cryptographic
      launch context, encrypt/measure the initial image into guest memory,
      and finalize it before launching it.
    
    * implement handling for various guest-generated events such as page
      state changes, onlining of additional vCPUs, etc.
    
    * implement the gmem/mmu hooks needed to prepare gmem-allocated pages
      before mapping them into guest private memory ranges as well as
      cleaning them up prior to returning them to the host for use as
      normal memory. Because those cleanup hooks supplant certain
      activities like issuing WBINVDs during KVM MMU invalidations, avoid
      duplicating that work to avoid unecessary overhead.
    
    This merge leaves out support support for attestation guest requests
    and for loading the signing keys to be used for attestation requests.
    bonzini committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    ab978c6 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. KVM: arm64: Reintroduce __sve_save_state

    Now that the hypervisor is handling the host sve state in
    protected mode, it needs to be able to save it.
    
    This reverts commit e66425f ("KVM: arm64: Remove unused
    __sve_save_state").
    
    Reviewed-by: Oliver Upton <[email protected]>
    Signed-off-by: Fuad Tabba <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Fuad Tabba authored and Marc Zyngier committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    87bb39e View commit details
    Browse the repository at this point in the history
  2. KVM: arm64: Fix prototype for __sve_save_state/__sve_restore_state

    Since the prototypes for __sve_save_state/__sve_restore_state at
    hyp were added, the underlying macro has acquired a third
    parameter for saving/restoring ffr.
    
    Fix the prototypes to account for the third parameter, and
    restore the ffr for the guest since it is saved.
    
    Suggested-by: Mark Brown <[email protected]>
    Signed-off-by: Fuad Tabba <[email protected]>
    Reviewed-by: Mark Brown <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Fuad Tabba authored and Marc Zyngier committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    45f4ea9 View commit details
    Browse the repository at this point in the history
  3. KVM: arm64: Abstract set/clear of CPTR_EL2 bits behind helper

    The same traps controlled by CPTR_EL2 or CPACR_EL1 need to be
    toggled in different parts of the code, but the exact bits and
    their polarity differ between these two formats and the mode
    (vhe/nvhe/hvhe).
    
    To reduce the amount of duplicated code and the chance of getting
    the wrong bit/polarity or missing a field, abstract the set/clear
    of CPTR_EL2 bits behind a helper.
    
    Since (h)VHE is the way of the future, use the CPACR_EL1 format,
    which is a subset of the VHE CPTR_EL2, as a reference.
    
    No functional change intended.
    
    Suggested-by: Oliver Upton <[email protected]>
    Reviewed-by: Oliver Upton <[email protected]>
    Signed-off-by: Fuad Tabba <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Fuad Tabba authored and Marc Zyngier committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    6d8fb3c View commit details
    Browse the repository at this point in the history
  4. KVM: arm64: Specialize handling of host fpsimd state on trap

    In subsequent patches, n/vhe will diverge on saving the host
    fpsimd/sve state when taking a guest fpsimd/sve trap. Add a
    specialized helper to handle it.
    
    No functional change intended.
    
    Reviewed-by: Mark Brown <[email protected]>
    Reviewed-by: Oliver Upton <[email protected]>
    Signed-off-by: Fuad Tabba <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Fuad Tabba authored and Marc Zyngier committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    e511e08 View commit details
    Browse the repository at this point in the history
  5. KVM: arm64: Allocate memory mapped at hyp for host sve state in pKVM

    Protected mode needs to maintain (save/restore) the host's sve
    state, rather than relying on the host kernel to do that. This is
    to avoid leaking information to the host about guests and the
    type of operations they are performing.
    
    As a first step towards that, allocate memory mapped at hyp, per
    cpu, for the host sve state. The following patch will use this
    memory to save/restore the host state.
    
    Reviewed-by: Oliver Upton <[email protected]>
    Signed-off-by: Fuad Tabba <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Fuad Tabba authored and Marc Zyngier committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    66d5b53 View commit details
    Browse the repository at this point in the history
  6. KVM: arm64: Eagerly restore host fpsimd/sve state in pKVM

    When running in protected mode we don't want to leak protected
    guest state to the host, including whether a guest has used
    fpsimd/sve. Therefore, eagerly restore the host state on guest
    exit when running in protected mode, which happens only if the
    guest has used fpsimd/sve.
    
    Reviewed-by: Oliver Upton <[email protected]>
    Signed-off-by: Fuad Tabba <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Fuad Tabba authored and Marc Zyngier committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    b5b9955 View commit details
    Browse the repository at this point in the history
  7. KVM: arm64: Consolidate initializing the host data's fpsimd_state/sve…

    … in pKVM
    
    Now that we have introduced finalize_init_hyp_mode(), lets
    consolidate the initializing of the host_data fpsimd_state and
    sve state.
    
    Reviewed-by: Oliver Upton <[email protected]>
    Signed-off-by: Fuad Tabba <[email protected]>
    Reviewed-by: Mark Brown <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Fuad Tabba authored and Marc Zyngier committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    1696fc2 View commit details
    Browse the repository at this point in the history
  8. KVM: arm64: Refactor CPACR trap bit setting/clearing to use ELx format

    When setting/clearing CPACR bits for EL0 and EL1, use the ELx
    format of the bits, which covers both. This makes the code
    clearer, and reduces the chances of accidentally missing a bit.
    
    No functional change intended.
    
    Reviewed-by: Oliver Upton <[email protected]>
    Signed-off-by: Fuad Tabba <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Fuad Tabba authored and Marc Zyngier committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    a69283a View commit details
    Browse the repository at this point in the history
  9. KVM: arm64: Ensure that SME controls are disabled in protected mode

    KVM (and pKVM) do not support SME guests. Therefore KVM ensures
    that the host's SME state is flushed and that SME controls for
    enabling access to ZA storage and for streaming are disabled.
    
    pKVM needs to protect against a buggy/malicious host. Ensure that
    it wouldn't run a guest when protected mode is enabled should any
    of the SME controls be enabled.
    
    Signed-off-by: Fuad Tabba <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Marc Zyngier <[email protected]>
    Fuad Tabba authored and Marc Zyngier committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    afb91f5 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. Merge tag 'kvmarm-fixes-6.10-1' of git://git.kernel.org/pub/scm/linux…

    …/kernel/git/kvmarm/kvmarm into HEAD
    
    KVM/arm64 fixes for 6.10, take #1
    
    - Large set of FP/SVE fixes for pKVM, addressing the fallout
      from the per-CPU data rework and making sure that the host
      is not involved in the FP/SVE switching any more
    
    - Allow FEAT_BTI to be enabled with NV now that FEAT_PAUTH
      is copletely supported
    
    - Fix for the respective priorities of Failed PAC, Illegal
      Execution state and Instruction Abort exceptions
    
    - Fix the handling of AArch32 instruction traps failing their
      condition code, which was broken by the introduction of
      ESR_EL2.ISS2
    
    - Allow vpcus running in AArch32 state to be restored in
      System mode
    
    - Fix AArch32 GPR restore that would lose the 64 bit state
      under some conditions
    bonzini committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    45ce031 View commit details
    Browse the repository at this point in the history
  2. KVM: x86/mmu: Don't save mmu_invalidate_seq after checking private attr

    Drop the second snapshot of mmu_invalidate_seq in kvm_faultin_pfn().
    Before checking the mismatch of private vs. shared, mmu_invalidate_seq is
    saved to fault->mmu_seq, which can be used to detect an invalidation
    related to the gfn occurred, i.e. KVM will not install a mapping in page
    table if fault->mmu_seq != mmu_invalidate_seq.
    
    Currently there is a second snapshot of mmu_invalidate_seq, which may not
    be same as the first snapshot in kvm_faultin_pfn(), i.e. the gfn attribute
    may be changed between the two snapshots, but the gfn may be mapped in
    page table without hindrance. Therefore, drop the second snapshot as it
    has no obvious benefits.
    
    Fixes: f6adeae ("KVM: x86/mmu: Handle no-slot faults at the beginning of kvm_faultin_pfn()")
    Signed-off-by: Tao Su <[email protected]>
    Message-ID: <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    taosu-linux authored and bonzini committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    db574f2 View commit details
    Browse the repository at this point in the history
  3. KVM: SNP: Fix LBR Virtualization for SNP guest

    SEV-ES and thus SNP guest mandates LBR Virtualization to be _always_ ON.
    Although commit b7e4be0 ("KVM: SEV-ES: Delegate LBR virtualization
    to the processor") did the correct change for SEV-ES guests, it missed
    the SNP. Fix it.
    
    Reported-by: Srikanth Aithal <[email protected]>
    Fixes: b7e4be0 ("KVM: SEV-ES: Delegate LBR virtualization to the processor")
    Signed-off-by: Ravi Bangoria <[email protected]>
    Message-ID: <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    Ravi Bangoria authored and bonzini committed Jun 5, 2024
    Configuration menu
    Copy the full SHA
    f99b052 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. KVM: x86: Always sync PIR to IRR prior to scanning I/O APIC routes

    Sync pending posted interrupts to the IRR prior to re-scanning I/O APIC
    routes, irrespective of whether the I/O APIC is emulated by userspace or
    by KVM.  If a level-triggered interrupt routed through the I/O APIC is
    pending or in-service for a vCPU, KVM needs to intercept EOIs on said
    vCPU even if the vCPU isn't the destination for the new routing, e.g. if
    servicing an interrupt using the old routing races with I/O APIC
    reconfiguration.
    
    Commit fceb3a3 ("KVM: x86: ioapic: Fix level-triggered EOI and
    userspace I/OAPIC reconfigure race") fixed the common cases, but
    kvm_apic_pending_eoi() only checks if an interrupt is in the local
    APIC's IRR or ISR, i.e. misses the uncommon case where an interrupt is
    pending in the PIR.
    
    Failure to intercept EOI can manifest as guest hangs with Windows 11 if
    the guest uses the RTC as its timekeeping source, e.g. if the VMM doesn't
    expose a more modern form of time to the guest.
    
    Cc: [email protected]
    Cc: Adamos Ttofari <[email protected]>
    Cc: Raghavendra Rao Ananta <[email protected]>
    Reviewed-by: Jim Mattson <[email protected]>
    Signed-off-by: Sean Christopherson <[email protected]>
    Message-ID: <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    sean-jc authored and bonzini committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    f3ced00 View commit details
    Browse the repository at this point in the history
  2. MAINTAINERS: Drop Wanpeng Li as a Reviewer for KVM Paravirt support

    Drop Wanpeng as a KVM PARAVIRT reviewer as his @tencent.com email is
    bouncing, and according to lore[*], the last activity from his @gmail.com
    address was almost two years ago.
    
    [*] https://lore.kernel.org/all/CANRm+Cwj29M9HU3=JRUOaKDR+iDKgr0eNMWQi0iLkR5THON-bg@mail.gmail.com
    
    Cc: Wanpeng Li <[email protected]>
    Cc: Like Xu <[email protected]>
    Signed-off-by: Sean Christopherson <[email protected]>
    Message-ID: <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    sean-jc authored and bonzini committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    b018589 View commit details
    Browse the repository at this point in the history
  3. kvm: do not account temporary allocations to kmem

    Some allocations done by KVM are temporary, they are created as result
    of program actions, but can't exists for arbitrary long times.
    
    They should have been GFP_TEMPORARY (rip!).
    
    OTOH, kvm-nx-lpage-recovery and kvm-pit kernel threads exist for as long
    as VM exists but their task_struct memory is not accounted.
    This is story for another day.
    
    Signed-off-by: Alexey Dobriyan <[email protected]>
    Message-ID: <c0122f66-f428-417e-a360-b25fc0f154a0@p183>
    Signed-off-by: Paolo Bonzini <[email protected]>
    Alexey Dobriyan authored and bonzini committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    f474092 View commit details
    Browse the repository at this point in the history
  4. virt: guest_memfd: fix reference leak on hwpoisoned page

    If kvm_gmem_get_pfn() detects an hwpoisoned page, it returns -EHWPOISON
    but it does not put back the reference that kvm_gmem_get_folio() had
    grabbed.  Add the forgotten folio_put().
    
    Fixes: a7800aa ("KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory")
    Cc: [email protected]
    Reviewed-by: Liam Merwick <[email protected]>
    Reviewed-by: Isaku Yamahata <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    bonzini committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    c31745d View commit details
    Browse the repository at this point in the history
  5. KVM: Discard zero mask with function kvm_dirty_ring_reset

    Function kvm_reset_dirty_gfn may be called with parameters cur_slot /
    cur_offset / mask are all zero, it does not represent real dirty page.
    It is not necessary to clear dirty page in this condition. Also return
    value of macro __fls() is undefined if mask is zero which is called in
    funciton kvm_reset_dirty_gfn(). Here just return.
    
    Signed-off-by: Bibo Mao <[email protected]>
    Message-ID: <[email protected]>
    [Move the conditional inside kvm_reset_dirty_gfn; suggested by
     Sean Christopherson. - Paolo]
    Signed-off-by: Paolo Bonzini <[email protected]>
    bibo-mao authored and bonzini committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    676f819 View commit details
    Browse the repository at this point in the history
  6. KVM: interrupt kvm_gmem_populate() on signals

    kvm_gmem_populate() is a potentially lengthy operation that can involve
    multiple calls to the firmware.  Interrupt it if a signal arrives.
    
    Fixes: 1f6c06b ("KVM: guest_memfd: Add interface for populating gmem pages with user data")
    Cc: Isaku Yamahata <[email protected]>
    Cc: Michael Roth <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    bonzini committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    d814738 View commit details
    Browse the repository at this point in the history
  7. KVM: x86/tdp_mmu: Sprinkle __must_check

    The TDP MMU function __tdp_mmu_set_spte_atomic uses a cmpxchg64 to replace
    the SPTE value and returns -EBUSY on failure.  The caller must check the
    return value and retry.  Add __must_check to it, as well as to two more
    functions that forward the return value of __tdp_mmu_set_spte_atomic to
    their caller.
    
    Signed-off-by: Isaku Yamahata <[email protected]>
    Reviewed-by: Binbin Wu <[email protected]>
    Message-Id: <8f7d5a1b241bf5351eaab828d1a1efe5c17699ca.1705965635.git.isaku.yamahata@intel.com>
    Acked-by: Kai Huang <[email protected]>
    Signed-off-by: Paolo Bonzini <[email protected]>
    yamahata authored and bonzini committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    8a4e274 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    02b0d3b View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. KVM: SEV: Provide support for SNP_GUEST_REQUEST NAE event

    Version 2 of GHCB specification added support for the SNP Guest Request
    Message NAE event. The event allows for an SEV-SNP guest to make
    requests to the SEV-SNP firmware through hypervisor using the
    SNP_GUEST_REQUEST API defined in the SEV-SNP firmware specification.
    
    This is used by guests primarily to request attestation reports from
    firmware. There are other request types are available as well, but the
    specifics of what guest requests are being made are opaque to the
    hypervisor, which only serves as a proxy for the guest requests and
    firmware responses.
    
    Implement handling for these events.
    
    Co-developed-by: Alexey Kardashevskiy <[email protected]>
    Signed-off-by: Alexey Kardashevskiy <[email protected]>
    Signed-off-by: Brijesh Singh <[email protected]>
    Signed-off-by: Ashish Kalra <[email protected]>
    [mdr: ensure FW command failures are indicated to guest, drop extended
     request handling to be re-written as separate patch, massage commit]
    Signed-off-by: Michael Roth <[email protected]>
    codomania authored and roy-hopkins committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    75aa7c5 View commit details
    Browse the repository at this point in the history
  2. crypto: ccp: Add the SNP_SET_CONFIG_{START,END} commands

    These commands can be used to create a transaction such that commands
    that update the reported TCB, such as SNP_SET_CONFIG/SNP_COMMIT, and
    updates to userspace-supplied certificates, can be handled atomically
    relative to any extended guest requests issued by any SNP guests while
    the updates are taking place.
    
    Without this interface, there is a risk that a guest will be given
    certificate information that does not correspond to the VCEK/VLEK used
    to sign a particular attestation report unless all the running guests
    are paused in advance, which would cause disruption to all guests in the
    system even if no attestation requests are being made. Even then, care
    is needed to ensure that KVM does not pass along certificate information
    that was fetched from userspace in advance of the guest being paused.
    
    This interface also provides some versatility with how similar firmware
    maintenance activity can be handled in the future without passing
    unnecessary management complexity on to userspace.
    
    Signed-off-by: Michael Roth <[email protected]>
    mdroth authored and roy-hopkins committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    cffb52b View commit details
    Browse the repository at this point in the history
  3. KVM: SEV: Provide support for SNP_EXTENDED_GUEST_REQUEST NAE event

    Version 2 of GHCB specification added support for the SNP Extended Guest
    Request Message NAE event. This event serves a nearly identical purpose
    to the previously-added SNP_GUEST_REQUEST event, but allows for
    additional certificate data to be supplied via an additional
    guest-supplied buffer to be used mainly for verifying the signature of
    an attestation report as returned by firmware.
    
    This certificate data is supplied by userspace, so unlike with
    SNP_GUEST_REQUEST events, SNP_EXTENDED_GUEST_REQUEST events are first
    forwarded to userspace via a KVM_EXIT_VMGEXIT exit type, and then the
    firmware request is made only afterward.
    
    Implement handling for these events.
    
    Since there is a potential for race conditions where the
    userspace-supplied certificate data may be out-of-sync relative to the
    reported TCB that firmware will use when signing attestation reports,
    make use of the transaction/synchronization mechanisms added by the
    SNP_SET_CONFIG_{START,END} SEV device ioctls such that the guest will be
    told to retry the request when an update to reported TCB or
    userspace-supplied certificates may have occurred or is in progress
    while an extended guest request is being processed.
    
    Signed-off-by: Michael Roth <[email protected]>
    mdroth authored and roy-hopkins committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    d5a0da2 View commit details
    Browse the repository at this point in the history
  4. crypto: ccp: Add additional information about an SEV firmware upgrade

    Print additional information, in the form of the old and new versions of
    the SEV firmware, so that it can be seen what the base firmware was before
    the upgrade.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    9752c2a View commit details
    Browse the repository at this point in the history
  5. x86/sev: Clear SEV-ES and SEV-SNP features when support is not possible

    There are situations where SEV-ES and/or SEV-SNP guests cannot be run
    but the feature flags are still advertised. Add additional checks to the
    current SME and SEV checks to clear these CPU feature flags under these
    conditions:
    
      - CPUID 0x8000001f/edx reports the minimum SEV ASID, which is used to
        determine the number of SEV-ES/SEV-SNP ASIDs that are available. If
        the value reported is <= 1, then SEV-ES and SEV-SNP guests can't be
        run and the SEV-ES and SEV-SNP feature flags should be cleared.
    
      - SEV-SNP support relies on BIOS allocation of the RMP table. If the
        table hasn't been allocated or allocated properly, the SEV-SNP feature
        flag should be cleared.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    fd17844 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. KVM: SEV: Allow for VMPL level specification in AP create

    Update AP creation to support ADD/DESTROY of VMSAs at levels other than
    VMPL0 in order to run with under an SVSM at VMPL1 or lower. To maintain
    backwards compatibility, the VMPL is specified in bits 16 to 19 of the
    AP Creation request in SW_EXITINFO1 of the GHCB.
    
    In order to track the VMSAs at different levels, create arrays for the
    VMSAs, GHCBs, registered GHCBs and others. When switching VMPL levels,
    these entries will be used to set the VMSA and GHCB physical addresses
    in the VMCB for the VMPL level.
    
    In order ensure that the proper responses are returned in the proper GHCB,
    the GHCB must be unmapped at the current level and saved for restoration
    later when switching back to that VMPL level.
    
    Additional checks are applied to prevent a non-VMPL0 vCPU from being able
    to perform an AP creation request. Additionally, a vCPU cannot replace its
    own VMSA.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    ceede81 View commit details
    Browse the repository at this point in the history
  2. KVM: SVM: Implement GET_AP_APIC_IDS NAE event

    Implement the GET_APIC_IDS NAE event to gather and return the list of
    APIC IDs for all vCPUs in the guest.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    ec292a8 View commit details
    Browse the repository at this point in the history
  3. KVM: SVM: Invoke a specified VMPL level VMSA for the vCPU

    Implement the RUN_VMPL NAE event and MSR protocol to allow a guest to
    request a different VMPL level VMSA be run for the vCPU. This allows
    the guest to "call" an SVSM to process an SVSM request.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    930f14e View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. KVM: SVM: Indicate support for an SVSM

    Update the hypervisor supported features to indicate that the SVSM feature
    is supported. The SVSM feature consists of:
    	- APIC ID retrieval support
    	- Multi-VMPL support
    		- AP Creation at specified VMPL
    		- Run VMPL level support
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    acfbe58 View commit details
    Browse the repository at this point in the history
  2. KVM: SVM: Add auxiliary function has_snp_feature()

    Add helper function has_snp_feature() to determine if a SNP guest has a
    given feature. This will be particularly positive for when new checks
    and/or SNP features are added in the future.
    
    Signed-off-by: Carlos Bilbao <[email protected]>
    Zildj1an authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    73156ab View commit details
    Browse the repository at this point in the history
  3. KVM: SVM: Maintain per-VMPL SEV features in kvm_sev_info

    Make struct kvm_sev_info maintain separate SEV features per VMPL, allowing
    distinct SEV features depending on VMs privilege level.
    
    Signed-off-by: Carlos Bilbao <[email protected]>
    Zildj1an authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    1587851 View commit details
    Browse the repository at this point in the history
  4. KVM: SVM: Prevent injection when restricted injection is active

    Prevent injection of exceptions/interrupts when restricted injection is
    active. This is not full support for restricted injection, but the SVSM
    is not expecting any injections at all.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    da8226d View commit details
    Browse the repository at this point in the history
  5. KVM: SVM: Support launching an SVSM with Restricted Injection set

    Allow an Restricted Injection to be set in SEV_FEATURES. When set,
    attempts to inject any interrupts other than #HV will make VMRUN fail.
    This is done to further reduce the security exposure within the SVSM.
    
    Signed-off-by: Carlos Bilbao <[email protected]>
    Zildj1an authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    a124b56 View commit details
    Browse the repository at this point in the history
  6. x86/sev: Check for the presence of an SVSM in the SNP Secrets page

    During early boot phases, check for the presence of an SVSM when running
    as an SEV-SNP guest.
    
    An SVSM is present if the 64-bit value at offset 0x148 into the secrets
    page is non-zero. If an SVSM is present, save the SVSM Calling Area
    address (CAA), located at offset 0x150 into the secrets page, and set
    the VMPL level of the guest, which should be non-zero, to indicate the
    presence of an SVSM.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    9e5751e View commit details
    Browse the repository at this point in the history
  7. x86/sev: Use kernel provided SVSM Calling Areas

    The SVSM Calling Area (CA) is used to communicate between Linux and the
    SVSM. Since the firmware supplied CA for the BSP is likely to be in
    reserved memory, switch off that CA to a kernel provided CA so that access
    and use of the CA is available during boot. The CA switch is done using
    the SVSM core protocol SVSM_CORE_REMAP_CAA call.
    
    An SVSM call is executed by filling out the SVSM CA and setting the proper
    register state as documented by the SVSM protocol. The SVSM is invoked by
    by requesting the hypervisor to run VMPL0.
    
    Once it is safe to allocate/reserve memory, allocate a CA for each CPU.
    After allocating the new CAs, the BSP will switch from the boot CA to the
    per-CPU CA. The CA for an AP is identified to the SVSM when creating the
    VMSA in preparation for booting the AP.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    71a3af6 View commit details
    Browse the repository at this point in the history
  8. x86/sev: Perform PVALIDATE using the SVSM when not at VMPL0

    The PVALIDATE instruction can only be performed at VMPL0. An SVSM will
    be present when running at VMPL1 or a lower privilege level.
    
    When an SVSM is present, use the SVSM_CORE_PVALIDATE call to perform
    memory validation instead of issuing the PVALIDATE instruction directly.
    
    The validation of a single 4K page is now explicitly identified as such
    in the function name, pvalidate_4k_page(). The pvalidate_pages() function
    is used for validating 1 or more pages at either 4K or 2M in size. Each
    function, however, determines whether it can issue the PVALIDATE directly
    or whether the SVSM needs to be invoked.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    9f21320 View commit details
    Browse the repository at this point in the history
  9. x86/sev: Use the SVSM to create a vCPU when not in VMPL0

    Using the RMPADJUST instruction, the VSMA attribute can only be changed
    at VMPL0. An SVSM will be present when running at VMPL1 or a lower
    privilege level.
    
    When an SVSM is present, use the SVSM_CORE_CREATE_VCPU call or the
    SVSM_CORE_DESTROY_VCPU call to perform VMSA attribute changes. Use the
    VMPL level supplied by the SVSM within the VMSA and when starting the
    AP.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    a32b901 View commit details
    Browse the repository at this point in the history
  10. x86/sev: Provide SVSM discovery support

    The SVSM specification documents an alternative method of discovery for
    the SVSM using a reserved CPUID bit and a reserved MSR.
    
    For the CPUID support, the #VC handler of an SEV-SNP guest should modify
    the returned value in the EAX register for the 0x8000001f CPUID function
    by setting bit 28 when an SVSM is present.
    
    For the MSR support, new reserved MSR 0xc001f000 has been defined. A #VC
    should be generated when accessing this MSR. The #VC handler is expected
    to ignore writes to this MSR and return the physical calling area address
    (CAA) on reads of this MSR.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    746707a View commit details
    Browse the repository at this point in the history
  11. x86/sev: Provide guest VMPL level to userspace

    Requesting an attestation report from userspace involves providing the
    VMPL level for the report. Currently any value from 0-3 is valid because
    Linux enforces running at VMPL0.
    
    When an SVSM is present, though, Linux will not be running at VMPL0 and
    only VMPL values starting at the VMPL level Linux is running at to 3 are
    valid. In order to allow userspace to determine the minimum VMPL value
    that can be supplied to an attestation report, create a sysfs entry that
    can be used to retrieve the current VMPL level of Linux.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    fdadb08 View commit details
    Browse the repository at this point in the history
  12. virt: sev-guest: Choose the VMPCK key based on executing VMPL

    Currently, the sev-guest driver uses the vmpck-0 key by default. When an
    SVSM is present the kernel is running at a VMPL other than 0 and the
    vmpck-0 key is no longer available. So choose the vmpck key based on the
    active VMPL level.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    ed71262 View commit details
    Browse the repository at this point in the history
  13. x86/sev: Extend the config-fs attestation support for an SVSM

    When an SVSM is present, the guest can also request attestation reports
    from the SVSM. These SVSM attestation reports can be used to attest the
    SVSM and any services running within the SVSM.
    
    Extend the config-fs attestation support to allow for an SVSM attestation
    report. This involves creating four (4) new config-fs attributes:
    
      - 'svsm' (input)
        This attribute is used to determine whether the attestation request
        should be sent to the SVSM or to the SEV firmware.
    
      - 'service_guid' (input)
        Used for requesting the attestation of a single service within the
        SVSM. A null GUID implies that the SVSM_ATTEST_SERVICES call should
        be used to request the attestation report. A non-null GUID implies
        that the SVSM_ATTEST_SINGLE_SERVICE call should be used.
    
      - 'service_version' (input)
        Used with the SVSM_ATTEST_SINGLE_SERVICE call, the service version
        represents a specific service manifest version be used for the
        attestation report.
    
      - 'manifestblob' (output)
        Used to return the service manifest associated with the attestation
        report.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    11f4104 View commit details
    Browse the repository at this point in the history
  14. x86/sev: Allow non-VMPL0 execution when an SVSM is present

    To allow execution at a level other than VMPL0, an SVSM must be present.
    Allow the SEV-SNP guest to continue booting if an SVSM is detected and
    the hypervisor supports the SVSM feature as indicated in the GHCB
    hypervisor features bitmap.
    
    Signed-off-by: Tom Lendacky <[email protected]>
    tlendacky authored and roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    b817f16 View commit details
    Browse the repository at this point in the history
  15. sev: Allow direct setting of VMSA for SEV-SNP guests

    The VMSA containing the initial CPU state for an SEV-SNP guest is
    measured as part of the launch process. Currently, KVM does this
    automatically during the call to KVM_SEV_SNP_LAUNCH_FINISH where the CPU
    state is synchronised to the VMSA for every vCPU, measured then the
    guest is launched.
    
    This poses a problem for guests that want to have full control over the
    number and contents of VMSAs, such as when using an SVSM module or
    paravisor. In which case, for example, you may only want the BSP VMSA to
    be provided, or have full control over non-synced registers.
    
    As soon as the VMSA is measured it is encrypted by hardware so KVM
    immediately loses sight and control over the contents. With this in
    mind, there is no need to keep the VMSA in sync with KVMs view of
    register state. Therefore it makes sense to bypass the sync completely
    and provide a way for the VMSA to be directly specified from userspace
    if required.
    
    This commit extends the KVM_SEV_SNP_LAUNCH_UPDATE ioctl to allow VMSA
    pages to be updated. When encountered, this modifies the behaviour of
    KVM_SEV_SNP_LAUNCH_FINISH to prevent the sync and measurement of CPU
    state. This allows for both legacy functionaly and new functionality to
    co-exist.
    
    Signed-off-by: Roy Hopkins <[email protected]>
    roy-hopkins committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    d91630a View commit details
    Browse the repository at this point in the history