[Crash-utility] [PATCH] crash: Show kernel tainted status in display_sys_stats()

Dave Anderson anderson at redhat.com
Fri Nov 21 15:25:59 UTC 2014


Kind of redundant w/respect to the "sys -t" option that was added
in crash-7.0.9?

Dave


----- Original Message -----
> The sys command displays essential system information and it is often
> shown by default when crash is started in non-silent mode. It might be
> considered helpful to report if the kernel is tainted or not when
> sys is run without any arguments. This patch makes this change.
> The intended output is as follows:
> 
>       KERNEL: /usr/lib/debug/lib/modules/3.16.4-200.fc20.x86_64/vmlinux
>     DUMPFILE: /dev/crash
>         CPUS: 4
>         DATE: Fri Nov 21 15:02:56 2014
>       UPTIME: 6 days, 07:41:22
> LOAD AVERAGE: 0.29, 0.20, 0.15
>        TASKS: 397
>     NODENAME: atomlin.usersys.redhat.com
>      RELEASE: 3.16.4-200.fc20.x86_64
>      VERSION: #1 SMP Mon Oct 6 12:57:00 UTC 2014
>      TAINTED: YES
>      MACHINE: x86_64  (2693 Mhz)
>       MEMORY: 7.7 GB
>          PID: 12172
>      COMMAND: "crash"
>         TASK: ffff8801b0aacf00  [THREAD_INFO: ffff8801b1e1c000]
>          CPU: 0
>        STATE: TASK_RUNNING (ACTIVE)
> 
> If the tainted_mask or tainted symbol does not exist then nothing is
> displayed.
> 
> Signed-off-by: Aaron Tomlin <atomlin at redhat.com>
> ---
>  kernel.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/kernel.c b/kernel.c
> index 1cb0967..a22ce60 100644
> --- a/kernel.c
> +++ b/kernel.c
> @@ -4691,8 +4691,12 @@ display_sys_stats(void)
>  {
>          struct new_utsname *uts;
>          char buf[BUFSIZE];
> +	ulong tainted_mask;
> +	int tainted;
>  	ulong mhz;
>  
> +	tainted_mask = tainted = 0;
> +
>  	uts = &kt->utsname;
>  
>  //	if (!(pc->flags & RUNTIME) && !DUMPFILE() && !GDB_PATCHED())
> @@ -4834,6 +4838,13 @@ display_sys_stats(void)
>  	fprintf(fp, "    NODENAME: %s\n", uts->nodename);
>          fprintf(fp, "     RELEASE: %s\n", uts->release);
>  	fprintf(fp, "     VERSION: %s\n", uts->version);
> +	if (kernel_symbol_exists("tainted_mask")) {
> +		get_symbol_data("tainted_mask", sizeof(ulong), &tainted_mask);
> +		fprintf(fp, "     TAINTED: %s\n", tainted_mask ? "YES" : "NO");
> +	} else if (kernel_symbol_exists("tainted")) {
> +		get_symbol_data("tainted", sizeof(int), &tainted);
> +		fprintf(fp, "     TAINTED: %s\n", tainted ? "YES" : "NO");
> +	}
>  	fprintf(fp, "     MACHINE: %s  ", uts->machine);
>  	if ((mhz = machdep->processor_speed()))
>  		fprintf(fp, "(%ld Mhz)\n", mhz);
> --
> 1.9.3
> 
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
> 




More information about the Crash-utility mailing list