26 Jan, 2021

1 commit


25 Jan, 2021

2 commits


20 Jan, 2021

5 commits

  • Changes in 5.10.9
    btrfs: reloc: fix wrong file extent type check to avoid false ENOENT
    btrfs: prevent NULL pointer dereference in extent_io_tree_panic
    ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines
    ALSA: doc: Fix reference to mixart.rst
    ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad X395
    ASoC: dapm: remove widget from dirty list on free
    x86/hyperv: check cpu mask after interrupt has been disabled
    drm/amdgpu: add green_sardine device id (v2)
    drm/amdgpu: fix DRM_INFO flood if display core is not supported (bug 210921)
    Revert "drm/amd/display: Fixed Intermittent blue screen on OLED panel"
    drm/amdgpu: add new device id for Renior
    drm/i915: Allow the sysadmin to override security mitigations
    drm/i915/gt: Limit VFE threads based on GT
    drm/i915/backlight: fix CPU mode backlight takeover on LPT
    drm/bridge: sii902x: Refactor init code into separate function
    dt-bindings: display: sii902x: Add supply bindings
    drm/bridge: sii902x: Enable I/O and core VCC supplies if present
    tracing/kprobes: Do the notrace functions check without kprobes on ftrace
    tools/bootconfig: Add tracing_on support to helper scripts
    ext4: use IS_ERR instead of IS_ERR_OR_NULL and set inode null when IS_ERR
    ext4: fix wrong list_splice in ext4_fc_cleanup
    ext4: fix bug for rename with RENAME_WHITEOUT
    cifs: check pointer before freeing
    cifs: fix interrupted close commands
    riscv: Drop a duplicated PAGE_KERNEL_EXEC
    riscv: return -ENOSYS for syscall -1
    riscv: Fixup CONFIG_GENERIC_TIME_VSYSCALL
    riscv: Fix KASAN memory mapping.
    mips: fix Section mismatch in reference
    mips: lib: uncached: fix non-standard usage of variable 'sp'
    MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB
    MIPS: Fix malformed NT_FILE and NT_SIGINFO in 32bit coredumps
    MIPS: relocatable: fix possible boot hangup with KASLR enabled
    RDMA/ocrdma: Fix use after free in ocrdma_dealloc_ucontext_pd()
    ACPI: scan: Harden acpi_device_add() against device ID overflows
    xen/privcmd: allow fetching resource sizes
    compiler.h: Raise minimum version of GCC to 5.1 for arm64
    mm/vmalloc.c: fix potential memory leak
    mm/hugetlb: fix potential missing huge page size info
    mm/process_vm_access.c: include compat.h
    dm raid: fix discard limits for raid1
    dm snapshot: flush merged data before committing metadata
    dm integrity: fix flush with external metadata device
    dm integrity: fix the maximum number of arguments
    dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq
    dm crypt: do not wait for backlogged crypto request completion in softirq
    dm crypt: do not call bio_endio() from the dm-crypt tasklet
    dm crypt: defer decryption to a tasklet if interrupts disabled
    stmmac: intel: change all EHL/TGL to auto detect phy addr
    r8152: Add Lenovo Powered USB-C Travel Hub
    btrfs: tree-checker: check if chunk item end overflows
    ext4: don't leak old mountpoint samples
    io_uring: don't take files/mm for a dead task
    io_uring: drop mm and files after task_work_run
    ARC: build: remove non-existing bootpImage from KBUILD_IMAGE
    ARC: build: add uImage.lzma to the top-level target
    ARC: build: add boot_targets to PHONY
    ARC: build: move symlink creation to arch/arc/Makefile to avoid race
    ARM: omap2: pmic-cpcap: fix maximum voltage to be consistent with defaults on xt875
    ath11k: fix crash caused by NULL rx_channel
    netfilter: ipset: fixes possible oops in mtype_resize
    ath11k: qmi: try to allocate a big block of DMA memory first
    btrfs: fix async discard stall
    btrfs: merge critical sections of discard lock in workfn
    btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan
    regulator: bd718x7: Add enable times
    ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram
    ARM: dts: ux500/golden: Set display max brightness
    habanalabs: adjust pci controller init to new firmware
    habanalabs/gaudi: retry loading TPC f/w on -EINTR
    habanalabs: register to pci shutdown callback
    staging: spmi: hisi-spmi-controller: Fix some error handling paths
    spi: altera: fix return value for altera_spi_txrx()
    habanalabs: Fix memleak in hl_device_reset
    hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values
    lib/raid6: Let $(UNROLL) rules work with macOS userland
    kconfig: remove 'kvmconfig' and 'xenconfig' shorthands
    spi: fix the divide by 0 error when calculating xfer waiting time
    io_uring: drop file refs after task cancel
    bfq: Fix computation of shallow depth
    arch/arc: add copy_user_page() to to fix build error on ARC
    misdn: dsp: select CONFIG_BITREVERSE
    net: ethernet: fs_enet: Add missing MODULE_LICENSE
    selftests: fix the return value for UDP GRO test
    nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN
    nvme: avoid possible double fetch in handling CQE
    nvmet-rdma: Fix list_del corruption on queue establishment failure
    drm/amd/display: fix sysfs amdgpu_current_backlight_pwm NULL pointer issue
    drm/amdgpu: fix a GPU hang issue when remove device
    drm/amd/pm: fix the failure when change power profile for renoir
    drm/amdgpu: fix potential memory leak during navi12 deinitialization
    usb: typec: Fix copy paste error for NVIDIA alt-mode description
    iommu/vt-d: Fix lockdep splat in sva bind()/unbind()
    ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
    drm/msm: Call msm_init_vram before binding the gpu
    ARM: picoxcell: fix missing interrupt-parent properties
    poll: fix performance regression due to out-of-line __put_user()
    rcu-tasks: Move RCU-tasks initialization to before early_initcall()
    bpf: Simplify task_file_seq_get_next()
    bpf: Save correct stopping point in file seq iteration
    x86/sev-es: Fix SEV-ES OUT/IN immediate opcode vc handling
    cfg80211: select CONFIG_CRC32
    nvme-fc: avoid calling _nvme_fc_abort_outstanding_ios from interrupt context
    iommu/vt-d: Update domain geometry in iommu_ops.at(de)tach_dev
    net/mlx5e: CT: Use per flow counter when CT flow accounting is enabled
    net/mlx5: Fix passing zero to 'PTR_ERR'
    net/mlx5: E-Switch, fix changing vf VLANID
    blk-mq-debugfs: Add decode for BLK_MQ_F_TAG_HCTX_SHARED
    mm: fix clear_refs_write locking
    mm: don't play games with pinned pages in clear_page_refs
    mm: don't put pinned pages into the swap cache
    perf intel-pt: Fix 'CPU too large' error
    dump_common_audit_data(): fix racy accesses to ->d_name
    ASoC: meson: axg-tdm-interface: fix loopback
    ASoC: meson: axg-tdmin: fix axg skew offset
    ASoC: Intel: fix error code cnl_set_dsp_D0()
    nvmet-rdma: Fix NULL deref when setting pi_enable and traddr INADDR_ANY
    nvme: don't intialize hwmon for discovery controllers
    nvme-tcp: fix possible data corruption with bio merges
    nvme-tcp: Fix warning with CONFIG_DEBUG_PREEMPT
    NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock
    pNFS: We want return-on-close to complete when evicting the inode
    pNFS: Mark layout for return if return-on-close was not sent
    pNFS: Stricter ordering of layoutget and layoutreturn
    NFS: Adjust fs_context error logging
    NFS/pNFS: Don't call pnfs_free_bucket_lseg() before removing the request
    NFS/pNFS: Don't leak DS commits in pnfs_generic_retry_commit()
    NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter
    NFS: nfs_delegation_find_inode_server must first reference the superblock
    NFS: nfs_igrab_and_active must first reference the superblock
    scsi: ufs: Fix possible power drain during system suspend
    ext4: fix superblock checksum failure when setting password salt
    RDMA/restrack: Don't treat as an error allocation ID wrapping
    RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp
    bnxt_en: Improve stats context resource accounting with RDMA driver loaded.
    RDMA/mlx5: Fix wrong free of blue flame register on error
    IB/mlx5: Fix error unwinding when set_has_smi_cap fails
    umount(2): move the flag validity checks first
    dm zoned: select CONFIG_CRC32
    drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence
    drm/i915/icl: Fix initing the DSI DSC power refcount during HW readout
    drm/i915/gt: Restore clear-residual mitigations for Ivybridge, Baytrail
    mm, slub: consider rest of partial list if acquire_slab() fails
    riscv: Trace irq on only interrupt is enabled
    iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev()
    net: sunrpc: interpret the return value of kstrtou32 correctly
    selftests: netfilter: Pass family parameter "-f" to conntrack tool
    dm: eliminate potential source of excessive kernel log noise
    ALSA: fireface: Fix integer overflow in transmit_midi_msg()
    ALSA: firewire-tascam: Fix integer overflow in midi_port_work()
    netfilter: conntrack: fix reading nf_conntrack_buckets
    netfilter: nf_nat: Fix memleak in nf_nat_init
    Linux 5.10.9

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I609e501511889081e03d2d18ee7e1be95406f396

    Greg Kroah-Hartman
     
  • [ Upstream commit 69ca310f34168eae0ada434796bfc22fb4a0fa26 ]

    On some systems, some variant of the following splat is
    repeatedly seen. The common factor in all traces seems
    to be the entry point to task_file_seq_next(). With the
    patch, all warnings go away.

    rcu: INFO: rcu_sched self-detected stall on CPU
    rcu: \x0926-....: (20992 ticks this GP) idle=d7e/1/0x4000000000000002 softirq=81556231/81556231 fqs=4876
    \x09(t=21033 jiffies g=159148529 q=223125)
    NMI backtrace for cpu 26
    CPU: 26 PID: 2015853 Comm: bpftool Kdump: loaded Not tainted 5.6.13-0_fbk4_3876_gd8d1f9bf80bb #1
    Hardware name: Quanta Twin Lakes MP/Twin Lakes Passive MP, BIOS F09_3A12 10/08/2018
    Call Trace:

    dump_stack+0x50/0x70
    nmi_cpu_backtrace.cold.6+0x13/0x50
    ? lapic_can_unplug_cpu.cold.30+0x40/0x40
    nmi_trigger_cpumask_backtrace+0xba/0xca
    rcu_dump_cpu_stacks+0x99/0xc7
    rcu_sched_clock_irq.cold.90+0x1b4/0x3aa
    ? tick_sched_do_timer+0x60/0x60
    update_process_times+0x24/0x50
    tick_sched_timer+0x37/0x70
    __hrtimer_run_queues+0xfe/0x270
    hrtimer_interrupt+0xf4/0x210
    smp_apic_timer_interrupt+0x5e/0x120
    apic_timer_interrupt+0xf/0x20

    RIP: 0010:get_pid_task+0x38/0x80
    Code: 89 f6 48 8d 44 f7 08 48 8b 00 48 85 c0 74 2b 48 83 c6 55 48 c1 e6 04 48 29 f0 74 19 48 8d 78 20 ba 01 00 00 00 f0 0f c1 50 20 d2 74 27 78 11 83 c2 01 78 0c 48 83 c4 08 c3 31 c0 48 83 c4 08
    RSP: 0018:ffffc9000d293dc8 EFLAGS: 00000202 ORIG_RAX: ffffffffffffff13
    RAX: ffff888637c05600 RBX: ffffc9000d293e0c RCX: 0000000000000000
    RDX: 0000000000000001 RSI: 0000000000000550 RDI: ffff888637c05620
    RBP: ffffffff8284eb80 R08: ffff88831341d300 R09: ffff88822ffd8248
    R10: ffff88822ffd82d0 R11: 00000000003a93c0 R12: 0000000000000001
    R13: 00000000ffffffff R14: ffff88831341d300 R15: 0000000000000000
    ? find_ge_pid+0x1b/0x20
    task_seq_get_next+0x52/0xc0
    task_file_seq_get_next+0x159/0x220
    task_file_seq_next+0x4f/0xa0
    bpf_seq_read+0x159/0x390
    vfs_read+0x8a/0x140
    ksys_read+0x59/0xd0
    do_syscall_64+0x42/0x110
    entry_SYSCALL_64_after_hwframe+0x44/0xa9
    RIP: 0033:0x7f95ae73e76e
    Code: Bad RIP value.
    RSP: 002b:00007ffc02c1dbf8 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
    RAX: ffffffffffffffda RBX: 000000000170faa0 RCX: 00007f95ae73e76e
    RDX: 0000000000001000 RSI: 00007ffc02c1dc30 RDI: 0000000000000007
    RBP: 00007ffc02c1ec70 R08: 0000000000000005 R09: 0000000000000006
    R10: fffffffffffff20b R11: 0000000000000246 R12: 00000000019112a0
    R13: 0000000000000000 R14: 0000000000000007 R15: 00000000004283c0

    If unable to obtain the file structure for the current task,
    proceed to the next task number after the one returned from
    task_seq_get_next(), instead of the next task number from the
    original iterator.

    Also, save the stopping task number from task_seq_get_next()
    on failure in case of restarts.

    Fixes: eaaacd23910f ("bpf: Add task and task/file iterator targets")
    Signed-off-by: Jonathan Lemon
    Signed-off-by: Daniel Borkmann
    Acked-by: Andrii Nakryiko
    Link: https://lore.kernel.org/bpf/20201218185032.2464558-2-jonathan.lemon@gmail.com
    Signed-off-by: Sasha Levin

    Jonathan Lemon
     
  • [ Upstream commit 91b2db27d3ff9ad29e8b3108dfbf1e2f49fe9bd3 ]

    Simplify task_file_seq_get_next() by removing two in/out arguments: task
    and fstruct. Use info->task and info->files instead.

    Signed-off-by: Song Liu
    Signed-off-by: Daniel Borkmann
    Acked-by: Yonghong Song
    Link: https://lore.kernel.org/bpf/20201120002833.2481110-1-songliubraving@fb.com
    Signed-off-by: Sasha Levin

    Song Liu
     
  • [ Upstream commit 1b04fa9900263b4e217ca2509fd778b32c2b4eb2 ]

    PowerPC testing encountered boot failures due to RCU Tasks not being
    fully initialized until core_initcall() time. This commit therefore
    initializes RCU Tasks (along with Rude RCU and RCU Tasks Trace) just
    before early_initcall() time, thus allowing waiting on RCU Tasks grace
    periods from early_initcall() handlers.

    Link: https://lore.kernel.org/rcu/87eekfh80a.fsf@dja-thinkpad.axtens.net/
    Fixes: 36dadef23fcc ("kprobes: Init kprobes in early_initcall")
    Tested-by: Daniel Axtens
    Signed-off-by: Uladzislau Rezki (Sony)
    Signed-off-by: Paul E. McKenney
    Signed-off-by: Sasha Levin

    Uladzislau Rezki (Sony)
     
  • commit 7bb83f6fc4ee84e95d0ac0d14452c2619fb3fe70 upstream.

    Enable the notrace function check on the architecture which doesn't
    support kprobes on ftrace but support dynamic ftrace. This notrace
    function check is not only for the kprobes on ftrace but also
    sw-breakpoint based kprobes.
    Thus there is no reason to limit this check for the arch which
    supports kprobes on ftrace.

    This also changes the dependency of Kconfig. Because kprobe event
    uses the function tracer's address list for identifying notrace
    function, if the CONFIG_DYNAMIC_FTRACE=n, it can not check whether
    the target function is notrace or not.

    Link: https://lkml.kernel.org/r/20210105065730.2634785-1-naveen.n.rao@linux.vnet.ibm.com
    Link: https://lkml.kernel.org/r/161007957862.114704.4512260007555399463.stgit@devnote2

    Cc: stable@vger.kernel.org
    Fixes: 45408c4f92506 ("tracing: kprobes: Prohibit probing on notrace function")
    Acked-by: Naveen N. Rao
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)
    Signed-off-by: Greg Kroah-Hartman

    Masami Hiramatsu
     

