1. Nov 01, 2021
    • Sven Schnelle's avatar
      parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling · 66e29fcd
      Sven Schnelle authored
      
      
      With idle polling, IPIs are not sent when a CPU idle, but queued
      and run later from do_idle(). The default kgdb_call_nmi_hook()
      implementation gets the pointer to struct pt_regs from get_irq_reqs(),
      which doesn't work in that case because it was not called from the
      IPI interrupt handler. Fix it by defining our own kgdb_roundup()
      function which sents an IPI_ENTER_KGDB. When that IPI is received
      on the target CPU kgdb_nmicallback() is called.
      
      Signed-off-by: default avatarSven Schnelle <svens@stackframe.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      66e29fcd
    • Helge Deller's avatar
      parisc: Move thread_info into task struct · 2214c0e7
      Helge Deller authored
      
      
      This implements the CONFIG_THREAD_INFO_IN_TASK option.
      
      With this change:
      - before thread_info was part of the stack and located at the beginning of the stack
      - now the thread_info struct is moved and located inside the task_struct structure
      - the stack is allocated and handled like the major other platforms
      - drop the cpu field of thread_info and use instead the one in task_struct
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Signed-off-by: default avatarSven Schnelle <svens@stackframe.org>
      2214c0e7
    • Sven Schnelle's avatar
      parisc: add support for TOC (transfer of control) · bc294838
      Sven Schnelle authored
      
      
      Almost all PA-RISC machines have either a button that
      is labeled with 'TOC' or a BMC function to trigger a TOC.
      TOC is a non-maskable interrupt that is sent to the processor.
      This can be used for diagnostic purposes like obtaining a
      stack trace/register dump or to enter KDB/KGDB.
      
      As an example, on my c8000, TOC can be used with:
      
      CONFIG_KGDB=y
      CONFIG_KGDB_KDB=y
      
      and the 'kgdboc=ttyS0,115200' appended to the command line.
      
      Press ^[( on serial console, which will enter the BMC command line,
      and enter 'TOC s':
      
      root@(none):/# (
      cli>TOC s
      Sending TOC/INIT.
      <Cpu3> 2800035d03e00000  0000000040c21ac8  CC_ERR_CHECK_TOC
      <Cpu0> 2800035d00e00000  0000000040c21ad0  CC_ERR_CHECK_TOC
      <Cpu2> 2800035d02e00000  0000000040c21ac8  CC_ERR_CHECK_TOC
      <Cpu1> 2800035d01e00000  0000000040c21ad0  CC_ERR_CHECK_TOC
      <Cpu3> 37000f7303e00000  2000000000000000  CC_ERR_CPU_CHECK_SUMMARY
      <Cpu0> 37000f7300e00000  2000000000000000  CC_ERR_CPU_CHECK_SUMMARY
      <Cpu2> 37000f7302e00000  2000000000000000  CC_ERR_CPU_CHECK_SUMMARY
      <Cpu1> 37000f7301e00000  2000000000000000  CC_ERR_CPU_CHECK_SUMMARY
      <Cpu3> 4300100803e00000  c0000000001d26cc  CC_MC_BR_TO_OS_TOC
      <Cpu0> 4300100800e00000  c0000000001d26cc  CC_MC_BR_TO_OS_TOC
      <Cpu2> 4300100802e00000  c0000000001d26cc  CC_MC_BR_TO_OS_TOC
      <Cpu1> 4300100801e00000  c0000000001d26cc  CC_MC_BR_TO_OS_TOC
      
      Entering kdb (current=0x00000000411cef80, pid 0) on processor 0 due to NonMaskable Interrupt @ 0x40c21ad0
      [0]kdb>
      
      Signed-off-by: default avatarSven Schnelle <svens@stackframe.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      bc294838
    • Sven Schnelle's avatar
      parisc/firmware: add functions to retrieve TOC data · ecac7036
      Sven Schnelle authored
      
      
      Add functions to retrieve TOC data from firmware both
      for 1.1 and 2.0 PDC.
      
      Signed-off-by: default avatarSven Schnelle <svens@stackframe.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      ecac7036
    • Sven Schnelle's avatar
      parisc: add PIM TOC data structures · d9e20336
      Sven Schnelle authored
      
      
      These data structures describe the TOC data we get from firmware
      when issuing a PDC_PIM_TOC request.
      
      Signed-off-by: default avatarSven Schnelle <svens@stackframe.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      d9e20336
    • Sven Schnelle's avatar
      parisc: move virt_map macro to assembly.h · b5f73da5
      Sven Schnelle authored
      
      
      This macro will also be used by the TOC code, so move it
      into asm/assembly.h to avoid duplication.
      
      Signed-off-by: default avatarSven Schnelle <svens@stackframe.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      b5f73da5
    • Sven Schnelle's avatar
      parisc/unwind: fix unwinder when CONFIG_64BIT is enabled · 8e0ba125
      Sven Schnelle authored
      
      
      With 64 bit kernels unwind_special() is not working because
      it compares the pc to the address of the function descriptor.
      Add a helper function that compares pc with the dereferenced
      address. This fixes all of the backtraces on my c8000. Without
      this changes, a lot of backtraces are missing in kdb or the
      show-all-tasks command from /proc/sysrq-trigger.
      
      Signed-off-by: default avatarSven Schnelle <svens@stackframe.org>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      8e0ba125
    • Helge Deller's avatar
      parisc: Fix ptrace check on syscall return · 8779e05b
      Helge Deller authored
      
      
      The TIF_XXX flags are stored in the flags field in the thread_info
      struct (TI_FLAGS), not in the flags field of the task_struct structure
      (TASK_FLAGS).
      
      It seems this bug didn't generate any important side-effects, otherwise it
      wouldn't have went unnoticed for 12 years (since v2.6.32).
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Fixes: ecd3d4bc ("parisc: stop using task->ptrace for {single,block}step flags")
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: stable@vger.kernel.org
      8779e05b
  2. Oct 31, 2021
  3. Oct 30, 2021
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.15-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 119c8505
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "Three commits fixing some issues introduced with the recent IOMMU
        changes we merged.
      
        Thanks to Alexey Kardashevskiy"
      
      * tag 'powerpc-5.15-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/pseries/iommu: Create huge DMA window if no MMIO32 is present
        powerpc/pseries/iommu: Check if the default window in use before removing it
        powerpc/pseries/iommu: Use correct vfree for it_map
      119c8505
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · db2398a5
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - fix the return value check when parsing the ngpios property in
         gpio-xgs-iproc
      
       - check the return value of bgpio_init() in gpio-mlxbf2
      
      * tag 'gpio-fixes-for-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: mlxbf2.c: Add check for bgpio_init failure
        gpio: xgs-iproc: fix parsing of ngpios property
      db2398a5
    • Linus Torvalds's avatar
      Merge tag 'block-5.15-2021-10-29' of git://git.kernel.dk/linux-block · a379fbbc
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request:
            - fix nvmet-tcp header digest verification (Amit Engel)
            - fix a memory leak in nvmet-tcp when releasing a queue (Maurizio
              Lombardi)
            - fix nvme-tcp H2CData PDU send accounting again (Sagi Grimberg)
            - fix digest pointer calculation in nvme-tcp and nvmet-tcp (Varun
              Prakash)
            - fix possible nvme-tcp req->offset corruption (Varun Prakash)
      
       - Queue drain ordering fix (Ming)
      
       - Partition check regression for zoned devices (Shin'ichiro)
      
       - Zone queue restart fix (Naohiro)
      
      * tag 'block-5.15-2021-10-29' of git://git.kernel.dk/linux-block:
        block: Fix partition check for host-aware zoned block devices
        nvmet-tcp: fix header digest verification
        nvmet-tcp: fix data digest pointer calculation
        nvme-tcp: fix data digest pointer calculation
        nvme-tcp: fix possible req->offset corruption
        block: schedule queue restart after BLK_STS_ZONE_RESOURCE
        block: drain queue after disk is removed from sysfs
        nvme-tcp: fix H2CData PDU send accounting (again)
        nvmet-tcp: fix a memory leak when releasing a queue
      a379fbbc
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 17d50f89
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
      
       - tmio: Re-enable card irqs after a reset
      
       - mtk-sd: Fixup probing of cqhci for crypto
      
       - cqhci: Fix support for suspend/resume
      
       - vub300: Fix control-message timeouts
      
       - dw_mmc-exynos: Fix support for tuning
      
       - winbond: Silences build errors on M68K
      
       - sdhci-esdhc-imx: Fix support for tuning
      
       - sdhci-pci: Read card detect from ACPI for Intel Merrifield
      
       - sdhci: Fix eMMC support for Thundercomm TurboX CM2290
      
      * tag 'mmc-v5.15-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: tmio: reenable card irqs after the reset callback
        mmc: mediatek: Move cqhci init behind ungate clock
        mmc: cqhci: clear HALT state after CQE enable
        mmc: vub300: fix control-message timeouts
        mmc: dw_mmc: exynos: fix the finding clock sample value
        mmc: winbond: don't build on M68K
        mmc: sdhci-esdhc-imx: clear the buffer_read_ready to reset standard tuning circuit
        mmc: sdhci-pci: Read card detect from ACPI for Intel Merrifield
        mmc: sdhci: Map more voltage level to SDHCI_POWER_330
      17d50f89
    • Linus Torvalds's avatar
      Merge tag 'for-5.15-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · fd919bbd
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "Last minute fixes for crash on 32bit architectures when compression is
        in use. It's a regression introduced in 5.15-rc and I'd really like
        not let this into the final release, fixes via stable trees would add
        unnecessary delay.
      
        The problem is on 32bit architectures with highmem enabled, the pages
        for compression may need to be kmapped, while the patches removed that
        as we don't use GFP_HIGHMEM allocations anymore. The pages that don't
        come from local allocation still may be from highmem. Despite being on
        32bit there's enough such ARM machines in use so it's not a marginal
        issue.
      
        I did full reverts of the patches one by one instead of a huge one.
        There's one exception for the "lzo" revert as there was an
        intermediate patch touching the same code to make it compatible with
        subpage. I can't revert that one too, so the revert in lzo.c is
        manual. Qu Wenruo has worked on that with me and verified the changes"
      
      * tag 'for-5.15-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        Revert "btrfs: compression: drop kmap/kunmap from lzo"
        Revert "btrfs: compression: drop kmap/kunmap from zlib"
        Revert "btrfs: compression: drop kmap/kunmap from zstd"
        Revert "btrfs: compression: drop kmap/kunmap from generic helpers"
      fd919bbd
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.15-rc6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 6f115212
      Linus Torvalds authored
      Pull tracing comment fixes from Steven Rostedt:
      
       - Some bots have informed me that some of the ftrace functions
         kernel-doc has formatting issues.
      
       - Also, fix my snake instinct.
      
      * tag 'trace-v5.15-rc6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix misspelling of "missing"
        ftrace: Fix kernel-doc formatting issues
      6f115212
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 75c7a6c1
      Linus Torvalds authored
      Pull crypto fix from Herbert Xu:
       "Fix a build-time warning in x86/sm4"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: x86/sm4 - Fix invalid section entry size
      75c7a6c1
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 2c04d67e
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "11 patches.
      
        Subsystems affected by this patch series: mm (memcg, memory-failure,
        oom-kill, secretmem, vmalloc, hugetlb, damon, and tools), and ocfs2"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        tools/testing/selftests/vm/split_huge_page_test.c: fix application of sizeof to pointer
        mm/damon/core-test: fix wrong expectations for 'damon_split_regions_of()'
        mm: khugepaged: skip huge page collapse for special files
        mm, thp: bail out early in collapse_file for writeback page
        mm/vmalloc: fix numa spreading for large hash tables
        mm/secretmem: avoid letting secretmem_users drop to zero
        ocfs2: fix race between searching chunks and release journal_head from buffer_head
        mm/oom_kill.c: prevent a race between process_mrelease and exit_mmap
        mm: filemap: check if THP has hwpoisoned subpage for PMD page fault
        mm: hwpoison: remove the unnecessary THP check
        memcg: page_alloc: skip bulk allocator for __GFP_ACCOUNT
      2c04d67e
  4. Oct 29, 2021