1. 17 4月, 2020 4 次提交
    • L
      Merge tag 'selinux-pr-20200416' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 9786cab6
      Linus Torvalds 提交于
      Pull SELinux fix from Paul Moore:
       "One small SELinux fix to ensure we cleanup properly on an error
        condition"
      
      * tag 'selinux-pr-20200416' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: free str on error in str_read()
      9786cab6
    • L
      Merge tag 'ceph-for-5.7-rc2' of git://github.com/ceph/ceph-client · 3fa84bf9
      Linus Torvalds 提交于
      Pull ceph fixes from Ilya Dryomov:
      
       - a set of patches for a deadlock on "rbd map" error path
      
       - a fix for invalid pointer dereference and uninitialized variable use
         on asynchronous create and unlink error paths.
      
      * tag 'ceph-for-5.7-rc2' of git://github.com/ceph/ceph-client:
        ceph: fix potential bad pointer deref in async dirops cb's
        rbd: don't mess with a page vector in rbd_notify_op_lock()
        rbd: don't test rbd_dev->opts in rbd_dev_image_release()
        rbd: call rbd_dev_unprobe() after unwatching and flushing notifies
        rbd: avoid a deadlock on header_rwsem when flushing notifies
      3fa84bf9
    • L
      Merge tag 'trace-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 4ede1259
      Linus Torvalds 提交于
      Pull tracing fix from Steven Rostedt:
       "This fixes a small race between allocating a snapshot buffer and
        setting the snapshot trigger.
      
        On a slow machine, the trigger can occur before the snapshot is
        allocated causing a warning to be displayed in the ring buffer, and no
        snapshot triggering. Reversing the allocation and the enabling of the
        trigger fixes the problem"
      
      * tag 'trace-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation
      4ede1259
    • V
      keys: Fix proc_keys_next to increase position index · 86d32f9a
      Vasily Averin 提交于
      If seq_file .next function does not change position index,
      read after some lseek can generate unexpected output:
      
          $ dd if=/proc/keys bs=1  # full usual output
          0f6bfdf5 I--Q---     2 perm 3f010000  1000  1000 user      4af2f79ab8848d0a: 740
          1fb91b32 I--Q---     3 perm 1f3f0000  1000 65534 keyring   _uid.1000: 2
          27589480 I--Q---     1 perm 0b0b0000     0     0 user      invocation_id: 16
          2f33ab67 I--Q---   152 perm 3f030000     0     0 keyring   _ses: 2
          33f1d8fa I--Q---     4 perm 3f030000  1000  1000 keyring   _ses: 1
          3d427fda I--Q---     2 perm 3f010000  1000  1000 user      69ec44aec7678e5a: 740
          3ead4096 I--Q---     1 perm 1f3f0000  1000 65534 keyring   _uid_ses.1000: 1
          521+0 records in
          521+0 records out
          521 bytes copied, 0,00123769 s, 421 kB/s
      
      But a read after lseek in middle of last line results in the partial
      last line and then a repeat of the final line:
      
          $ dd if=/proc/keys bs=500 skip=1
          dd: /proc/keys: cannot skip to specified offset
          g   _uid_ses.1000: 1
          3ead4096 I--Q---     1 perm 1f3f0000  1000 65534 keyring   _uid_ses.1000: 1
          0+1 records in
          0+1 records out
          97 bytes copied, 0,000135035 s, 718 kB/s
      
      and a read after lseek beyond end of file results in the last line being
      shown:
      
          $ dd if=/proc/keys bs=1000 skip=1   # read after lseek beyond end of file
          dd: /proc/keys: cannot skip to specified offset
          3ead4096 I--Q---     1 perm 1f3f0000  1000 65534 keyring   _uid_ses.1000: 1
          0+1 records in
          0+1 records out
          76 bytes copied, 0,000119981 s, 633 kB/s
      
      See https://bugzilla.kernel.org/show_bug.cgi?id=206283
      
      Fixes: 1f4aace6 ("fs/seq_file.c: simplify seq_file iteration code ...")
      Signed-off-by: NVasily Averin <vvs@virtuozzo.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Reviewed-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      86d32f9a
  2. 16 4月, 2020 2 次提交
    • L
      Merge tag 'efi-urgent-2020-04-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 00086336
      Linus Torvalds 提交于
      Pull EFI fixes from Ingo Molnar:
       "Misc EFI fixes, including the boot failure regression caused by the
        BSS section not being cleared by the loaders"
      
      * tag 'efi-urgent-2020-04-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/x86: Revert struct layout change to fix kexec boot regression
        efi/x86: Don't remap text<->rodata gap read-only for mixed mode
        efi/x86: Fix the deletion of variables in mixed mode
        efi/libstub/file: Merge file name buffers to reduce stack usage
        Documentation/x86, efi/x86: Clarify EFI handover protocol and its requirements
        efi/arm: Deal with ADR going out of range in efi_enter_kernel()
        efi/x86: Always relocate the kernel for EFI handover entry
        efi/x86: Move efi stub globals from .bss to .data
        efi/libstub/x86: Remove redundant assignment to pointer hdr
        efi/cper: Use scnprintf() for avoiding potential buffer overflow
      00086336
    • O
      selinux: free str on error in str_read() · af15f14c
      Ondrej Mosnacek 提交于
      In [see "Fixes:"] I missed the fact that str_read() may give back an
      allocated pointer even if it returns an error, causing a potential
      memory leak in filename_trans_read_one(). Fix this by making the
      function free the allocated string whenever it returns a non-zero value,
      which also makes its behavior more obvious and prevents repeating the
      same mistake in the future.
      Reported-by: Ncoverity-bot <keescook+coverity-bot@chromium.org>
      Addresses-Coverity-ID: 1461665 ("Resource leaks")
      Fixes: c3a27611 ("selinux: optimize storage of filename transitions")
      Signed-off-by: NOndrej Mosnacek <omosnace@redhat.com>
      Reviewed-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NPaul Moore <paul@paul-moore.com>
      af15f14c
  3. 15 4月, 2020 4 次提交
    • X
      tracing: Fix the race between registering 'snapshot' event trigger and... · 0bbe7f71
      Xiao Yang 提交于
      tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation
      
      Traced event can trigger 'snapshot' operation(i.e. calls snapshot_trigger()
      or snapshot_count_trigger()) when register_snapshot_trigger() has completed
      registration but doesn't allocate buffer for 'snapshot' event trigger.  In
      the rare case, 'snapshot' operation always detects the lack of allocated
      buffer so make register_snapshot_trigger() allocate buffer first.
      
      trigger-snapshot.tc in kselftest reproduces the issue on slow vm:
      -----------------------------------------------------------
      cat trace
      ...
      ftracetest-3028  [002] ....   236.784290: sched_process_fork: comm=ftracetest pid=3028 child_comm=ftracetest child_pid=3036
           <...>-2875  [003] ....   240.460335: tracing_snapshot_instance_cond: *** SNAPSHOT NOT ALLOCATED ***
           <...>-2875  [003] ....   240.460338: tracing_snapshot_instance_cond: *** stopping trace here!   ***
      -----------------------------------------------------------
      
      Link: http://lkml.kernel.org/r/20200414015145.66236-1-yangx.jy@cn.fujitsu.com
      
      Cc: stable@vger.kernel.org
      Fixes: 93e31ffb ("tracing: Add 'snapshot' event trigger command")
      Signed-off-by: NXiao Yang <yangx.jy@cn.fujitsu.com>
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      0bbe7f71
    • L
      Merge tag 'hyperv-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux · 8632e9b5
      Linus Torvalds 提交于
      Pull hyperv fixes from Wei Liu:
      
       - a series from Tianyu Lan to fix crash reporting on Hyper-V
      
       - three miscellaneous cleanup patches
      
      * tag 'hyperv-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
        x86/Hyper-V: Report crash data in die() when panic_on_oops is set
        x86/Hyper-V: Report crash register data when sysctl_record_panic_msg is not set
        x86/Hyper-V: Report crash register data or kmsg before running crash kernel
        x86/Hyper-V: Trigger crash enlightenment only once during system crash.
        x86/Hyper-V: Free hv_panic_page when fail to register kmsg dump
        x86/Hyper-V: Unload vmbus channel in hv panic callback
        x86: hyperv: report value of misc_features
        hv_debugfs: Make hv_debug_root static
        hv: hyperv_vmbus.h: Replace zero-length array with flexible-array member
      8632e9b5
    • L
      Merge tag 'for-5.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 6cc9306b
      Linus Torvalds 提交于
      Pull btrfs fixes from David Sterba:
       "We have a few regressions and one fix for stable:
      
         - revert fsync optimization
      
         - fix lost i_size update
      
         - fix a space accounting leak
      
         - build fix, add back definition of a deprecated ioctl flag
      
         - fix search condition for old roots in relocation"
      
      * tag 'for-5.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: re-instantiate the removed BTRFS_SUBVOL_CREATE_ASYNC definition
        btrfs: fix reclaim counter leak of space_info objects
        btrfs: make full fsyncs always operate on the entire file again
        btrfs: fix lost i_size update after cloning inline extent
        btrfs: check commit root generation in should_ignore_root
      6cc9306b
    • L
      Merge tag 'afs-fixes-20200413' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs · f4cd6668
      Linus Torvalds 提交于
      Pull AFS fixes from David Howells:
      
       - Fix the decoding of fetched file status records so that the xdr
         pointer is advanced under all circumstances.
      
       - Fix the decoding of a fetched file status record that indicates an
         inline abort (ie. an error) so that it sets the flag saying the
         decoder stored the abort code.
      
       - Fix the decoding of the result of the rename operation so that it
         doesn't skip the decoding of the second fetched file status (ie. that
         of the dest dir) in the case that the source and dest dirs were the
         same as this causes the xdr pointer not to be advanced, leading to
         incorrect decoding of subsequent parts of the reply.
      
       - Fix the dump of a bad YFSFetchStatus record to dump the full length.
      
       - Fix a race between local editing of directory contents and accessing
         the dir for reading or d_revalidate by using the same lock in both.
      
       - Fix afs_d_revalidate() to not accidentally reverse the version on a
         dentry when it's meant to be bringing it forward.
      
      * tag 'afs-fixes-20200413' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        afs: Fix afs_d_validate() to set the right directory version
        afs: Fix race between post-modification dir edit and readdir/d_revalidate
        afs: Fix length of dump of bad YFSFetchStatus record
        afs: Fix rename operation status delivery
        afs: Fix decoding of inline abort codes from version 1 status records
        afs: Fix missing XDR advance in xdr_decode_{AFS,YFS}FSFetchStatus()
      f4cd6668
  4. 14 4月, 2020 12 次提交
  5. 13 4月, 2020 18 次提交
    • D
      afs: Fix afs_d_validate() to set the right directory version · 40fc8102
      David Howells 提交于
      If a dentry's version is somewhere between invalid_before and the current
      directory version, we should be setting it forward to the current version,
      not backwards to the invalid_before version.  Note that we're only doing
      this at all because dentry::d_fsdata isn't large enough on a 32-bit system.
      
      Fix this by using a separate variable for invalid_before so that we don't
      accidentally clobber the current dir version.
      
      Fixes: a4ff7401 ("afs: Keep track of invalid-before version for dentry coherency")
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      40fc8102
    • D
      afs: Fix race between post-modification dir edit and readdir/d_revalidate · 2105c282
      David Howells 提交于
      AFS directories are retained locally as a structured file, with lookup
      being effected by a local search of the file contents.  When a modification
      (such as mkdir) happens, the dir file content is modified locally rather
      than redownloading the directory.
      
      The directory contents are accessed in a number of ways, with a number of
      different locks schemes:
      
       (1) Download of contents - dvnode->validate_lock/write in afs_read_dir().
      
       (2) Lookup and readdir - dvnode->validate_lock/read in afs_dir_iterate(),
           downgrading from (1) if necessary.
      
       (3) d_revalidate of child dentry - dvnode->validate_lock/read in
           afs_do_lookup_one() downgrading from (1) if necessary.
      
       (4) Edit of dir after modification - page locks on individual dir pages.
      
      Unfortunately, because (4) uses different locking scheme to (1) - (3),
      nothing protects against the page being scanned whilst the edit is
      underway.  Even download is not safe as it doesn't lock the pages - relying
      instead on the validate_lock to serialise as a whole (the theory being that
      directory contents are treated as a block and always downloaded as a
      block).
      
      Fix this by write-locking dvnode->validate_lock around the edits.  Care
      must be taken in the rename case as there may be two different dirs - but
      they need not be locked at the same time.  In any case, once the lock is
      taken, the directory version must be rechecked, and the edit skipped if a
      later version has been downloaded by revalidation (there can't have been
      any local changes because the VFS holds the inode lock, but there can have
      been remote changes).
      
      Fixes: 63a4681f ("afs: Locally edit directory data for mkdir/create/unlink/...")
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      2105c282
    • D
      afs: Fix length of dump of bad YFSFetchStatus record · 3efe55b0
      David Howells 提交于
      Fix the length of the dump of a bad YFSFetchStatus record.  The function
      was copied from the AFS version, but the YFS variant contains bigger fields
      and extra information, so expand the dump to match.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      3efe55b0
    • D
      afs: Fix rename operation status delivery · b98f0ec9
      David Howells 提交于
      The afs_deliver_fs_rename() and yfs_deliver_fs_rename() functions both only
      decode the second file status returned unless the parent directories are
      different - unfortunately, this means that the xdr pointer isn't advanced
      and the volsync record will be read incorrectly in such an instance.
      
      Fix this by always decoding the second status into the second
      status/callback block which wasn't being used if the dirs were the same.
      
      The afs_update_dentry_version() calls that update the directory data
      version numbers on the dentries can then unconditionally use the second
      status record as this will always reflect the state of the destination dir
      (the two records will be identical if the destination dir is the same as
      the source dir)
      
      Fixes: 260a9803 ("[AFS]: Add "directory write" support.")
      Fixes: 30062bd1 ("afs: Implement YFS support in the fs client")
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      b98f0ec9
    • D
      afs: Fix decoding of inline abort codes from version 1 status records · 3e0d9892
      David Howells 提交于
      If we're decoding an AFSFetchStatus record and we see that the version is 1
      and the abort code is set and we're expecting inline errors, then we store
      the abort code and ignore the remaining status record (which is correct),
      but we don't set the flag to say we got a valid abort code.
      
      This can affect operation of YFS.RemoveFile2 when removing a file and the
      operation of {,Y}FS.InlineBulkStatus when prospectively constructing or
      updating of a set of inodes during a lookup.
      
      Fix this to indicate the reception of a valid abort code.
      
      Fixes: a38a7558 ("afs: Fix unlink to handle YFS.RemoveFile2 better")
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      3e0d9892
    • D
      afs: Fix missing XDR advance in xdr_decode_{AFS,YFS}FSFetchStatus() · c72057b5
      David Howells 提交于
      If we receive a status record that has VNOVNODE set in the abort field,
      xdr_decode_AFSFetchStatus() and xdr_decode_YFSFetchStatus() don't advance
      the XDR pointer, thereby corrupting anything subsequent decodes from the
      same block of data.
      
      This has the potential to affect AFS.InlineBulkStatus and
      YFS.InlineBulkStatus operation, but probably doesn't since the status
      records are extracted as individual blocks of data and the buffer pointer
      is reset between blocks.
      
      It does affect YFS.RemoveFile2 operation, corrupting the volsync record -
      though that is not currently used.
      
      Other operations abort the entire operation rather than returning an error
      inline, in which case there is no decoding to be done.
      
      Fix this by unconditionally advancing the xdr pointer.
      
      Fixes: 684b0f68 ("afs: Fix AFSFetchStatus decoder to provide OpenAFS compatibility")
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      c72057b5
    • I
      rbd: don't mess with a page vector in rbd_notify_op_lock() · 8ae0299a
      Ilya Dryomov 提交于
      rbd_notify_op_lock() isn't interested in a notify reply.  Instead of
      accepting that page vector just to free it, have watch-notify code take
      care of it.
      Signed-off-by: NIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: NJason Dillaman <dillaman@redhat.com>
      8ae0299a
    • I
      rbd: don't test rbd_dev->opts in rbd_dev_image_release() · b8776051
      Ilya Dryomov 提交于
      rbd_dev->opts is used to distinguish between the image that is being
      mapped and a parent.  However, because we no longer establish watch for
      read-only mappings, this test is imprecise and results in unnecessary
      rbd_unregister_watch() calls.
      
      Make it consistent with need_watch in rbd_dev_image_probe().
      
      Fixes: b9ef2b88 ("rbd: don't establish watch for read-only mappings")
      Signed-off-by: NIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: NJason Dillaman <dillaman@redhat.com>
      b8776051
    • I
      rbd: call rbd_dev_unprobe() after unwatching and flushing notifies · 952c48b0
      Ilya Dryomov 提交于
      rbd_dev_unprobe() is supposed to undo most of rbd_dev_image_probe(),
      including rbd_dev_header_info(), which means that rbd_dev_header_info()
      isn't supposed to be called after rbd_dev_unprobe().
      
      However, rbd_dev_image_release() calls rbd_dev_unprobe() before
      rbd_unregister_watch().  This is racy because a header update notify
      can sneak in:
      
        "rbd unmap" thread                   ceph-watch-notify worker
      
        rbd_dev_image_release()
          rbd_dev_unprobe()
            free and zero out header
                                             rbd_watch_cb()
                                               rbd_dev_refresh()
                                                 rbd_dev_header_info()
                                                   read in header
      
      The same goes for "rbd map" because rbd_dev_image_probe() calls
      rbd_dev_unprobe() on errors.  In both cases this results in a memory
      leak.
      
      Fixes: fd22aef8 ("rbd: move rbd_unregister_watch() call into rbd_dev_image_release()")
      Signed-off-by: NIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: NJason Dillaman <dillaman@redhat.com>
      952c48b0
    • I
      rbd: avoid a deadlock on header_rwsem when flushing notifies · 0e4e1de5
      Ilya Dryomov 提交于
      rbd_unregister_watch() flushes notifies and therefore cannot be called
      under header_rwsem because a header update notify takes header_rwsem to
      synchronize with "rbd map".  If mapping an image fails after the watch
      is established and a header update notify sneaks in, we deadlock when
      erroring out from rbd_dev_image_probe().
      
      Move watch registration and unregistration out of the critical section.
      The only reason they were put there was to make header_rwsem management
      slightly more obvious.
      
      Fixes: 811c6688 ("rbd: fix rbd map vs notify races")
      Signed-off-by: NIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: NJason Dillaman <dillaman@redhat.com>
      0e4e1de5
    • L
      Linux 5.7-rc1 · 8f3d9f35
      Linus Torvalds 提交于
      8f3d9f35
    • L
      MAINTAINERS: sort field names for all entries · 3b50142d
      Linus Torvalds 提交于
      This sorts the actual field names too, potentially causing even more
      chaos and confusion at merge time if you have edited the MAINTAINERS
      file.  But the end result is a more consistent layout, and hopefully
      it's a one-time pain minimized by doing this just before the -rc1
      release.
      
      This was entirely scripted:
      
        ./scripts/parse-maintainers.pl --input=MAINTAINERS --output=MAINTAINERS --order
      Requested-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3b50142d
    • L
      MAINTAINERS: sort entries by entry name · 4400b7d6
      Linus Torvalds 提交于
      They are all supposed to be sorted, but people who add new entries don't
      always know the alphabet.  Plus sometimes the entry names get edited,
      and people don't then re-order the entry.
      
      Let's see how painful this will be for merging purposes (the MAINTAINERS
      file is often edited in various different trees), but Joe claims there's
      relatively few patches in -next that touch this, and doing it just
      before -rc1 is likely the best time.  Fingers crossed.
      
      This was scripted with
      
        /scripts/parse-maintainers.pl --input=MAINTAINERS --output=MAINTAINERS
      
      but then I also ended up manually upper-casing a few entry names that
      stood out when looking at the end result.
      Requested-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4400b7d6
    • L
      Merge tag 'x86-urgent-2020-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4f8a3cc1
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner:
       "A set of three patches to fix the fallout of the newly added split
        lock detection feature.
      
        It addressed the case where a KVM guest triggers a split lock #AC and
        KVM reinjects it into the guest which is not prepared to handle it.
      
        Add proper sanity checks which prevent the unconditional injection
        into the guest and handles the #AC on the host side in the same way as
        user space detections are handled. Depending on the detection mode it
        either warns and disables detection for the task or kills the task if
        the mode is set to fatal"
      
      * tag 'x86-urgent-2020-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        KVM: VMX: Extend VMXs #AC interceptor to handle split lock #AC in guest
        KVM: x86: Emulate split-lock access as a write in emulator
        x86/split_lock: Provide handle_guest_split_lock()
      4f8a3cc1
    • L
      Merge tag 'timers-urgent-2020-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0785249f
      Linus Torvalds 提交于
      Pull time(keeping) updates from Thomas Gleixner:
      
       - Fix the time_for_children symlink in /proc/$PID/ so it properly
         reflects that it part of the 'time' namespace
      
       - Add the missing userns limit for the allowed number of time
         namespaces, which was half defined but the actual array member was
         not added. This went unnoticed as the array has an exessive empty
         member at the end but introduced a user visible regression as the
         output was corrupted.
      
       - Prevent further silent ucount corruption by adding a BUILD_BUG_ON()
         to catch half updated data.
      
      * tag 'timers-urgent-2020-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        ucount: Make sure ucounts in /proc/sys/user don't regress again
        time/namespace: Add max_time_namespaces ucount
        time/namespace: Fix time_for_children symlink
      0785249f
    • L
      Merge tag 'sched-urgent-2020-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 590680d1
      Linus Torvalds 提交于
      Pull scheduler fixes/updates from Thomas Gleixner:
      
       - Deduplicate the average computations in the scheduler core and the
         fair class code.
      
       - Fix a raise between runtime distribution and assignement which can
         cause exceeding the quota by up to 70%.
      
       - Prevent negative results in the imbalanace calculation
      
       - Remove a stale warning in the workqueue code which can be triggered
         since the call site was moved out of preempt disabled code. It's a
         false positive.
      
       - Deduplicate the print macros for procfs
      
       - Add the ucmap values to the SCHED_DEBUG procfs output for completness
      
      * tag 'sched-urgent-2020-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/debug: Add task uclamp values to SCHED_DEBUG procfs
        sched/debug: Factor out printing formats into common macros
        sched/debug: Remove redundant macro define
        sched/core: Remove unused rq::last_load_update_tick
        workqueue: Remove the warning in wq_worker_sleeping()
        sched/fair: Fix negative imbalance in imbalance calculation
        sched/fair: Fix race between runtime distribution and assignment
        sched/fair: Align rq->avg_idle and rq->avg_scan_cost
      590680d1
    • L
      Merge tag 'perf-urgent-2020-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 20e2aa81
      Linus Torvalds 提交于
      Pull perf fixes from Thomas Gleixner:
       "Three fixes/updates for perf:
      
         - Fix the perf event cgroup tracking which tries to track the cgroup
           even for disabled events.
      
         - Add Ice Lake server support for uncore events
      
         - Disable pagefaults when retrieving the physical address in the
           sampling code"
      
      * tag 'perf-urgent-2020-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Disable page faults when getting phys address
        perf/x86/intel/uncore: Add Ice Lake server uncore support
        perf/cgroup: Correct indirection in perf_less_group_idx()
        perf/core: Fix event cgroup tracking
      20e2aa81
    • L
      Merge tag 'locking-urgent-2020-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 652fa53c
      Linus Torvalds 提交于
      Pull locking fixes from Thomas Gleixner:
       "Three small fixes/updates for the locking core code:
      
         - Plug a task struct reference leak in the percpu rswem
           implementation.
      
         - Document the refcount interaction with PID_MAX_LIMIT
      
         - Improve the 'invalid wait context' data dump in lockdep so it
           contains all information which is required to decode the problem"
      
      * tag 'locking-urgent-2020-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/lockdep: Improve 'invalid wait context' splat
        locking/refcount: Document interaction with PID_MAX_LIMIT
        locking/percpu-rwsem: Fix a task_struct refcount
      652fa53c