Skip to content

Commits

Permalink
Shiyang-Ruan/f…
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Jun 4, 2021

  1. fs/dax: Remove useless functions

    Since owner tracking is triggerred by pmem device, these functions are
    useless.  So remove them.
    
    Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
    irides authored and intel-lab-lkp committed Jun 4, 2021
    Copy the full SHA
    b585d24 View commit details
    Browse the repository at this point in the history
  2. xfs: Implement ->corrupted_range() for XFS

    This function is used to handle errors which may cause data lost in
    filesystem.  Such as memory failure in fsdax mode.
    
    If the rmap feature of XFS enabled, we can query it to find files and
    metadata which are associated with the corrupt data.  For now all we do
    is kill processes with that file mapped into their address spaces, but
    future patches could actually do something about corrupt metadata.
    
    After that, the memory failure needs to notify the processes who are
    using those files.
    
    Only support data device.  Realtime device is not supported for now.
    
    Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
    irides authored and intel-lab-lkp committed Jun 4, 2021
    Copy the full SHA
    8fc6cb0 View commit details
    Browse the repository at this point in the history
  3. md: Implement dax_holder_operations

    This is the case where the holder represents a mapped device, or a list
    of mapped devices more exactly(because it is possible to create more
    than one mapped device on one pmem device).
    
    Find out which mapped device the offset belongs to, and translate the
    offset from target device to mapped device.  When it is done, call
    dax_corrupted_range() for the holder of this mapped device.
    
    Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
    irides authored and intel-lab-lkp committed Jun 4, 2021
    Copy the full SHA
    94db8a1 View commit details
    Browse the repository at this point in the history
  4. dm: Introduce ->rmap() to find bdev offset

    Pmem device could be a target of mapped device.  In order to find out
    the global location on a mapped device, we introduce this to translate
    offset from target device to mapped device.
    
    Currently, we implement it on linear target, which is easy to do the
    translation.  Other targets will be supported in the future.  However,
    some targets may not support it because of the non-linear mapping.
    
    Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
    irides authored and intel-lab-lkp committed Jun 4, 2021
    Copy the full SHA
    75e9ca3 View commit details
    Browse the repository at this point in the history
  5. fs/dax: Implement dax_holder_operations

    This is the case where the holder represents a filesystem.  The offset
    translation from disk to block device is needed before we calling
    ->corrupted_range().
    
    When a specific filesystem is being mounted, we use dax_set_holder() to
    associate it with the dax_device.
    
    Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
    irides authored and intel-lab-lkp committed Jun 4, 2021
    Copy the full SHA
    6a1973b View commit details
    Browse the repository at this point in the history
  6. mm, pmem: Implement ->memory_failure() in pmem driver

    Call the ->memory_failure() which is implemented by pmem driver, in
    order to finally notify filesystem to handle the corrupted data.  The
    handler which collects and kills processes are moved into
    mf_dax_kill_procs(), which will be called by filesystem.
    
    Keep the old handler in order to roll back if driver or filesystem
    does not support ->memory_failure()/->corrupted_range().
    
    Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
    irides authored and intel-lab-lkp committed Jun 4, 2021
    Copy the full SHA
    2ddfa5c View commit details
    Browse the repository at this point in the history
  7. mm, fsdax: Refactor memory-failure handler for dax mapping

    The current memory_failure_dev_pagemap() can only handle single-mapped
    dax page for fsdax mode.  The dax page could be mapped by multiple files
    and offsets if we let reflink feature & fsdax mode work together.  So,
    we refactor current implementation to support handle memory failure on
    each file and offset.
    
    Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
    irides authored and intel-lab-lkp committed Jun 4, 2021
    Copy the full SHA
    fb815e3 View commit details
    Browse the repository at this point in the history
  8. fs: Introduce ->corrupted_range() for superblock

    Memory failure occurs in fsdax mode will finally be handled in
    filesystem.  We introduce this interface to find out files or metadata
    affected by the corrupted range, and try to recover the corrupted data
    if possiable.
    
    Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
    irides authored and intel-lab-lkp committed Jun 4, 2021
    Copy the full SHA
    064629d View commit details
    Browse the repository at this point in the history
  9. dax: Introduce holder for dax_device

    To easily track filesystem from a pmem device, we introduce a holder for
    dax_device structure, and also its operation.  This holder is used to
    remember who is using this dax_device:
     - When it is the backend of a filesystem, the holder will be the
       superblock of this filesystem.
     - When this pmem device is one of the targets in a mapped device, the
       holder will be this mapped device.  In this case, the mapped device
       has its own dax_device and it will follow the first rule.  So that we
       can finally track to the filesystem we needed.
    
    The holder and holder_ops will be set when filesystem is being mounted,
    or an target device is being activated.
    
    Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
    irides authored and intel-lab-lkp committed Jun 4, 2021
    Copy the full SHA
    b9a1e2e View commit details
    Browse the repository at this point in the history
  10. pagemap: Introduce ->memory_failure()

    When memory-failure occurs, we call this function which is implemented
    by each kind of devices.  For the fsdax case, pmem device driver
    implements it.  Pmem device driver will find out the filesystem in which
    the corrupted page located in.  And finally call filesystem handler to
    deal with this error.
    
    The filesystem will try to recover the corrupted data if possiable.
    
    Signed-off-by: Shiyang Ruan <ruansy.fnst@fujitsu.com>
    irides authored and intel-lab-lkp committed Jun 4, 2021
    Copy the full SHA
    3aea142 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2021

  1. xfs: bunmapi has unnecessary AG lock ordering issues

    large directory block size operations are assert failing because
    xfs_bunmapi() is not completely removing fragmented directory blocks
    like so:
    
    XFS: Assertion failed: done, file: fs/xfs/libxfs/xfs_dir2.c, line: 677
    ....
    Call Trace:
     xfs_dir2_shrink_inode+0x1a8/0x210
     xfs_dir2_block_to_sf+0x2ae/0x410
     xfs_dir2_block_removename+0x21a/0x280
     xfs_dir_removename+0x195/0x1d0
     xfs_rename+0xb79/0xc50
     ? avc_has_perm+0x8d/0x1a0
     ? avc_has_perm_noaudit+0x9a/0x120
     xfs_vn_rename+0xdb/0x150
     vfs_rename+0x719/0xb50
     ? __lookup_hash+0x6a/0xa0
     do_renameat2+0x413/0x5e0
     __x64_sys_rename+0x45/0x50
     do_syscall_64+0x3a/0x70
     entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    We are aborting the bunmapi() pass because of this specific chunk of
    code:
    
                    /*
                     * Make sure we don't touch multiple AGF headers out of order
                     * in a single transaction, as that could cause AB-BA deadlocks.
                     */
                    if (!wasdel && !isrt) {
                            agno = XFS_FSB_TO_AGNO(mp, del.br_startblock);
                            if (prev_agno != NULLAGNUMBER && prev_agno > agno)
                                    break;
                            prev_agno = agno;
                    }
    
    This is designed to prevent deadlocks in AGF locking when freeing
    multiple extents by ensuring that we only ever lock in increasing
    AG number order. Unfortunately, this also violates the "bunmapi will
    always succeed" semantic that some high level callers depend on,
    such as xfs_dir2_shrink_inode(), xfs_da_shrink_inode() and
    xfs_inactive_symlink_rmt().
    
    This AG lock ordering was introduced back in 2017 to fix deadlocks
    triggered by generic/299 as reported here:
    
    https://lore.kernel.org/linux-xfs/800468eb-3ded-9166-20a4-047de8018582@gmail.com/
    
    This codebase is old enough that it was before we were defering all
    AG based extent freeing from within xfs_bunmapi(). THat is, we never
    actually lock AGs in xfs_bunmapi() any more - every non-rt based
    extent free is added to the defer ops list, as is all BMBT block
    freeing. And RT extents are not RT based, so there's no lock
    ordering issues associated with them.
    
    Hence this AGF lock ordering code is both broken and dead. Let's
    just remove it so that the large directory block code works reliably
    again.
    
    Tested against xfs/538 and generic/299 which is the original test
    that exposed the deadlocks that this code fixed.
    
    Fixes: 5b094d6 ("xfs: fix multi-AG deadlock in xfs_bunmapi")
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Darrick J. Wong <djwong@kernel.org>
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Dave Chinner authored and Darrick J. Wong committed May 27, 2021
    Copy the full SHA
    0fe0bbe View commit details
    Browse the repository at this point in the history
  2. xfs: btree format inode forks can have zero extents

    xfs/538 is assert failing with this trace when testing with
    directory block sizes of 64kB:
    
    XFS: Assertion failed: !xfs_need_iread_extents(ifp), file: fs/xfs/libxfs/xfs_bmap.c, line: 608
    ....
    Call Trace:
     xfs_bmap_btree_to_extents+0x2a9/0x470
     ? kmem_cache_alloc+0xe7/0x220
     __xfs_bunmapi+0x4ca/0xdf0
     xfs_bunmapi+0x1a/0x30
     xfs_dir2_shrink_inode+0x71/0x210
     xfs_dir2_block_to_sf+0x2ae/0x410
     xfs_dir2_block_removename+0x21a/0x280
     xfs_dir_removename+0x195/0x1d0
     xfs_remove+0x244/0x460
     xfs_vn_unlink+0x53/0xa0
     ? selinux_inode_unlink+0x13/0x20
     vfs_unlink+0x117/0x220
     do_unlinkat+0x1a2/0x2d0
     __x64_sys_unlink+0x42/0x60
     do_syscall_64+0x3a/0x70
     entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    This is a check to ensure that the extents have been read into
    memory before we are doing a ifork btree manipulation. This assert
    is bogus in the above case.
    
    We have a fragmented directory block that has more extents in it
    than can fit in extent format, so the inode data fork is in btree
    format. xfs_dir2_shrink_inode() asks to remove all remaining 16
    filesystem blocks from the inode so it can convert to short form,
    and __xfs_bunmapi() removes all the extents. We now have a data fork
    in btree format but have zero extents in the fork. This incorrectly
    trips the xfs_need_iread_extents() assert because it assumes that an
    empty extent btree means the extent tree has not been read into
    memory yet. This is clearly not the case with xfs_bunmapi(), as it
    has an explicit call to xfs_iread_extents() in it to pull the
    extents into memory before it starts unmapping.
    
    Also, the assert directly after this bogus one is:
    
    	ASSERT(ifp->if_format == XFS_DINODE_FMT_BTREE);
    
    Which covers the context in which it is legal to call
    xfs_bmap_btree_to_extents just fine. Hence we should just remove the
    bogus assert as it is clearly wrong and causes a regression.
    
    The returns the test behaviour to the pre-existing assert failure in
    xfs_dir2_shrink_inode() that indicates xfs_bunmapi() has failed to
    remove all the extents in the range it was asked to unmap.
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Reviewed-by: Darrick J. Wong <djwong@kernel.org>
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Dave Chinner authored and Darrick J. Wong committed May 27, 2021
    Copy the full SHA
    991c2c5 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2021

  1. xfs: add new IRC channel to MAINTAINERS

    Add our new OFTC channel to the MAINTAINERS list so everyone will know
    where to go.  Ignore the XFS wikis, we have no access to them.
    
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Reviewed-by: Brian Foster <bfoster@redhat.com>
    Darrick J. Wong committed May 26, 2021
    Copy the full SHA
    9f58153 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2021

  1. xfs: validate extsz hints against rt extent size when rtinherit is set

    The RTINHERIT bit can be set on a directory so that newly created
    regular files will have the REALTIME bit set to store their data on the
    realtime volume.  If an extent size hint (and EXTSZINHERIT) are set on
    the directory, the hint will also be copied into the new file.
    
    As pointed out in previous patches, for realtime files we require the
    extent size hint be an integer multiple of the realtime extent, but we
    don't perform the same validation on a directory with both RTINHERIT and
    EXTSZINHERIT set, even though the only use-case of that combination is
    to propagate extent size hints into new realtime files.  This leads to
    inode corruption errors when the bad values are propagated.
    
    Because there may be existing filesystems with such a configuration, we
    cannot simply amend the inode verifier to trip on these directories and
    call it a day because that will cause previously "working" filesystems
    to start throwing errors abruptly.  Note that it's valid to have
    directories with rtinherit set even if there is no realtime volume, in
    which case the problem does not manifest because rtinherit is ignored if
    there's no realtime device; and it's possible that someone set the flag,
    crashed, repaired the filesystem (which clears the hint on the realtime
    file) and continued.
    
    Therefore, mitigate this issue in several ways: First, if we try to
    write out an inode with both rtinherit/extszinherit set and an unaligned
    extent size hint, turn off the hint to correct the error.  Second, if
    someone tries to misconfigure a directory via the fssetxattr ioctl, fail
    the ioctl.  Third, reverify both extent size hint values when we
    propagate heritable inode attributes from parent to child, to prevent
    misconfigurations from spreading.
    
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
    Reviewed-by: Brian Foster <bfoster@redhat.com>
    Darrick J. Wong committed May 25, 2021
    Copy the full SHA
    603f000 View commit details
    Browse the repository at this point in the history
  2. xfs: standardize extent size hint validation

    While chasing a bug involving invalid extent size hints being propagated
    into newly created realtime files, I noticed that the xfs_ioctl_setattr
    checks for the extent size hints weren't the same as the ones now
    encoded in libxfs and used for validation in repair and mkfs.
    
    Because the checks in libxfs are more stringent than the ones in the
    ioctl, it's possible for a live system to set inode flags that
    immediately result in corruption warnings.  Specifically, it's possible
    to set an extent size hint on an rtinherit directory without checking if
    the hint is aligned to the realtime extent size, which makes no sense
    since that combination is used only to seed new realtime files.
    
    Replace the open-coded and inadequate checks with the libxfs verifier
    versions and update the code comments a bit.
    
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Reviewed-by: Brian Foster <bfoster@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Darrick J. Wong committed May 25, 2021
    Copy the full SHA
    6b69e48 View commit details
    Browse the repository at this point in the history
  3. xfs: check free AG space when making per-AG reservations

    The new online shrink code exposed a gap in the per-AG reservation
    code, which is that we only return ENOSPC to callers if the entire fs
    doesn't have enough free blocks.  Except for debugging mode, the
    reservation init code doesn't ever check that there's enough free space
    in that AG to cover the reservation.
    
    Not having enough space is not considered an immediate fatal error that
    requires filesystem offlining because (a) it's shouldn't be possible to
    wind up in that state through normal file operations and (b) even if
    one did, freeing data blocks would recover the situation.
    
    However, online shrink now needs to know if shrinking would not leave
    enough space so that it can abort the shrink operation.  Hence we need
    to promote this assertion into an actual error return.
    
    Observed by running xfs/168 with a 1k block size, though in theory this
    could happen with any configuration.
    
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Reviewed-by: Brian Foster <bfoster@redhat.com>
    Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
    Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
    Darrick J. Wong committed May 25, 2021
    Copy the full SHA
    0f93425 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2021

  1. xfs: restore old ioctl definitions

    These ioctl definitions in xfs_fs.h are part of the userspace ABI and
    were mistakenly removed during the 5.13 merge window.
    
    Fixes: 9fefd5d ("xfs: convert to fileattr")
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Reviewed-by: Brian Foster <bfoster@redhat.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Darrick J. Wong committed May 20, 2021
    Copy the full SHA
    e3c2b04 View commit details
    Browse the repository at this point in the history
  2. xfs: fix deadlock retry tracepoint arguments

    sc->ip is the inode that's being scrubbed, which means that it's not set
    for scrub types that don't involve inodes.  If one of those scrubbers
    (e.g. inode btrees) returns EDEADLOCK, we'll trip over the null pointer.
    Fix that by reporting either the file being examined or the file that
    was used to call scrub.
    
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Reviewed-by: Brian Foster <bfoster@redhat.com>
    Darrick J. Wong committed May 20, 2021
    Copy the full SHA
    16c9de5 View commit details
    Browse the repository at this point in the history
  3. xfs: retry allocations when locality-based search fails

    If a realtime allocation fails because we can't find a sufficiently
    large free extent satisfying locality rules, relax the locality rules
    and try again.  This reduces the occurrence of short writes to realtime
    files when the write size is large and the free space is fragmented.
    
    This was originally discovered by running generic/186 with the realtime
    reflink patchset and a 128k cow extent size hint, but the short write
    symptoms can manifest with a 128k extent size hint and no reflink, so
    apply the fix now.
    
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
    Darrick J. Wong committed May 20, 2021
    Copy the full SHA
    676a659 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2021

  1. xfs: adjust rt allocation minlen when extszhint > rtextsize

    xfs_bmap_rtalloc doesn't handle realtime extent files with extent size
    hints larger than the rt volume's extent size properly, because
    xfs_bmap_extsize_align can adjust the offset/length parameters to try to
    fit the extent size hint.
    
    Under these conditions, minlen has to be large enough so that any
    allocation returned by xfs_rtallocate_extent will be large enough to
    cover at least one of the blocks that the caller asked for.  If the
    allocation is too short, bmapi_write will return no mapping for the
    requested range, which causes ENOSPC errors in other parts of the
    filesystem.
    
    Therefore, adjust minlen upwards to fix this.  This can be found by
    running generic/263 (g/127 or g/522) with a realtime extent size hint
    that's larger than the rt volume extent size.
    
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
    Darrick J. Wong committed May 17, 2021
    Copy the full SHA
    9d5e849 View commit details
    Browse the repository at this point in the history