19 Jan, 2021

1 commit


18 Jan, 2021

3 commits

  • When the schedutil, it will call map_util_freq() to
    calculate the target frequence level. It will use below to calculate:

    next_freq = C * curr_freq * util_raw / max

    By default the C = 1.25 in map_util_freq(). But in some performance
    sensitive product, we want CPU working in higher freq for some low util
    task to get better performance, so that add a freq_coefficient to
    tuning the schedutil. The default freq_coefficient is 1. Then the
    next_freq will be calculated by:

    next_freq = freq_coefficient * C * curr_freq * util_raw / max

    TEST: $echo 2 > /sys/devices/system/cpu/cpufreq/schedutil/freq_coefficient
    $cat /sys/devices/system/cpu/cpufreq/schedutil/freq_coefficient

    Change-Id: I6b3169c00c2c60c40c645de487b46fe90f655a3f
    Signed-off-by: Haoran.Wang

    Haoran.Wang
     
  • Broadcast device is switched to oneshot mode in
    hrtimer_switch_to_hres() -> tick_broadcast_switch_to_oneshot().
    After high resolution timers are enabled, new installed
    broadcast device has no chance to switch mode.

    This issue happens in below situation:
    To make broadcast clock source driver build as module,
    use module_platform_driver() to replace TIMER_OF_DECLARE().
    This will make clock source driver probed later than
    high resolution timers enabled.

    Change-Id: I5cada6507bf44162b0642bc10efd1548b1b3f68a
    Signed-off-by: Jindong Yue

    Jindong Yue
     
  • irq_chip_pm_get/irq_chip_pm_put are used in imx gpio driver.
    If build imx gpio as module, need export these two symbols.

    Change-Id: Ifbdffe3bbf33f7db1585202b205e643b5ca2ceef
    Signed-off-by: zhang sanshan

    zhang sanshan
     

