Unverified Commit 6163d2da authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!12291 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.50-6.6.51 LTS Patches

Merge Pull Request from: @wenzhiwei11 
 
git log --oneline v6.6.50..v6.6.51 | wc -l
267
211+54+1+1
Merged commits(54)

 sch/netem: fix use after free in netem_dequeue
 ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object  
 powerpc/qspinlock: Fix deadlock in MCS queue
 smb: client: fix double put of @cfile in smb2_set_path_size()
 ksmbd: unset the binding mark of a reused connection
 ata: libata: Fix memory leak for error path in ata_host_alloc()
 rtmutex: Drop rt_mutex::wait_lock before scheduling
 can: mcp251x: fix deadlock if an interrupt occurs during mcp251x_open
 spi: rockchip: Resolve unbalanced runtime PM / system PM handling
 tracing/osnoise: Use a cpumask to know what threads are kthreads
 userfaultfd: don't BUG_ON() if khugepaged yanks our page table
 userfaultfd: fix checks for huge PMDs
 fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF
 eventfs: Use list_del_rcu() for SRCU protected list variable
 net: mana: Fix error handling in mana_create_txq/rxq's NAPI cleanup
 nilfs2: fix missing cleanup on rollforward recovery error
 nilfs2: protect references to superblock parameters exposed in sysfs
 wifi: ath12k: fix firmware crash due to invalid peer nss
 ELF: fix kernel.randomize_va_space double read
 udf: Avoid excessive partition lengths
 usb: gadget: aspeed_udc: validate endpoint index for ast udc
 drm/amd/display: Run DC_LOG_DC after checking link->link_enc
 drm/amd/display: Check denominator pbn_div before used
 can: bcm: Remove proc entry when dev is unregistered.
 hwmon: (hp-wmi-sensors) Check if WMI event data exists
 net: phy: Fix missing of_node_put() for leds
 um: line: always fill *error_out in setup_one_line()
 pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv
 wifi: rtw88: usb: schedule rx work after everything is set up
 scsi: ufs: core: Remove SCSI host only if added
 hwmon: (adc128d818) Fix underflows seen when writing limit attributes
 hwmon: (lm95234) Fix underflows seen when writing limit attributes
 hwmon: (w83627ehf) Fix underflows seen when writing limit attributes
 jbd2: avoid mount failed when commit block is partial submitted
 wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id()
 btrfs: clean up our handling of refs == 0 in snapshot delete
 btrfs: replace BUG_ON() with error handling at update_ref_for_cow()
 PCI: Add missing bridge lock to pci_bus_lock()
 spi: hisi-kunpeng: Add verification for the max_frequency provided by the firmware
 HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup
 HID: amd_sfh: free driver_data after destroying hid device
 Input: uinput - reject requests with unreasonable number of slots
 Squashfs: sanity check symbolic link size
 smb/server: fix potential null-ptr-deref of lease_ctx_info in smb2_open()
 misc: fastrpc: Fix double free of 'buf' in error path
 binder: fix UAF caused by offsets overwrite
 uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind
 VMCI: Fix use-after-free when removing resource in vmci_resource_remove()
 arm64: acpi: Move get_cpu_for_acpi_id() to a header
 arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry
 nvmet-tcp: fix kernel crash if commands allocation fails
 smb: client: fix double put of @cfile in smb2_rename_path()
 btrfs: fix race between direct IO write and fsync when using same fd
 perf/x86/intel: Limit the period on Haswell

conflicts commits(1)

 userfaultfd: don't BUG_ON() if khugepaged yanks our page table

checkkabi fail(1)
 
 perf/aux: Fix AUX buffer serialization 
 
Link:https://gitee.com/openeuler/kernel/pulls/12291

 

