02 Dec, 2020

2 commits

  • Pull tracing fixes from Steven Rostedt:

    - Use correct timestamp variable for ring buffer write stamp update

    - Fix up before stamp and write stamp when crossing ring buffer sub
    buffers

    - Keep a zero delta in ring buffer in slow path if cmpxchg fails

    - Fix trace_printk static buffer for archs that care

    - Fix ftrace record accounting for ftrace ops with trampolines

    - Fix DYNAMIC_FTRACE_WITH_DIRECT_CALLS dependency

    - Remove WARN_ON in hwlat tracer that triggers on something that is OK

    - Make "my_tramp" trampoline in ftrace direct sample code global

    - Fixes in the bootconfig tool for better alignment management

    * tag 'trace-v5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    ring-buffer: Always check to put back before stamp when crossing pages
    ftrace: Fix DYNAMIC_FTRACE_WITH_DIRECT_CALLS dependency
    ftrace: Fix updating FTRACE_FL_TRAMP
    tracing: Fix alignment of static buffer
    tracing: Remove WARN_ON in start_thread()
    samples/ftrace: Mark my_tramp[12]? global
    ring-buffer: Set the right timestamp in the slow path of __rb_reserve_next()
    ring-buffer: Update write stamp with the correct ts
    docs: bootconfig: Update file format on initrd image
    tools/bootconfig: Align the bootconfig applied initrd image size to 4
    tools/bootconfig: Fix to check the write failure correctly
    tools/bootconfig: Fix errno reference after printf()

    Linus Torvalds
     
  • Pull vhost fixes from Michael Tsirkin:
    "A couple of minor fixes"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    vhost-vdpa: fix page pinning leakage in error path (rework)
    vringh: fix vringh_iov_push_*() documentation
    vhost scsi: fix lun reset completion handling

    Linus Torvalds
     

01 Dec, 2020