15 Jan, 2021

5 commits

  • Code added for cpu pause feature should be conditional based on
    CONFIG_SUSPEND

    Fixes: 5ada76d05637 ("ANDROID: sched/pause: prevent wake up paused cpus")
    Bug: 161210528
    Reported-by: kernel test robot
    Signed-off-by: Todd Kjos
    Change-Id: I8dc31064bafb31dd570daae97b7bb547384a771f

    Todd Kjos
     
  • With ThinLTO and CFI both enabled, LLVM appends a hash to the
    names of all static functions. This breaks userspace tools, so
    strip out the hash from output.

    Bug: 145210207
    Change-Id: Icc0173f1d754b378ae81a9f91d84c0814ba26b78
    Suggested-by: Jack Pham
    Signed-off-by: Sami Tolvanen

    Sami Tolvanen
     
  • With CFI, a callback function passed to __kthread_queue_delayed_work
    from a module can point to a jump table entry defined in the module
    instead of the one used in the core kernel, which breaks this test:

    WARN_ON_ONCE(timer->function != kthread_delayed_work_timer_fn);

    To work around the problem, disable the warning when CFI and modules
    are both enabled.

    Bug: 145210207
    Change-Id: I5b0a60bb69ce8e2bc0d8e4bf6736457b6425b6cf
    Signed-off-by: Sami Tolvanen

    Sami Tolvanen
     
  • With CFI, a callback function passed to __queue_delayed_work from a
    module can point to a jump table entry defined in the module instead
    of the one used in the core kernel, which breaks this test:

    WARN_ON_ONCE(timer->function != delayed_work_timer_fn);

    To work around the problem, disable the warning when CFI and modules
    are both enabled.

    Bug: 145210207
    Change-Id: I2a631ea3da9e401af38accf1001082b93b9b3443
    Signed-off-by: Sami Tolvanen

    Sami Tolvanen
     
  • This change adds the CONFIG_CFI_CLANG option, CFI error handling,
    and a faster look-up table for cross module CFI checks.

    Bug: 145210207
    Change-Id: I68d620ca548a911e2f49ba801bc0531406e679a3
    Signed-off-by: Sami Tolvanen

    Sami Tolvanen
     