Reviewed-by: default avatarZhang Peng <zhangpeng362@huawei.com>
Signed-off-by: default avatarZhang Peng <zhangpeng362@huawei.com>
parents 21df7c23 fb19d552
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -13751,7 +13751,7 @@ M: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
M:	"Paul E. McKenney" <paulmck@kernel.org>
L:	linux-kernel@vger.kernel.org
S:	Supported
F:	arch/powerpc/include/asm/membarrier.h
F:	arch/*/include/asm/membarrier.h
F:	include/uapi/linux/membarrier.h
F:	kernel/sched/membarrier.c
+2 −0
Original line number Diff line number Diff line
@@ -151,6 +151,8 @@ extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,

extern pgd_t swapper_pg_dir[PTRS_PER_PGD];

#define pgdp_get(pgpd)		READ_ONCE(*pgdp)

#define pud_page(pud)		pmd_page(__pmd(pud_val(pud)))
#define pud_write(pud)		pmd_write(__pmd(pud_val(pud)))

+3 −1
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
#include <asm/bootinfo.h>
#include <asm/early_ioremap.h>
#include <asm/inst.h>
#include <asm/io.h>
#include <asm/sections.h>
#include <asm/setup.h>
#include "legacy_boot.h"
@@ -171,7 +172,7 @@ unsigned long __init relocate_kernel(void)
	unsigned long kernel_length;
	unsigned long random_offset = 0;
	void *location_new = _text; /* Default to original kernel start */
	char *cmdline = early_ioremap(fw_arg1, COMMAND_LINE_SIZE); /* Boot command line is passed in fw_arg1 */
	char *cmdline = early_memremap_ro(fw_arg1, COMMAND_LINE_SIZE); /* Boot command line is passed in fw_arg1 */

	if (fw_arg0 < 2)
		strscpy(boot_command_line, cmdline, COMMAND_LINE_SIZE);
@@ -186,6 +187,7 @@ unsigned long __init relocate_kernel(void)
		random_offset = (unsigned long)location_new - (unsigned long)(_text);
#endif
	reloc_offset = (unsigned long)_text - VMLINUX_LOAD_ADDRESS;
	early_memunmap(cmdline, COMMAND_LINE_SIZE);

	if (random_offset) {
		kernel_length = (long)(_end) - (long)(_text);
+7 −8
Original line number Diff line number Diff line
@@ -303,13 +303,6 @@ int r4k_clockevent_init(void)
	if (!c0_compare_int_usable())
		return -ENXIO;

	/*
	 * With vectored interrupts things are getting platform specific.
	 * get_c0_compare_int is a hook to allow a platform to return the
	 * interrupt number of its liking.
	 */
	irq = get_c0_compare_int();

	cd = &per_cpu(mips_clockevent_device, cpu);

	cd->name		= "MIPS";
@@ -320,7 +313,6 @@ int r4k_clockevent_init(void)
	min_delta		= calculate_min_delta();

	cd->rating		= 300;
	cd->irq			= irq;
	cd->cpumask		= cpumask_of(cpu);
	cd->set_next_event	= mips_next_event;
	cd->event_handler	= mips_event_handler;
@@ -332,6 +324,13 @@ int r4k_clockevent_init(void)

	cp0_timer_irq_installed = 1;

	/*
	 * With vectored interrupts things are getting platform specific.
	 * get_c0_compare_int is a hook to allow a platform to return the
	 * interrupt number of its liking.
	 */
	irq = get_c0_compare_int();

	if (request_irq(irq, c0_compare_interrupt, flags, "timer",
			c0_compare_interrupt))
		pr_err("Failed to request irq %d (timer)\n", irq);
+1 −2
Original line number Diff line number Diff line
@@ -303,8 +303,7 @@ extern unsigned long linear_map_top;
extern int book3e_htw_mode;

#define PPC_HTW_NONE	0
#define PPC_HTW_IBM	1
#define PPC_HTW_E6500	2
#define PPC_HTW_E6500	1

/*
 * 64-bit booke platforms don't load the tlb in the tlb miss handler code.
Loading