[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251001174055.192401-1-hi@josie.lol>
Date: Wed, 1 Oct 2025 19:40:55 +0200
From: Josephine Pfeiffer <hi@...ie.lol>
To: Alexander Gordeev <agordeev@...ux.ibm.com>
Cc: Gerald Schaefer <gerald.schaefer@...ux.ibm.com>,
Heiko Carstens <hca@...ux.ibm.com>,
Vasily Gorbik <gor@...ux.ibm.com>,
Christian Borntraeger <borntraeger@...ux.ibm.com>,
Sven Schnelle <svens@...ux.ibm.com>,
linux-s390@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] s390/extmem: Replace sprintf with snprintf for buffer safety
Replace unsafe sprintf() calls with snprintf() in segment_save() to
prevent potential buffer overflows. The function builds command strings
by repeatedly appending to a fixed-size buffer, which could overflow if
segment ranges are numerous or values are large.
Signed-off-by: Josephine Pfeiffer <hi@...ie.lol>
---
arch/s390/mm/extmem.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/s390/mm/extmem.c b/arch/s390/mm/extmem.c
index 0bc8746b6192..b6464a322eb1 100644
--- a/arch/s390/mm/extmem.c
+++ b/arch/s390/mm/extmem.c
@@ -601,6 +601,7 @@ segment_save(char *name)
snprintf(cmd1, sizeof(cmd1), "DEFSEG %s", name);
for (i=0; i<seg->segcnt; i++) {
size_t len = strlen(cmd1);
+
snprintf(cmd1 + len, sizeof(cmd1) - len, " %lX-%lX %s",
seg->range[i].start >> PAGE_SHIFT,
seg->range[i].end >> PAGE_SHIFT,
--
2.51.0
Powered by blists - more mailing lists