Unverified Commit 3faea8b7 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!3206 Two bugfix patch about memcg swap qos

Merge Pull Request from: @ci-robot 
 
PR sync from: Liu Shixin <liushixin2@huawei.com>
https://mailweb.openeuler.org/hyperkitty/list/kernel@openeuler.org/message/AIBT26YMWHAMDVXPIDHTAINRBDBWYMAJ/ 
Two bugfix patch about memcg swap qos.

Liu Shixin (2):
  mm/swap_slots: fix out-of-bounds access of percpu area
  memcg: fix use-after-free of mm_struct


-- 
2.25.1
 
https://gitee.com/openeuler/kernel/issues/I8LKYV 
 
Link:https://gitee.com/openeuler/kernel/pulls/3206

 

Reviewed-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents 528195e8 6980e31e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -4159,12 +4159,18 @@ static int mem_cgroup_task_swapin(struct task_struct *task, void *arg)
	struct vm_area_struct *vma;
	struct blk_plug plug;

	if (__task_is_dying(task))
		return 0;
	if (!mm || !mmget_not_zero(mm))
		return 0;

	mmap_read_lock(mm);
	blk_start_plug(&plug);
	for (vma = mm->mmap; vma; vma = vma->vm_next)
		force_swapin_vma(vma);
	blk_finish_plug(&plug);
	mmap_read_unlock(mm);
	mmput(mm);

	return 0;
}
+1 −1
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ static inline struct swap_slots_cache *get_slots_cache(int swap_type)
	if (swap_type == SWAP_TYPE_ALL)
		return raw_cpu_ptr(&swp_slots);
	else
		return raw_cpu_ptr(&swp_type_slots)[swap_type];
		return raw_cpu_ptr(&swp_type_slots[swap_type]);
}

static inline struct swap_slots_cache *get_slots_cache_cpu(unsigned int cpu,