mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
s390/debug: Fix NULL pointer dereference in debug_set_level()
Commita2cec68637("s390/debug: Add s390dbf kernel parameter") incorrectly removed a null-id check from debug_set_level(), introducing a possible NULL pointer dereference for debug-API users that put debug_register() results unchecked into debug_set_level(). Fix this by moving the check from the internal _debug_set_level() variant back to the external debug_set_level() wrapper. Fixes:a2cec68637("s390/debug: Add s390dbf kernel parameter") Signed-off-by: Mikhail Zaslonko <zaslonko@linux.ibm.com> Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
parent
9ecc4d0338
commit
b1eb31d533
|
|
@ -1074,9 +1074,6 @@ static void _debug_set_level(debug_info_t *id, int new_level)
|
|||
{
|
||||
unsigned long flags;
|
||||
|
||||
if (!id)
|
||||
return;
|
||||
|
||||
if (new_level == DEBUG_OFF_LEVEL) {
|
||||
pr_info("%s: switched off\n", id->name);
|
||||
} else if ((new_level > DEBUG_MAX_LEVEL) || (new_level < 0)) {
|
||||
|
|
@ -1101,6 +1098,9 @@ static void _debug_set_level(debug_info_t *id, int new_level)
|
|||
*/
|
||||
void debug_set_level(debug_info_t *id, int new_level)
|
||||
{
|
||||
if (!id)
|
||||
return;
|
||||
|
||||
/* Level specified via kernel parameter takes precedence */
|
||||
debug_get_param(id->name, &new_level, NULL);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user