Commits on May 16, 2021

  1. Linux 5.13-rc2

    torvalds committed May 16, 2021
    Copy the full SHA
    d07f6ca View commit details
    Browse the repository at this point in the history
  2. Merge tag 'driver-core-5.13-rc2' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/gregkh/driver-core
    
    Pull driver core fixes from Greg KH:
     "Here are two driver fixes for driver core changes that happened in
      5.13-rc1.
    
      The clk driver fix resolves a many-reported issue with booting some
      devices, and the USB typec fix resolves the reported problem of USB
      systems on some embedded boards.
    
      Both of these have been in linux-next this week with no reported
      issues"
    
    * tag 'driver-core-5.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
      clk: Skip clk provider registration when np is NULL
      usb: typec: tcpm: Don't block probing of consumers of "connector" nodes
    torvalds committed May 16, 2021
    Copy the full SHA
    28183db View commit details
    Browse the repository at this point in the history
  3. Merge tag 'staging-5.13-rc2' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/gregkh/staging
    
    Pull staging and IIO driver fixes from Greg KH:
     "Here are some small IIO driver fixes and one Staging driver fix for
      5.13-rc2.
    
      Nothing major, just some resolutions for reported problems:
    
       - gcc-11 bogus warning fix for rtl8723bs
    
       - iio driver tiny fixes
    
      All of these have been in linux-next for many days with no reported
      issues"
    
    * tag 'staging-5.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
      iio: tsl2583: Fix division by a zero lux_val
      iio: core: return ENODEV if ioctl is unknown
      iio: core: fix ioctl handlers removal
      iio: gyro: mpu3050: Fix reported temperature value
      iio: hid-sensors: select IIO_TRIGGERED_BUFFER under HID_SENSOR_IIO_TRIGGER
      iio: proximity: pulsedlight: Fix rumtime PM imbalance on error
      iio: light: gp2ap002: Fix rumtime PM imbalance on error
      staging: rtl8723bs: avoid bogus gcc warning
    torvalds committed May 16, 2021
    Copy the full SHA
    6942d81 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'usb-5.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/gregkh/usb
    
    Pull USB fixes from Greg KH:
     "Here are some small USB fixes for 5.13-rc2. They consist of a number
      of resolutions for reported issues:
    
       - typec fixes for found problems
    
       - xhci fixes and quirk additions
    
       - dwc3 driver fixes
    
       - minor fixes found by Coverity
    
       - cdc-wdm fixes for reported problems
    
      All of these have been in linux-next for a few days with no reported
      issues"
    
    * tag 'usb-5.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (28 commits)
      usb: core: hub: fix race condition about TRSMRCY of resume
      usb: typec: tcpm: Fix SINK_DISCOVERY current limit for Rp-default
      xhci: Add reset resume quirk for AMD xhci controller.
      usb: xhci: Increase timeout for HC halt
      xhci: Do not use GFP_KERNEL in (potentially) atomic context
      xhci: Fix giving back cancelled URBs even if halted endpoint can't reset
      xhci-pci: Allow host runtime PM as default for Intel Alder Lake xHCI
      usb: musb: Fix an error message
      usb: typec: tcpm: Fix wrong handling for Not_Supported in VDM AMS
      usb: typec: tcpm: Send DISCOVER_IDENTITY from dedicated work
      usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4
      usb: fotg210-hcd: Fix an error message
      docs: usb: function: Modify path name
      usb: dwc3: omap: improve extcon initialization
      usb: typec: ucsi: Put fwnode in any case during ->probe()
      usb: typec: tcpm: Fix wrong handling in GET_SINK_CAP
      usb: dwc2: Remove obsolete MODULE_ constants from platform.c
      usb: dwc3: imx8mp: fix error return code in dwc3_imx8mp_probe()
      usb: dwc3: imx8mp: detect dwc3 core node via compatible string
      usb: dwc3: gadget: Return success always for kick transfer in ep queue
      ...
    torvalds committed May 16, 2021
    Copy the full SHA
    4a66842 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'timers-urgent-2021-05-16' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull timer fixes from Thomas Gleixner:
     "Two fixes for timers:
    
       - Use the ALARM feature check in the alarmtimer core code insted of
         the old method of checking for the set_alarm() callback.
    
         Drivers can have that callback set but the feature bit cleared. If
         such a RTC device is selected then alarms wont work.
    
       - Use a proper define to let the preprocessor check whether Hyper-V
         VDSO clocksource should be active.
    
         The code used a constant in an enum with #ifdef, which evaluates to
         always false and disabled the clocksource for VDSO"
    
    * tag 'timers-urgent-2021-05-16' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      clocksource/drivers/hyper-v: Re-enable VDSO_CLOCKMODE_HVCLOCK on X86
      alarmtimer: Check RTC features instead of ops
    torvalds committed May 16, 2021
    Copy the full SHA
    8ce3648 View commit details
    Browse the repository at this point in the history
  6. Merge tag 'for-linus-5.13b-rc2-tag' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/xen/tip
    
    Pull xen fixes from Juergen Gross:
    
     - two patches for error path fixes
    
     - a small series for fixing a regression with swiotlb with Xen on Arm
    
    * tag 'for-linus-5.13b-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
      xen/swiotlb: check if the swiotlb has already been initialized
      arm64: do not set SWIOTLB_NO_FORCE when swiotlb is required
      xen/arm: move xen_swiotlb_detect to arm/swiotlb-xen.h
      xen/unpopulated-alloc: fix error return code in fill_list()
      xen/gntdev: fix gntdev_mmap() error exit path
    torvalds committed May 16, 2021
    Copy the full SHA
    f44e58b View commit details
    Browse the repository at this point in the history
  7. Merge tag 'x86_urgent_for_v5.13_rc2' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull x86 fixes from Borislav Petkov:
     "The three SEV commits are not really urgent material. But we figured
      since getting them in now will avoid a huge amount of conflicts
      between future SEV changes touching tip, the kvm and probably other
      trees, sending them to you now would be best.
    
      The idea is that the tip, kvm etc branches for 5.14 will all base
      ontop of -rc2 and thus everything will be peachy. What is more, those
      changes are purely mechanical and defines movement so they should be
      fine to go now (famous last words).
    
      Summary:
    
       - Enable -Wundef for the compressed kernel build stage
    
       - Reorganize SEV code to streamline and simplify future development"
    
    * tag 'x86_urgent_for_v5.13_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/boot/compressed: Enable -Wundef
      x86/msr: Rename MSR_K8_SYSCFG to MSR_AMD64_SYSCFG
      x86/sev: Move GHCB MSR protocol and NAE definitions in a common header
      x86/sev-es: Rename sev-es.{ch} to sev.{ch}
    torvalds committed May 16, 2021
    Copy the full SHA
    ccb013c View commit details
    Browse the repository at this point in the history

