1. 20 8月, 2021 1 次提交
  2. 19 8月, 2021 5 次提交
  3. 18 8月, 2021 2 次提交
  4. 17 8月, 2021 7 次提交
  5. 16 8月, 2021 11 次提交
    • P
      tracing: Apply trace filters on all output channels · 6c34df6f
      Pingfan Liu 提交于
      The event filters are not applied on all of the output, which results in
      the flood of printk when using tp_printk. Unfolding
      event_trigger_unlock_commit_regs() into trace_event_buffer_commit(), so
      the filters can be applied on every output.
      
      Link: https://lkml.kernel.org/r/20210814034538.8428-1-kernelfans@gmail.com
      
      Cc: stable@vger.kernel.org
      Fixes: 0daa2302 ("tracing: Add tp_printk cmdline to have tracepoints go to printk()")
      Signed-off-by: NPingfan Liu <kernelfans@gmail.com>
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      6c34df6f
    • M
      KVM: nSVM: always intercept VMLOAD/VMSAVE when nested (CVE-2021-3656) · c7dfa400
      Maxim Levitsky 提交于
      If L1 disables VMLOAD/VMSAVE intercepts, and doesn't enable
      Virtual VMLOAD/VMSAVE (currently not supported for the nested hypervisor),
      then VMLOAD/VMSAVE must operate on the L1 physical memory, which is only
      possible by making L0 intercept these instructions.
      
      Failure to do so allowed the nested guest to run VMLOAD/VMSAVE unintercepted,
      and thus read/write portions of the host physical memory.
      
      Fixes: 89c8a498 ("KVM: SVM: Enable Virtual VMLOAD VMSAVE feature")
      Suggested-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NMaxim Levitsky <mlevitsk@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      c7dfa400
    • M
      KVM: nSVM: avoid picking up unsupported bits from L2 in int_ctl (CVE-2021-3653) · 0f923e07
      Maxim Levitsky 提交于
      * Invert the mask of bits that we pick from L2 in
        nested_vmcb02_prepare_control
      
      * Invert and explicitly use VIRQ related bits bitmask in svm_clear_vintr
      
      This fixes a security issue that allowed a malicious L1 to run L2 with
      AVIC enabled, which allowed the L2 to exploit the uninitialized and enabled
      AVIC to read/write the host physical memory at some offsets.
      
      Fixes: 3d6368ef ("KVM: SVM: Add VMRUN handler")
      Signed-off-by: NMaxim Levitsky <mlevitsk@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      0f923e07
    • N
      btrfs: prevent rename2 from exchanging a subvol with a directory from different parents · 3f79f6f6
      NeilBrown 提交于
      Cross-rename lacks a check when that would prevent exchanging a
      directory and subvolume from different parent subvolume. This causes
      data inconsistencies and is caught before commit by tree-checker,
      turning the filesystem to read-only.
      
      Calling the renameat2 with RENAME_EXCHANGE flags like
      
        renameat2(AT_FDCWD, namesrc, AT_FDCWD, namedest, (1 << 1))
      
      on two paths:
      
        namesrc = dir1/subvol1/dir2
       namedest = subvol2/subvol3
      
      will cause key order problem with following write time tree-checker
      report:
      
        [1194842.307890] BTRFS critical (device loop1): corrupt leaf: root=5 block=27574272 slot=10 ino=258, invalid previous key objectid, have 257 expect 258
        [1194842.322221] BTRFS info (device loop1): leaf 27574272 gen 8 total ptrs 11 free space 15444 owner 5
        [1194842.331562] BTRFS info (device loop1): refs 2 lock_owner 0 current 26561
        [1194842.338772]        item 0 key (256 1 0) itemoff 16123 itemsize 160
        [1194842.338793]                inode generation 3 size 16 mode 40755
        [1194842.338801]        item 1 key (256 12 256) itemoff 16111 itemsize 12
        [1194842.338809]        item 2 key (256 84 2248503653) itemoff 16077 itemsize 34
        [1194842.338817]                dir oid 258 type 2
        [1194842.338823]        item 3 key (256 84 2363071922) itemoff 16043 itemsize 34
        [1194842.338830]                dir oid 257 type 2
        [1194842.338836]        item 4 key (256 96 2) itemoff 16009 itemsize 34
        [1194842.338843]        item 5 key (256 96 3) itemoff 15975 itemsize 34
        [1194842.338852]        item 6 key (257 1 0) itemoff 15815 itemsize 160
        [1194842.338863]                inode generation 6 size 8 mode 40755
        [1194842.338869]        item 7 key (257 12 256) itemoff 15801 itemsize 14
        [1194842.338876]        item 8 key (257 84 2505409169) itemoff 15767 itemsize 34
        [1194842.338883]                dir oid 256 type 2
        [1194842.338888]        item 9 key (257 96 2) itemoff 15733 itemsize 34
        [1194842.338895]        item 10 key (258 12 256) itemoff 15719 itemsize 14
        [1194842.339163] BTRFS error (device loop1): block=27574272 write time tree block corruption detected
        [1194842.339245] ------------[ cut here ]------------
        [1194842.443422] WARNING: CPU: 6 PID: 26561 at fs/btrfs/disk-io.c:449 csum_one_extent_buffer+0xed/0x100 [btrfs]
        [1194842.511863] CPU: 6 PID: 26561 Comm: kworker/u17:2 Not tainted 5.14.0-rc3-git+ #793
        [1194842.511870] Hardware name: empty empty/S3993, BIOS PAQEX0-3 02/24/2008
        [1194842.511876] Workqueue: btrfs-worker-high btrfs_work_helper [btrfs]
        [1194842.511976] RIP: 0010:csum_one_extent_buffer+0xed/0x100 [btrfs]
        [1194842.512068] RSP: 0018:ffffa2c284d77da0 EFLAGS: 00010282
        [1194842.512074] RAX: 0000000000000000 RBX: 0000000000001000 RCX: ffff928867bd9978
        [1194842.512078] RDX: 0000000000000000 RSI: 0000000000000027 RDI: ffff928867bd9970
        [1194842.512081] RBP: ffff92876b958000 R08: 0000000000000001 R09: 00000000000c0003
        [1194842.512085] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
        [1194842.512088] R13: ffff92875f989f98 R14: 0000000000000000 R15: 0000000000000000
        [1194842.512092] FS:  0000000000000000(0000) GS:ffff928867a00000(0000) knlGS:0000000000000000
        [1194842.512095] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        [1194842.512099] CR2: 000055f5384da1f0 CR3: 0000000102fe4000 CR4: 00000000000006e0
        [1194842.512103] Call Trace:
        [1194842.512128]  ? run_one_async_free+0x10/0x10 [btrfs]
        [1194842.631729]  btree_csum_one_bio+0x1ac/0x1d0 [btrfs]
        [1194842.631837]  run_one_async_start+0x18/0x30 [btrfs]
        [1194842.631938]  btrfs_work_helper+0xd5/0x1d0 [btrfs]
        [1194842.647482]  process_one_work+0x262/0x5e0
        [1194842.647520]  worker_thread+0x4c/0x320
        [1194842.655935]  ? process_one_work+0x5e0/0x5e0
        [1194842.655946]  kthread+0x135/0x160
        [1194842.655953]  ? set_kthread_struct+0x40/0x40
        [1194842.655965]  ret_from_fork+0x1f/0x30
        [1194842.672465] irq event stamp: 1729
        [1194842.672469] hardirqs last  enabled at (1735): [<ffffffffbd1104f5>] console_trylock_spinning+0x185/0x1a0
        [1194842.672477] hardirqs last disabled at (1740): [<ffffffffbd1104cc>] console_trylock_spinning+0x15c/0x1a0
        [1194842.672482] softirqs last  enabled at (1666): [<ffffffffbdc002e1>] __do_softirq+0x2e1/0x50a
        [1194842.672491] softirqs last disabled at (1651): [<ffffffffbd08aab7>] __irq_exit_rcu+0xa7/0xd0
      
      The corrupted data will not be written, and filesystem can be unmounted
      and mounted again (all changes since the last commit will be lost).
      
      Add the missing check for new_ino so that all non-subvolumes must reside
      under the same parent subvolume. There's an exception allowing to
      exchange two subvolumes from any parents as the directory representing a
      subvolume is only a logical link and does not have any other structures
      related to the parent subvolume, unlike files, directories etc, that
      are always in the inode namespace of the parent subvolume.
      
      Fixes: cdd1fedf ("btrfs: add support for RENAME_EXCHANGE and RENAME_WHITEOUT")
      CC: stable@vger.kernel.org # 4.7+
      Reviewed-by: NNikolay Borisov <nborisov@suse.com>
      Signed-off-by: NNeilBrown <neilb@suse.de>
      Reviewed-by: NDavid Sterba <dsterba@suse.com>
      Signed-off-by: NDavid Sterba <dsterba@suse.com>
      3f79f6f6
    • L
      Linux 5.14-rc6 · 7c60610d
      Linus Torvalds 提交于
      7c60610d
    • L
      Merge tag 'powerpc-5.14-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · ecf93431
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix crashes coming out of nap on 32-bit Book3s (eg. powerbooks).
      
       - Fix critical and debug interrupts on BookE, seen as crashes when
         using ptrace.
      
       - Fix an oops when running an SMP kernel on a UP system.
      
       - Update pseries LPAR security flavor after partition migration.
      
       - Fix an oops when using kprobes on BookE.
      
       - Fix oops on 32-bit pmac by not calling do_IRQ() from
         timer_interrupt().
      
       - Fix softlockups on CPU hotplug into a CPU-less node with xive (P9).
      
      Thanks to Cédric Le Goater, Christophe Leroy, Finn Thain, Geetika
      Moolchandani, Laurent Dufour, Laurent Vivier, Nicholas Piggin, Pu Lehui,
      Radu Rendec, Srikar Dronamraju, and Stan Johnson.
      
      * tag 'powerpc-5.14-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/xive: Do not skip CPU-less nodes when creating the IPIs
        powerpc/interrupt: Do not call single_step_exception() from other exceptions
        powerpc/interrupt: Fix OOPS by not calling do_IRQ() from timer_interrupt()
        powerpc/kprobes: Fix kprobe Oops happens in booke
        powerpc/pseries: Fix update of LPAR security flavor after LPM
        powerpc/smp: Fix OOPS in topology_init()
        powerpc/32: Fix critical and debug interrupts on BOOKE
        powerpc/32s: Fix napping restore in data storage interrupt (DSI)
      ecf93431
    • L
      Merge tag 'irq-urgent-2021-08-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c4f14eac
      Linus Torvalds 提交于
      Pull irq fixes from Thomas Gleixner:
       "A set of fixes for PCI/MSI and x86 interrupt startup:
      
         - Mask all MSI-X entries when enabling MSI-X otherwise stale unmasked
           entries stay around e.g. when a crashkernel is booted.
      
         - Enforce masking of a MSI-X table entry when updating it, which
           mandatory according to speification
      
         - Ensure that writes to MSI[-X} tables are flushed.
      
         - Prevent invalid bits being set in the MSI mask register
      
         - Properly serialize modifications to the mask cache and the mask
           register for multi-MSI.
      
         - Cure the violation of the affinity setting rules on X86 during
           interrupt startup which can cause lost and stale interrupts. Move
           the initial affinity setting ahead of actualy enabling the
           interrupt.
      
         - Ensure that MSI interrupts are completely torn down before freeing
           them in the error handling case.
      
         - Prevent an array out of bounds access in the irq timings code"
      
      * tag 'irq-urgent-2021-08-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        driver core: Add missing kernel doc for device::msi_lock
        genirq/msi: Ensure deactivation on teardown
        genirq/timings: Prevent potential array overflow in __irq_timings_store()
        x86/msi: Force affinity setup before startup
        x86/ioapic: Force affinity setup before startup
        genirq: Provide IRQCHIP_AFFINITY_PRE_STARTUP
        PCI/MSI: Protect msi_desc::masked for multi-MSI
        PCI/MSI: Use msi_mask_irq() in pci_msi_shutdown()
        PCI/MSI: Correct misleading comments
        PCI/MSI: Do not set invalid bits in MSI mask
        PCI/MSI: Enforce MSI[X] entry updates to be visible
        PCI/MSI: Enforce that MSI-X table entry is masked for update
        PCI/MSI: Mask all unused MSI-X entries
        PCI/MSI: Enable and mask MSI-X early
      c4f14eac
    • L
      Merge tag 'locking_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 839da253
      Linus Torvalds 提交于
      Pull locking fix from Borislav Petkov:
      
       - Fix a CONFIG symbol's spelling
      
      * tag 'locking_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/rtmutex: Use the correct rtmutex debugging config option
      839da253
    • L
      Merge tag 'efi_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 12aef8ac
      Linus Torvalds 提交于
      Pull EFI fixes from Borislav Petkov:
       "A batch of fixes for the arm64 stub image loader:
      
         - fix a logic bug that can make the random page allocator fail
           spuriously
      
         - force reallocation of the Image when it overlaps with firmware
           reserved memory regions
      
         - fix an oversight that defeated on optimization introduced earlier
           where images loaded at a suitable offset are never moved if booting
           without randomization
      
         - complain about images that were not loaded at the right offset by
           the firmware image loader"
      
      * tag 'efi_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/libstub: arm64: Double check image alignment at entry
        efi/libstub: arm64: Warn when efi_random_alloc() fails
        efi/libstub: arm64: Relax 2M alignment again for relocatable kernels
        efi/libstub: arm64: Force Image reallocation if BSS was not reserved
        arm64: efi: kaslr: Fix occasional random alloc (and boot) failure
      12aef8ac
    • L
      Merge tag 'x86_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b045b8cc
      Linus Torvalds 提交于
      Pull x86 fixes from Borislav Petkov:
       "Two fixes:
      
         - An objdump checker fix to ignore parenthesized strings in the
           objdump version
      
         - Fix resctrl default monitoring groups reporting when new subgroups
           get created"
      
      * tag 'x86_urgent_for_v5.14_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Fix default monitoring groups reporting
        x86/tools: Fix objdump version check again
      b045b8cc
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 3e763ec7
      Linus Torvalds 提交于
      Pull KVM fixes from Paolo Bonzini:
       "ARM:
      
         - Plug race between enabling MTE and creating vcpus
      
         - Fix off-by-one bug when checking whether an address range is RAM
      
        x86:
      
         - Fixes for the new MMU, especially a memory leak on hosts with <39
           physical address bits
      
         - Remove bogus EFER.NX checks on 32-bit non-PAE hosts
      
         - WAITPKG fix"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86/mmu: Protect marking SPs unsync when using TDP MMU with spinlock
        KVM: x86/mmu: Don't step down in the TDP iterator when zapping all SPTEs
        KVM: x86/mmu: Don't leak non-leaf SPTEs when zapping all SPTEs
        KVM: nVMX: Use vmx_need_pf_intercept() when deciding if L0 wants a #PF
        kvm: vmx: Sync all matching EPTPs when injecting nested EPT fault
        KVM: x86: remove dead initialization
        KVM: x86: Allow guest to set EFER.NX=1 on non-PAE 32-bit kernels
        KVM: VMX: Use current VMCS to query WAITPKG support for MSR emulation
        KVM: arm64: Fix race when enabling KVM_ARM_CAP_MTE
        KVM: arm64: Fix off-by-one in range_is_memory
      3e763ec7
  6. 15 8月, 2021 9 次提交
  7. 14 8月, 2021 5 次提交