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

Commit afbcc663 authored by Deepak Kumar's avatar Deepak Kumar Committed by Gerrit - the friendly Code Review server
Browse files

msm: kgsl: Use init_utsname() instead of ustname() for kernel build info.



Using per uts namespace utsname() for kernel build information section
in snapshot dump was causing a kernel panic because it is accessing a
NULL nsproxy pointer. nsproxy was null because corresponding user task
got SIGKILL which triggered call to free_nsproxy. The patch fixes the
issue by using the global init_utsname() which is always valid.

Change-Id: I13b1b07557794a7fcedf0c9e6acfd3406fbb8989
Signed-off-by: default avatarDeepak Kumar <dkumar@codeaurora.org>
parent becfd28d
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -156,8 +156,10 @@ static size_t snapshot_os(struct kgsl_device *device,
	header->osid = KGSL_SNAPSHOT_OS_LINUX_V3;

	/* Get the kernel build information */
	strlcpy(header->release, utsname()->release, sizeof(header->release));
	strlcpy(header->version, utsname()->version, sizeof(header->version));
	strlcpy(header->release, init_utsname()->release,
			sizeof(header->release));
	strlcpy(header->version, init_utsname()->version,
			sizeof(header->version));

	/* Get the Unix time for the timestamp */
	header->seconds = get_seconds();