Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e2e2b96 authored by Sebastian Ott's avatar Sebastian Ott Committed by Martin Schwidefsky
Browse files

s390/xpram: don't modify module parameters



During parsing of the sizes array the pointer to the particular
string is lost. Keep it by using an extra pointer to store the end
position of the parsed string. Keeping these parameters accessible
can be helpful for debugging purposes and for userspace reading
the parameters at runtime via sysfs. Also this will ensure that the
memory is freed at module unload time.

Reported-by: default avatarMichael Veigel <veigel@de.ibm.com>
Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 4dd841a0
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -257,6 +257,7 @@ static int __init xpram_setup_sizes(unsigned long pages)
	unsigned long mem_needed;
	unsigned long mem_auto;
	unsigned long long size;
	char *sizes_end;
	int mem_auto_no;
	int i;

@@ -275,8 +276,8 @@ static int __init xpram_setup_sizes(unsigned long pages)
	mem_auto_no = 0;
	for (i = 0; i < xpram_devs; i++) {
		if (sizes[i]) {
			size = simple_strtoull(sizes[i], &sizes[i], 0);
			switch (sizes[i][0]) {
			size = simple_strtoull(sizes[i], &sizes_end, 0);
			switch (*sizes_end) {
			case 'g':
			case 'G':
				size <<= 20;