14 Jan, 2021

6 commits

  • Previously idle_cpu is exported which is used by vendor module to check
    if a cpu is in idle state, but later we think available_idle_cpu is
    better than idle_cpu because it also checks vcpu_is_preempted.

    Bug: 171740453
    Change-Id: I17ccc4925650431f334a9eb2bbc94a138ab36ae0
    Signed-off-by: Rick Yiu
    Signed-off-by: Will McVicker

    Rick Yiu
     
  • If CONFIG_LOCKDEP is enabled, export sched_domains_mutex as it is
    indirectly accessed by the macro for_each_domain, and that macro might
    be used in module code.

    Bug: 176254015
    Signed-off-by: Daniel Mentz
    Change-Id: Ia9f2989de41b2224c63855f2fd129cbeeac4f195
    Signed-off-by: Will McVicker

    Daniel Mentz
     
  • IOMMU_SYS_CACHE_ONLY_NWA allows buffers for non-coherent devices
    to be mapped with the correct memory attributes so that the buffers
    can be cached in the system cache, with a no write allocate cache policy.
    However, this property is only usable by drivers that invoke the
    IOMMU API directly; it is not usable by drivers that use the DMA API.

    Thus, introduce DMA_ATTR_SYS_CACHE_ONLY_NWA, so that drivers for
    non-coherent devices that use the DMA API can use it to specify if
    they want a buffer to be cached in the system cache.

    Bug: 176778547
    Change-Id: Ic812a1fb144a58deb4279c2bf121fc6cc4c3b208
    Signed-off-by: Isaac J. Manjarres

    Isaac J. Manjarres
     
  • IOMMU_SYS_CACHE_ONLY allows buffers for non-coherent devices
    to be mapped with the correct memory attributes so that the buffers
    can be cached in the system cache. However, this property
    is only usable by drivers that invoke the IOMMU API directly;
    it is not usable by drivers that use the DMA API.

    Thus, introduce DMA_ATTR_SYS_CACHE_ONLY, so that drivers for
    non-coherent devices that use the DMA API can use it to specify if
    they want a buffer to be cached in the system cache.

    Bug: 176778547
    Change-Id: I849d7a3f36b689afd2f6ee400507223fd6395158
    Signed-off-by: Isaac J. Manjarres

    Isaac J. Manjarres
     
  • Add following vendor hooks in ftrace oops path to allow
    vendor modules to get ftrace buffer data.

    1) android_vh_ftrace_oops_enter
    2) android_vh_ftrace_size_check
    3) android_vh_ftrace_format_check
    4) android_vh_ftrace_dump_buffer
    5) android_vh_ftrace_oops_exit

    Ftrace dump on oops can be controlled with kernel command
    line parameter ftrace_dump_on_oops.

    Bug: 177387994
    Change-Id: I898026bfc3e5c5c5ab1eaa0e86a019a6a720408e
    Signed-off-by: Prateek Sood
    Signed-off-by: Mukesh Ojha

    Prateek Sood
     
  • Export kstat_irqs_usr and kstat_irqs_cpu symbols for vendor
    loadable modules. These symbols are useful for continuous
    monitoring of irq stats to detect problems like interrupt
    storms.

    1) kstat_irqs_usr: it helps in getting total interrupt count
    for an IRQ.

    2) kstat_irqs_cpu: it helps in getting per cpu interrupt count
    for an IRQ.

    Bug: 177393442
    Change-Id: I6f65c5759cd096db391e1c41e4260aa4ebc40fb4
    Signed-off-by: Prateek Sood
    Signed-off-by: Mukesh Ojha

    Prateek Sood
     

