Skip to contentSkip to conversation

Linux 5.10.28

DISCUSSION Greg Kroah-Hartman 2 participants 3 messages Apr 7, 2021 – Apr 9, 2021 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.10.28 kernel.

All users of the 5.10 kernel series must upgrade.

The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Makefile                                                    |    2 
 arch/arm64/mm/mmu.c                                         |   20 
 arch/riscv/include/asm/uaccess.h                            |    7 
 arch/s390/include/asm/vdso/data.h                           |    2 
 arch/s390/kernel/time.c                                     |    1 
 arch/x86/include/asm/smp.h                                  |    1 
 arch/x86/kernel/acpi/boot.c                                 |   25 
 arch/x86/kernel/setup.c                                     |    8 
 arch/x86/kernel/smpboot.c                                   |    2 
 arch/x86/kvm/svm/nested.c                                   |   28 
 arch/x86/net/bpf_jit_comp.c                                 |   27 
 arch/xtensa/kernel/coprocessor.S                            |   64 
 arch/xtensa/mm/fault.c                                      |    5 
 drivers/acpi/processor_idle.c                               |    7 
 drivers/acpi/tables.c                                       |   42 
 drivers/base/dd.c                                           |    3 
 drivers/base/power/runtime.c                                |   10 
 drivers/extcon/extcon.c                                     |    1 
 drivers/firewire/nosy.c                                     |    9 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c                      |   10 
 drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c                     |    2 
 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c       |    6 
 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h       |    2 
 drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c             |    2 
 drivers/gpu/drm/amd/amdkfd/kfd_packet_manager_v9.c          |    2 
 drivers/gpu/drm/amd/amdkfd/kfd_packet_manager_vi.c          |    2 
 drivers/gpu/drm/amd/amdkfd/kfd_priv.h                       |    8 
 drivers/gpu/drm/imx/imx-drm-core.c                          |    2 
 drivers/gpu/drm/tegra/dc.c                                  |   20 
 drivers/gpu/drm/tegra/sor.c                                 |    7 
 drivers/net/can/Makefile                                    |    7 
 drivers/net/can/dev.c                                       | 1339 -----------
 drivers/net/can/dev/Makefile                                |    7 
 drivers/net/can/dev/dev.c                                   | 1341 ++++++++++++
 drivers/net/can/dev/rx-offload.c                            |  376 +++
 drivers/net/can/m_can/tcan4x5x.c                            |    2 
 drivers/net/can/rx-offload.c                                |  376 ---
 drivers/net/can/slcan.c                                     |    4 
 drivers/net/can/vcan.c                                      |    2 
 drivers/net/can/vxcan.c                                     |    6 
 drivers/net/ethernet/aquantia/atlantic/aq_main.c            |    4 
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c             |    4 
 drivers/net/ipa/gsi_reg.h                                   |   10 
 drivers/net/ipa/ipa_cmd.c                                   |   32 
 drivers/net/netdevsim/dev.c                                 |   40 
 drivers/net/wan/lmc/lmc_main.c                              |    2 
 drivers/net/wireless/ath/ath10k/wmi-tlv.c                   |    7 
 drivers/net/wireless/ath/ath11k/mac.c                       |    7 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c |    7 
 drivers/net/wireless/intel/iwlwifi/pcie/trans.c             |   11 
 drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c           |    5 
 drivers/net/wireless/intel/iwlwifi/pcie/tx.c                |   22 
 drivers/net/wireless/realtek/rtw88/rtw8821c.c               |   16 
 drivers/nvme/target/tcp.c                                   |    2 
 drivers/pinctrl/pinctrl-rockchip.c                          |   13 
 drivers/scsi/qla2xxx/qla_target.h                           |    2 
 drivers/scsi/st.c                                           |    2 
 drivers/soc/qcom/qcom-geni-se.c                             |   74 
 drivers/staging/comedi/drivers/cb_pcidas.c                  |    2 
 drivers/staging/comedi/drivers/cb_pcidas64.c                |    2 
 drivers/staging/rtl8192e/rtllib.h                           |    2 
 drivers/staging/rtl8192e/rtllib_rx.c                        |    2 
 drivers/thermal/thermal_sysfs.c                             |    3 
 drivers/tty/serial/qcom_geni_serial.c                       |    7 
 drivers/usb/class/cdc-acm.c                                 |   61 
 drivers/usb/core/quirks.c                                   |    4 
 drivers/usb/dwc2/hcd.c                                      |    5 
 drivers/usb/dwc3/dwc3-pci.c                                 |    2 
 drivers/usb/dwc3/dwc3-qcom.c                                |    3 
 drivers/usb/dwc3/gadget.c                                   |    8 
 drivers/usb/gadget/udc/amd5536udc_pci.c                     |   10 
 drivers/usb/host/xhci-mtk.c                                 |   10 
 drivers/usb/musb/musb_core.c                                |   12 
 drivers/usb/usbip/vhci_hcd.c                                |    2 
 drivers/vfio/pci/Kconfig                                    |    2 
 drivers/vhost/vhost.c                                       |    2 
 drivers/video/fbdev/core/fbcon.c                            |    3 
 drivers/video/fbdev/hyperv_fb.c                             |    3 
 fs/ext4/balloc.c                                            |   38 
 fs/ext4/ext4.h                                              |    1 
 fs/ext4/inode.c                                             |    6 
 fs/ext4/namei.c                                             |   18 
 fs/ext4/super.c                                             |    5 
 fs/ext4/sysfs.c                                             |    7 
 fs/fuse/virtio_fs.c                                         |    9 
 fs/io_uring.c                                               |   33 
 fs/iomap/swapfile.c                                         |   10 
 fs/nfsd/Kconfig                                             |    1 
 fs/nfsd/nfs4callback.c                                      |    1 
 fs/reiserfs/xattr.h                                         |    2 
 include/linux/acpi.h                                        |    9 
 include/linux/bpf.h                                         |   24 
 include/linux/can/can-ml.h                                  |   12 
 include/linux/extcon.h                                      |   23 
 include/linux/firmware/intel/stratix10-svc-client.h         |    2 
 include/linux/netdevice.h                                   |   34 
 include/linux/qcom-geni-se.h                                |    2 
 include/linux/ww_mutex.h                                    |    5 
 kernel/bpf/bpf_struct_ops.c                                 |    2 
 kernel/bpf/core.c                                           |    4 
 kernel/bpf/trampoline.c                                     |  218 +
 kernel/locking/mutex.c                                      |   25 
 kernel/static_call.c                                        |   14 
 kernel/trace/trace.c                                        |    3 
 mm/memory.c                                                 |    2 
 net/9p/client.c                                             |    4 
 net/appletalk/ddp.c                                         |   33 
 net/can/af_can.c                                            |   34 
 net/can/j1939/main.c                                        |   22 
 net/can/j1939/socket.c                                      |   13 
 net/can/proc.c                                              |   19 
 net/core/filter.c                                           |   12 
 net/core/flow_dissector.c                                   |    6 
 net/sunrpc/auth_gss/svcauth_gss.c                           |   11 
 sound/pci/hda/hda_intel.c                                   |    8 
 sound/pci/hda/patch_realtek.c                               |    4 
 sound/soc/codecs/cs42l42.c                                  |   74 
 sound/soc/codecs/cs42l42.h                                  |   13 
 sound/soc/codecs/es8316.c                                   |    9 
 sound/soc/codecs/rt1015.c                                   |    1 
 sound/soc/codecs/rt5640.c                                   |    4 
 sound/soc/codecs/rt5651.c                                   |    4 
 sound/soc/codecs/rt5659.c                                   |    5 
 sound/soc/codecs/rt711.c                                    |    8 
 sound/soc/codecs/sgtl5000.c                                 |    2 
 sound/soc/soc-core.c                                        |    4 
 sound/usb/quirks.c                                          |    1 
 tools/testing/selftests/net/forwarding/tc_flower.sh         |   38 
 128 files changed, 2720 insertions(+), 2311 deletions(-)