Commits on May 15, 2021

  1. Merge tag 'powerpc-5.13-3' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Fix a regression in the conversion of the 64-bit BookE interrupt
       entry to C.
    
     - Fix KVM hosts running with the hash MMU since the recent KVM gfn
       changes.
    
     - Fix a deadlock in our paravirt spinlocks when hcall tracing is
       enabled.
    
     - Several fixes for oopses in our runtime code patching for security
       mitigations.
    
     - A couple of minor fixes for the recent conversion of 32-bit interrupt
       entry/exit to C.
    
     - Fix __get_user() causing spurious crashes in sigreturn due to a bad
       inline asm constraint, spotted with GCC 11.
    
     - A fix for the way we track IRQ masking state vs NMI interrupts when
       using the new scv system call entry path.
    
     - A couple more minor fixes.
    
    Thanks to Cédric Le Goater, Christian Zigotzky, Christophe Leroy,
    Naveen N. Rao, Nicholas Piggin Paul Menzel, and Sean Christopherson.
    
    * tag 'powerpc-5.13-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc/64e/interrupt: Fix nvgprs being clobbered
      powerpc/64s: Make NMI record implicitly soft-masked code as irqs disabled
      powerpc/64s: Fix stf mitigation patching w/strict RWX & hash
      powerpc/64s: Fix entry flush patching w/strict RWX & hash
      powerpc/64s: Fix crashes when toggling entry flush barrier
      powerpc/64s: Fix crashes when toggling stf barrier
      KVM: PPC: Book3S HV: Fix kvm_unmap_gfn_range_hv() for Hash MMU
      powerpc/legacy_serial: Fix UBSAN: array-index-out-of-bounds
      powerpc/signal: Fix possible build failure with unsafe_copy_fpr_{to/from}_user
      powerpc/uaccess: Fix __get_user() with CONFIG_CC_HAS_ASM_GOTO_OUTPUT
      powerpc/pseries: warn if recursing into the hcall tracing code
      powerpc/pseries: use notrace hcall variant for H_CEDE idle
      powerpc/pseries: Don't trace hcall tracing wrapper
      powerpc/pseries: Fix hcall tracing recursion in pv queued spinlocks
      powerpc/syscall: Calling kuap_save_and_lock() is wrong
      powerpc/interrupts: Fix kuep_unlock() call
    torvalds committed May 15, 2021
    Copy the full SHA
    63d1cb5 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'sched-urgent-2021-05-15' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull scheduler fixes from Ingo Molnar:
     "Fix an idle CPU selection bug, and an AMD Ryzen maximum frequency
      enumeration bug"
    
    * tag 'sched-urgent-2021-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86, sched: Fix the AMD CPPC maximum performance value on certain AMD Ryzen generations
      sched/fair: Fix clearing of has_idle_cores flag in select_idle_cpu()
    torvalds committed May 15, 2021
    Copy the full SHA
    c12a29e View commit details
    Browse the repository at this point in the history
  3. Merge tag 'objtool-urgent-2021-05-15' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull objtool fixes from Ingo Molnar:
     "Fix a couple of endianness bugs that crept in"
    
    * tag 'objtool-urgent-2021-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      objtool/x86: Fix elf_add_alternative() endianness
      objtool: Fix elf_create_undef_symbol() endianness
    torvalds committed May 15, 2021
    Copy the full SHA
    e7c425b View commit details
    Browse the repository at this point in the history
  4. Merge tag 'irq-urgent-2021-05-15' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull irq fix from Ingo Molnar:
     "Fix build warning on SH"
    
    * tag 'irq-urgent-2021-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sh: Remove unused variable
    torvalds committed May 15, 2021
    Copy the full SHA
    077fc64 View commit details
    Browse the repository at this point in the history
  5. Merge tag 'core-urgent-2021-05-15' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/tip/tip
    
    Pull x86 stack randomization fix from Ingo Molnar:
     "Fix an assembly constraint that affected LLVM up to version 12"
    
    * tag 'core-urgent-2021-05-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      stack: Replace "o" output with "r" input constraint
    torvalds committed May 15, 2021
    Copy the full SHA
    91b7a0f View commit details
    Browse the repository at this point in the history
  6. Merge branch 'akpm' (patches from Andrew)

    Merge misc fixes from Andrew Morton:
     "13 patches.
    
      Subsystems affected by this patch series: resource, squashfs, hfsplus,
      modprobe, and mm (hugetlb, slub, userfaultfd, ksm, pagealloc, kasan,
      pagemap, and ioremap)"
    
    * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
      mm/ioremap: fix iomap_max_page_shift
      docs: admin-guide: update description for kernel.modprobe sysctl
      hfsplus: prevent corruption in shrinking truncate
      mm/filemap: fix readahead return types
      kasan: fix unit tests with CONFIG_UBSAN_LOCAL_BOUNDS enabled
      mm: fix struct page layout on 32-bit systems
      ksm: revert "use GET_KSM_PAGE_NOLOCK to get ksm page in remove_rmap_item_from_tree()"
      userfaultfd: release page in error path to avoid BUG_ON
      squashfs: fix divide error in calculate_skip()
      kernel/resource: fix return code check in __request_free_mem_region
      mm, slub: move slub_debug static key enabling outside slab_mutex
      mm/hugetlb: fix cow where page writtable in child
      mm/hugetlb: fix F_SEAL_FUTURE_WRITE
    torvalds committed May 15, 2021
    Copy the full SHA
    a414741 View commit details
    Browse the repository at this point in the history
  7. Merge tag 'arc-5.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/vgupta/arc
    
    Pull ARC fixes from Vineet Gupta:
    
     - PAE fixes
    
     - syscall num check off-by-one bug
    
     - misc fixes
    
    * tag 'arc-5.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
      ARC: mm: Use max_high_pfn as a HIGHMEM zone border
      ARC: mm: PAE: use 40-bit physical page mask
      ARC: entry: fix off-by-one error in syscall number validation
      ARC: kgdb: add 'fallthrough' to prevent a warning
      arc: Fix typos/spellos
    torvalds committed May 15, 2021
    Copy the full SHA
    f36edc5 View commit details
    Browse the repository at this point in the history
  8. Merge tag 'block-5.13-2021-05-14' of git://git.kernel.dk/linux-block

    Pull block fixes from Jens Axboe:
    
     - Fix for shared tag set exit (Bart)
    
     - Correct ioctl range for zoned ioctls (Damien)
    
     - Removed dead/unused function (Lin)
    
     - Fix perf regression for shared tags (Ming)
    
     - Fix out-of-bounds issue with kyber and preemption (Omar)
    
     - BFQ merge fix (Paolo)
    
     - Two error handling fixes for nbd (Sun)
    
     - Fix weight update in blk-iocost (Tejun)
    
     - NVMe pull request (Christoph):
          - correct the check for using the inline bio in nvmet (Chaitanya
            Kulkarni)
          - demote unsupported command warnings (Chaitanya Kulkarni)
          - fix corruption due to double initializing ANA state (me, Hou Pu)
          - reset ns->file when open fails (Daniel Wagner)
          - fix a NULL deref when SEND is completed with error in nvmet-rdma
            (Michal Kalderon)
    
     - Fix kernel-doc warning (Bart)
    
    * tag 'block-5.13-2021-05-14' of git://git.kernel.dk/linux-block:
      block/partitions/efi.c: Fix the efi_partition() kernel-doc header
      blk-mq: Swap two calls in blk_mq_exit_queue()
      blk-mq: plug request for shared sbitmap
      nvmet: use new ana_log_size instead the old one
      nvmet: seset ns->file when open fails
      nbd: share nbd_put and return by goto put_nbd
      nbd: Fix NULL pointer in flush_workqueue
      blkdev.h: remove unused codes blk_account_rq
      block, bfq: avoid circular stable merges
      blk-iocost: fix weight updates of inner active iocgs
      nvmet: demote fabrics cmd parse err msg to debug
      nvmet: use helper to remove the duplicate code
      nvmet: demote discovery cmd parse err msg to debug
      nvmet-rdma: Fix NULL deref when SEND is completed with error
      nvmet: fix inline bio check for passthru
      nvmet: fix inline bio check for bdev-ns
      nvme-multipath: fix double initialization of ANA state
      kyber: fix out of bounds access when preempted
      block: uapi: fix comment about block device ioctl
    torvalds committed May 15, 2021
    Copy the full SHA
    8f4ae0f View commit details
    Browse the repository at this point in the history
Older