13 Jan, 2021

11 commits

  • Changes in 5.10.7
    i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs
    iavf: fix double-release of rtnl_lock
    net/sched: sch_taprio: ensure to reset/destroy all child qdiscs
    net: mvpp2: Add TCAM entry to drop flow control pause frames
    net: mvpp2: prs: fix PPPoE with ipv6 packet parse
    net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE
    ethernet: ucc_geth: fix use-after-free in ucc_geth_remove()
    ethernet: ucc_geth: set dev->max_mtu to 1518
    ionic: account for vlan tag len in rx buffer len
    atm: idt77252: call pci_disable_device() on error path
    net: mvpp2: Fix GoP port 3 Networking Complex Control configurations
    net: stmmac: dwmac-meson8b: ignore the second clock input
    ibmvnic: fix login buffer memory leak
    ibmvnic: continue fatal error reset after passive init
    net: ethernet: mvneta: Fix error handling in mvneta_probe
    qede: fix offload for IPIP tunnel packets
    virtio_net: Fix recursive call to cpus_read_lock()
    net/ncsi: Use real net-device for response handler
    net: ethernet: Fix memleak in ethoc_probe
    net-sysfs: take the rtnl lock when storing xps_cpus
    net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc
    net-sysfs: take the rtnl lock when storing xps_rxqs
    net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc
    net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered
    tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS
    e1000e: Only run S0ix flows if shutdown succeeded
    e1000e: bump up timeout to wait when ME un-configures ULP mode
    Revert "e1000e: disable s0ix entry and exit flows for ME systems"
    e1000e: Export S0ix flags to ethtool
    bnxt_en: Check TQM rings for maximum supported value.
    net: mvpp2: fix pkt coalescing int-threshold configuration
    bnxt_en: Fix AER recovery.
    ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst()
    net: sched: prevent invalid Scell_log shift count
    net: hns: fix return value check in __lb_other_process()
    erspan: fix version 1 check in gre_parse_header()
    net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
    bareudp: set NETIF_F_LLTX flag
    bareudp: Fix use of incorrect min_headroom size
    vhost_net: fix ubuf refcount incorrectly when sendmsg fails
    r8169: work around power-saving bug on some chip versions
    net: dsa: lantiq_gswip: Enable GSWIP_MII_CFG_EN also for internal PHYs
    net: dsa: lantiq_gswip: Fix GSWIP_MII_CFG(p) register access
    CDC-NCM: remove "connected" log message
    ibmvnic: fix: NULL pointer dereference.
    net: usb: qmi_wwan: add Quectel EM160R-GL
    selftests: mlxsw: Set headroom size of correct port
    stmmac: intel: Add PCI IDs for TGL-H platform
    selftests/vm: fix building protection keys test
    block: add debugfs stanza for QUEUE_FLAG_NOWAIT
    workqueue: Kick a worker based on the actual activation of delayed works
    scsi: ufs: Fix wrong print message in dev_err()
    scsi: ufs-pci: Fix restore from S4 for Intel controllers
    scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk ->poweroff()
    scsi: ufs-pci: Fix recovery from hibernate exit errors for Intel controllers
    scsi: ufs-pci: Enable UFSHCD_CAP_RPM_AUTOSUSPEND for Intel controllers
    scsi: block: Introduce BLK_MQ_REQ_PM
    scsi: ide: Do not set the RQF_PREEMPT flag for sense requests
    scsi: ide: Mark power management requests with RQF_PM instead of RQF_PREEMPT
    scsi: scsi_transport_spi: Set RQF_PM for domain validation commands
    scsi: core: Only process PM requests if rpm_status != RPM_ACTIVE
    local64.h: make mandatory
    lib/genalloc: fix the overflow when size is too big
    depmod: handle the case of /sbin/depmod without /sbin in PATH
    scsi: ufs: Clear UAC for FFU and RPMB LUNs
    kbuild: don't hardcode depmod path
    Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close
    scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPT
    scsi: block: Do not accept any requests while suspended
    crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
    crypto: asym_tpm: correct zero out potential secrets
    powerpc: Handle .text.{hot,unlikely}.* in linker script
    Staging: comedi: Return -EFAULT if copy_to_user() fails
    staging: mt7621-dma: Fix a resource leak in an error handling path
    usb: gadget: enable super speed plus
    USB: cdc-acm: blacklist another IR Droid device
    USB: cdc-wdm: Fix use after free in service_outstanding_interrupt().
    usb: typec: intel_pmc_mux: Configure HPD first for HPD+IRQ request
    usb: dwc3: meson-g12a: disable clk on error handling path in probe
    usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
    usb: dwc3: gadget: Clear wait flag on dequeue
    usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion
    usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one
    usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression
    usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data()
    USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set
    usb: usbip: vhci_hcd: protect shift size
    usb: uas: Add PNY USB Portable SSD to unusual_uas
    USB: serial: iuu_phoenix: fix DMA from stack
    USB: serial: option: add LongSung M5710 module support
    USB: serial: option: add Quectel EM160R-GL
    USB: yurex: fix control-URB timeout handling
    USB: usblp: fix DMA to stack
    ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks
    usb: gadget: select CONFIG_CRC32
    USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug
    usb: gadget: f_uac2: reset wMaxPacketSize
    usb: gadget: function: printer: Fix a memory leak for interface descriptor
    usb: gadget: u_ether: Fix MTU size mismatch with RX packet size
    USB: gadget: legacy: fix return error code in acm_ms_bind()
    usb: gadget: Fix spinlock lockup on usb_function_deactivate
    usb: gadget: configfs: Preserve function ordering after bind failure
    usb: gadget: configfs: Fix use-after-free issue with udc_name
    USB: serial: keyspan_pda: remove unused variable
    hwmon: (amd_energy) fix allocation of hwmon_channel_info config
    mm: make wait_on_page_writeback() wait for multiple pending writebacks
    x86/mm: Fix leak of pmd ptlock
    KVM: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte()
    KVM: x86/mmu: Get root level from walkers when retrieving MMIO SPTE
    kvm: check tlbs_dirty directly
    KVM: x86/mmu: Ensure TDP MMU roots are freed after yield
    x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
    x86/resctrl: Don't move a task to the same resource group
    blk-iocost: fix NULL iocg deref from racing against initialization
    ALSA: hda/via: Fix runtime PM for Clevo W35xSS
    ALSA: hda/conexant: add a new hda codec CX11970
    ALSA: hda/realtek - Fix speaker volume control on Lenovo C940
    ALSA: hda/realtek: Add mute LED quirk for more HP laptops
    ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7
    ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256.
    iommu/vt-d: Move intel_iommu info from struct intel_svm to struct intel_svm_dev
    btrfs: qgroup: don't try to wait flushing if we're already holding a transaction
    btrfs: send: fix wrong file path when there is an inode with a pending rmdir
    Revert "device property: Keep secondary firmware node secondary by type"
    dmabuf: fix use-after-free of dmabuf's file->f_inode
    arm64: link with -z norelro for LLD or aarch64-elf
    drm/i915: clear the shadow batch
    drm/i915: clear the gpu reloc batch
    bcache: fix typo from SUUP to SUPP in features.h
    bcache: check unsupported feature sets for bcache register
    bcache: introduce BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE for large bucket
    net/mlx5e: Fix SWP offsets when vlan inserted by driver
    ARM: dts: OMAP3: disable AES on N950/N9
    netfilter: x_tables: Update remaining dereference to RCU
    netfilter: ipset: fix shift-out-of-bounds in htable_bits()
    netfilter: xt_RATEEST: reject non-null terminated string from userspace
    netfilter: nft_dynset: report EOPNOTSUPP on missing set feature
    dmaengine: idxd: off by one in cleanup code
    x86/mtrr: Correct the range check before performing MTRR type lookups
    KVM: x86: fix shift out of bounds reported by UBSAN
    xsk: Fix memory leak for failed bind
    rtlwifi: rise completion at the last step of firmware callback
    scsi: target: Fix XCOPY NAA identifier lookup
    Linux 5.10.7

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I1a7c195af35831fe362b027fe013c0c7e4dc20ea

    Greg Kroah-Hartman
     
  • Changes in 5.10.6
    Revert "drm/amd/display: Fix memory leaks in S3 resume"
    Revert "mtd: spinand: Fix OOB read"
    rtc: pcf2127: move watchdog initialisation to a separate function
    rtc: pcf2127: only use watchdog when explicitly available
    dt-bindings: rtc: add reset-source property
    kdev_t: always inline major/minor helper functions
    Bluetooth: Fix attempting to set RPA timeout when unsupported
    ALSA: hda/realtek - Modify Dell platform name
    ALSA: hda/hdmi: Fix incorrect mutex unlock in silent_stream_disable()
    drm/i915/tgl: Fix Combo PHY DPLL fractional divider for 38.4MHz ref clock
    scsi: ufs: Allow an error return value from ->device_reset()
    scsi: ufs: Re-enable WriteBooster after device reset
    RDMA/core: remove use of dma_virt_ops
    RDMA/siw,rxe: Make emulated devices virtual in the device tree
    fuse: fix bad inode
    perf: Break deadlock involving exec_update_mutex
    rwsem: Implement down_read_killable_nested
    rwsem: Implement down_read_interruptible
    exec: Transform exec_update_mutex into a rw_semaphore
    mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start
    Linux 5.10.6

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: Id4c57a151a1e8f2162163d2337b6055f04edbe9b

    Greg Kroah-Hartman
     
  • Export symbols needed to implement vendor scheduler value-adds to modify
    sched features.

    Bug: 177050087
    Change-Id: Ibe14d2019403be68b7ceeee47425b2473ccb51fe
    Signed-off-by: Shaleen Agrawal

    Shaleen Agrawal
     
  • When used for qos or other reasons, wake up idle
    cpus will wake cpus en-mass. Cpus that are paused
    should not be woken up like this.

    Update to use active_mask, so that paused cpus are
    ignored for general cpu wakeup operations.

    Bug: 161210528
    Change-Id: I10721e75497a8902f8ec998ded4e2eb094770f38
    Signed-off-by: Stephen Dickey

    Stephen Dickey
     
  • With the introduction of pause, irqs should avoid
    paused cpus. Previously, when userspace set the
    irq affinity, it was only filtered toward online cpus.
    A cpu can be paused but online, and irqs should avoid.

    Check the cpu_active_mask instead of the online mask
    when writing the irq affinity, such that the subset
    of cpus allowed doesn't include inactive cpus.

    Bug: 161210528
    Change-Id: I359a452cc97ad58ad85e9613a29d144ffcd51567
    Signed-off-by: Stephen Dickey

    Stephen Dickey
     
  • Export task_may_not_preempt.

    Bug: 174030348
    Signed-off-by: Rick Yiu
    Change-Id: I71b50f876306811f008414096043b883dc43b4d5
    Signed-off-by: Will McVicker

    Rick Yiu
     
  • Export cpupri_find_fitness.

    Bug: 174030348
    Signed-off-by: Rick Yiu
    Change-Id: I47b2af2395bc7a618eb4f4af4469cc2422e25446
    Signed-off-by: Will McVicker

    Rick Yiu
     
  • Since the sugov traces were added in kernel/sched/cpufreq_schedutil.c,
    move it from power.h to sched.h.
    And move the tracepoint to where the change happens.

    Bug: 174488007
    Test: build pass and boot to home
    Signed-off-by: Jimmy Shiu
    Change-Id: Ibe18f04773c28be84db3619b1a4253bf08f0e289
    Signed-off-by: Will McVicker

    Jimmy Shiu
     
  • [ Upstream commit 01341fbd0d8d4e717fc1231cdffe00343088ce0b ]

    In realtime scenario, We do not want to have interference on the
    isolated cpu cores. but when invoking alloc_workqueue() for percpu wq
    on the housekeeping cpu, it kick a kworker on the isolated cpu.

    alloc_workqueue
    pwq_adjust_max_active
    wake_up_worker

    The comment in pwq_adjust_max_active() said:
    "Need to kick a worker after thawed or an unbound wq's
    max_active is bumped"

    So it is unnecessary to kick a kworker for percpu's wq when invoking
    alloc_workqueue(). this patch only kick a worker based on the actual
    activation of delayed works.

    Signed-off-by: Yunfeng Ye
    Reviewed-by: Lai Jiangshan
    Signed-off-by: Tejun Heo
    Signed-off-by: Sasha Levin

    Yunfeng Ye
     
  • The vendor hook in select_task_rq_fair() currently sees a potentially
    stale task utilization. Make sure to sync it beforehand to avoid any
    issues.

    Fixes: a1fc1fba460b ("ANDROID: sched: add restrict vendor hook to modify task placement policy in EAS")
    Signed-off-by: Quentin Perret
    Change-Id: I7675ce9fd37b160f8a7ba9651ae73b69a16d6d12

    Quentin Perret
     
  • The vendor hook in find_energy_efficient_cpu() currently sees a
    potentially stale task utilization. Make sure to sync it beforehand to
    avoid any issues by moving the call at the top of the function. This
    also ensures the check on task_fits_capacity() when the sync flag is set
    sees an up-to-date task util.

    Fixes: a9c5fcfe9c76 ("ANDROID: sched/fair: Have sync honor fits_capacity")
    Fixes: 147a9b3d9eab ("ANDROID: sched: Add vendor hooks for find_energy_efficient_cpu")
    Signed-off-by: Quentin Perret
    Change-Id: Ie9a6c89249a2aefbccced4786ce4d4728e39dd12

    Quentin Perret
     