Adrian Hunter (2):
PM: runtime: Fix race getting/putting suppliers at probe
PM: runtime: Fix ordering in pm_runtime_get_suppliers()

Ahmad Fatoum (1):
driver core: clear deferred probe reason on probe retry

Alex Elder (2):
net: ipa: remove two unused register definitions
net: ipa: fix register write command validation

Alexei Starovoitov (1):
bpf: Fix fexit trampoline.

Alexey Dobriyan (1):
scsi: qla2xxx: Fix broken #endif placement

Andy Shevchenko (1):
usb: dwc3: pci: Enable dis_uX_susphy_quirk for Intel Merrifield

Artur Petrosyan (2):
usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board.
usb: dwc2: Prevent core suspend when port connection flag is 0

Atul Gopinathan (2):
staging: rtl8192e: Fix incorrect source in memcpy()
staging: rtl8192e: Change state information from u16 to u8

Bard Liao (1):
ASoC: rt711: add snd_soc_component remove callback

Ben Dooks (1):
riscv: evaluate put_user() arg before enabling user access

Benjamin Rood (1):
ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe

Chunfeng Yun (1):
usb: xhci-mtk: fix broken streams issue on 0.96 xHCI

Davide Caratti (1):
flow_dissector: fix TTL and TOS dissection on IPv4 fragments

Dinghao Liu (1):
extcon: Fix error handling in extcon_dev_register

Doug Brown (1):
appletalk: Fix skb allocation size in loopback case

Du Cheng (1):
drivers: video: fbcon: fix NULL dereference in fbcon_cursor()

Elad Grupi (1):
nvmet-tcp: fix kmap leak when data digest in use

Eric Whitney (1):
ext4: shrink race window in ext4_should_retry_alloc()

Greg Kroah-Hartman (1):

      Linux 5.10.28

Guo-Feng Fan (1):
rtw88: coex: 8821c: correct antenna switch function

Hans de Goede (3):
ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10
ASoC: rt5651: Fix dac- and adc- vol-tlv values being off by a factor of 10
ASoC: es8316: Simplify adc_pga_gain_tlv table

Heiko Carstens (2):
s390/vdso: copy tod_steering_delta value to vdso_data page s390/vdso: fix tod_steering_delta type

Hui Wang (2):
ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO
ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook

Ido Schimmel (1):
netdevsim: dev: Initialize FIB module after debugfs

Ikjoon Jang (1):
ALSA: usb-audio: Apply sample rate quirk to Logitech Connect

Ilya Lipnitskiy (1):
mm: fix race by making init_zero_pfn() early_initcall

J. Bruce Fields (1):
rpc: fix NULL dereference on kmalloc failure

Jack Yu (1):
ASoC: rt1015: fix i2c communication error

Jason Gunthorpe (1):
vfio/nvlink: Add missing SPAPR_TCE_IOMMU depends

Jens Axboe (2):
kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing Revert "kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing"

Jeremy Szu (1):
ALSA: hda/realtek: fix mute/micmute LEDs for HP 640 G8

Jesper Dangaard Brouer (1):
bpf: Remove MTU check in __bpf_skb_max_len

Jisheng Zhang (1):
net: 9p: advance iov on empty read

Johan Hovold (2):
USB: cdc-acm: fix double free on probe failure
USB: cdc-acm: fix use-after-free after probe failure

Johannes Berg (1):
iwlwifi: pcie: don't disable interrupts for reg_lock

Jon Hunter (1):
ASoC: soc-core: Prevent warning if no DMI table is present

Julian Braha (1):
fs: nfsd: fix kconfig dependency warning for NFSD_V4

Krzysztof Kozlowski (1):
extcon: Add stubs for extcon_register_notifier_all() functions

Laurent Vivier (1):
vhost: Fix vhost_vq_reset()

Luca Pesce (1):
brcmfmac: clear EAP/association status bits on linkdown events

Lucas Tanure (4):
ASoC: cs42l42: Fix Bitclock polarity inversion
ASoC: cs42l42: Fix channel width support
ASoC: cs42l42: Fix mixer volume control
ASoC: cs42l42: Always wait at least 3ms after reset

Lv Yunlong (2):
scsi: st: Fix a use after free in st_open()
video: hyperv_fb: Fix a double free in hvfb_probe

Manaf Meethalavalappu Pallikunhi (1):
thermal/core: Add NULL pointer check before using cooling device stats

Marc Kleine-Budde (1):
can: dev: move driver related infrastructure into separate subdir

Max Filippov (2):
xtensa: fix uaccess-related livelock in do_page_fault
xtensa: move coprocessor_flush to the .text section

Nathan Rossi (1):
net: ethernet: aquantia: Handle error cleanup of start on open

Nirmoy Das (1):
drm/amdgpu: fix offset calculation in amdgpu_vm_bo_clear_mappings()

Oleksij Rempel (1):
net: introduce CAN specific pointer in the struct net_device

Olga Kornievskaia (1):
NFSD: fix error handling in NFSv4.0 callbacks

Oliver Neukum (3):
cdc-acm: fix BREAK rx code path adding necessary calls
USB: cdc-acm: untangle a circular dependency between callback and softint
USB: cdc-acm: downgrade message to debug

Pan Bian (1):
drm/imx: fix memory leak when fails to init

Paolo Bonzini (2):
KVM: SVM: load control fields from VMCB12 before checking them
KVM: SVM: ensure that EFER.SVME is set when running nested guest or on nested vmexit

Pavel Begunkov (1):

      io_uring: fix ->flags races by linked timeouts

Pavel Tatashin (1):
arm64: mm: correct the inside linear map range during hotplug check

Peter Zijlstra (1):
static_call: Align static_call_is_init() patching condition

Qu Huang (1):
drm/amdkfd: dqm fence memory corruption

Rafael J. Wysocki (1):
ACPI: tables: x86: Reserve memory occupied by ACPI tables

Richard Gong (1):
firmware: stratix10-svc: reset COMMAND_RECONFIG_FLAG_PARTIAL to 0

Ritesh Harjani (1):

      iomap: Fix negative assignment to unsigned sis->pages in iomap_swapfile_activate

Roja Rani Yarubandi (1):
soc: qcom-geni-se: Cleanup the code to remove proxy votes

Sameer Pujar (1):
ASoC: rt5659: Update MCLK rate in set_sysclk()

Sasha Levin (2):
net: mvpp2: fix interrupt mask/unmask skip condition
can: tcan4x5x: fix max register value

Shawn Guo (1):
usb: dwc3: qcom: skip interconnect init for ACPI probe

Shuah Khan (2):
ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr()
usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control()

Stanislav Fomichev (1):
bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG

Stefan Metzmacher (2):
io_uring: imply MSG_NOSIGNAL for send[msg]()/recv[msg]() calls
io_uring: call req_set_fail_links() on short send[msg]()/recv[msg]() with MSG_WAITALL

Steven Rostedt (VMware) (1):
tracing: Fix stack trace event size

Takashi Iwai (2):
ALSA: hda: Re-add dropped snd_poewr_change_state() calls
ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks

Tetsuo Handa (1):
reiserfs: update reiserfs_xattrs_initialized() condition

Thierry Reding (2):
drm/tegra: dc: Restore coupling of display controllers drm/tegra: sor: Grab runtime PM reference across reset

Tong Zhang (4):
staging: comedi: cb_pcidas: fix request_irq() warn
staging: comedi: cb_pcidas64: fix request_irq() warn
net: wan/lmc: unregister device when no matching device is found
usb: gadget: udc: amd5536udc_pci fix null-ptr-dereference

Tony Lindgren (1):
usb: musb: Fix suspend with devices connected for a64

Vincent Palatin (1):
USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem

Vitaly Kuznetsov (1):
ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead()

Vivek Goyal (1):
virtiofs: Fail dax mount if device does not support it

Waiman Long (2):
locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling locking/ww_mutex: Fix acquire/release imbalance in ww_acquire_init()/ww_acquire_fini()

Wang Panzhenzhuan (1):
pinctrl: rockchip: fix restore error in resume

Wen Gong (1):
ath11k: add ieee80211_unregister_hw to avoid kernel crash caused by NULL pointer

Wesley Cheng (1):
usb: dwc3: gadget: Clear DEP flags after stop transfers in ep disable

Xℹ Ruoyao (1):
drm/amdgpu: check alignment on CPU page for bo map

Zhaolong Zhang (1):
ext4: fix bh ref count on error paths

Zheyu Ma (1):
firewire: nosy: Fix a use-after-free bug in nosy_ioctl()

zhangyi (F) (1):
ext4: do not iput inode under running transaction in ext4_rename()

author maintainer
#1 lore raw
Makefile +1 -1
index 4801cc25e347..cb76f64abb6d 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 10
-SUBLEVEL = 27
+SUBLEVEL = 28
 EXTRAVERSION =
 NAME = Dare mighty things
 
