Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f361aa09 authored by Jim Blackler's avatar Jim Blackler
Browse files

Remove taskname from lowmemorykiller kill reports



Required because the lowmem_shrinker cannot use get_cmdline when called
from the direct reclaim path. Direct reclaim in do_page_fault() takes
mm->mmap_sem before calling shrinkers and get_cmdline also takes
mm->mmap_sem by calling access_process_vm. Userspace should be able to
recover taskname using the reported PID.

Bug: 130017100
Signed-off-by: default avatarJim Blackler <jimblackler@google.com>
Test: Manually
Change-Id: I5f8b15bda60f9e2c0f6373ef54ad6fb95cda7a44
parent f360bd46
Loading
Loading
Loading
Loading
+1 −14
Original line number Diff line number Diff line
@@ -104,19 +104,6 @@ void handle_lmk_event(struct task_struct *selected, int selected_tasksize,
	int tail;
	struct lmk_event *events;
	struct lmk_event *event;
	int res;
	char taskname[MAX_TASKNAME];

	res = get_cmdline(selected, taskname, MAX_TASKNAME - 1);

	/* No valid process name means this is definitely not associated with a
	 * userspace activity.
	 */

	if (res <= 0 || res >= MAX_TASKNAME)
		return;

	taskname[res] = '\0';

	spin_lock(&lmk_event_lock);

@@ -132,7 +119,7 @@ void handle_lmk_event(struct task_struct *selected, int selected_tasksize,
	events = (struct lmk_event *) event_buffer.buf;
	event = &events[head];

	memcpy(event->taskname, taskname, res + 1);
	strncpy(event->taskname, selected->comm, MAX_TASKNAME);

	event->pid = selected->pid;
	event->uid = from_kuid_munged(current_user_ns(), task_uid(selected));