diff options
Diffstat (limited to 'arch/s390/mm/cmm.c')
| -rw-r--r-- | arch/s390/mm/cmm.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/s390/mm/cmm.c b/arch/s390/mm/cmm.c index d30cdb4248a9..f5a5bc09b8fa 100644 --- a/arch/s390/mm/cmm.c +++ b/arch/s390/mm/cmm.c | |||
| @@ -20,6 +20,11 @@ | |||
| 20 | #include <asm/pgalloc.h> | 20 | #include <asm/pgalloc.h> |
| 21 | #include <asm/uaccess.h> | 21 | #include <asm/uaccess.h> |
| 22 | 22 | ||
| 23 | static char *sender = "VMRMSVM"; | ||
| 24 | module_param(sender, charp, 0); | ||
| 25 | MODULE_PARM_DESC(sender, | ||
| 26 | "Guest name that may send SMSG messages (default VMRMSVM)"); | ||
| 27 | |||
| 23 | #include "../../../drivers/s390/net/smsgiucv.h" | 28 | #include "../../../drivers/s390/net/smsgiucv.h" |
| 24 | 29 | ||
| 25 | #define CMM_NR_PAGES ((PAGE_SIZE / sizeof(unsigned long)) - 2) | 30 | #define CMM_NR_PAGES ((PAGE_SIZE / sizeof(unsigned long)) - 2) |
| @@ -367,10 +372,12 @@ static struct ctl_table cmm_dir_table[] = { | |||
| 367 | #ifdef CONFIG_CMM_IUCV | 372 | #ifdef CONFIG_CMM_IUCV |
| 368 | #define SMSG_PREFIX "CMM" | 373 | #define SMSG_PREFIX "CMM" |
| 369 | static void | 374 | static void |
| 370 | cmm_smsg_target(char *msg) | 375 | cmm_smsg_target(char *from, char *msg) |
| 371 | { | 376 | { |
| 372 | long pages, seconds; | 377 | long pages, seconds; |
| 373 | 378 | ||
| 379 | if (strlen(sender) > 0 && strcmp(from, sender) != 0) | ||
| 380 | return; | ||
| 374 | if (!cmm_skip_blanks(msg + strlen(SMSG_PREFIX), &msg)) | 381 | if (!cmm_skip_blanks(msg + strlen(SMSG_PREFIX), &msg)) |
| 375 | return; | 382 | return; |
| 376 | if (strncmp(msg, "SHRINK", 6) == 0) { | 383 | if (strncmp(msg, "SHRINK", 6) == 0) { |