8 commits

  • The current ring buffer logic checks to see if the updating of the event
    buffer was interrupted, and if it is, it will try to fix up the before stamp
    with the write stamp to make them equal again. This logic is flawed, because
    if it is not interrupted, the two are guaranteed to be different, as the
    current event just updated the before stamp before allocation. This
    guarantees that the next event (this one or another interrupting one) will
    think it interrupted the time updates of a previous event and inject an
    absolute time stamp to compensate.

    The correct logic is to always update the timestamps when traversing to a
    new sub buffer.

    Cc: stable@vger.kernel.org
    Fixes: a389d86f7fd09 ("ring-buffer: Have nested events still record running time stamp")
    Signed-off-by: Steven Rostedt (VMware)

    Steven Rostedt (VMware)
     
  • DYNAMIC_FTRACE_WITH_DIRECT_CALLS should depend on
    DYNAMIC_FTRACE_WITH_REGS since we need ftrace_regs_caller().

    Link: https://lkml.kernel.org/r/fc4b257ea8689a36f086d2389a9ed989496ca63a.1606412433.git.naveen.n.rao@linux.vnet.ibm.com

    Cc: stable@vger.kernel.org
    Fixes: 763e34e74bb7d5c ("ftrace: Add register_ftrace_direct()")
    Signed-off-by: Naveen N. Rao
    Signed-off-by: Steven Rostedt (VMware)

    Naveen N. Rao
     
  • On powerpc, kprobe-direct.tc triggered FTRACE_WARN_ON() in
    ftrace_get_addr_new() followed by the below message:
    Bad trampoline accounting at: 000000004222522f (wake_up_process+0xc/0x20) (f0000001)

    The set of steps leading to this involved:
    - modprobe ftrace-direct-too
    - enable_probe
    - modprobe ftrace-direct
    - rmmod ftrace-direct
    Signed-off-by: Steven Rostedt (VMware)

    Naveen N. Rao
     
  • With 5.9 kernel on ARM64, I found ftrace_dump output was broken but
    it had no problem with normal output "cat /sys/kernel/debug/tracing/trace".

    With investigation, it seems coping the data into temporal buffer seems to
    break the align binary printf expects if the static buffer is not aligned
    with 4-byte. IIUC, get_arg in bstr_printf expects that args has already
    right align to be decoded and seq_buf_bprintf says ``the arguments are saved
    in a 32bit word array that is defined by the format string constraints``.
    So if we don't keep the align under copy to temporal buffer, the output
    will be broken by shifting some bytes.

    This patch fixes it.

    Link: https://lkml.kernel.org/r/20201125225654.1618966-1-minchan@kernel.org

    Cc:
    Fixes: 8e99cf91b99bb ("tracing: Do not allocate buffer in trace_find_next_entry() in atomic")
    Signed-off-by: Namhyung Kim
    Signed-off-by: Minchan Kim
    Signed-off-by: Steven Rostedt (VMware)

    Minchan Kim
     
  • This patch reverts commit 978defee11a5 ("tracing: Do a WARN_ON()
    if start_thread() in hwlat is called when thread exists")

    .start hook can be legally called several times if according
    tracer is stopped

    screen window 1
    [root@localhost ~]# echo 1 > /sys/kernel/tracing/events/kmem/kfree/enable
    [root@localhost ~]# echo 1 > /sys/kernel/tracing/options/pause-on-trace
    [root@localhost ~]# less -F /sys/kernel/tracing/trace

    screen window 2
    [root@localhost ~]# cat /sys/kernel/debug/tracing/tracing_on
    0
    [root@localhost ~]# echo hwlat > /sys/kernel/debug/tracing/current_tracer
    [root@localhost ~]# echo 1 > /sys/kernel/debug/tracing/tracing_on
    [root@localhost ~]# cat /sys/kernel/debug/tracing/tracing_on
    0
    [root@localhost ~]# echo 2 > /sys/kernel/debug/tracing/tracing_on

    triggers warning in dmesg:
    WARNING: CPU: 3 PID: 1403 at kernel/trace/trace_hwlat.c:371 hwlat_tracer_start+0xc9/0xd0

    Link: https://lkml.kernel.org/r/bd4d3e70-400d-9c82-7b73-a2d695e86b58@virtuozzo.com

    Cc: Ingo Molnar
    Cc: stable@vger.kernel.org
    Fixes: 978defee11a5 ("tracing: Do a WARN_ON() if start_thread() in hwlat is called when thread exists")
    Signed-off-by: Vasily Averin
    Signed-off-by: Steven Rostedt (VMware)

    Vasily Averin
     
  • my_tramp[12]? are declared as global functions in C, but they are not
    marked global in the inline assembly definition. This mismatch confuses
    Clang's Control-Flow Integrity checking. Fix the definitions by adding
    .globl.

    Link: https://lkml.kernel.org/r/20201113183414.1446671-1-samitolvanen@google.com

    Fixes: 9d907f1ae80b8 ("ftrace/samples: Add a sample module that implements modify_ftrace_direct()")
    Reviewed-by: Kees Cook
    Signed-off-by: Sami Tolvanen
    Signed-off-by: Steven Rostedt (VMware)

    Sami Tolvanen
     
  • In the slow path of __rb_reserve_next() a nested event(s) can happen
    between evaluating the timestamp delta of the current event and updating
    write_stamp via local_cmpxchg(); in this case the delta is not valid
    anymore and it should be set to 0 (same timestamp as the interrupting
    event), since the event that we are currently processing is not the last
    event in the buffer.

    Link: https://lkml.kernel.org/r/X8IVJcp1gRE+FJCJ@xps-13-7390

    Cc: Ingo Molnar
    Cc: Masami Hiramatsu
    Cc: stable@vger.kernel.org
    Link: https://lwn.net/Articles/831207
    Fixes: a389d86f7fd0 ("ring-buffer: Have nested events still record running time stamp")
    Signed-off-by: Andrea Righi
    Signed-off-by: Steven Rostedt (VMware)

    Andrea Righi
     
  • The write stamp, used to calculate deltas between events, was updated with
    the stale "ts" value in the "info" structure, and not with the updated "ts"
    variable. This caused the deltas between events to be inaccurate, and when
    crossing into a new sub buffer, had time go backwards.

    Link: https://lkml.kernel.org/r/20201124223917.795844-1-elavila@google.com

    Cc: stable@vger.kernel.org
    Fixes: a389d86f7fd09 ("ring-buffer: Have nested events still record running time stamp")
    Reported-by: "J. Avila"
    Tested-by: Daniel Mentz
    Tested-by: Will McVicker
    Signed-off-by: Steven Rostedt (VMware)

    Steven Rostedt (VMware)
     

30 Nov, 2020

5 commits

  • Linus Torvalds
     
  • Pull locking fixes from Thomas Gleixner:
    "Two more places which invoke tracing from RCU disabled regions in the
    idle path.

    Similar to the entry path the low level idle functions have to be
    non-instrumentable"

    * tag 'locking-urgent-2020-11-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    intel_idle: Fix intel_idle() vs tracing
    sched/idle: Fix arch_cpu_idle() vs tracing

    Linus Torvalds
     
  • Pull irq fixes from Thomas Gleixner:
    "Two fixes for irqchip drivers:

    - Save and restore the GICV3 ITS state unconditionally on
    suspend/resume to handle firmware which fails to do so.

    - Use the correct index into the fwspec parameters to read the irq
    trigger type in the EXIU chip driver"

    * tag 'irq-urgent-2020-11-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend
    irqchip/exiu: Fix the index of fwspec for IRQ type

    Linus Torvalds
     
  • Pull EFI fixes from Borislav Petkov:
    "More EFI fixes forwarded from Ard Biesheuvel:

    - revert efivarfs kmemleak fix again - it was a false positive

    - make CONFIG_EFI_EARLYCON depend on CONFIG_EFI explicitly so it does
    not pull in other dependencies unnecessarily if CONFIG_EFI is not
    set

    - defer attempts to load SSDT overrides from EFI vars until after the
    efivar layer is up"

    * tag 'efi-urgent-for-v5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    efi: EFI_EARLYCON should depend on EFI
    efivarfs: revert "fix memory leak in efivarfs_create()"
    efi/efivars: Set generic ops before loading SSDT

    Linus Torvalds
     
  • Pull x86 fixes from Borislav Petkov:
    "A couple of urgent fixes which accumulated this last week:

    - Two resctrl fixes to prevent refcount leaks when manipulating the
    resctrl fs (Xiaochen Shen)

    - Correct prctl(PR_GET_SPECULATION_CTRL) reporting (Anand K Mistry)

    - A fix to not lose already seen MCE severity which determines
    whether the machine can recover (Gabriele Paoloni)"

    * tag 'x86_urgent_for_v5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/mce: Do not overwrite no_way_out if mce_end() fails
    x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb
    x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak
    x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak

    Linus Torvalds
     

29 Nov, 2020

5 commits

  • Pull RISC-V fixes from Palmer Dabbelt:
    "I've collected a handful of fixes over the past few weeks:

    - A fix to un-break the build-id argument to the vDSO build, which is
    necessary for the LLVM linker.

    - A fix to initialize the jump label subsystem, without which it (and
    all the stuff that uses it) doesn't actually function.

    - A fix to include from , without
    which some drivers won't compile"

    * tag 'riscv-for-linus-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    RISC-V: fix barrier() use in
    RISC-V: Add missing jump label initialization
    riscv: Explicitly specify the build id style in vDSO Makefile again

    Linus Torvalds
     
  • …masahiroy/linux-kbuild

    Pull Kbuild fixes from Masahiro Yamada:

    - Remove unused OBJSIZE variable.

    - Fix rootless deb-pkg build in a setgid directory.

    * tag 'kbuild-fixes-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    builddeb: Fix rootless build in setuid/setgid directory
    kbuild: remove unused OBJSIZE

    Linus Torvalds
     
  • …m/linux/kernel/git/acme/linux

    Pull perf tool fixes from Arnaldo Carvalho de Melo:

    - Fix die_entrypc() when DW_AT_ranges DWARF attribute not available

    - Cope with broken DWARF (missing DW_AT_declaration) generated by some
    recent gcc versions

    - Do not generate CGROUP metadata events when not asked to in 'perf
    record'

    - Use proper CPU for shadow stats in 'perf stat'

    - Update copy of libbpf's hashmap.c, silencing tools/perf build warning

    - Fix return value in 'perf diff'

    * tag 'perf-tools-fixes-for-v5.10-2020-11-28' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
    perf probe: Change function definition check due to broken DWARF
    perf probe: Fix to die_entrypc() returns error correctly
    perf stat: Use proper cpu for shadow stats
    perf record: Synthesize cgroup events only if needed
    perf diff: Fix error return value in __cmd_diff()
    perf tools: Update copy of libbpf's hashmap.c

    Linus Torvalds
     
  • Pull USB / PHY driver fixes from Greg KH:
    "Here are a few small USB and PHY driver fixes for 5.10-rc6. They
    include:

    - small PHY driver fixes to resolve reported issues

    - USB quirks added for "broken" devices

    - typec fixes for reported problems

    - USB gadget fixes for small issues

    Full details are in the shortlog, nothing major in here and all have
    been in linux-next with no reported issues"

    * tag 'usb-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    usb: typec: stusb160x: fix power-opmode property with typec-power-opmode
    USB: core: Change %pK for __user pointers to %px
    USB: core: Fix regression in Hercules audio card
    usb: gadget: Fix memleak in gadgetfs_fill_super
    usb: gadget: f_midi: Fix memleak in f_midi_alloc
    USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card
    usb: typec: qcom-pmic-typec: fix builtin build errors
    phy: mediatek: fix spelling mistake in Kconfig "veriosn" -> "version"
    phy: qualcomm: Fix 28 nm Hi-Speed USB PHY OF dependency
    phy: qualcomm: usb: Fix SuperSpeed PHY OF dependency
    phy: intel: PHY_INTEL_KEEMBAY_EMMC should depend on ARCH_KEEMBAY
    usb: cdns3: gadget: calculate TD_SIZE based on TD
    usb: cdns3: gadget: initialize link_trb as NULL
    phy: cpcap-usb: Use IRQF_ONESHOT
    phy: qcom-qmp: Initialize another pointer to NULL
    phy: tegra: xusb: Fix dangling pointer on probe failure
    phy: usb: Fix incorrect clearing of tca_drv_sel bit in SETUP reg for 7211

    Linus Torvalds
     
  • Pull char/misc driver fixes from Greg KH:
    "Here are some small misc driver fixes for 5.10-rc6. They include:

    - interconnect fixes for reported problems

    - habanalabs bugfix for found issue when doing the switch fallthrough
    patches

    - MAINTAINERS file update for coresight reviewers/maintainers

    All have been in linux-next with no reported issues"

    * tag 'char-misc-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    MAINTAINERS: Adding help for coresight subsystem
    habanalabs/gaudi: fix missing code in ECC handling
    interconnect: fix memory trashing in of_count_icc_providers()
    interconnect: qcom: qcs404: Remove GPU and display RPM IDs
    interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes
    interconnect: qcom: msm8974: Don't boost the NoC rate during boot
    interconnect: qcom: msm8974: Prevent integer overflow in rate

    Linus Torvalds
     

28 Nov, 2020

20 commits

  • …l/git/arnd/asm-generic

    Pull asm-generic fix from Arnd Bergmann:
    "Add correct MAX_POSSIBLE_PHYSMEM_BITS setting to asm-generic.

    This is a single bugfix for a bug that Stefan Agner found on 32-bit
    Arm, but that exists on several other architectures"

    * tag 'asm-generic-fixes-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed

    Linus Torvalds
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "Another set of patches for devicetree files and Arm SoC specific
    drivers:

    - A fix for OP-TEE shared memory on non-SMP systems

    - multiple code fixes for the OMAP platform, including one regression
    for the CPSW network driver and a few runtime warning fixes

    - Some DT patches for the Rockchip RK3399 platform, in particular
    fixing the MMC device ordering that recently became
    nondeterministic with async probe.

    - Multiple DT fixes for the Tegra platform, including a regression
    fix for suspend/resume on TX2

    - A regression fix for a user-triggered fault in the NXP dpio driver

    - A regression fix for a bug caused by an earlier bug fix in the
    xilinx firmware driver

    - Two more DTC warning fixes

    - Sylvain Lemieux steps down as maintainer for the NXP LPC32xx
    platform"

    * tag 'arm-soc-fixes-v5.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
    arm64: tegra: Fix Tegra234 VDK node names
    arm64: tegra: Wrong AON HSP reg property size
    arm64: tegra: Fix USB_VBUS_EN0 regulator on Jetson TX1
    arm64: tegra: Correct the UART for Jetson Xavier NX
    arm64: tegra: Disable the ACONNECT for Jetson TX2
    optee: add writeback to valid memory type
    firmware: xilinx: Use hash-table for api feature check
    firmware: xilinx: Fix SD DLL node reset issue
    soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
    ARM: dts: dra76x: m_can: fix order of clocks
    bus: ti-sysc: suppress err msg for timers used as clockevent/source
    MAINTAINERS: Remove myself as LPC32xx maintainers
    arm64: dts: qcom: clear the warnings caused by empty dma-ranges
    arm64: dts: broadcom: clear the warnings caused by empty dma-ranges
    ARM: dts: am437x-l4: fix compatible for cpsw switch dt node
    arm64: dts: rockchip: Reorder LED triggers from mmc devices on rk3399-roc-pc.
    arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
    arm64: dts: rockchip: Remove system-power-controller from pmic on Odroid Go Advance
    arm64: dts: rockchip: fix NanoPi R2S GMAC clock name
    ARM: OMAP2+: Manage MPU state properly for omap_enter_idle_coupled()
    ...

    Linus Torvalds
     
  • Pull networking fixes from Jakub Kicinski:
    "Networking fixes for 5.10-rc6, including fixes from the WiFi driver,
    and CAN subtrees.

    Current release - regressions:

    - gro_cells: reduce number of synchronize_net() calls

    - ch_ktls: release a lock before jumping to an error path

    Current release - always broken:

    - tcp: Allow full IP tos/IPv6 tclass to be reflected in L3 header

    Previous release - regressions:

    - net/tls: fix missing received data after fast remote close

    - vsock/virtio: discard packets only when socket is really closed

    - sock: set sk_err to ee_errno on dequeue from errq

    - cxgb4: fix the panic caused by non smac rewrite

    Previous release - always broken:

    - tcp: fix corner cases around setting ECN with BPF selection of
    congestion control

    - tcp: fix race condition when creating child sockets from syncookies
    on loopback interface

    - usbnet: ipheth: fix connectivity with iOS 14

    - tun: honor IOCB_NOWAIT flag

    - net/packet: fix packet receive on L3 devices without visible hard
    header

    - devlink: Make sure devlink instance and port are in same net
    namespace

    - net: openvswitch: fix TTL decrement action netlink message format

    - bonding: wait for sysfs kobject destruction before freeing struct
    slave

    - net: stmmac: fix upstream patch applied to the wrong context

    - bnxt_en: fix return value and unwind in probe error paths

    Misc:

    - devlink: add extra layer of categorization to the reload stats uAPI
    before it's released"

    * tag 'net-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (68 commits)
    sock: set sk_err to ee_errno on dequeue from errq
    mptcp: fix NULL ptr dereference on bad MPJ
    net: openvswitch: fix TTL decrement action netlink message format
    can: af_can: can_rx_unregister(): remove WARN() statement from list operation sanity check
    can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0
    can: m_can: fix nominal bitiming tseg2 min for version >= 3.1
    can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from request_threaded_irq()'s flags
    can: mcp251xfd: mcp251xfd_probe(): bail out if no IRQ was given
    can: gs_usb: fix endianess problem with candleLight firmware
    ch_ktls: lock is not freed
    net/tls: Protect from calling tls_dev_del for TLS RX twice
    devlink: Make sure devlink instance and port are in same net namespace
    devlink: Hold rtnl lock while reading netdev attributes
    ptp: clockmatrix: bug fix for idtcm_strverscmp
    enetc: Let the hardware auto-advance the taprio base-time of 0
    gro_cells: reduce number of synchronize_net() calls
    net: stmmac: fix incorrect merge of patch upstream
    ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init
    Documentation: netdev-FAQ: suggest how to post co-dependent series
    ibmvnic: enhance resetting status check during module exit
    ...

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "Three small fixes in the UFS driver: two are for power management
    issues and the third is to fix a slew of problem in the sysfs code"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: ufs: Fix race between shutdown and runtime resume flow
    scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE
    scsi: ufs: Fix unexpected values from ufshcd_read_desc_param()

    Linus Torvalds
     
  • Pull io_uring fixes from Jens Axboe:

    - Out of bounds fix for the cq size cap from earlier this release (Joseph)

    - iov_iter type check fix (Pavel)

    - Files grab + cancelation fix (Pavel)

    * tag 'io_uring-5.10-2020-11-27' of git://git.kernel.dk/linux-block:
    io_uring: fix files grab/cancel race
    io_uring: fix ITER_BVEC check
    io_uring: fix shift-out-of-bounds when round up cq size

    Linus Torvalds
     
  • Pull block fix from Jens Axboe:
    "Just a single fix, for a crash in the keyslot manager"

    * tag 'block-5.10-2020-11-27' of git://git.kernel.dk/linux-block:
    block/keyslot-manager: prevent crash when num_slots=1

    Linus Torvalds
     
  • Pull btrfs fixes from David Sterba:
    "A few fixes for various warnings that accumulated over past two weeks:

    - tree-checker: add missing return values for some errors

    - lockdep fixes
    - when reading qgroup config and starting quota rescan
    - reverse order of quota ioctl lock and VFS freeze lock

    - avoid accessing potentially stale fs info during device scan,
    reported by syzbot

    - add scope NOFS protection around qgroup relation changes

    - check for running transaction before flushing qgroups

    - fix tracking of new delalloc ranges for some cases"

    * tag 'for-5.10-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
    btrfs: fix lockdep splat when enabling and disabling qgroups
    btrfs: do nofs allocations when adding and removing qgroup relations
    btrfs: fix lockdep splat when reading qgroup config on mount
    btrfs: tree-checker: add missing returns after data_ref alignment checks
    btrfs: don't access possibly stale fs_info data for printing duplicate device
    btrfs: tree-checker: add missing return after error in root_item
    btrfs: qgroup: don't commit transaction when we already hold the handle
    btrfs: fix missing delalloc new bit for new delalloc ranges

    Linus Torvalds
     
  • Pull rdma fixes from Jason Gunthorpe:
    "Two security issues and several small bug fixes. Things seem to have
    stabilized for this release here.

    Summary:

    - Significant out of bounds access security issue in i40iw

    - Fix misuse of mmu notifiers in hfi1

    - Several errors in the register map/usage in hns

    - Missing error returns in mthca"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
    RDMA/hns: Bugfix for memory window mtpt configuration
    RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP
    RDMA/hns: Fix wrong field of SRQ number the device supports
    IB/hfi1: Ensure correct mm is used at all times
    RDMA/i40iw: Address an mmap handler exploit in i40iw
    IB/mthca: fix return value of error branch in mthca_init_cq()

    Linus Torvalds
     
  • Pull mtd fixes from Miquel Raynal:
    "Because of a recent change in the core, NAND controller drivers
    initializing the ECC engine too early in the probe path are broken.

    Drivers should wait for the NAND device to be discovered and its
    memory layout known before doing any ECC related initialization, so
    instead of reverting the faulty change which is actually moving in the
    right direction, let's fix the drivers directly: socrates, sharpsl,
    r852, plat_nand, pasemi, tmio, txx9ndfmc, orion, mpc5121, lpc32xx_slc,
    lpc32xx_mlc, fsmc, diskonchip, davinci, cs553x, au1550, ams-delta,
    xway and gpio"

    * tag 'mtd/fixes-for-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
    mtd: rawnand: socrates: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: sharpsl: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: r852: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: plat_nand: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: pasemi: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: tmio: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: txx9ndfmc: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: orion: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: mpc5121: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: lpc32xx_slc: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: lpc32xx_mlc: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: fsmc: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: diskonchip: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: davinci: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: cs553x: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: au1550: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: ams-delta: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: xway: Move the ECC initialization to ->attach_chip()
    mtd: rawnand: gpio: Move the ECC initialization to ->attach_chip()

    Linus Torvalds
     
  • Pull spi fixes from Mark Brown:
    "A few fixes for v5.10, one for the core which fixes some potential
    races for controllers with multiple chip selects when configuration of
    the chip select for one client device races with the addition and
    initial setup of an additional client"

    * tag 'spi-fix-v5.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
    spi: dw: Fix spi registration for controllers overriding CS
    spi: imx: fix the unbalanced spi runtime pm management
    spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts
    spi: Take the SPI IO-mutex in the spi_setup() method

    Linus Torvalds
     
  • Pull virtual digital TV driver fixes from Mauro Carvalho Chehab:
    "A series of fixes for the new virtual digital TV driver (vidtv), which
    is meant to help doing tests with the digital TV core and media
    userspace apps and libraries.

    They cover a series of issues I found on it, together with a few new
    things in order to make it easier to detect problems at the DVB core"

    * tag 'media/v5.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (36 commits)
    media: vidtv.rst: add kernel-doc markups
    media: vidtv.rst: update vidtv documentation
    media: vidtv: simplify EIT write function
    media: vidtv: simplify NIT write function
    media: vidtv: simplify SDT write function
    media: vidtv: cleanup PMT write table function
    media: vidtv: cleanup PAT write function
    media: vidtv: cleanup PSI table header function
    media: vidtv: cleanup PSI descriptor write function
    media: vidtv: simplify the crc writing logic
    media: vidtv: simplify PSI write function
    media: vidtv: add date to the current event
    media: vidtv: fix service_id at SDT table
    media: vidtv: fix service type
    media: vidtv: add a PID entry for the NIT table
    media: vidtv: properly fill EIT service_id
    media: vidtv: fix the network ID range
    media: vidtv: improve EIT data
    media: vidtv: cleanup null packet initialization logic
    media: vidtv: pre-initialize mux arrays
    ...

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Unfortunately this has a bit of thanksgiving stuffing in it, as it a
    bit larger (at least the vc4 patches) than I like at this point in
    time.

    The main thing is it has a bunch of regressions fixes for reports in
    the last couple of weeks, ast, nouveau and the amdgpu ttm init fix,
    along with the usual selection of amdgpu and i915 fixes.

    The vc4 fixes are a few but they are fixes and the nastiest one is a
    fix for when you have a 2.4Ghz Wifi and a HDMI signal with a clock in
    that range and there isn't enough shielding and interference happen
    between the two, the fix adjusts the mode clock to try and avoid the
    wifi channels in that case.

    Hopefully you can merge this between turkey slices, and next week
    should be quieter.

    ast:
    - LUT loading regression fix

    nouveau:
    - relocations regression fix

    amdgpu:
    - ttm init oops fix
    - Runtime pm fix
    - SI UVD suspend/resume fix
    - HDCP fix for headless cards
    - Sienna Cichlid golden register update

    i915:
    - Fix Perf/OA workaround register corruption (Lionel)
    - Correct a comment statement in GVT (Yan)
    - Fix GT enable/disable iterrupts, including a race condition that
    prevented GPU to go idle (Chris)
    - Free stale request on destroying the virtual engine (Chris)

    exynos:
    - config dependency fix

    mediatek:
    - unused var removal
    - horizonal front/back porch formula fix

    vc4:
    - wifi and hdmi interference fix
    - mode rejection fixes
    - use after free fix
    - cleanup some code"

    * tag 'drm-fixes-2020-11-27-1' of git://anongit.freedesktop.org/drm/drm: (28 commits)
    drm/nouveau: fix relocations applying logic and a double-free
    drm/ast: Reload gamma LUT after changing primary plane's color format
    drm/amdgpu: Fix size calculation when init onchip memory
    drm/amdgpu: update golden setting for sienna_cichlid
    drm/amd/display: Avoid HDCP initialization in devices without output
    drm/i915/gt: Free stale request on destroying the virtual engine
    drm/i915/gt: Don't cancel the interrupt shadow too early
    drm/i915/gt: Track signaled breadcrumbs outside of the breadcrumb spinlock
    drm/amdgpu: fix a page fault
    drm/amdgpu: fix SI UVD firmware validate resume fail
    drm/amd/amdgpu: fix null pointer in runtime pm
    drm/i915/gt: Defer enabling the breadcrumb interrupt to after submission
    drm/i915/gvt: correct a false comment of flag F_UNALIGN
    drm/i915/perf: workaround register corruption in OATAILPTR
    drm/vc4: kms: Don't disable the muxing of an active CRTC
    drm/vc4: kms: Store the unassigned channel list in the state
    drm/exynos: depend on COMMON_CLK to fix compile tests
    drm/mediatek: dsi: Modify horizontal front/back porch byte formula
    drm/vc4: hdmi: Disable Wifi Frequencies
    dt-bindings: display: Add a property to deal with WiFi coexistence
    ...

    Linus Torvalds
     
  • …nux/kernel/git/mkl/linux-can

    Marc Kleine-Budde says:

    ====================
    pull-request: can 2020-11-27

    The first patch is by me and target the gs_usb driver and fixes the endianess
    problem with candleLight firmware.

    Another patch by me for the mcp251xfd driver add sanity checking to bail out if
    no IRQ is configured.

    The next three patches target the m_can driver. A patch by me removes the
    hardcoded IRQF_TRIGGER_FALLING from the request_threaded_irq() as this clashes
    with the trigger level specified in the DT. Further a patch by me fixes the
    nominal bitiming tseg2 min value for modern m_can cores. Pankaj Sharma's patch
    add support for cores version 3.3.x.

    The last patch by Oliver Hartkopp is for af_can and converts a WARN() into a
    pr_warn(), which is triggered by the syzkaller. It was able to create a
    situation where the closing of a socket runs simultaneously to the notifier
    call chain for removing the CAN network device in use.

    * tag 'linux-can-fixes-for-5.10-20201127' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can:
    can: af_can: can_rx_unregister(): remove WARN() statement from list operation sanity check
    can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0
    can: m_can: fix nominal bitiming tseg2 min for version >= 3.1
    can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from request_threaded_irq()'s flags
    can: mcp251xfd: mcp251xfd_probe(): bail out if no IRQ was given
    can: gs_usb: fix endianess problem with candleLight firmware
    ====================

    Link: https://lore.kernel.org/r/20201127100301.512603-1-mkl@pengutronix.de
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

    Jakub Kicinski
     
  • …ernel/git/pdx86/platform-drivers-x86

    Pull x86 platform driver fixes from Hans de Goede:

    - thinkpad_acpi fixes: two bug-fixes and three model specific quirks

    - fixes for misc other drivers: two bug-fixes and three model specific
    quirks

    * tag 'platform-drivers-x86-v5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
    platform/x86: touchscreen_dmi: Add info for the Irbis TW118 tablet
    platform/x86: touchscreen_dmi: Add info for the Predia Basic tablet
    platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
    platform/x86: toshiba_acpi: Fix the wrong variable assignment
    platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
    platform/x86: thinkpad_acpi: Whitelist P15 firmware for dual fan control
    platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time
    platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen
    platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e
    platform/x86: thinkpad_acpi: add P1 gen3 second fan support

    Linus Torvalds
     
  • When setting sk_err, set it to ee_errno, not ee_origin.

    Commit f5f99309fa74 ("sock: do not set sk_err in
    sock_dequeue_err_skb") disabled updating sk_err on errq dequeue,
    which is correct for most error types (origins):

    - sk->sk_err = err;

    Commit 38b257938ac6 ("sock: reset sk_err when the error queue is
    empty") reenabled the behavior for IMCP origins, which do require it:

    + if (icmp_next)
    + sk->sk_err = SKB_EXT_ERR(skb_next)->ee.ee_origin;

    But read from ee_errno.

    Fixes: 38b257938ac6 ("sock: reset sk_err when the error queue is empty")
    Reported-by: Ayush Ranjan
    Signed-off-by: Willem de Bruijn
    Acked-by: Soheil Hassas Yeganeh
    Link: https://lore.kernel.org/r/20201126151220.2819322-1-willemdebruijn.kernel@gmail.com
    Signed-off-by: Jakub Kicinski

    Willem de Bruijn
     
  • If an msk listener receives an MPJ carrying an invalid token, it
    will zero the request socket msk entry. That should later
    cause fallback and subflow reset - as per RFC - at
    subflow_syn_recv_sock() time due to failing hmac validation.

    Since commit 4cf8b7e48a09 ("subflow: introduce and use
    mptcp_can_accept_new_subflow()"), we unconditionally dereference
    - in mptcp_can_accept_new_subflow - the subflow request msk
    before performing hmac validation. In the above scenario we
    hit a NULL ptr dereference.

    Address the issue doing the hmac validation earlier.

    Fixes: 4cf8b7e48a09 ("subflow: introduce and use mptcp_can_accept_new_subflow()")
    Tested-by: Davide Caratti
    Signed-off-by: Paolo Abeni
    Reviewed-by: Matthieu Baerts
    Link: https://lore.kernel.org/r/03b2cfa3ac80d8fc18272edc6442a9ddf0b1e34e.1606400227.git.pabeni@redhat.com
    Signed-off-by: Jakub Kicinski

    Paolo Abeni
     
  • Pull kvm fixes from Paolo Bonzini:
    "ARM:
    - Fix alignment of the new HYP sections
    - Fix GICR_TYPER access from userspace

    S390:
    - do not reset the global diag318 data for per-cpu reset
    - do not mark memory as protected too early
    - fix for destroy page ultravisor call

    x86:
    - fix for SEV debugging
    - fix incorrect return code
    - fix for 'noapic' with PIC in userspace and LAPIC in kernel
    - fix for 5-level paging"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    kvm: x86/mmu: Fix get_mmio_spte() on CPUs supporting 5-level PT
    KVM: x86: Fix split-irqchip vs interrupt injection window request
    KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint
    MAINTAINERS: Update email address for Sean Christopherson
    MAINTAINERS: add uv.c also to KVM/s390
    s390/uv: handle destroy page legacy interface
    KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace
    KVM: SVM: fix error return code in svm_create_vcpu()
    KVM: SVM: Fix offset computation bug in __sev_dbg_decrypt().
    KVM: arm64: Correctly align nVHE percpu data
    KVM: s390: remove diag318 reset code
    KVM: s390: pv: Mark mm as protected after the set secure parameters and improve cleanup

    Linus Torvalds
     
  • Currently, the openvswitch module is not accepting the correctly formated
    netlink message for the TTL decrement action. For both setting and getting
    the dec_ttl action, the actions should be nested in the
    OVS_DEC_TTL_ATTR_ACTION attribute as mentioned in the openvswitch.h uapi.

    When the original patch was sent, it was tested with a private OVS userspace
    implementation. This implementation was unfortunately not upstreamed and
    reviewed, hence an erroneous version of this patch was sent out.

    Leaving the patch as-is would cause problems as the kernel module could
    interpret additional attributes as actions and vice-versa, due to the
    actions not being encapsulated/nested within the actual attribute, but
    being concatinated after it.

    Fixes: 744676e77720 ("openvswitch: add TTL decrement action")
    Signed-off-by: Eelco Chaudron
    Link: https://lore.kernel.org/r/160622121495.27296.888010441924340582.stgit@wsfd-netdev64.ntdv.lab.eng.bos.redhat.com
    Signed-off-by: Jakub Kicinski

    Eelco Chaudron
     
  • Pull powerpc fixes from Michael Ellerman:
    "Some more powerpc fixes for 5.10:

    - regression fix for a boot failure on some 32-bit machines.

    - fix for host crashes in the KVM system reset handling.

    - fix for a possible oops in the KVM XIVE interrupt handling on
    Power9.

    - fix for host crashes triggerable via the KVM emulated MMIO handling
    when running HPT guests.

    - a couple of small build fixes.

    Thanks to Andreas Schwab, Cédric Le Goater, Christophe Leroy, Erhard
    Furtner, Greg Kurz, Greg Kurz, Németh Márton, Nicholas Piggin, Nick
    Desaulniers, Serge Belyshev, and Stephen Rothwell"

    * tag 'powerpc-5.10-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/64s: Fix allnoconfig build since uaccess flush
    powerpc/64s/exception: KVM Fix for host DSI being taken in HPT guest MMU context
    powerpc: Drop -me200 addition to build flags
    KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page
    powerpc/64s: Fix KVM system reset handling when CONFIG_PPC_PSERIES=y
    powerpc/32s: Use relocation offset when setting early hash table

    Linus Torvalds
     
  • Pull arm64 fixes from Will Deacon:
    "The main changes are relating to our handling of access/dirty bits,
    where our low-level page-table helpers could lead to stale young
    mappings and loss of the dirty bit in some cases (the latter has not
    been observed in practice, but could happen when clearing "soft-dirty"
    if we enabled that). These were posted as part of a larger series, but
    the rest of that is less urgent and needs a v2 which I'll get to
    shortly.

    In other news, we've now got a set of fixes to resolve the
    lockdep/tracing problems that have been plaguing us for a while, but
    they're still a bit "fresh" and I plan to send them to you next week
    after we've got some more confidence in them (although initial CI
    results look good).

    Summary:

    - Fix kerneldoc warnings generated by ACPI IORT code

    - Fix pte_accessible() so that access flag is ignored

    - Fix missing header #include

    - Fix loss of software dirty bit across pte_wrprotect() when HW DBM
    is enabled"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect()
    arm64: pgtable: Fix pte_accessible()
    ACPI/IORT: Fix doc warnings in iort.c
    arm64/fpsimd: add to to fix fpsimd build

    Linus Torvalds