Unverified Commit 920880cb authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!14844 merge mainline patch into OLK-5.10

Merge Pull Request from: @ci-robot 
 
PR sync from: Kaixiong Yu <yukaixiong@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/VOKCCH6ENRZJ2L3OG3QBOBTMAGLMMKWL/ 
merge mainline patch into OLK-5.10

David Hildenbrand (1):
  fs/proc/task_mmu: indicate PM_FILE for PMD-mapped file THP

Michal Koutný (1):
  x86/mm: Do not shuffle CPU entry areas without KASLR

Muchun Song (1):
  mm: kfence: fix using kfence_metadata without initialization in
    show_object()


-- 
2.34.1
 
https://gitee.com/openeuler/kernel/issues/IBGU7R 
 
Link:https://gitee.com/openeuler/kernel/pulls/14844

 

Reviewed-by: default avatarLi Nan <linan122@huawei.com>
Signed-off-by: default avatarLi Nan <linan122@huawei.com>
parents 44e69901 23484337
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include <asm/fixmap.h>
#include <asm/desc.h>
#include <asm/kasan.h>
#include <asm/setup.h>

static DEFINE_PER_CPU_PAGE_ALIGNED(struct entry_stack_page, entry_stack_storage);

@@ -30,6 +31,12 @@ static __init void init_cea_offsets(void)
	unsigned int max_cea;
	unsigned int i, j;

	if (!kaslr_enabled()) {
		for_each_possible_cpu(i)
			per_cpu(_cea_offset, i) = i;
		return;
	}

	max_cea = (CPU_ENTRY_AREA_MAP_SIZE - PAGE_SIZE) / CPU_ENTRY_AREA_SIZE;

	/* O(sodding terrible) */
+2 −0
Original line number Diff line number Diff line
@@ -1491,6 +1491,8 @@ static int pagemap_pmd_range(pmd_t *pmdp, unsigned long addr, unsigned long end,
		if (pmd_pbha(pmd))
			flags |= PM_PBHA_BIT0;

		if (page && !PageAnon(page))
			flags |= PM_FILE;
		if (page && !migration && page_mapcount(page) == 1)
			flags |= PM_MMAP_EXCLUSIVE;

+8 −2
Original line number Diff line number Diff line
@@ -921,10 +921,14 @@ static const struct file_operations objects_fops = {
	.release = seq_release,
};

static int __init kfence_debugfs_init(void)
static int kfence_debugfs_init(void)
{
	struct dentry *kfence_dir = debugfs_create_dir("kfence", NULL);
	struct dentry *kfence_dir;

	if (!READ_ONCE(kfence_enabled))
		return 0;

	kfence_dir = debugfs_create_dir("kfence", NULL);
	debugfs_create_file("stats", 0444, kfence_dir, NULL, &stats_fops);

	/* Variable kfence_metadata may fail to allocate. */
@@ -1128,6 +1132,8 @@ static int kfence_init_late(void)
	}

	kfence_init_enable();
	kfence_debugfs_init();

	return 0;
}