1. 10 Jul, 2020 16 commits
    • Linus Torvalds's avatar
      Merge tag 'cleanup-kernel_read_write' of git://git.infradead.org/users/hch/misc · b1b11d00
      Linus Torvalds authored
      Pull in-kernel read and write op cleanups from Christoph Hellwig:
       "Cleanup in-kernel read and write operations
      
        Reshuffle the (__)kernel_read and (__)kernel_write helpers, and ensure
        all users of in-kernel file I/O use them if they don't use iov_iter
        based methods already.
      
        The new WARN_ONs in combination with syzcaller already found a missing
        input validation in 9p. The fix should be on your way through the
        maintainer ASAP".
      
      [ This is prep-work for the real changes coming 5.9 ]
      
      * tag 'cleanup-kernel_read_write' of git://git.infradead.org/users/hch/misc:
        fs: remove __vfs_read
        fs: implement kernel_read using __kernel_read
        integrity/ima: switch to using __kernel_read
        fs: add a __kernel_read helper
        fs: remove __vfs_write
        fs: implement kernel_write using __kernel_write
        fs: check FMODE_WRITE in __kernel_write
        fs: unexport __kernel_write
        bpfilter: switch to kernel_write
        autofs: switch to kernel_write
        cachefiles: switch to kernel_write
      b1b11d00
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.8-5' of git://git.infradead.org/users/hch/dma-mapping · 1bfde037
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
      
       - add a warning when the atomic pool is depleted (David Rientjes)
      
       - protect the parameters of the new scatterlist helper macros (Marek
         Szyprowski )
      
      * tag 'dma-mapping-5.8-5' of git://git.infradead.org/users/hch/dma-mapping:
        scatterlist: protect parameters of the sg_table related macros
        dma-mapping: warn when coherent pool is depleted
      1bfde037
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 25aadbd2
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
      
       - Fix an issue in the AMD driver for the UART0 group
      
       - Fix a glitch issue in the Baytrail pin controller
      
      * tag 'pinctrl-v5.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: baytrail: Fix pin being driven low for a while on gpiod_get(..., GPIOD_OUT_HIGH)
        pinctrl: amd: fix npins for uart0 in kerncz_groups
      25aadbd2
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 3f883432
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
       "Some GPIO fixes, most of them for the PCA953x that Andy worked hard to
        fix up.
      
         - Fix two runtime PM errorpath problems in the Arizona GPIO driver.
      
         - Fix three interrupt issues in the PCA953x driver.
      
         - Fix the automatic address increment handling in the PCA953x driver
           again.
      
         - Add a quirk to the PCA953x that fixes a problem in the Intel
           Galileo Gen 2"
      
      * tag 'gpio-v5.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: pca953x: Fix GPIO resource leak on Intel Galileo Gen 2
        gpio: pca953x: disable regmap locking for automatic address incrementing
        gpio: pca953x: Fix direction setting when configure an IRQ
        gpio: pca953x: Override IRQ for one of the expanders on Galileo Gen 2
        gpio: pca953x: Synchronize interrupt handler properly
        gpio: arizona: put pm_runtime in case of failure
        gpio: arizona: handle pm_runtime_get_sync failure case
      3f883432
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v5.8-rc4.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · d02b0478
      Linus Torvalds authored
      Pull gfs2 fixes from Andreas Gruenbacher:
       "Fix gfs2 readahead deadlocks by adding a IOCB_NOIO flag that allows
        gfs2 to use the generic fiel read iterator functions without having to
        worry about being called back while holding locks".
      
      * tag 'gfs2-v5.8-rc4.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Rework read and page fault locking
        fs: Add IOCB_NOIO flag for generic_file_read_iter
      d02b0478
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · f4c8824c
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "An unfortunately large collection of arm64 fixes for -rc5.
      
        Some of this is absolutely trivial, but the alternatives, vDSO and CPU
        errata workaround fixes are significant. At least people are finding
        and fixing these things, I suppose.
      
         - Fix workaround for CPU erratum #1418040 to disable the compat vDSO
      
         - Fix Oops when single-stepping with KGDB
      
         - Fix memory attributes for hypervisor device mappings at EL2
      
         - Fix memory leak in PSCI and remove useless variable assignment
      
         - Fix up some comments and asm labels in our entry code
      
         - Fix broken register table formatting in our generated html docs
      
         - Fix missing NULL sentinel in CPU errata workaround list
      
         - Fix patching of branches in alternative instruction sections"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64/alternatives: don't patch up internal branches
        arm64: Add missing sentinel to erratum_1463225
        arm64: Documentation: Fix broken table in generated HTML
        arm64: kgdb: Fix single-step exception handling oops
        arm64: entry: Tidy up block comments and label numbers
        arm64: Rework ARM_ERRATUM_1414080 handling
        arm64: arch_timer: Disable the compat vdso for cores affected by ARM64_WORKAROUND_1418040
        arm64: arch_timer: Allow an workaround descriptor to disable compat vdso
        arm64: Introduce a way to disable the 32bit vdso
        arm64: entry: Fix the typo in the comment of el1_dbg()
        drivers/firmware/psci: Assign @err directly in hotplug_tests()
        drivers/firmware/psci: Fix memory leakage in alloc_init_cpu_groups()
        KVM: arm64: Fix definition of PAGE_HYP_DEVICE
      f4c8824c
    • Linus Torvalds's avatar
      Merge tag 's390-5.8-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · e8749d06
      Linus Torvalds authored
      Pull s390 fixes from Heiko Carstens:
       "This is mainly due to the fact that Gerald Schaefer's and also my old
        email addresses currently do not work any longer. Therefore we decided
        to switch to new email addresses and reflect that in the MAINTAINERS
        file.
      
         - Update email addresses in MAINTAINERS file and add .mailmap entries
           for Gerald Schaefer and Heiko Carstens.
      
         - Fix huge pte soft dirty copying"
      
      * tag 's390-5.8-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        MAINTAINERS: update email address for Gerald Schaefer
        MAINTAINERS: update email address for Heiko Carstens
        s390/mm: fix huge pte soft dirty copying
      e8749d06
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · cb24c61b
      Linus Torvalds authored
      Pull vkm fixes from Paolo Bonzini:
       "Two simple but important bugfixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: MIPS: Fix build errors for 32bit kernel
        KVM: nVMX: fixes for preemption timer migration
      cb24c61b
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · d45f47a4
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
      
       - Override DLL_CONFIG only with valid values in sdhci-msm
      
       - Get rid of of_match_ptr() macro to fix warning in owl-mmc
      
       - Limit segments to 1 to fix meson-gx G12A/G12B SoCs
      
      * tag 'mmc-v5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sdhci-msm: Override DLL_CONFIG only if the valid value is supplied
        mmc: owl-mmc: Get rid of of_match_ptr() macro
        mmc: meson-gx: limit segments to 1 when dram-access-quirk is needed
      d45f47a4
    • Gerald Schaefer's avatar
    • Heiko Carstens's avatar
      2c08f65f
    • Huacai Chen's avatar
      KVM: MIPS: Fix build errors for 32bit kernel · 3d9fdc25
      Huacai Chen authored
      Commit dc6d95b1 ("KVM: MIPS: Add more MMIO load/store
      instructions emulation") introduced some 64bit load/store instructions
      emulation which are unavailable on 32bit platform, and it causes build
      errors:
      
      arch/mips/kvm/emulate.c: In function 'kvm_mips_emulate_store':
      arch/mips/kvm/emulate.c:1734:6: error: right shift count >= width of type [-Werror]
            ((vcpu->arch.gprs[rt] >> 56) & 0xff);
            ^
      arch/mips/kvm/emulate.c:1738:6: error: right shift count >= width of type [-Werror]
            ((vcpu->arch.gprs[rt] >> 48) & 0xffff);
            ^
      arch/mips/kvm/emulate.c:1742:6: error: right shift count >= width of type [-Werror]
            ((vcpu->arch.gprs[rt] >> 40) & 0xffffff);
            ^
      arch/mips/kvm/emulate.c:1746:6: error: right shift count >= width of type [-Werror]
            ((vcpu->arch.gprs[rt] >> 32) & 0xffffffff);
            ^
      arch/mips/kvm/emulate.c:1796:6: error: left shift count >= width of type [-Werror]
            (vcpu->arch.gprs[rt] << 32);
            ^
      arch/mips/kvm/emulate.c:1800:6: error: left shift count >= width of type [-Werror]
            (vcpu->arch.gprs[rt] << 40);
            ^
      arch/mips/kvm/emulate.c:1804:6: error: left shift count >= width of type [-Werror]
            (vcpu->arch.gprs[rt] << 48);
            ^
      arch/mips/kvm/emulate.c:1808:6: error: left shift count >= width of type [-Werror]
            (vcpu->arch.gprs[rt] << 56);
            ^
      cc1: all warnings being treated as errors
      make[3]: *** [arch/mips/kvm/emulate.o] Error 1
      
      So, use #if defined(CONFIG_64BIT) && defined(CONFIG_KVM_MIPS_VZ) to
      guard the 64bit load/store instructions emulation.
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Fixes: dc6d95b1 ("KVM: MIPS: Add more MMIO load/store instructions emulation")
      Signed-off-by: default avatarHuacai Chen <chenhc@lemote.com>
      Message-Id: <1594365797-536-1-git-send-email-chenhc@lemote.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      3d9fdc25
    • Paolo Bonzini's avatar
      KVM: nVMX: fixes for preemption timer migration · 83d31e52
      Paolo Bonzini authored
      Commit 850448f3 ("KVM: nVMX: Fix VMX preemption timer migration",
      2020-06-01) accidentally broke nVMX live migration from older version
      by changing the userspace ABI.  Restore it and, while at it, ensure
      that vmx->nested.has_preemption_timer_deadline is always initialized
      according to the KVM_STATE_VMX_PREEMPTION_TIMER_DEADLINE flag.
      
      Cc: Makarand Sonare <makarandsonare@google.com>
      Fixes: 850448f3 ("KVM: nVMX: Fix VMX preemption timer migration")
      Reviewed-by: default avatarJim Mattson <jmattson@google.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      83d31e52
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2020-07-10' of git://anongit.freedesktop.org/drm/drm · 42f82040
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "I've been off most of the week, but some fixes have piled up. Seems a
        bit busier than last week, but they are pretty spread out across a
        bunch of drivers, none of them seem that big or worried me too much.
      
        amdgpu:
         - Fix a suspend/resume issue with PSP
         - Backlight fix for Renoir
         - Fix for gpu recovery debugging
      
        radeon:
         - Fix a double free in error path
      
        i915:
         - fbc fencing fix
         - debugfs panic fix
         - gem vma constuction fix
         - gem pin under vm->nutex fix
      
        nouveau:
         - SVM fixes
         - display fixes
      
        meson:
         - OSD burst length fixes
      
        hibmc:
         - runtime warning fix
      
        mediatek:
         - cmdq, mmsys fixes
         - visibility check fixes"
      
      * tag 'drm-fixes-2020-07-10' of git://anongit.freedesktop.org/drm/drm: (24 commits)
        drm/amdgpu: don't do soft recovery if gpu_recovery=0
        drm/radeon: fix double free
        drm/amd/display: add dmcub check on RENOIR
        drm/amdgpu: add TMR destory function for psp
        drm/amdgpu: asd function needs to be unloaded in suspend phase
        drm/hisilicon/hibmc: Move drm_fbdev_generic_setup() down to avoid the splat
        drm/nouveau/nouveau: fix page fault on device private memory
        drm/nouveau/svm: fix migrate page regression
        drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
        drm/nouveau/kms/nv50-: bail from nv50_audio_disable() early if audio not enabled
        drm/i915/gt: Pin the rings before marking active
        drm/i915: Also drop vm.ref along error paths for vma construction
        drm/i915: Drop vm.ref for duplicate vma on construction
        drm/i915/fbc: Fix fence_y_offset handling
        drm/i915: Skip stale object handle for debugfs per-file-stats
        drm/mediatek: mtk_hdmi: Remove debug messages for function calls
        drm/mediatek: mtk_mt8173_hdmi_phy: Remove unnused const variables
        drm/mediatek: Delete not used of_device_get_match_data
        drm/mediatek: Remove unnecessary conversion to bool
        drm/meson: viu: fix setting the OSD burst length in VIU_OSD1_FIFO_CTRL_STAT
        ...
      42f82040
    • Cesar Eduardo Barros's avatar
      Restore gcc check in mips asm/unroll.h · d4e60453
      Cesar Eduardo Barros authored
      While raising the gcc version requirement to 4.9, the compile-time check
      in the unroll macro was accidentally changed from being used on gcc and
      clang to being used on clang only.
      
      Restore the gcc check, changing it from "gcc >= 4.7" to "all gcc".
      
      [ We should probably remove this all entirely: if we remove the check
        for CLANG, then the check for GCC can go away. Older versions of clang
        are not really appropriate or supported for kernel builds - Linus ]
      
      Fixes: 6ec4476a ("Raise gcc version requirement to 4.9")
      Signed-off-by: default avatarCesar Eduardo Barros <cesarb@cesarb.eti.br>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d4e60453
    • Rikard Falkeborn's avatar
      kbuild: Move -Wtype-limits to W=2 · 355a3587
      Rikard Falkeborn authored
      -Wtype-limits is included in -Wextra which is added at W=1. It warns
      (among other things) that 'comparison of an unsigned variable `< 0` is
      always false. This causes noisy warnings, especially when used in
      macros, hence it is more suitable for W=2.
      
      Link: https://lore.kernel.org/lkml/CAHk-=wiKCXEWKJ9dWUimGbrVRo_N2RosESUw8E7m9AEtyZcu=w@mail.gmail.com/Signed-off-by: default avatarRikard Falkeborn <rikard.falkeborn@gmail.com>
      Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      355a3587
  2. 09 Jul, 2020 15 commits
  3. 08 Jul, 2020 9 commits
    • Kees Cook's avatar
      selftests: kmod: Add module address visibility test · 2c795839
      Kees Cook authored
      Make sure we don't regress the CAP_SYSLOG behavior of the module address
      visibility via /proc/modules nor /sys/module/*/sections/*.
      Reviewed-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      2c795839
    • Kees Cook's avatar
      bpf: Check correct cred for CAP_SYSLOG in bpf_dump_raw_ok() · 63960260
      Kees Cook authored
      When evaluating access control over kallsyms visibility, credentials at
      open() time need to be used, not the "current" creds (though in BPF's
      case, this has likely always been the same). Plumb access to associated
      file->f_cred down through bpf_dump_raw_ok() and its callers now that
      kallsysm_show_value() has been refactored to take struct cred.
      
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: bpf@vger.kernel.org
      Cc: stable@vger.kernel.org
      Fixes: 7105e828 ("bpf: allow for correlation of maps and helpers in dump")
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      63960260
    • Kees Cook's avatar
      kprobes: Do not expose probe addresses to non-CAP_SYSLOG · 60f7bb66
      Kees Cook authored
      The kprobe show() functions were using "current"'s creds instead
      of the file opener's creds for kallsyms visibility. Fix to use
      seq_file->file->f_cred.
      
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: stable@vger.kernel.org
      Fixes: 81365a94 ("kprobes: Show address of kprobes if kallsyms does")
      Fixes: ffb9bd68 ("kprobes: Show blacklist addresses as same as kallsyms does")
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      60f7bb66
    • Kees Cook's avatar
      module: Do not expose section addresses to non-CAP_SYSLOG · b25a7c5a
      Kees Cook authored
      The printing of section addresses in /sys/module/*/sections/* was not
      using the correct credentials to evaluate visibility.
      
      Before:
      
       # cat /sys/module/*/sections/.*text
       0xffffffffc0458000
       ...
       # capsh --drop=CAP_SYSLOG -- -c "cat /sys/module/*/sections/.*text"
       0xffffffffc0458000
       ...
      
      After:
      
       # cat /sys/module/*/sections/*.text
       0xffffffffc0458000
       ...
       # capsh --drop=CAP_SYSLOG -- -c "cat /sys/module/*/sections/.*text"
       0x0000000000000000
       ...
      
      Additionally replaces the existing (safe) /proc/modules check with
      file->f_cred for consistency.
      Reported-by: default avatarDominik Czarnota <dominik.czarnota@trailofbits.com>
      Fixes: be71eda5 ("module: Fix display of wrong module .text address")
      Cc: stable@vger.kernel.org
      Tested-by: default avatarJessica Yu <jeyu@kernel.org>
      Acked-by: default avatarJessica Yu <jeyu@kernel.org>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      b25a7c5a
    • Kees Cook's avatar
      module: Refactor section attr into bin attribute · ed66f991
      Kees Cook authored
      In order to gain access to the open file's f_cred for kallsym visibility
      permission checks, refactor the module section attributes to use the
      bin_attribute instead of attribute interface. Additionally removes the
      redundant "name" struct member.
      
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Tested-by: default avatarJessica Yu <jeyu@kernel.org>
      Acked-by: default avatarJessica Yu <jeyu@kernel.org>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      ed66f991
    • Kees Cook's avatar
      kallsyms: Refactor kallsyms_show_value() to take cred · 16025184
      Kees Cook authored
      In order to perform future tests against the cred saved during open(),
      switch kallsyms_show_value() to operate on a cred, and have all current
      callers pass current_cred(). This makes it very obvious where callers
      are checking the wrong credential in their "read" contexts. These will
      be fixed in the coming patches.
      
      Additionally switch return value to bool, since it is always used as a
      direct permission check, not a 0-on-success, negative-on-error style
      function return.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      16025184
    • Suzuki K Poulose's avatar
      arm64: Documentation: Fix broken table in generated HTML · 581fce37
      Suzuki K Poulose authored
      cpu-feature-registers.rst is missing a new line before a couple
      of tables listing the visible fields, causing broken tables in
      the HTML documentation generated by "make htmldocs". Fix this
      by adding the missing new line.
      Reported-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Link: https://lore.kernel.org/r/20200707143152.154541-1-suzuki.poulose@arm.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      581fce37
    • Wei Li's avatar
      arm64: kgdb: Fix single-step exception handling oops · 8523c006
      Wei Li authored
      After entering kdb due to breakpoint, when we execute 'ss' or 'go' (will
      delay installing breakpoints, do single-step first), it won't work
      correctly, and it will enter kdb due to oops.
      
      It's because the reason gotten in kdb_stub() is not as expected, and it
      seems that the ex_vector for single-step should be 0, like what arch
      powerpc/sh/parisc has implemented.
      
      Before the patch:
      Entering kdb (current=0xffff8000119e2dc0, pid 0) on processor 0 due to Keyboard Entry
      [0]kdb> bp printk
      Instruction(i) BP #0 at 0xffff8000101486cc (printk)
          is enabled   addr at ffff8000101486cc, hardtype=0 installed=0
      
      [0]kdb> g
      
      / # echo h > /proc/sysrq-trigger
      
      Entering kdb (current=0xffff0000fa878040, pid 266) on processor 3 due to Breakpoint @ 0xffff8000101486cc
      [3]kdb> ss
      
      Entering kdb (current=0xffff0000fa878040, pid 266) on processor 3 Oops: (null)
      due to oops @ 0xffff800010082ab8
      CPU: 3 PID: 266 Comm: sh Not tainted 5.7.0-rc4-13839-gf0e5ad491718 #6
      Hardware name: linux,dummy-virt (DT)
      pstate: 00000085 (nzcv daIf -PAN -UAO)
      pc : el1_irq+0x78/0x180
      lr : __handle_sysrq+0x80/0x190
      sp : ffff800015003bf0
      x29: ffff800015003d20 x28: ffff0000fa878040
      x27: 0000000000000000 x26: ffff80001126b1f0
      x25: ffff800011b6a0d8 x24: 0000000000000000
      x23: 0000000080200005 x22: ffff8000101486cc
      x21: ffff800015003d30 x20: 0000ffffffffffff
      x19: ffff8000119f2000 x18: 0000000000000000
      x17: 0000000000000000 x16: 0000000000000000
      x15: 0000000000000000 x14: 0000000000000000
      x13: 0000000000000000 x12: 0000000000000000
      x11: 0000000000000000 x10: 0000000000000000
      x9 : 0000000000000000 x8 : ffff800015003e50
      x7 : 0000000000000002 x6 : 00000000380b9990
      x5 : ffff8000106e99e8 x4 : ffff0000fadd83c0
      x3 : 0000ffffffffffff x2 : ffff800011b6a0d8
      x1 : ffff800011b6a000 x0 : ffff80001130c9d8
      Call trace:
       el1_irq+0x78/0x180
       printk+0x0/0x84
       write_sysrq_trigger+0xb0/0x118
       proc_reg_write+0xb4/0xe0
       __vfs_write+0x18/0x40
       vfs_write+0xb0/0x1b8
       ksys_write+0x64/0xf0
       __arm64_sys_write+0x14/0x20
       el0_svc_common.constprop.2+0xb0/0x168
       do_el0_svc+0x20/0x98
       el0_sync_handler+0xec/0x1a8
       el0_sync+0x140/0x180
      
      [3]kdb>
      
      After the patch:
      Entering kdb (current=0xffff8000119e2dc0, pid 0) on processor 0 due to Keyboard Entry
      [0]kdb> bp printk
      Instruction(i) BP #0 at 0xffff8000101486cc (printk)
          is enabled   addr at ffff8000101486cc, hardtype=0 installed=0
      
      [0]kdb> g
      
      / # echo h > /proc/sysrq-trigger
      
      Entering kdb (current=0xffff0000fa852bc0, pid 268) on processor 0 due to Breakpoint @ 0xffff8000101486cc
      [0]kdb> g
      
      Entering kdb (current=0xffff0000fa852bc0, pid 268) on processor 0 due to Breakpoint @ 0xffff8000101486cc
      [0]kdb> ss
      
      Entering kdb (current=0xffff0000fa852bc0, pid 268) on processor 0 due to SS trap @ 0xffff800010082ab8
      [0]kdb>
      
      Fixes: 44679a4f ("arm64: KGDB: Add step debugging support")
      Signed-off-by: default avatarWei Li <liwei391@huawei.com>
      Tested-by: default avatarDouglas Anderson <dianders@chromium.org>
      Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
      Link: https://lore.kernel.org/r/20200509214159.19680-2-liwei391@huawei.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      8523c006
    • Will Deacon's avatar
      arm64: entry: Tidy up block comments and label numbers · 8c3001b9
      Will Deacon authored
      Continually butchering our entry code with CPU errata workarounds has
      led to it looking a little scruffy. Consistently used /* */ comment
      style for multi-line block comments and ensure that small numeric labels
      use consecutive integers.
      
      No functional change, but the state of things was irritating.
      Signed-off-by: default avatarWill Deacon <will@kernel.org>
      8c3001b9