12 Jan, 2021

1 commit


10 Jan, 2021

1 commit

  • Changes in 5.10.5
    net/sched: sch_taprio: reset child qdiscs before freeing them
    mptcp: fix security context on server socket
    ethtool: fix error paths in ethnl_set_channels()
    ethtool: fix string set id check
    md/raid10: initialize r10_bio->read_slot before use.
    drm/amd/display: Add get_dig_frontend implementation for DCEx
    io_uring: close a small race gap for files cancel
    jffs2: Allow setting rp_size to zero during remounting
    jffs2: Fix NULL pointer dereference in rp_size fs option parsing
    spi: dw-bt1: Fix undefined devm_mux_control_get symbol
    opp: fix memory leak in _allocate_opp_table
    opp: Call the missing clk_put() on error
    scsi: block: Fix a race in the runtime power management code
    mm/hugetlb: fix deadlock in hugetlb_cow error path
    mm: memmap defer init doesn't work as expected
    lib/zlib: fix inflating zlib streams on s390
    io_uring: don't assume mm is constant across submits
    io_uring: use bottom half safe lock for fixed file data
    io_uring: add a helper for setting a ref node
    io_uring: fix io_sqe_files_unregister() hangs
    uapi: move constants from to
    tools headers UAPI: Sync linux/const.h with the kernel headers
    cgroup: Fix memory leak when parsing multiple source parameters
    zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c
    scsi: cxgb4i: Fix TLS dependency
    Bluetooth: hci_h5: close serdev device and free hu in h5_close
    fbcon: Disable accelerated scrolling
    reiserfs: add check for an invalid ih_entry_count
    misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_ctx_get_chkpt_doorbells()
    media: gp8psk: initialize stats at power control logic
    f2fs: fix shift-out-of-bounds in sanity_check_raw_super()
    ALSA: seq: Use bool for snd_seq_queue internal flags
    ALSA: rawmidi: Access runtime->avail always in spinlock
    bfs: don't use WARNING: string when it's just info.
    ext4: check for invalid block size early when mounting a file system
    fcntl: Fix potential deadlock in send_sig{io, urg}()
    io_uring: check kthread stopped flag when sq thread is unparked
    rtc: sun6i: Fix memleak in sun6i_rtc_clk_init
    module: set MODULE_STATE_GOING state when a module fails to load
    quota: Don't overflow quota file offsets
    rtc: pl031: fix resource leak in pl031_probe
    powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe()
    i3c master: fix missing destroy_workqueue() on error in i3c_master_register
    NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode
    f2fs: avoid race condition for shrinker count
    f2fs: fix race of pending_pages in decompression
    module: delay kobject uevent until after module init call
    powerpc/64: irq replay remove decrementer overflow check
    fs/namespace.c: WARN if mnt_count has become negative
    watchdog: rti-wdt: fix reference leak in rti_wdt_probe
    um: random: Register random as hwrng-core device
    um: ubd: Submit all data segments atomically
    NFSv4.2: Don't error when exiting early on a READ_PLUS buffer overflow
    ceph: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode fails
    drm/amd/display: updated wm table for Renoir
    tick/sched: Remove bogus boot "safety" check
    s390: always clear kernel stack backchain before calling functions
    io_uring: remove racy overflow list fast checks
    ALSA: pcm: Clear the full allocated memory at hw_params
    dm verity: skip verity work if I/O error when system is shutting down
    ext4: avoid s_mb_prefetch to be zero in individual scenarios
    device-dax: Fix range release
    Linux 5.10.5

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I2b481bfac06bafdef2cf3cc1ac2c2a4ddf9913dc

    Greg Kroah-Hartman
     

