lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071016172124.GA19882@elf.ucw.cz>
Date:	Tue, 16 Oct 2007 19:21:24 +0200
From:	Pavel Machek <pavel@....cz>
To:	Yi Yang <yang.y.yi@...il.com>
Cc:	linux-kernel@...r.kernel.org, akpm@...l.org,
	mj@...ey.karlin.mff.cuni.cz, crutcher+kernel@...astacks.com
Subject: Re: [PATCH 2.6.23] SysRq: print hotkey info while pressing undef
	key

Hi!

> For SysRq, we just can get hot key list from Documentation/sysrq.txt
> , but in the most of cases, the user can't access it by hand on
> using SysRq to debug, so it is better for SysRq to provide an online
> help for the users.
> 
> SysRq has already provided a similiar help before this patch, but it
> is not so definite that the user doesn't know what happened and how
> to do on pressing an undefined hot key.
> 
> In addition, that funtion has a big loop with another big loop
> embedded which is very inefficient, it is intended to skip some hot
> key help info for such a function as "Changing Loglevel", just print
> a help info for this, that is very unnecessary. In fact, the key '0'
>  - '8' have different results the user should know.
> 
> This patch add this online help function, it'll print thw whole hot
> key list and corresponding function descriptions, it can print the new
> defined hot key without any changed needed.
> 
> The output is the below on pressing an undefined hot key:
> 
> SysRq : <6>this hot key isn't defined.
> 
> SysRq Help Information:
> 
>   Hot Key      Function Description
> ===========    ====================
> ALT+SysRq+0    Changing Loglevel to this value
> ALT+SysRq+1    Changing Loglevel to this value
> ALT+SysRq+2    Changing Loglevel to this value
> ALT+SysRq+3    Changing Loglevel to this value
> ALT+SysRq+4    Changing Loglevel to this value
> ALT+SysRq+5    Changing Loglevel to this value
> ALT+SysRq+6    Changing Loglevel to this value
> ALT+SysRq+7    Changing Loglevel to this value
> ALT+SysRq+8    Changing Loglevel to this value
> ALT+SysRq+9    Changing Loglevel to this value
> ALT+SysRq+a    Not defined
> ALT+SysRq+b    Resetting
> ALT+SysRq+c    Trigger a crashdump
> ALT+SysRq+d    Not defined
> ALT+SysRq+e    Terminate All Tasks
> ALT+SysRq+f    Manual OOM execution
> ALT+SysRq+g    Not defined
> ALT+SysRq+h    Not defined
> ALT+SysRq+i    Kill All Tasks
> ALT+SysRq+j    Not defined
> ALT+SysRq+k    SAK
> ALT+SysRq+l    Not defined
> ALT+SysRq+m    Show Memory
> ALT+SysRq+n    Nice All RT Tasks
> ALT+SysRq+o    Power Off
> ALT+SysRq+p    Show Regs
> ALT+SysRq+q    Show Pending Timers
> ALT+SysRq+r    Keyboard mode set to XLATE
> ALT+SysRq+s    Emergency Sync
> ALT+SysRq+t    Show State
> ALT+SysRq+u    Emergency Remount R/O
> ALT+SysRq+v    Not defined
> ALT+SysRq+w    Show Blocked State
> ALT+SysRq+x    Not defined
> ALT+SysRq+y    Not defined
> ALT+SysRq+z    Not defined

This will scroll out of users view on small terminals.

Plus it is untrue. On sparc, it is stop+x, not sysrq+x.

> +/*
> + * Hot key table SysRq supports
> + */
> +static char __read_mostly sysrq_hot_key_table[36] = {
> +	'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
> +	'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
> +	'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
> +	'u', 'v', 'w', 'x', 'y', 'z'
> +};

Plus this is practically guaranteed to get out of sync with
reality. If you did this to make sysrq printing faster... then that is
very bad optimization.
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