https://github.com/torvalds/linux
Revision ba3edf1f770ebc486f9d69824f4a2e069da4d2d4 authored by Linus Torvalds on 07 December 2017, 02:23:27 UTC, committed by Linus Torvalds on 07 December 2017, 02:23:27 UTC
It's a user pointer, and while the permissions of the file are pretty
questionable (should it really be readable to everybody), hashing the
pointer isn't going to be the solution.

We should take a closer look at more of the /proc/<pid> file permissions
in general.  Sure, we do want many of them to often be readable (for
'ps' and friends), but I think we should probably do a few conversions
from S_IRUGO to S_IRUSR.

Reported-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 10f837e
Raw File
Tip revision: ba3edf1f770ebc486f9d69824f4a2e069da4d2d4 authored by Linus Torvalds on 07 December 2017, 02:23:27 UTC
proc: show si_ptr in /proc/<pid>/timers without hashing
Tip revision: ba3edf1
bust_spinlocks.c
// SPDX-License-Identifier: GPL-2.0
/*
 * lib/bust_spinlocks.c
 *
 * Provides a minimal bust_spinlocks for architectures which don't have one of their own.
 *
 * bust_spinlocks() clears any spinlocks which would prevent oops, die(), BUG()
 * and panic() information from reaching the user.
 */

#include <linux/kernel.h>
#include <linux/printk.h>
#include <linux/spinlock.h>
#include <linux/tty.h>
#include <linux/wait.h>
#include <linux/vt_kern.h>
#include <linux/console.h>


void __attribute__((weak)) bust_spinlocks(int yes)
{
	if (yes) {
		++oops_in_progress;
	} else {
#ifdef CONFIG_VT
		unblank_screen();
#endif
		console_unblank();
		if (--oops_in_progress == 0)
			wake_up_klogd();
	}
}
back to top