arch/arm64/mm/mmu.c +18 -2
index 6aabf1eced31..afdad7607850 100644
@@ -1447,14 +1447,30 @@ static void __remove_pgd_mapping(pgd_t *pgdir, unsigned long start, u64 size)
 
 static bool inside_linear_region(u64 start, u64 size)
 {
+	u64 start_linear_pa = __pa(_PAGE_OFFSET(vabits_actual));
+	u64 end_linear_pa = __pa(PAGE_END - 1);
+
+	if (IS_ENABLED(CONFIG_RANDOMIZE_BASE)) {
+		/*
+		 * Check for a wrap, it is possible because of randomized linear
+		 * mapping the start physical address is actually bigger than
+		 * the end physical address. In this case set start to zero
+		 * because [0, end_linear_pa] range must still be able to cover
+		 * all addressable physical addresses.
+		 */
+		if (start_linear_pa > end_linear_pa)
+			start_linear_pa = 0;
+	}
+
+	WARN_ON(start_linear_pa > end_linear_pa);
+
 	/*
 	 * Linear mapping region is the range [PAGE_OFFSET..(PAGE_END - 1)]
 	 * accommodating both its ends but excluding PAGE_END. Max physical
 	 * range which can be mapped inside this linear mapping range, must
 	 * also be derived from its end points.
 	 */
-	return start >= __pa(_PAGE_OFFSET(vabits_actual)) &&
-	       (start + size - 1) <= __pa(PAGE_END - 1);
+	return start >= start_linear_pa && (start + size - 1) <= end_linear_pa;
 }
 
 int arch_add_memory(int nid, u64 start, u64 size,
arch/riscv/include/asm/uaccess.h +5 -2
index 824b2c9da75b..f944062c9d99 100644
@@ -306,7 +306,9 @@ do {								\
  * data types like structures or arrays.
  *
  * @ptr must have pointer-to-simple-variable type, and @x must be assignable
- * to the result of dereferencing @ptr.
+ * to the result of dereferencing @ptr. The value of @x is copied to avoid
+ * re-ordering where @x is evaluated inside the block that enables user-space
+ * access (thus bypassing user space protection if @x is a function).
  *
  * Caller must check the pointer with access_ok() before calling this
  * function.
@@ -316,12 +318,13 @@ do {								\
 #define __put_user(x, ptr)					\
 ({								\
 	__typeof__(*(ptr)) __user *__gu_ptr = (ptr);		\
+	__typeof__(*__gu_ptr) __val = (x);			\
 	long __pu_err = 0;					\
 								\
 	__chk_user_ptr(__gu_ptr);				\
 								\
 	__enable_user_access();					\
-	__put_user_nocheck(x, __gu_ptr, __pu_err);		\
+	__put_user_nocheck(__val, __gu_ptr, __pu_err);		\
 	__disable_user_access();				\
 								\
 	__pu_err;						\
arch/s390/include/asm/vdso/data.h +1 -1
index 7b3cdb4a5f48..73ee89142666 100644
@@ -6,7 +6,7 @@
 #include <vdso/datapage.h>
 
 struct arch_vdso_data {
-	__u64 tod_steering_delta;
+	__s64 tod_steering_delta;
 	__u64 tod_steering_end;
 };
 
arch/s390/kernel/time.c +1 -0
index 0ac30ee2c633..b6517453fa23 100644
@@ -398,6 +398,7 @@ static void clock_sync_global(unsigned long long delta)
 		      tod_steering_delta);
 	tod_steering_end = now + (abs(tod_steering_delta) << 15);
 	vdso_data->arch_data.tod_steering_end = tod_steering_end;
+	vdso_data->arch_data.tod_steering_delta = tod_steering_delta;
 
 	/* Update LPAR offset. */
 	if (ptff_query(PTFF_QTO) && ptff(&qto, sizeof(qto), PTFF_QTO) == 0)
arch/x86/include/asm/smp.h +1 -0
index c0538f82c9a2..57ef2094af93 100644
@@ -132,6 +132,7 @@ void native_play_dead(void);
 void play_dead_common(void);
 void wbinvd_on_cpu(int cpu);
 int wbinvd_on_all_cpus(void);
+bool wakeup_cpu0(void);
 
 void native_smp_send_reschedule(int cpu);
 void native_send_call_func_ipi(const struct cpumask *mask);
arch/x86/kernel/acpi/boot.c +12 -13
index 7bdc0239a943..14cd3186dc77 100644
@@ -1554,10 +1554,18 @@ void __init acpi_boot_table_init(void)
 	/*
 	 * Initialize the ACPI boot-time table parser.
 	 */
-	if (acpi_table_init()) {
+	if (acpi_locate_initial_tables())
 		disable_acpi();
-		return;
-	}
+	else
+		acpi_reserve_initial_tables();
+}
+
+int __init early_acpi_boot_init(void)
+{
+	if (acpi_disabled)
+		return 1;
+
+	acpi_table_init_complete();
 
 	acpi_table_parse(ACPI_SIG_BOOT, acpi_parse_sbf);
 
@@ -1570,18 +1578,9 @@ void __init acpi_boot_table_init(void)
 		} else {
 			printk(KERN_WARNING PREFIX "Disabling ACPI support\n");
 			disable_acpi();
-			return;
+			return 1;
 		}
 	}
-}
-
-int __init early_acpi_boot_init(void)
-{
-	/*
-	 * If acpi_disabled, bail out
-	 */
-	if (acpi_disabled)
-		return 1;
 
 	/*
 	 * Process the Multiple APIC Description Table (MADT), if present
arch/x86/kernel/setup.c +3 -5
index 84f581c91db4..d23795057c4f 100644
@@ -1051,6 +1051,9 @@ void __init setup_arch(char **cmdline_p)
 
 	cleanup_highmap();
 
+	/* Look for ACPI tables and reserve memory occupied by them. */
+	acpi_boot_table_init();
+
 	memblock_set_current_limit(ISA_END_ADDRESS);
 	e820__memblock_setup();
 
@@ -1136,11 +1139,6 @@ void __init setup_arch(char **cmdline_p)
 
 	early_platform_quirks();
 
-	/*
-	 * Parse the ACPI tables for possible boot-time SMP configuration.
-	 */
-	acpi_boot_table_init();
-
 	early_acpi_boot_init();
 
 	initmem_init();
arch/x86/kernel/smpboot.c +1 -1
index c65642c10aae..5ea5f964f0a9 100644
@@ -1655,7 +1655,7 @@ void play_dead_common(void)
 	local_irq_disable();
 }
 
-static bool wakeup_cpu0(void)
+bool wakeup_cpu0(void)
 {
 	if (smp_processor_id() == 0 && enable_start_cpu0)
 		return true;
arch/x86/kvm/svm/nested.c +23 -5
index 1008cc6cb66c..da6ce73c10bb 100644
@@ -246,11 +246,18 @@ static bool nested_vmcb_check_controls(struct vmcb_control_area *control)
 	return true;
 }
 
-static bool nested_vmcb_checks(struct vcpu_svm *svm, struct vmcb *vmcb12)
+static bool nested_vmcb_check_save(struct vcpu_svm *svm, struct vmcb *vmcb12)
 {
 	struct kvm_vcpu *vcpu = &svm->vcpu;
 	bool vmcb12_lma;
 
+	/*
+	 * FIXME: these should be done after copying the fields,
+	 * to avoid TOC/TOU races.  For these save area checks
+	 * the possible damage is limited since kvm_set_cr0 and
+	 * kvm_set_cr4 handle failure; EFER_SVME is an exception
+	 * so it is force-set later in nested_prepare_vmcb_save.
+	 */
 	if ((vmcb12->save.efer & EFER_SVME) == 0)
 		return false;
 
@@ -271,7 +278,7 @@ static bool nested_vmcb_checks(struct vcpu_svm *svm, struct vmcb *vmcb12)
 	if (kvm_valid_cr4(&svm->vcpu, vmcb12->save.cr4))
 		return false;
 
-	return nested_vmcb_check_controls(&vmcb12->control);
+	return true;
 }
 
 static void load_nested_vmcb_control(struct vcpu_svm *svm,
@@ -396,7 +403,14 @@ static void nested_prepare_vmcb_save(struct vcpu_svm *svm, struct vmcb *vmcb12)
 	svm->vmcb->save.gdtr = vmcb12->save.gdtr;
 	svm->vmcb->save.idtr = vmcb12->save.idtr;
 	kvm_set_rflags(&svm->vcpu, vmcb12->save.rflags);
-	svm_set_efer(&svm->vcpu, vmcb12->save.efer);
+
+	/*
+	 * Force-set EFER_SVME even though it is checked earlier on the
+	 * VMCB12, because the guest can flip the bit between the check
+	 * and now.  Clearing EFER_SVME would call svm_free_nested.
+	 */
+	svm_set_efer(&svm->vcpu, vmcb12->save.efer | EFER_SVME);
+
 	svm_set_cr0(&svm->vcpu, vmcb12->save.cr0);
 	svm_set_cr4(&svm->vcpu, vmcb12->save.cr4);
 	svm->vmcb->save.cr2 = svm->vcpu.arch.cr2 = vmcb12->save.cr2;
@@ -454,7 +468,6 @@ int enter_svm_guest_mode(struct vcpu_svm *svm, u64 vmcb12_gpa,
 	int ret;
 
 	svm->nested.vmcb12_gpa = vmcb12_gpa;
-	load_nested_vmcb_control(svm, &vmcb12->control);
 	nested_prepare_vmcb_save(svm, vmcb12);
 	nested_prepare_vmcb_control(svm);
 
@@ -501,7 +514,10 @@ int nested_svm_vmrun(struct vcpu_svm *svm)
 	if (WARN_ON_ONCE(!svm->nested.initialized))
 		return -EINVAL;
 
-	if (!nested_vmcb_checks(svm, vmcb12)) {
+	load_nested_vmcb_control(svm, &vmcb12->control);
+
+	if (!nested_vmcb_check_save(svm, vmcb12) ||
+	    !nested_vmcb_check_controls(&svm->nested.ctl)) {
 		vmcb12->control.exit_code    = SVM_EXIT_ERR;
 		vmcb12->control.exit_code_hi = 0;
 		vmcb12->control.exit_info_1  = 0;
@@ -1205,6 +1221,8 @@ static int svm_set_nested_state(struct kvm_vcpu *vcpu,
 	 */
 	if (!(save->cr0 & X86_CR0_PG))
 		goto out_free;
+	if (!(save->efer & EFER_SVME))
+		goto out_free;
 
 	/*
 	 * All checks done, we can enter guest mode.  L1 control fields
arch/x86/net/bpf_jit_comp.c +23 -4
index 796506dcfc42..023ac12f54a2 100644
@@ -1735,7 +1735,7 @@ static int invoke_bpf_mod_ret(const struct btf_func_model *m, u8 **pprog,
  * add rsp, 8                      // skip eth_type_trans's frame
  * ret                             // return to its caller
  */
-int arch_prepare_bpf_trampoline(void *image, void *image_end,
+int arch_prepare_bpf_trampoline(struct bpf_tramp_image *im, void *image, void *image_end,
 				const struct btf_func_model *m, u32 flags,
 				struct bpf_tramp_progs *tprogs,
 				void *orig_call)
@@ -1774,6 +1774,15 @@ int arch_prepare_bpf_trampoline(void *image, void *image_end,
 
 	save_regs(m, &prog, nr_args, stack_size);
 
+	if (flags & BPF_TRAMP_F_CALL_ORIG) {
+		/* arg1: mov rdi, im */
+		emit_mov_imm64(&prog, BPF_REG_1, (long) im >> 32, (u32) (long) im);
+		if (emit_call(&prog, __bpf_tramp_enter, prog)) {
+			ret = -EINVAL;
+			goto cleanup;
+		}
+	}
+
 	if (fentry->nr_progs)
 		if (invoke_bpf(m, &prog, fentry, stack_size))
 			return -EINVAL;
@@ -1792,8 +1801,7 @@ int arch_prepare_bpf_trampoline(void *image, void *image_end,
 	}
 
 	if (flags & BPF_TRAMP_F_CALL_ORIG) {
-		if (fentry->nr_progs || fmod_ret->nr_progs)
-			restore_regs(m, &prog, nr_args, stack_size);
+		restore_regs(m, &prog, nr_args, stack_size);
 
 		/* call original function */
 		if (emit_call(&prog, orig_call, prog)) {
@@ -1802,6 +1810,9 @@ int arch_prepare_bpf_trampoline(void *image, void *image_end,
 		}
 		/* remember return value in a stack for bpf prog to access */
 		emit_stx(&prog, BPF_DW, BPF_REG_FP, BPF_REG_0, -8);
+		im->ip_after_call = prog;
+		memcpy(prog, ideal_nops[NOP_ATOMIC5], X86_PATCH_SIZE);
+		prog += X86_PATCH_SIZE;
 	}
 
 	if (fmod_ret->nr_progs) {
@@ -1832,9 +1843,17 @@ int arch_prepare_bpf_trampoline(void *image, void *image_end,
 	 * the return value is only updated on the stack and still needs to be
 	 * restored to R0.
 	 */
-	if (flags & BPF_TRAMP_F_CALL_ORIG)
+	if (flags & BPF_TRAMP_F_CALL_ORIG) {
+		im->ip_epilogue = prog;
+		/* arg1: mov rdi, im */
+		emit_mov_imm64(&prog, BPF_REG_1, (long) im >> 32, (u32) (long) im);
+		if (emit_call(&prog, __bpf_tramp_exit, prog)) {
+			ret = -EINVAL;
+			goto cleanup;
+		}
 		/* restore original return value back into RAX */
 		emit_ldx(&prog, BPF_DW, BPF_REG_0, BPF_REG_FP, -8);
+	}
 
 	EMIT1(0x5B); /* pop rbx */
 	EMIT1(0xC9); /* leave */
arch/xtensa/kernel/coprocessor.S +33 -31

76 lines not on this page · raw message

arch/xtensa/mm/fault.c +4 -1
index 7666408ce12a..95a74890c7e9 100644
@@ -112,8 +112,11 @@ void do_page_fault(struct pt_regs *regs)
 	 */
 	fault = handle_mm_fault(vma, address, flags, regs);
 
-	if (fault_signal_pending(fault, regs))
+	if (fault_signal_pending(fault, regs)) {
+		if (!user_mode(regs))
+			goto bad_page_fault;
 		return;
+	}
 
 	if (unlikely(fault & VM_FAULT_ERROR)) {
 		if (fault & VM_FAULT_OOM)
drivers/acpi/processor_idle.c +7 -0
index f66236cff69b..4e303964f7e7 100644
@@ -29,6 +29,7 @@
  */
 #ifdef CONFIG_X86
 #include <asm/apic.h>
+#include <asm/cpu.h>
 #endif
 
 #define ACPI_PROCESSOR_CLASS            "processor"
@@ -542,6 +543,12 @@ static int acpi_idle_play_dead(struct cpuidle_device *dev, int index)
 			wait_for_freeze();
 		} else
 			return -ENODEV;
+
+#if defined(CONFIG_X86) && defined(CONFIG_HOTPLUG_CPU)
+		/* If NMI wants to wake up CPU0, start CPU0. */
+		if (wakeup_cpu0())
+			start_cpu0();
+#endif
 	}
 
 	/* Never reached */
drivers/acpi/tables.c +39 -3

62 lines not on this page · raw message

drivers/base/dd.c +3 -0
index 3c94ebc8d4bb..43130d64e213 100644
@@ -97,6 +97,9 @@ static void deferred_probe_work_func(struct work_struct *work)
 
 		get_device(dev);
 
+		kfree(dev->p->deferred_probe_reason);
+		dev->p->deferred_probe_reason = NULL;
+
 		/*
 		 * Drop the mutex while probing each device; the probe path may
 		 * manipulate the deferred list
drivers/base/power/runtime.c +8 -2
index 5ef67bacb585..d6d73ff94e88 100644
@@ -1690,8 +1690,8 @@ void pm_runtime_get_suppliers(struct device *dev)
 				device_links_read_lock_held())
 		if (link->flags & DL_FLAG_PM_RUNTIME) {
 			link->supplier_preactivated = true;
-			refcount_inc(&link->rpm_active);
 			pm_runtime_get_sync(link->supplier);
+			refcount_inc(&link->rpm_active);
 		}
 
 	device_links_read_unlock(idx);
@@ -1704,6 +1704,8 @@ void pm_runtime_get_suppliers(struct device *dev)
 void pm_runtime_put_suppliers(struct device *dev)
 {
 	struct device_link *link;
+	unsigned long flags;
+	bool put;
 	int idx;
 
 	idx = device_links_read_lock();
@@ -1712,7 +1714,11 @@ void pm_runtime_put_suppliers(struct device *dev)
 				device_links_read_lock_held())
 		if (link->supplier_preactivated) {
 			link->supplier_preactivated = false;
-			if (refcount_dec_not_one(&link->rpm_active))
+			spin_lock_irqsave(&dev->power.lock, flags);
+			put = pm_runtime_status_suspended(dev) &&
+			      refcount_dec_not_one(&link->rpm_active);
+			spin_unlock_irqrestore(&dev->power.lock, flags);
+			if (put)
 				pm_runtime_put(link->supplier);
 		}
 
drivers/extcon/extcon.c +1 -0
index 0a6438cbb3f3..e7a9561a826d 100644
@@ -1241,6 +1241,7 @@ int extcon_dev_register(struct extcon_dev *edev)
 				sizeof(*edev->nh), GFP_KERNEL);
 	if (!edev->nh) {
 		ret = -ENOMEM;
+		device_unregister(&edev->dev);
 		goto err_dev;
 	}
 
drivers/firewire/nosy.c +7 -2
index 5fd6a60b6741..88ed971e32c0 100644
@@ -346,6 +346,7 @@ nosy_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 	struct client *client = file->private_data;
 	spinlock_t *client_list_lock = &client->lynx->client_list_lock;
 	struct nosy_stats stats;
+	int ret;
 
 	switch (cmd) {
 	case NOSY_IOC_GET_STATS:
@@ -360,11 +361,15 @@ nosy_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 			return 0;
 
 	case NOSY_IOC_START:
+		ret = -EBUSY;
 		spin_lock_irq(client_list_lock);
-		list_add_tail(&client->link, &client->lynx->client_list);
+		if (list_empty(&client->link)) {
+			list_add_tail(&client->link, &client->lynx->client_list);
+			ret = 0;
+		}
 		spin_unlock_irq(client_list_lock);
 
-		return 0;
+		return ret;
 
 	case NOSY_IOC_STOP:
 		spin_lock_irq(client_list_lock);
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +5 -5
index df110afa97bf..605d1545274c 100644
@@ -2223,8 +2223,8 @@ int amdgpu_vm_bo_map(struct amdgpu_device *adev,
 	uint64_t eaddr;
 
 	/* validate the parameters */
-	if (saddr & AMDGPU_GPU_PAGE_MASK || offset & AMDGPU_GPU_PAGE_MASK ||
-	    size == 0 || size & AMDGPU_GPU_PAGE_MASK)
+	if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK ||
+	    size == 0 || size & ~PAGE_MASK)
 		return -EINVAL;
 
 	/* make sure object fit at this offset */
@@ -2289,8 +2289,8 @@ int amdgpu_vm_bo_replace_map(struct amdgpu_device *adev,
 	int r;
 
 	/* validate the parameters */
-	if (saddr & AMDGPU_GPU_PAGE_MASK || offset & AMDGPU_GPU_PAGE_MASK ||
-	    size == 0 || size & AMDGPU_GPU_PAGE_MASK)
+	if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK ||
+	    size == 0 || size & ~PAGE_MASK)
 		return -EINVAL;
 
 	/* make sure object fit at this offset */
@@ -2435,7 +2435,7 @@ int amdgpu_vm_bo_clear_mappings(struct amdgpu_device *adev,
 			after->start = eaddr + 1;
 			after->last = tmp->last;
 			after->offset = tmp->offset;
-			after->offset += after->start - tmp->start;
+			after->offset += (after->start - tmp->start) << PAGE_SHIFT;
 			after->flags = tmp->flags;
 			after->bo_va = tmp->bo_va;
 			list_add(&after->list, &tmp->bo_va->invalids);
drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c +1 -1
index b258a3dae767..159add0f5aaa 100644
@@ -155,7 +155,7 @@ static int dbgdev_diq_submit_ib(struct kfd_dbgdev *dbgdev,
 
 	/* Wait till CP writes sync code: */
 	status = amdkfd_fence_wait_timeout(
-			(unsigned int *) rm_state,
+			rm_state,
 			QUEUESTATE__ACTIVE, 1500);
 
 	kfd_gtt_sa_free(dbgdev->dev, mem_obj);
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +3 -3
index c0ae04a08625..8e5cfb1f8a51 100644
@@ -1167,7 +1167,7 @@ static int start_cpsch(struct device_queue_manager *dqm)
 	if (retval)
 		goto fail_allocate_vidmem;
 
-	dqm->fence_addr = dqm->fence_mem->cpu_ptr;
+	dqm->fence_addr = (uint64_t *)dqm->fence_mem->cpu_ptr;
 	dqm->fence_gpu_addr = dqm->fence_mem->gpu_addr;
 
 	init_interrupts(dqm);
@@ -1340,8 +1340,8 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q,
 	return retval;
 }
 
-int amdkfd_fence_wait_timeout(unsigned int *fence_addr,
-				unsigned int fence_value,
+int amdkfd_fence_wait_timeout(uint64_t *fence_addr,
+				uint64_t fence_value,
 				unsigned int timeout_ms)
 {
 	unsigned long end_jiffies = msecs_to_jiffies(timeout_ms) + jiffies;
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h +1 -1
index 7351dd195274..45f815946554 100644
@@ -192,7 +192,7 @@ struct device_queue_manager {
 	uint16_t		vmid_pasid[VMID_NUM];
 	uint64_t		pipelines_addr;
 	uint64_t		fence_gpu_addr;
-	unsigned int		*fence_addr;
+	uint64_t		*fence_addr;
 	struct kfd_mem_obj	*fence_mem;
 	bool			active_runlist;
 	int			sched_policy;
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c +1 -1
index 47ee40fbbd86..c85e4f9d92cf 100644
@@ -345,7 +345,7 @@ int pm_send_runlist(struct packet_manager *pm, struct list_head *dqm_queues)
 }
 
 int pm_send_query_status(struct packet_manager *pm, uint64_t fence_address,
-			uint32_t fence_value)
+			uint64_t fence_value)
 {
 	uint32_t *buffer, size;
 	int retval = 0;
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager_v9.c +1 -1
index dfaf771a42e6..e3ba0cd3b6fa 100644
@@ -283,7 +283,7 @@ static int pm_unmap_queues_v9(struct packet_manager *pm, uint32_t *buffer,
 }
 
 static int pm_query_status_v9(struct packet_manager *pm, uint32_t *buffer,
-			uint64_t fence_address,	uint32_t fence_value)
+			uint64_t fence_address,	uint64_t fence_value)
 {
 	struct pm4_mes_query_status *packet;
 
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager_vi.c +1 -1
index a852e0d7d804..08442e7d9944 100644
@@ -263,7 +263,7 @@ static int pm_unmap_queues_vi(struct packet_manager *pm, uint32_t *buffer,
 }
 
 static int pm_query_status_vi(struct packet_manager *pm, uint32_t *buffer,
-			uint64_t fence_address,	uint32_t fence_value)
+			uint64_t fence_address,	uint64_t fence_value)
 {
 	struct pm4_mes_query_status *packet;
 
drivers/gpu/drm/amd/amdkfd/kfd_priv.h +4 -4
index c77cf23032ac..057c48a9b53a 100644
@@ -1006,8 +1006,8 @@ int pqm_get_wave_state(struct process_queue_manager *pqm,
 		       u32 *ctl_stack_used_size,
 		       u32 *save_area_used_size);
 
-int amdkfd_fence_wait_timeout(unsigned int *fence_addr,
-			      unsigned int fence_value,
+int amdkfd_fence_wait_timeout(uint64_t *fence_addr,
+			      uint64_t fence_value,
 			      unsigned int timeout_ms);
 
 /* Packet Manager */
@@ -1043,7 +1043,7 @@ struct packet_manager_funcs {
 			uint32_t filter_param, bool reset,
 			unsigned int sdma_engine);
 	int (*query_status)(struct packet_manager *pm, uint32_t *buffer,
-			uint64_t fence_address,	uint32_t fence_value);
+			uint64_t fence_address,	uint64_t fence_value);
 	int (*release_mem)(uint64_t gpu_addr, uint32_t *buffer);
 
 	/* Packet sizes */
@@ -1065,7 +1065,7 @@ int pm_send_set_resources(struct packet_manager *pm,
 				struct scheduling_resources *res);
 int pm_send_runlist(struct packet_manager *pm, struct list_head *dqm_queues);
 int pm_send_query_status(struct packet_manager *pm, uint64_t fence_address,
-				uint32_t fence_value);
+				uint64_t fence_value);
 
 int pm_send_unmap_queue(struct packet_manager *pm, enum kfd_queue_type type,
 			enum kfd_unmap_queues_filter mode,
drivers/gpu/drm/imx/imx-drm-core.c +1 -1
index 9bf5ad6d18a2..a1423be70721 100644
@@ -215,7 +215,7 @@ static int imx_drm_bind(struct device *dev)
 
 	ret = drmm_mode_config_init(drm);
 	if (ret)
-		return ret;
+		goto err_kms;
 
 	ret = drm_vblank_init(drm, MAX_CRTC);
 	if (ret)
drivers/gpu/drm/tegra/dc.c +8 -12
index b2c8c68b7e26..3a244ef7f30f 100644
@@ -2499,22 +2499,18 @@ static int tegra_dc_couple(struct tegra_dc *dc)
 	 * POWER_CONTROL registers during CRTC enabling.
 	 */
 	if (dc->soc->coupled_pm && dc->pipe == 1) {
-		u32 flags = DL_FLAG_PM_RUNTIME | DL_FLAG_AUTOREMOVE_CONSUMER;
-		struct device_link *link;
-		struct device *partner;
+		struct device *companion;
+		struct tegra_dc *parent;
 
-		partner = driver_find_device(dc->dev->driver, NULL, NULL,
-					     tegra_dc_match_by_pipe);
-		if (!partner)
+		companion = driver_find_device(dc->dev->driver, NULL, (const void *)0,
+					       tegra_dc_match_by_pipe);
+		if (!companion)
 			return -EPROBE_DEFER;
 
-		link = device_link_add(dc->dev, partner, flags);
-		if (!link) {
-			dev_err(dc->dev, "failed to link controllers\n");
-			return -EINVAL;
-		}
+		parent = dev_get_drvdata(companion);
+		dc->client.parent = &parent->client;
 
-		dev_dbg(dc->dev, "coupled to %s\n", dev_name(partner));
+		dev_dbg(dc->dev, "coupled to %s\n", dev_name(companion));
 	}
 
 	return 0;
drivers/gpu/drm/tegra/sor.c +7 -0
index f02a035dda45..7b88261f57bb 100644
@@ -3115,6 +3115,12 @@ static int tegra_sor_init(struct host1x_client *client)
 	 * kernel is possible.
 	 */
 	if (sor->rst) {
+		err = pm_runtime_resume_and_get(sor->dev);
+		if (err < 0) {
+			dev_err(sor->dev, "failed to get runtime PM: %d\n", err);
+			return err;
+		}
+
 		err = reset_control_acquire(sor->rst);
 		if (err < 0) {
 			dev_err(sor->dev, "failed to acquire SOR reset: %d\n",
@@ -3148,6 +3154,7 @@ static int tegra_sor_init(struct host1x_client *client)
 		}
 
 		reset_control_release(sor->rst);
+		pm_runtime_put(sor->dev);
 	}
 
 	err = clk_prepare_enable(sor->clk_safe);
drivers/net/can/Makefile +1 -6
index 22164300122d..a2b4463d8480 100644
@@ -7,12 +7,7 @@ obj-$(CONFIG_CAN_VCAN)		+= vcan.o
 obj-$(CONFIG_CAN_VXCAN)		+= vxcan.o
 obj-$(CONFIG_CAN_SLCAN)		+= slcan.o
 
-obj-$(CONFIG_CAN_DEV)		+= can-dev.o
-can-dev-y			+= dev.o
-can-dev-y			+= rx-offload.o
-
-can-dev-$(CONFIG_CAN_LEDS)	+= led.o
-
+obj-y				+= dev/
 obj-y				+= rcar/
 obj-y				+= spi/
 obj-y				+= usb/
drivers/net/can/dev.c deleted +0 -1339

1,339 lines not on this page · raw message

drivers/net/can/dev/Makefile new file +7 -0
new file mode 100644
index 000000000000..cba92e6bcf6f
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: GPL-2.0
+
+obj-$(CONFIG_CAN_DEV)		+= can-dev.o
+can-dev-y			+= dev.o
+can-dev-y			+= rx-offload.o
+
+can-dev-$(CONFIG_CAN_LEDS)	+= led.o
drivers/net/can/dev/dev.c new file +1341 -0

953 lines not on this page · raw message

drivers/net/can/dev/rx-offload.c new file +376 -0

376 lines not on this page · raw message

drivers/net/can/m_can/tcan4x5x.c +1 -1
index 01f5b6e03a2d..f169d9090e52 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/rx-offload.c deleted +0 -376

376 lines not on this page · raw message

drivers/net/can/slcan.c +3 -1
index b4a39f0449ba..6471a71c2ee6 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/vcan.c +1 -1
index 39ca14b0585d..067705e2850b 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/vxcan.c +5 -1
index b1baa4ac1d53..7000c6cd1e48 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/aquantia/atlantic/aq_main.c +3 -1
index 8f70a3909929..4af0cd9530de 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +2 -2
index d1f7b51cab62..f5333fc27e14 100644

Lines of this file are not shown. View the raw message.

drivers/net/ipa/gsi_reg.h +0 -10
index 8e0e9350c383..42e5a8b8d324 100644

Lines of this file are not shown. View the raw message.

drivers/net/ipa/ipa_cmd.c +24 -8
index d92dd3f09b73..46d8b7336d8f 100644

Lines of this file are not shown. View the raw message.

drivers/net/netdevsim/dev.c +21 -19
index e7972e88ffe0..9bbecf4d159b 100644

Lines of this file are not shown. View the raw message.

drivers/net/wan/lmc/lmc_main.c +2 -0
index 36600b0a0ab0..1ee4c8a90632 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/wmi-tlv.c +5 -2
index e6135795719a..e7072fc4f487 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath11k/mac.c +5 -2
index ee0edd918560..e9e6b0c4de22 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +5 -2
index 0ee421f30aa2..23e6422c2251 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlwifi/pcie/trans.c +5 -6
index 1a222469b5b4..bb990be7c870 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c +2 -3
index baa83a0b8593..8c7138247869 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlwifi/pcie/tx.c +9 -13
index ed54d04e4396..50133c09a780 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/realtek/rtw88/rtw8821c.c +8 -8
index da2e7415be8f..f9615f76f173 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/target/tcp.c +1 -1
index 8b0485ada315..d658c6e8263a 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/pinctrl-rockchip.c +8 -5
index aa1a1c850d05..53a0badc6b03 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/qla2xxx/qla_target.h +1 -1
index 1cff7c69d448..1e94586c7eb2 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/st.c +1 -1
index e2e5356a997d..19bc8c923fce 100644

Lines of this file are not shown. View the raw message.

drivers/soc/qcom/qcom-geni-se.c +0 -74

74 lines not on this page · raw message

drivers/staging/comedi/drivers/cb_pcidas.c +1 -1
index d740c4782775..2f20bd56ec6c 100644

Lines of this file are not shown. View the raw message.

drivers/staging/comedi/drivers/cb_pcidas64.c +1 -1
index fa987bb0e7cd..6d3ba399a7f0 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8192e/rtllib.h +1 -1
index b84f00b8d18b..4cabaf21c1ca 100644

Lines of this file are not shown. View the raw message.

drivers/staging/rtl8192e/rtllib_rx.c +1 -1
index d31b5e1c8df4..63752233e551 100644

Lines of this file are not shown. View the raw message.

drivers/thermal/thermal_sysfs.c +3 -0
index a6f371fc9af2..f52708f310e0 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/qcom_geni_serial.c +0 -7
index 291649f02821..0d85b55ea823 100644

Lines of this file are not shown. View the raw message.

drivers/usb/class/cdc-acm.c +42 -19

61 lines not on this page · raw message

drivers/usb/core/quirks.c +4 -0
index 6ade3daf7858..76ac5d6555ae 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc2/hcd.c +3 -2
index fc3269f5faf1..1a9789ec5847 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/dwc3-pci.c +2 -0
index bae6a70664c8..598daed8086f 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/dwc3-qcom.c +3 -0
index c00c4fa139b8..8bd077fb1190 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/gadget.c +4 -4
index 2a86ad4b12b3..65ff41e3a18e 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/udc/amd5536udc_pci.c +5 -5
index 8d387e0e4d91..c80f9bd51b75 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-mtk.c +9 -1
index fe010cc61f19..2f27dc0d9c6b 100644

Lines of this file are not shown. View the raw message.

drivers/usb/musb/musb_core.c +8 -4
index 1cd87729ba60..fc0457db62e1 100644

Lines of this file are not shown. View the raw message.

drivers/usb/usbip/vhci_hcd.c +2 -0
index 3209b5ddd30c..a20a8380ca0c 100644

Lines of this file are not shown. View the raw message.

drivers/vfio/pci/Kconfig +1 -1
index 40a223381ab6..0f28bf99efeb 100644

Lines of this file are not shown. View the raw message.

drivers/vhost/vhost.c +1 -1
index a262e12c6dc2..5ccb0705beae 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/core/fbcon.c +3 -0
index 8d1ae973041a..26581194fdf8 100644

Lines of this file are not shown. View the raw message.

drivers/video/fbdev/hyperv_fb.c +0 -3
index c8b0ae676809..4dc9077dd2ac 100644

Lines of this file are not shown. View the raw message.

fs/ext4/balloc.c +26 -12
index 1d640b145637..1afd60fcd772 100644

Lines of this file are not shown. View the raw message.

fs/ext4/ext4.h +1 -0
index b92acb660313..7cae226b000f 100644

Lines of this file are not shown. View the raw message.

fs/ext4/inode.c +3 -3
index c2b8ba343bb4..3f11c948feb0 100644

Lines of this file are not shown. View the raw message.

fs/ext4/namei.c +9 -9
index 6c7eba426a67..ab7baf529917 100644

Lines of this file are not shown. View the raw message.

fs/ext4/super.c +5 -0
index e30bf8f342c2..594300d315ef 100644

Lines of this file are not shown. View the raw message.

fs/ext4/sysfs.c +7 -0
index 4e27fe6ed3ae..f24bef3be48a 100644

Lines of this file are not shown. View the raw message.

fs/fuse/virtio_fs.c +8 -1
index d2c0e58c6416..3d83c9e12848 100644

Lines of this file are not shown. View the raw message.

fs/io_uring.c +24 -9
index dde290eb7dd0..4ccf99cb8cdc 100644

Lines of this file are not shown. View the raw message.

fs/iomap/swapfile.c +10 -0
index a648dbf6991e..a5e478de1417 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/Kconfig +1 -0
index dbbc583d6273..248f1459c039 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfs4callback.c +1 -0
index 052be5bf9ef5..7325592b456e 100644

Lines of this file are not shown. View the raw message.

fs/reiserfs/xattr.h +1 -1
index c764352447ba..81bec2c80b25 100644

Lines of this file are not shown. View the raw message.

include/linux/acpi.h +8 -1
index 9e173c6f312d..fdb1d5262ce8 100644

Lines of this file are not shown. View the raw message.

include/linux/bpf.h +20 -4
index dd236ef59db3..b416bba3a62b 100644

Lines of this file are not shown. View the raw message.

include/linux/can/can-ml.h +12 -0
index 2f5d731ae251..8afa92d15a66 100644

Lines of this file are not shown. View the raw message.

include/linux/extcon.h +23 -0
index fd183fb9c20f..0c19010da77f 100644

Lines of this file are not shown. View the raw message.

include/linux/firmware/intel/stratix10-svc-client.h +1 -1
index a93d85932eb9..f843c6a10cf3 100644

Lines of this file are not shown. View the raw message.

include/linux/netdevice.h +33 -1
index 8753e98a8d58..e37480b5f4c0 100644

Lines of this file are not shown. View the raw message.

include/linux/qcom-geni-se.h +0 -2
index f7bbea3f09ca..964cfe68f72c 100644

Lines of this file are not shown. View the raw message.

include/linux/ww_mutex.h +3 -2
index 850424e5d030..6ecf2a0220db 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/bpf_struct_ops.c +1 -1
index 4c3b543bb33b..f527063864b5 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/core.c +2 -2
index 55454d2278b1..182e162f8fd0 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/trampoline.c +168 -50

218 lines not on this page · raw message

kernel/locking/mutex.c +14 -11
index 5352ce50a97e..2c25b830203c 100644

Lines of this file are not shown. View the raw message.

kernel/static_call.c +4 -10
index 49efbdc5b480..f59089a12231 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace.c +2 -1
index ee4be813ba85..8bfa4e78d895 100644

Lines of this file are not shown. View the raw message.

mm/memory.c +1 -1
index 4d565d7c8016..b70bd3ba3388 100644

Lines of this file are not shown. View the raw message.

net/9p/client.c +0 -4
index 09f1ec589b80..eb42bbb72f52 100644

Lines of this file are not shown. View the raw message.

net/appletalk/ddp.c +21 -12
index 1d48708c5a2e..c94b212d8e7c 100644

Lines of this file are not shown. View the raw message.

net/can/af_can.c +2 -32
index 4c343b43067f..1c95ede2c9a6 100644

Lines of this file are not shown. View the raw message.

net/can/j1939/main.c +8 -14
index 137054bff9ec..e52330f628c9 100644

Lines of this file are not shown. View the raw message.

net/can/j1939/socket.c +4 -9
index f23966526a88..56aa66147d5a 100644

Lines of this file are not shown. View the raw message.

net/can/proc.c +13 -6
index 5ea8695f507e..b15760b5c1cc 100644

Lines of this file are not shown. View the raw message.

net/core/filter.c +4 -8
index f0a19a48c048..9358bc4a3711 100644

Lines of this file are not shown. View the raw message.

net/core/flow_dissector.c +3 -3
index c79be25b2e0c..d48b37b15b27 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/auth_gss/svcauth_gss.c +7 -4
index bd4678db9d76..6dff64374bfe 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/hda_intel.c +8 -0
index d244616d28d8..4c8b281c3992 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_realtek.c +3 -1
index 316b9b4ccb32..58946d069ee5 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs42l42.c +34 -40

74 lines not on this page · raw message

sound/soc/codecs/cs42l42.h +7 -6
index 9e3cc528dcff..866d7c873e3c 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/es8316.c +2 -7
index bd5d230c5df2..609459077f9d 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/rt1015.c +1 -0
index 3db07293c70b..2627910060dc 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/rt5640.c +2 -2
index 1414ad15d01c..a5674c227b3a 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/rt5651.c +2 -2
index d198e191fb0c..e59fdc81dbd4 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/rt5659.c +5 -0
index 41e5917b16a5..91a4ef7f620c 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/rt711.c +8 -0
index a9b1b4180c47..93d86f7558e0 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/sgtl5000.c +1 -1
index 4d6ff8114622..4c0e87e22b97 100644

Lines of this file are not shown. View the raw message.

sound/soc/soc-core.c +4 -0
index 05a085f6dc7c..bf65cba232e6 100644

Lines of this file are not shown. View the raw message.

sound/usb/quirks.c +1 -0
index 10b3a8006bdb..5ab2a4580bfb 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/net/forwarding/tc_flower.sh +37 -1
index 058c746ee300..b11d8e6b5bc1 100755

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.

Tested-by Hulk Robot
#2 lore raw
In reply to Greg Kroah-Hartman
Quoted 4 lines · Greg Kroah-Hartman

I'm announcing the release of the 5.10.28 kernel.

All users of the 5.10 kernel series must upgrade.

Quoted 9 lines

The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

Tested on arm64 and x86 for 5.10.28,

Kernel repo:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Branch: linux-5.10.y
Version: 5.10.28
Commit: ecdfb9d70fb8c4d7dd9a5fa28c675b4ebe705f85
Compiler: gcc version 7.3.0 (GCC)

arm64:
--------------------------------------------------------------------
Testcase Result Summary:
total: 4720
passed: 4720
failed: 0
timeout: 0
--------------------------------------------------------------------

x86:
--------------------------------------------------------------------
Testcase Result Summary:
total: 4720
passed: 4720
failed: 0
timeout: 0
--------------------------------------------------------------------