mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
[S390] cmm: fix crash on case conversion
When the cmm module is compiled into the kernel it will crash when writing to the R/O data section. Reason is the lower to upper case conversion of the "sender" module parameter which ignored the fact that the pointer is preinitialized. Introduced with 41b42876 "cmm, smsgiucv_app: convert sender to uppercase" Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
bf2106ae11
commit
a20852d2b7
@ -23,7 +23,10 @@
|
|||||||
#include <asm/pgalloc.h>
|
#include <asm/pgalloc.h>
|
||||||
#include <asm/diag.h>
|
#include <asm/diag.h>
|
||||||
|
|
||||||
static char *sender = "VMRMSVM";
|
#ifdef CONFIG_CMM_IUCV
|
||||||
|
static char *cmm_default_sender = "VMRMSVM";
|
||||||
|
#endif
|
||||||
|
static char *sender;
|
||||||
module_param(sender, charp, 0400);
|
module_param(sender, charp, 0400);
|
||||||
MODULE_PARM_DESC(sender,
|
MODULE_PARM_DESC(sender,
|
||||||
"Guest name that may send SMSG messages (default VMRMSVM)");
|
"Guest name that may send SMSG messages (default VMRMSVM)");
|
||||||
@ -440,6 +443,8 @@ static int __init cmm_init(void)
|
|||||||
int len = strlen(sender);
|
int len = strlen(sender);
|
||||||
while (len--)
|
while (len--)
|
||||||
sender[len] = toupper(sender[len]);
|
sender[len] = toupper(sender[len]);
|
||||||
|
} else {
|
||||||
|
sender = cmm_default_sender;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = smsg_register_callback(SMSG_PREFIX, cmm_smsg_target);
|
rc = smsg_register_callback(SMSG_PREFIX, cmm_smsg_target);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user