09 Jan, 2021

4 commits

  • [ Upstream commit f7cfd871ae0c5008d94b6f66834e7845caa93c15 ]

    Recently syzbot reported[0] that there is a deadlock amongst the users
    of exec_update_mutex. The problematic lock ordering found by lockdep
    was:

    perf_event_open (exec_update_mutex -> ovl_i_mutex)
    chown (ovl_i_mutex -> sb_writes)
    sendfile (sb_writes -> p->lock)
    by reading from a proc file and writing to overlayfs
    proc_pid_syscall (p->lock -> exec_update_mutex)

    While looking at possible solutions it occured to me that all of the
    users and possible users involved only wanted to state of the given
    process to remain the same. They are all readers. The only writer is
    exec.

    There is no reason for readers to block on each other. So fix
    this deadlock by transforming exec_update_mutex into a rw_semaphore
    named exec_update_lock that only exec takes for writing.

    Cc: Jann Horn
    Cc: Vasiliy Kulikov
    Cc: Al Viro
    Cc: Bernd Edlinger
    Cc: Oleg Nesterov
    Cc: Christopher Yeoh
    Cc: Cyrill Gorcunov
    Cc: Sargun Dhillon
    Cc: Christian Brauner
    Cc: Arnd Bergmann
    Cc: Peter Zijlstra
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Fixes: eea9673250db ("exec: Add exec_update_mutex to replace cred_guard_mutex")
    [0] https://lkml.kernel.org/r/00000000000063640c05ade8e3de@google.com
    Reported-by: syzbot+db9cdf3dd1f64252c6ef@syzkaller.appspotmail.com
    Link: https://lkml.kernel.org/r/87ft4mbqen.fsf@x220.int.ebiederm.org
    Signed-off-by: Eric W. Biederman
    Signed-off-by: Sasha Levin

    Eric W. Biederman
     
  • [ Upstream commit 31784cff7ee073b34d6eddabb95e3be2880a425c ]

    In preparation for converting exec_update_mutex to a rwsem so that
    multiple readers can execute in parallel and not deadlock, add
    down_read_interruptible. This is needed for perf_event_open to be
    converted (with no semantic changes) from working on a mutex to
    wroking on a rwsem.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Peter Zijlstra (Intel)
    Link: https://lkml.kernel.org/r/87k0tybqfy.fsf@x220.int.ebiederm.org
    Signed-off-by: Sasha Levin

    Eric W. Biederman
     
  • [ Upstream commit 0f9368b5bf6db0c04afc5454b1be79022a681615 ]

    In preparation for converting exec_update_mutex to a rwsem so that
    multiple readers can execute in parallel and not deadlock, add
    down_read_killable_nested. This is needed so that kcmp_lock
    can be converted from working on a mutexes to working on rw_semaphores.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Peter Zijlstra (Intel)
    Link: https://lkml.kernel.org/r/87o8jabqh3.fsf@x220.int.ebiederm.org
    Signed-off-by: Sasha Levin

    Eric W. Biederman
     
  • [ Upstream commit 78af4dc949daaa37b3fcd5f348f373085b4e858f ]

    Syzbot reported a lock inversion involving perf. The sore point being
    perf holding exec_update_mutex() for a very long time, specifically
    across a whole bunch of filesystem ops in pmu::event_init() (uprobes)
    and anon_inode_getfile().

    This then inverts against procfs code trying to take
    exec_update_mutex.

    Move the permission checks later, such that we need to hold the mutex
    over less code.

    Reported-by: syzbot+db9cdf3dd1f64252c6ef@syzkaller.appspotmail.com
    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: Sasha Levin

    peterz@infradead.org