1. 22 Sep, 2020 2 commits
  2. 19 Sep, 2020 9 commits
  3. 18 Sep, 2020 7 commits
    • Masami Hiramatsu's avatar
      kprobes: tracing/kprobes: Fix to kill kprobes on initmem after boot · 82d083ab
      Masami Hiramatsu authored
      Since kprobe_event= cmdline option allows user to put kprobes on the
      functions in initmem, kprobe has to make such probes gone after boot.
      Currently the probes on the init functions in modules will be handled
      by module callback, but the kernel init text isn't handled.
      Without this, kprobes may access non-exist text area to disable or
      remove it.
      
      Link: https://lkml.kernel.org/r/159972810544.428528.1839307531600646955.stgit@devnote2
      
      Fixes: 970988e1 ("tracing/kprobe: Add kprobe_event= boot parameter")
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Shuah Khan <skhan@linuxfoundation.org>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      82d083ab
    • Tom Rix's avatar
      tracing: fix double free · 46bbe5c6
      Tom Rix authored
      clang static analyzer reports this problem
      
      trace_events_hist.c:3824:3: warning: Attempt to free
        released memory
          kfree(hist_data->attrs->var_defs.name[i]);
      
      In parse_var_defs() if there is a problem allocating
      var_defs.expr, the earlier var_defs.name is freed.
      This free is duplicated by free_var_defs() which frees
      the rest of the list.
      
      Because free_var_defs() has to run anyway, remove the
      second free fom parse_var_defs().
      
      Link: https://lkml.kernel.org/r/20200907135845.15804-1-trix@redhat.com
      
      Cc: stable@vger.kernel.org
      Fixes: 30350d65 ("tracing: Add variable support to hist triggers")
      Reviewed-by: default avatarTom Zanussi <tom.zanussi@linux.intel.com>
      Signed-off-by: default avatarTom Rix <trix@redhat.com>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      46bbe5c6
    • Tobias Klauser's avatar
      ftrace: Let ftrace_enable_sysctl take a kernel pointer buffer · 54fa9ba5
      Tobias Klauser authored
      Commit 32927393 ("sysctl: pass kernel pointers to ->proc_handler")
      changed ctl_table.proc_handler to take a kernel pointer. Adjust the
      signature of ftrace_enable_sysctl to match ctl_table.proc_handler which
      fixes the following sparse warning:
      
      kernel/trace/ftrace.c:7544:43: warning: incorrect type in argument 3 (different address spaces)
      kernel/trace/ftrace.c:7544:43:    expected void *
      kernel/trace/ftrace.c:7544:43:    got void [noderef] __user *buffer
      
      Link: https://lkml.kernel.org/r/20200907093207.13540-1-tklauser@distanz.ch
      
      Fixes: 32927393 ("sysctl: pass kernel pointers to ->proc_handler")
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      54fa9ba5
    • Sebastian Andrzej Siewior's avatar
      tracing: Make the space reserved for the pid wider · 795d6379
      Sebastian Andrzej Siewior authored
      For 64bit CONFIG_BASE_SMALL=0 systems PID_MAX_LIMIT is set by default to
      4194304. During boot the kernel sets a new value based on number of CPUs
      but no lower than 32768. It is 1024 per CPU so with 128 CPUs the default
      becomes 131072 which needs six digits.
      This value can be increased during run time but must not exceed the
      initial upper limit.
      
      Systemd sometime after v241 sets it to the upper limit during boot. The
      result is that when the pid exceeds five digits, the trace output is a
      little hard to read because it is no longer properly padded (same like
      on big iron with 98+ CPUs).
      
      Increase the pid padding to seven digits.
      
      Link: https://lkml.kernel.org/r/20200904082331.dcdkrr3bkn3e4qlg@linutronix.deSigned-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      795d6379
    • Adrian Hunter's avatar
      ftrace: Fix missing synchronize_rcu() removing trampoline from kallsyms · 478ece95
      Adrian Hunter authored
      Add synchronize_rcu() after list_del_rcu() in
      ftrace_remove_trampoline_from_kallsyms() to protect readers of
      ftrace_ops_trampoline_list (in ftrace_get_trampoline_kallsym)
      which is used when kallsyms is read.
      
      Link: https://lkml.kernel.org/r/20200901091617.31837-1-adrian.hunter@intel.com
      
      Fixes: fc0ea795 ("ftrace: Add symbols for ftrace trampolines")
      Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      478ece95
    • Miroslav Benes's avatar
      ftrace: Free the trampoline when ftrace_startup() fails · d5e47505
      Miroslav Benes authored
      Commit fc0ea795 ("ftrace: Add symbols for ftrace trampolines")
      missed to remove ops from new ftrace_ops_trampoline_list in
      ftrace_startup() if ftrace_hash_ipmodify_enable() fails there. It may
      lead to BUG if such ops come from a module which may be removed.
      
      Moreover, the trampoline itself is not freed in this case.
      
      Fix it by calling ftrace_trampoline_free() during the rollback.
      
      Link: https://lkml.kernel.org/r/20200831122631.28057-1-mbenes@suse.cz
      
      Fixes: fc0ea795 ("ftrace: Add symbols for ftrace trampolines")
      Fixes: f8b8be8a ("ftrace, kprobes: Support IPMODIFY flag to find IP modify conflict")
      Signed-off-by: default avatarMiroslav Benes <mbenes@suse.cz>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      d5e47505
    • Masami Hiramatsu's avatar
      kprobes: Fix to check probe enabled before disarm_kprobe_ftrace() · 3031313e
      Masami Hiramatsu authored
      Commit 0cb2f137 ("kprobes: Fix NULL pointer dereference at
      kprobe_ftrace_handler") fixed one bug but not completely fixed yet.
      If we run a kprobe_module.tc of ftracetest, kernel showed a warning
      as below.
      
      # ./ftracetest test.d/kprobe/kprobe_module.tc
      === Ftrace unit tests ===
      [1] Kprobe dynamic event - probing module
      ...
      [   22.400215] ------------[ cut here ]------------
      [   22.400962] Failed to disarm kprobe-ftrace at trace_printk_irq_work+0x0/0x7e [trace_printk] (-2)
      [   22.402139] WARNING: CPU: 7 PID: 200 at kernel/kprobes.c:1091 __disarm_kprobe_ftrace.isra.0+0x7e/0xa0
      [   22.403358] Modules linked in: trace_printk(-)
      [   22.404028] CPU: 7 PID: 200 Comm: rmmod Not tainted 5.9.0-rc2+ #66
      [   22.404870] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1 04/01/2014
      [   22.406139] RIP: 0010:__disarm_kprobe_ftrace.isra.0+0x7e/0xa0
      [   22.406947] Code: 30 8b 03 eb c9 80 3d e5 09 1f 01 00 75 dc 49 8b 34 24 89 c2 48 c7 c7 a0 c2 05 82 89 45 e4 c6 05 cc 09 1f 01 01 e8 a9 c7 f0 ff <0f> 0b 8b 45 e4 eb b9 89 c6 48 c7 c7 70 c2 05 82 89 45 e4 e8 91 c7
      [   22.409544] RSP: 0018:ffffc90000237df0 EFLAGS: 00010286
      [   22.410385] RAX: 0000000000000000 RBX: ffffffff83066024 RCX: 0000000000000000
      [   22.411434] RDX: 0000000000000001 RSI: ffffffff810de8d3 RDI: ffffffff810de8d3
      [   22.412687] RBP: ffffc90000237e10 R08: 0000000000000001 R09: 0000000000000001
      [   22.413762] R10: 0000000000000000 R11: 0000000000000001 R12: ffff88807c478640
      [   22.414852] R13: ffffffff8235ebc0 R14: ffffffffa00060c0 R15: 0000000000000000
      [   22.415941] FS:  00000000019d48c0(0000) GS:ffff88807d7c0000(0000) knlGS:0000000000000000
      [   22.417264] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   22.418176] CR2: 00000000005bb7e3 CR3: 0000000078f7a000 CR4: 00000000000006a0
      [   22.419309] Call Trace:
      [   22.419990]  kill_kprobe+0x94/0x160
      [   22.420652]  kprobes_module_callback+0x64/0x230
      [   22.421470]  notifier_call_chain+0x4f/0x70
      [   22.422184]  blocking_notifier_call_chain+0x49/0x70
      [   22.422979]  __x64_sys_delete_module+0x1ac/0x240
      [   22.423733]  do_syscall_64+0x38/0x50
      [   22.424366]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
      [   22.425176] RIP: 0033:0x4bb81d
      [   22.425741] Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e0 ff ff ff f7 d8 64 89 01 48
      [   22.428726] RSP: 002b:00007ffc70fef008 EFLAGS: 00000246 ORIG_RAX: 00000000000000b0
      [   22.430169] RAX: ffffffffffffffda RBX: 00000000019d48a0 RCX: 00000000004bb81d
      [   22.431375] RDX: 0000000000000000 RSI: 0000000000000880 RDI: 00007ffc70fef028
      [   22.432543] RBP: 0000000000000880 R08: 00000000ffffffff R09: 00007ffc70fef320
      [   22.433692] R10: 0000000000656300 R11: 0000000000000246 R12: 00007ffc70fef028
      [   22.434635] R13: 0000000000000000 R14: 0000000000000002 R15: 0000000000000000
      [   22.435682] irq event stamp: 1169
      [   22.436240] hardirqs last  enabled at (1179): [<ffffffff810df542>] console_unlock+0x422/0x580
      [   22.437466] hardirqs last disabled at (1188): [<ffffffff810df19b>] console_unlock+0x7b/0x580
      [   22.438608] softirqs last  enabled at (866): [<ffffffff81c0038e>] __do_softirq+0x38e/0x490
      [   22.439637] softirqs last disabled at (859): [<ffffffff81a00f42>] asm_call_on_stack+0x12/0x20
      [   22.440690] ---[ end trace 1e7ce7e1e4567276 ]---
      [   22.472832] trace_kprobe: This probe might be able to register after target module is loaded. Continue.
      
      This is because the kill_kprobe() calls disarm_kprobe_ftrace() even
      if the given probe is not enabled. In that case, ftrace_set_filter_ip()
      fails because the given probe point is not registered to ftrace.
      
      Fix to check the given (going) probe is enabled before invoking
      disarm_kprobe_ftrace().
      
      Link: https://lkml.kernel.org/r/159888672694.1411785.5987998076694782591.stgit@devnote2
      
      Fixes: 0cb2f137 ("kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler")
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: "Naveen N . Rao" <naveen.n.rao@linux.ibm.com>
      Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: Muchun Song <songmuchun@bytedance.com>
      Cc: Chengming Zhou <zhouchengming@bytedance.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      3031313e
  4. 13 Sep, 2020 10 commits
    • Linus Torvalds's avatar
      Linux 5.9-rc5 · 856deb86
      Linus Torvalds authored
      856deb86
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 5712c3ed
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A collection of fixes I've been accruing over the last few weeks, none
        of them have been severe enough to warrant flushing the queue but it's
        been long enough now that it's a good idea to send them in.
      
        A handful of them are fixups for QSPI DT/bindings/compatibles, some
        smaller fixes for system DMA clock control and TMU interrupts on i.MX,
        a handful of fixes for OMAP, including a fix for DSI (display) on
        omap5"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (27 commits)
        arm64: dts: ns2: Fixed QSPI compatible string
        ARM: dts: BCM5301X: Fixed QSPI compatible string
        ARM: dts: NSP: Fixed QSPI compatible string
        ARM: dts: bcm: HR2: Fixed QSPI compatible string
        dt-bindings: spi: Fix spi-bcm-qspi compatible ordering
        ARM: dts: imx6sx: fix the pad QSPI1B_SCLK mux mode for uart3
        arm64: dts: imx8mp: correct sdma1 clk setting
        arm64: dts: imx8mq: Fix TMU interrupt property
        ARM: dts: imx7d-zii-rmu2: fix rgmii phy-mode for ksz9031 phy
        ARM: dts: vfxxx: Add syscon compatible with OCOTP
        ARM: dts: imx6q-logicpd: Fix broken PWM
        arm64: dts: imx: Add missing imx8mm-beacon-kit.dtb to build
        ARM: dts: imx6q-prtwd2: Remove unneeded i2c unit name
        ARM: dts: imx6qdl-gw51xx: Remove unneeded #address-cells/#size-cells
        ARM: dts: imx7ulp: Correct gpio ranges
        ARM: dts: ls1021a: fix QuadSPI-memory reg range
        arm64: defconfig: Enable ptn5150 extcon driver
        arm64: defconfig: Enable USB gadget with configfs
        ARM: configs: Update Integrator defconfig
        ARM: dts: omap5: Fix DSI base address and clocks
        ...
      5712c3ed
    • Linus Torvalds's avatar
      Merge tag 'usb-5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · e4c26faa
      Linus Torvalds authored
      Pull USB/Thunderbolt fixes from Greg KH:
       "Here are some small USB and Thunderbolt driver fixes for 5.9-rc5.
      
        Nothing huge, just a number of bugfixes and new device ids for
        problems reported:
      
         - new USB serial driver ids
      
         - bug fixes for syzbot reported problems
      
         - typec driver fixes
      
         - thunderbolt driver fixes
      
         - revert of reported broken commit
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation in Alternate modes
        usb: typec: intel_pmc_mux: Do not configure Altmode HPD High
        usb: core: fix slab-out-of-bounds Read in read_descriptors
        Revert "usb: dwc3: meson-g12a: fix shared reset control use"
        usb: typec: ucsi: acpi: Check the _DEP dependencies
        usb: typec: intel_pmc_mux: Un-register the USB role switch
        usb: Fix out of sync data toggle if a configured device is reconfigured
        USB: serial: option: support dynamic Quectel USB compositions
        USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules
        thunderbolt: Use maximum USB3 link rate when reclaiming if link is not up
        thunderbolt: Disable ports that are not implemented
        USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter
      e4c26faa
    • Linus Torvalds's avatar
      Merge tag 'staging-5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 6c7247f6
      Linus Torvalds authored
      Pull staging/IIO driver fixes from Greg KH:
       "Here are a number of staging and IIO driver fixes for 5.9-rc5.
      
        The majority of these are IIO driver fixes, to resolve a timestamp
        issue that was recently found to affect a bunch of IIO drivers.
      
        The other fixes in here are:
      
         - small IIO driver fixes
      
         - greybus driver fix
      
         - counter driver fix (came in through the IIO fixes tree)
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (23 commits)
        iio: adc: mcp3422: fix locking on error path
        iio: adc: mcp3422: fix locking scope
        iio: adc: meson-saradc: Use the parent device to look up the calib data
        iio:adc:max1118 Fix alignment of timestamp and data leak issues
        iio:adc:ina2xx Fix timestamp alignment issue.
        iio:adc:ti-adc084s021 Fix alignment and data leak issues.
        iio:adc:ti-adc081c Fix alignment and data leak issues
        iio:magnetometer:ak8975 Fix alignment and data leak issues.
        iio:light:ltr501 Fix timestamp alignment issue.
        iio:light:max44000 Fix timestamp alignment and prevent data leak.
        iio:chemical:ccs811: Fix timestamp alignment and prevent data leak.
        iio:proximity:mb1232: Fix timestamp alignment and prevent data leak.
        iio:accel:mma7455: Fix timestamp alignment and prevent data leak.
        iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak.
        iio:accel:mma8452: Fix timestamp alignment and prevent data leak.
        iio: accel: kxsd9: Fix alignment of local buffer.
        iio: adc: rockchip_saradc: select IIO_TRIGGERED_BUFFER
        iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set
        counter: microchip-tcb-capture: check the correct variable
        iio: cros_ec: Set Gyroscope default frequency to 25Hz
        ...
      6c7247f6
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 20a7b6be
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "Here are some small driver core and debugfs fixes for 5.9-rc5
      
        Included in here are:
      
         - firmware loader memory leak fix
      
         - firmware loader testing fixes for non-EFI systems
      
         - device link locking fixes found by lockdep
      
         - kobject_del() bugfix that has been affecting some callers
      
         - debugfs minor fix
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'driver-core-5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        test_firmware: Test platform fw loading on non-EFI systems
        PM: <linux/device.h>: fix @em_pd kernel-doc warning
        kobject: Drop unneeded conditional in __kobject_del()
        driver core: Fix device_pm_lock() locking for device links
        MAINTAINERS: Add the security document to SECURITY CONTACT
        driver code: print symbolic error code
        debugfs: Fix module state check condition
        kobject: Restore old behaviour of kobject_del(NULL)
        firmware_loader: fix memory leak for paged buffer
      20a7b6be
    • Olof Johansson's avatar
      Merge tag 'arm-soc/for-5.9/devicetree-fixes' of https://github.com/Broadcom/stblinux into arm/fixes · a4da411e
      Olof Johansson authored
      This pull request contains Broadcom ARM-based SoCs Device Tree fixes for
      5.9, please pull the following:
      
      - Florian fixes the Broadcom QSPI controller binding such that the most
        specific compatible string is the left most one, and all existing
        in-tree users are updated as well.
      
      * tag 'arm-soc/for-5.9/devicetree-fixes' of https://github.com/Broadcom/stblinux:
        arm64: dts: ns2: Fixed QSPI compatible string
        ARM: dts: BCM5301X: Fixed QSPI compatible string
        ARM: dts: NSP: Fixed QSPI compatible string
        ARM: dts: bcm: HR2: Fixed QSPI compatible string
        dt-bindings: spi: Fix spi-bcm-qspi compatible ordering
      
      Link: https://lore.kernel.org/r/20200909211857.4144718-1-f.fainelli@gmail.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      a4da411e
    • Olof Johansson's avatar
      Merge tag 'imx-fixes-5.9-2' of... · 2aedcb04
      Olof Johansson authored
      Merge tag 'imx-fixes-5.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes
      
      i.MX fixes for 5.9, round 2:
      
      - Fix the misspelling of 'interrupts' property in i.MX8MQ TMU DT node.
      - Correct 'ahb' clock for i.MX8MP SDMA1 in device tree.
      - Fix pad QSPI1B_SCLK mux mode for UART3 on i.MX6SX.
      
      * tag 'imx-fixes-5.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
        ARM: dts: imx6sx: fix the pad QSPI1B_SCLK mux mode for uart3
        arm64: dts: imx8mp: correct sdma1 clk setting
        arm64: dts: imx8mq: Fix TMU interrupt property
      
      Link: https://lore.kernel.org/r/20200909143844.GA25109@dragonSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      2aedcb04
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.9/fixes-rc3' of... · 0e384029
      Olof Johansson authored
      Merge tag 'omap-for-v5.9/fixes-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
      
      Fixes for omaps for v5.9-rc cycle
      
      Few fixes for omap based devices:
      
      - Fix of_clk_get() error handling for omap-iommu
      
      - Fix missing audio pinctrl entries for logicpd boards
      
      - Fix video for logicpd-som-lv after switch to generic panels
      
      - Fix omap5 DSI clocks base
      
      * tag 'omap-for-v5.9/fixes-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: omap5: Fix DSI base address and clocks
        ARM: dts: logicpd-som-lv-baseboard: Fix missing video
        ARM: dts: logicpd-som-lv-baseboard: Fix broken audio
        ARM: dts: logicpd-torpedo-baseboard: Fix broken audio
        ARM: OMAP2+: Fix an IS_ERR() vs NULL check in _get_pwrdm()
      
      Link: https://lore.kernel.org/r/pull-1599132064-54898@atomide.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      0e384029
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 2a1a4bee
      Linus Torvalds authored
      Pull char / misc driver fixes from Greg KH:
       "Here are a number of small driver fixes for 5.9-rc5
      
        Included in here are:
      
         - habanalabs driver fixes
      
         - interconnect driver fixes
      
         - soundwire driver fixes
      
         - dyndbg fixes for reported issues, and then reverts to fix it all up
           to a sane state.
      
         - phy driver fixes
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        Revert "dyndbg: accept query terms like file=bar and module=foo"
        Revert "dyndbg: fix problem parsing format="foo bar""
        scripts/tags.sh: exclude tools directory from tags generation
        video: fbdev: fix OOB read in vga_8planes_imageblit()
        dyndbg: fix problem parsing format="foo bar"
        dyndbg: refine export, rename to dynamic_debug_exec_queries()
        dyndbg: give %3u width in pr-format, cosmetic only
        interconnect: qcom: Fix small BW votes being truncated to zero
        soundwire: fix double free of dangling pointer
        interconnect: Show bandwidth for disabled paths as zero in debugfs
        habanalabs: fix report of RAZWI initiator coordinates
        habanalabs: prevent user buff overflow
        phy: omap-usb2-phy: disable PHY charger detect
        phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init
        soundwire: bus: fix typo in comment on INTSTAT registers
        phy: qualcomm: fix return value check in qcom_ipq806x_usb_phy_probe()
        phy: qualcomm: fix platform_no_drv_owner.cocci warnings
      2a1a4bee
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 84b13499
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "A bit on the bigger side, mostly due to me being on vacation, then
        busy, then on parental leave, but there's nothing worrisome.
      
        ARM:
         - Multiple stolen time fixes, with a new capability to match x86
         - Fix for hugetlbfs mappings when PUD and PMD are the same level
         - Fix for hugetlbfs mappings when PTE mappings are enforced (dirty
           logging, for example)
         - Fix tracing output of 64bit values
      
        x86:
         - nSVM state restore fixes
         - Async page fault fixes
         - Lots of small fixes everywhere"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (25 commits)
        KVM: emulator: more strict rsm checks.
        KVM: nSVM: more strict SMM checks when returning to nested guest
        SVM: nSVM: setup nested msr permission bitmap on nested state load
        SVM: nSVM: correctly restore GIF on vmexit from nesting after migration
        x86/kvm: don't forget to ACK async PF IRQ
        x86/kvm: properly use DEFINE_IDTENTRY_SYSVEC() macro
        KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit
        KVM: SVM: avoid emulation with stale next_rip
        KVM: x86: always allow writing '0' to MSR_KVM_ASYNC_PF_EN
        KVM: SVM: Periodically schedule when unregistering regions on destroy
        KVM: MIPS: Change the definition of kvm type
        kvm x86/mmu: use KVM_REQ_MMU_SYNC to sync when needed
        KVM: nVMX: Fix the update value of nested load IA32_PERF_GLOBAL_CTRL control
        KVM: fix memory leak in kvm_io_bus_unregister_dev()
        KVM: Check the allocation of pv cpu mask
        KVM: nVMX: Update VMCS02 when L2 PAE PDPTE updates detected
        KVM: arm64: Update page shift if stage 2 block mapping not supported
        KVM: arm64: Fix address truncation in traces
        KVM: arm64: Do not try to map PUDs when they are folded into PMD
        arm64/x86: KVM: Introduce steal-time cap
        ...
      84b13499
  5. 12 Sep, 2020 12 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/openrisc/linux · b952e974
      Linus Torvalds authored
      Pull OpenRISC fixes from Stafford Horne:
       "Fixes for compile issues pointed out by kbuild and one bug I found in
        initrd with the 5.9 patches"
      
      * tag 'for-linus' of git://github.com/openrisc/linux:
        openrisc: Fix issue with get_user for 64-bit values
        openrisc: Fix cache API compile issue when not inlining
        openrisc: Reserve memblock for initrd
      b952e974
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · ef2e9a56
      Linus Torvalds authored
      Pull seccomp fixes from Kees Cook:
       "This fixes a rare race condition in seccomp when using TSYNC and
        USER_NOTIF together where a memory allocation would not get freed
        (found by syzkaller, fixed by Tycho).
      
        Additionally updates Tycho's MAINTAINERS and .mailmap entries for his
        new address"
      
      * tag 'seccomp-v5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        seccomp: don't leave dangling ->notif if file allocation fails
        mailmap, MAINTAINERS: move to tycho.pizza
        seccomp: don't leak memory when filter install races
      ef2e9a56
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-fix-v5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 4f8b0a5b
      Linus Torvalds authored
      Pull libnvdimm fix from Vishal Verma:
       "Fix detection of dax support for block devices.
      
        Previous fixes in this area, which only affected printing of debug
        messages, had an incorrect condition for detection of dax. This fix
        should finally do the right thing"
      
      * tag 'libnvdimm-fix-v5.9-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        dax: fix detection of dax support for non-persistent memory block devices
      4f8b0a5b
    • Linus Torvalds's avatar
      Merge tag 'for-5.9-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · edf6b0e1
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A few more fixes:
      
         - regression fix for a crash after failed snapshot creation
      
         - one more lockep fix: use nofs allocation when allocating missing
           device
      
         - fix reloc tree leak on degraded mount
      
         - make some extent buffer alignment checks less strict to mount
           filesystems created by btrfs-convert"
      
      * tag 'for-5.9-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix NULL pointer dereference after failure to create snapshot
        btrfs: free data reloc tree on failed mount
        btrfs: require only sector size alignment for parent eb bytenr
        btrfs: fix lockdep splat in add_missing_dev
      edf6b0e1
    • Linus Torvalds's avatar
      Merge tag '5.9-rc4-smb3-fix' of git://git.samba.org/sfrench/cifs-2.6 · 5a3c558a
      Linus Torvalds authored
      Pull cifs fix from Steve French:
       "A fix for lookup on DFS link when cifsacl or modefromsid is used"
      
      * tag '5.9-rc4-smb3-fix' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix DFS mount with cifsacl/modefromsid
      5a3c558a
    • Maxim Levitsky's avatar
      KVM: emulator: more strict rsm checks. · 37f66bbe
      Maxim Levitsky authored
      Don't ignore return values in rsm_load_state_64/32 to avoid
      loading invalid state from SMM state area if it was tampered with
      by the guest.
      
      This is primarly intended to avoid letting guest set bits in EFER
      (like EFER.SVME when nesting is disabled) by manipulating SMM save area.
      Signed-off-by: default avatarMaxim Levitsky <mlevitsk@redhat.com>
      Message-Id: <20200827171145.374620-8-mlevitsk@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      37f66bbe
    • Maxim Levitsky's avatar
      KVM: nSVM: more strict SMM checks when returning to nested guest · 3ebb5d26
      Maxim Levitsky authored
      * check that guest is 64 bit guest, otherwise the SVM related fields
        in the smm state area are not defined
      
      * If the SMM area indicates that SMM interrupted a running guest,
        check that EFER.SVME which is also saved in this area is set, otherwise
        the guest might have tampered with SMM save area, and so indicate
        emulation failure which should triple fault the guest.
      
      * Check that that guest CPUID supports SVM (due to the same issue as above)
      Signed-off-by: default avatarMaxim Levitsky <mlevitsk@redhat.com>
      Message-Id: <20200827162720.278690-4-mlevitsk@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      3ebb5d26
    • Maxim Levitsky's avatar
      SVM: nSVM: setup nested msr permission bitmap on nested state load · 772b81bb
      Maxim Levitsky authored
      This code was missing and was forcing the L2 run with L1's msr
      permission bitmap
      Signed-off-by: default avatarMaxim Levitsky <mlevitsk@redhat.com>
      Message-Id: <20200827162720.278690-3-mlevitsk@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      772b81bb
    • Maxim Levitsky's avatar
      SVM: nSVM: correctly restore GIF on vmexit from nesting after migration · 9883764a
      Maxim Levitsky authored
      Currently code in svm_set_nested_state copies the current vmcb control
      area to L1 control area (hsave->control), under assumption that
      it mostly reflects the defaults that kvm choose, and later qemu
      overrides  these defaults with L2 state using standard KVM interfaces,
      like KVM_SET_REGS.
      
      However nested GIF (which is AMD specific thing) is by default is true,
      and it is copied to hsave area as such.
      
      This alone is not a big deal since on VMexit, GIF is always set to false,
      regardless of what it was on VM entry.  However in nested_svm_vmexit we
      were first were setting GIF to false, but then we overwrite the control
      fields with value from the hsave area.  (including the nested GIF field
      itself if GIF virtualization is enabled).
      
      Now on normal vm entry this is not a problem, since GIF is usually false
      prior to normal vm entry, and this is the value that copied to hsave,
      and then restored, but this is not always the case when the nested state
      is loaded as explained above.
      
      To fix this issue, move svm_set_gif after we restore the L1 control
      state in nested_svm_vmexit, so that even with wrong GIF in the
      saved L1 control area, we still clear GIF as the spec says.
      Signed-off-by: default avatarMaxim Levitsky <mlevitsk@redhat.com>
      Message-Id: <20200827162720.278690-2-mlevitsk@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9883764a
    • Stafford Horne's avatar
      openrisc: Fix issue with get_user for 64-bit values · d877322b
      Stafford Horne authored
      A build failure was raised by kbuild with the following error.
      
          drivers/android/binder.c: Assembler messages:
          drivers/android/binder.c:3861: Error: unrecognized keyword/register name `l.lwz ?ap,4(r24)'
          drivers/android/binder.c:3866: Error: unrecognized keyword/register name `l.addi ?ap,r0,0'
      
      The issue is with 64-bit get_user() calls on openrisc.  I traced this to
      a problem where in the internally in the get_user macros there is a cast
      to long __gu_val this causes GCC to think the get_user call is 32-bit.
      This binder code is really long and GCC allocates register r30, which
      triggers the issue. The 64-bit get_user asm tries to get the 64-bit pair
      register, which for r30 overflows the general register names and returns
      the dummy register ?ap.
      
      The fix here is to move the temporary variables into the asm macros.  We
      use a 32-bit __gu_tmp for 32-bit and smaller macro and a 64-bit tmp in
      the 64-bit macro.  The cast in the 64-bit macro has a trick of casting
      through __typeof__((x)-(x)) which avoids the below warning.  This was
      barrowed from riscv.
      
          arch/openrisc/include/asm/uaccess.h:240:8: warning: cast to pointer from integer of different size
      
      I tested this in a small unit test to check reading between 64-bit and
      32-bit pointers to 64-bit and 32-bit values in all combinations.  Also I
      ran make C=1 to confirm no new sparse warnings came up.  It all looks
      clean to me.
      
      Link: https://lore.kernel.org/lkml/202008200453.ohnhqkjQ%25lkp@intel.com/Signed-off-by: default avatarStafford Horne <shorne@gmail.com>
      Reviewed-by: default avatarLuc Van Oostenryck <luc.vanoostenryck@gmail.com>
      d877322b
    • Vitaly Kuznetsov's avatar
      x86/kvm: don't forget to ACK async PF IRQ · cc17b225
      Vitaly Kuznetsov authored
      Merge commit 26d05b36 ("Merge branch 'kvm-async-pf-int' into HEAD")
      tried to adapt the new interrupt based async PF mechanism to the newly
      introduced IDTENTRY magic but unfortunately it missed the fact that
      DEFINE_IDTENTRY_SYSVEC() doesn't call ack_APIC_irq() on its own and
      all DEFINE_IDTENTRY_SYSVEC() users have to call it manually.
      
      As the result all multi-CPU KVM guest hang on boot when
      KVM_FEATURE_ASYNC_PF_INT is present. The breakage went unnoticed because no
      KVM userspace (e.g. QEMU) currently set it (and thus async PF mechanism
      is currently disabled) but we're about to change that.
      
      Fixes: 26d05b36 ("Merge branch 'kvm-async-pf-int' into HEAD")
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Message-Id: <20200908135350.355053-3-vkuznets@redhat.com>
      Tested-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      cc17b225
    • Vitaly Kuznetsov's avatar
      x86/kvm: properly use DEFINE_IDTENTRY_SYSVEC() macro · 244081f9
      Vitaly Kuznetsov authored
      DEFINE_IDTENTRY_SYSVEC() already contains irqentry_enter()/
      irqentry_exit().
      Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
      Message-Id: <20200908135350.355053-2-vkuznets@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      244081f9