1. 26 May, 2021 1 commit
  2. 25 May, 2021 1 commit
    • Madhavan T. Venkataraman's avatar
      arm64: Implement stack trace termination record · 7d7b720a
      Madhavan T. Venkataraman authored
      Reliable stacktracing requires that we identify when a stacktrace is
      terminated early. We can do this by ensuring all tasks have a final
      frame record at a known location on their task stack, and checking
      that this is the final frame record in the chain.
      
      We'd like to use task_pt_regs(task)->stackframe as the final frame
      record, as this is already setup upon exception entry from EL0. For
      kernel tasks we need to consistently reserve the pt_regs and point x29
      at this, which we can do with small changes to __primary_switched,
      __secondary_switched, and copy_process().
      
      Since the final frame record must be at a specific location, we must
      create the final frame record in __primary_switched and
      __secondary_switched rather than leaving this to start_kernel and
      secondary_start_kernel. Thus, __primary_switched and
      __secondary_switched will now show up in stacktraces for the idle tasks.
      
      Since the final frame record is now identified by its location rather
      than by its contents, we identify it at the start of unwind_frame(),
      before we read any values from it.
      
      External debuggers may terminate the stack trace when FP == 0. In the
      pt_regs->stackframe, the PC is 0 as well. So, stack traces taken in the
      debugger may print an extra record 0x0 at the end. While this is not
      pretty, this does not do any harm. This is a small price to pay for
      having reliable stack trace termination in the kernel. That said, gdb
      does not show the extra record probably because it uses DWARF and not
      frame pointers for stack traces.
      Signed-off-by: default avatarMadhavan T. Venkataraman <madvenka@linux.microsoft.com>
      Reviewed-by: default avatarMark Brown <broonie@kernel.org>
      [Mark: rebase, use ASM_BUG(), update comments, update commit message]
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20210510110026.18061-1-mark.rutland@arm.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      7d7b720a
  3. 23 May, 2021 18 commits
  4. 22 May, 2021 4 commits
    • Linus Torvalds's avatar
      Merge tag 'block-5.13-2021-05-22' of git://git.kernel.dk/linux-block · 4ff2473b
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Fix BLKRRPART and deletion race (Gulam, Christoph)
      
       - NVMe pull request (Christoph):
            - nvme-tcp corruption and timeout fixes (Sagi Grimberg, Keith
              Busch)
            - nvme-fc teardown fix (James Smart)
            - nvmet/nvme-loop memory leak fixes (Wu Bo)"
      
      * tag 'block-5.13-2021-05-22' of git://git.kernel.dk/linux-block:
        block: fix a race between del_gendisk and BLKRRPART
        block: prevent block device lookups at the beginning of del_gendisk
        nvme-fc: clear q_live at beginning of association teardown
        nvme-tcp: rerun io_work if req_list is not empty
        nvme-tcp: fix possible use-after-completion
        nvme-loop: fix memory leak in nvme_loop_create_ctrl()
        nvmet: fix memory leak in nvmet_alloc_ctrl()
      4ff2473b
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.13-2021-05-22' of git://git.kernel.dk/linux-block · b9231dfb
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "One fix for a regression with poll in this merge window, and another
        just hardens the io-wq exit path a bit"
      
      * tag 'io_uring-5.13-2021-05-22' of git://git.kernel.dk/linux-block:
        io_uring: fortify tctx/io_wq cleanup
        io_uring: don't modify req->poll for rw
      b9231dfb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.13b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 23d72926
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
      
       - a fix for a boot regression when running as PV guest on hardware
         without NX support
      
       - a small series fixing a bug in the Xen pciback driver when
         configuring a PCI card with multiple virtual functions
      
      * tag 'for-linus-5.13b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen-pciback: reconfigure also from backend watch handler
        xen-pciback: redo VF placement in the virtual topology
        x86/Xen: swap NX determination and GDT setup on BSP
      23d72926
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.13-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · a3969ef4
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
      
       - Fix some math errors in the realtime allocator when extent size hints
         are applied.
      
       - Fix unnecessary short writes to realtime files when free space is
         fragmented.
      
       - Fix a crash when using scrub tracepoints.
      
       - Restore ioctl uapi definitions that were accidentally removed in
         5.13-rc1.
      
      * tag 'xfs-5.13-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: restore old ioctl definitions
        xfs: fix deadlock retry tracepoint arguments
        xfs: retry allocations when locality-based search fails
        xfs: adjust rt allocation minlen when extszhint > rtextsize
      a3969ef4
  5. 21 May, 2021 16 commits