Skip to content

Commit 92a687f

Browse files
committed
Downgrade kernel version
Switched back to kernel version 4.4.142 due to an issue with stdin management whose content seems to be infinitely often available even when consumed by processes inside the VM
1 parent cf87558 commit 92a687f

File tree

4 files changed

+26
-23
lines changed

4 files changed

+26
-23
lines changed

vm/pythia.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ MKROOTFS_DEPS := $~/mkrootfs.sh $~/functions.sh $(ROOTFS_INIT)
3939
## UML Kernel
4040

4141
UML_CONFIG := $~/uml.config
42-
UML_VERSION := 4.9.98
42+
UML_VERSION := 4.4.142
4343
UML_PATCHES := $~/uml-001-disable-umid.patch \
4444
$~/uml-002-quiet-startup.patch
4545
export UML := $(VM_OUT_DIR)/uml

vm/uml-001-disable-umid.patch

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Disable pid file creation in ~/.uml
2-
diff -urN linux-4.9.98.orig/arch/um/os-Linux/umid.c linux-4.9.98/arch/um/os-Linux/umid.c
3-
--- linux-4.9.98.orig/arch/um/os-Linux/umid.c 2018-05-05 11:11:54.160968082 +0200
4-
+++ linux-4.9.98/arch/um/os-Linux/umid.c 2018-05-05 11:12:51.840968082 +0200
2+
diff -urN linux-4.4.142.orig/arch/um/os-Linux/umid.c linux-4.4.142/arch/um/os-Linux/umid.c
3+
--- linux-4.4.142.orig/arch/um/os-Linux/umid.c 2018-07-21 11:45:38.271601252 +0200
4+
+++ linux-4.4.142/arch/um/os-Linux/umid.c 2018-07-21 11:47:34.615601252 +0200
55
@@ -248,6 +248,8 @@
66
int fd, err;
77
char tmp[256];
@@ -20,3 +20,4 @@ diff -urN linux-4.9.98.orig/arch/um/os-Linux/umid.c linux-4.9.98/arch/um/os-Linu
2020
sprintf(dir, "%s%s", uml_dir, umid);
2121
err = remove_files_and_dir(dir);
2222
if (err)
23+

vm/uml-002-quiet-startup.patch

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/um/kernel/um_arch.c linux-4.9.98/arch/um/kernel/um_arch.c
2-
--- linux-4.9.98.orig/arch/um/kernel/um_arch.c 2018-05-05 11:11:54.148968082 +0200
3-
+++ linux-4.9.98/arch/um/kernel/um_arch.c 2018-05-05 11:27:21.404968082 +0200
1+
diff -urN linux-4.4.142.orig/arch/um/kernel/um_arch.c linux-4.4.142/arch/um/kernel/um_arch.c
2+
--- linux-4.4.142.orig/arch/um/kernel/um_arch.c 2018-07-21 11:45:38.243601252 +0200
3+
+++ linux-4.4.142/arch/um/kernel/um_arch.c 2018-07-21 11:50:10.783601252 +0200
44
@@ -287,8 +287,6 @@
55

66
diff = UML_ROUND_UP(brk_start) - UML_ROUND_UP(&_end);
@@ -10,9 +10,9 @@ diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/um/kernel/um_arch.
1010
physmem_size += UML_ROUND_UP(brk_start) - UML_ROUND_UP(&_end);
1111
}
1212

13-
diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/um/os-Linux/main.c linux-4.9.98/arch/um/os-Linux/main.c
14-
--- linux-4.9.98.orig/arch/um/os-Linux/main.c 2018-05-05 11:11:54.156968082 +0200
15-
+++ linux-4.9.98/arch/um/os-Linux/main.c 2018-05-05 11:30:38.284968082 +0200
13+
diff -urN linux-4.4.142.orig/arch/um/os-Linux/main.c linux-4.4.142/arch/um/os-Linux/main.c
14+
--- linux-4.4.142.orig/arch/um/os-Linux/main.c 2018-07-21 11:45:38.271601252 +0200
15+
+++ linux-4.4.142/arch/um/os-Linux/main.c 2018-07-21 11:51:41.231601252 +0200
1616
@@ -186,12 +186,10 @@
1717

1818
/* Reboot */
@@ -26,9 +26,9 @@ diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/um/os-Linux/main.c
2626
return uml_exitcode;
2727
}
2828

29-
diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/um/os-Linux/mem.c linux-4.9.98/arch/um/os-Linux/mem.c
30-
--- linux-4.9.98.orig/arch/um/os-Linux/mem.c 2018-05-05 11:11:54.156968082 +0200
31-
+++ linux-4.9.98/arch/um/os-Linux/mem.c 2018-05-05 11:34:30.588968082 +0200
29+
diff -urN linux-4.4.142.orig/arch/um/os-Linux/mem.c linux-4.4.142/arch/um/os-Linux/mem.c
30+
--- linux-4.4.142.orig/arch/um/os-Linux/mem.c 2018-07-21 11:45:38.271601252 +0200
31+
+++ linux-4.4.142/arch/um/os-Linux/mem.c 2018-07-21 11:53:42.119601252 +0200
3232
@@ -25,13 +25,11 @@
3333
{
3434
struct statfs st;
@@ -59,15 +59,15 @@ diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/um/os-Linux/mem.c
5959

6060
for (i = 0; tmpfs_dirs[i]; i++) {
6161
dir = tmpfs_dirs[i];
62-
@@ -194,7 +190,6 @@
62+
@@ -189,7 +185,6 @@
6363

6464
addr = mmap(NULL, UM_KERN_PAGE_SIZE,
6565
PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE, fd, 0);
6666
- printf("Checking PROT_EXEC mmap in %s...", tempdir);
6767
if (addr == MAP_FAILED) {
6868
err = errno;
6969
printf("%s\n", strerror(err));
70-
@@ -203,7 +198,6 @@
70+
@@ -198,7 +193,6 @@
7171
printf("%s must be not mounted noexec\n", tempdir);
7272
exit(1);
7373
}
@@ -76,9 +76,9 @@ diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/um/os-Linux/mem.c
7676

7777
close(fd);
7878

79-
diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/um/os-Linux/start_up.c linux-4.9.98/arch/um/os-Linux/start_up.c
80-
--- linux-4.9.98.orig/arch/um/os-Linux/start_up.c 2018-05-05 11:11:54.160968082 +0200
81-
+++ linux-4.9.98/arch/um/os-Linux/start_up.c 2018-05-05 11:37:55.308968082 +0200
79+
diff -urN linux-4.4.142.orig/arch/um/os-Linux/start_up.c linux-4.4.142/arch/um/os-Linux/start_up.c
80+
--- linux-4.4.142.orig/arch/um/os-Linux/start_up.c 2018-07-21 11:45:38.271601252 +0200
81+
+++ linux-4.4.142/arch/um/os-Linux/start_up.c 2018-07-21 11:56:13.947601252 +0200
8282
@@ -166,7 +166,6 @@
8383
unsigned long regs[MAX_REG_NR];
8484
int pid, n, status, count=0;
@@ -140,8 +140,9 @@ diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/um/os-Linux/start_
140140

141141
void __init os_early_checks(void)
142142

143-
diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/x86/um/os-Linux/task_size.c linux-4.9.98/arch/x86/um/os-Linux/task_size.c --- linux-4.9.98.orig/arch/x86/um/os-Linux/task_size.c 2018-05-05 11:11:54.348968082 +0200
144-
+++ linux-4.9.98/arch/x86/um/os-Linux/task_size.c 2018-05-05 11:41:33.352968082 +0200
143+
diff -urN linux-4.4.142.orig/arch/x86/um/os-Linux/task_size.c linux-4.4.142/arch/x86/um/os-Linux/task_size.c
144+
--- linux-4.4.142.orig/arch/x86/um/os-Linux/task_size.c 2018-07-21 11:45:38.447601252 +0200
145+
+++ linux-4.4.142/arch/x86/um/os-Linux/task_size.c 2018-07-21 11:58:37.519601252 +0200
145146
@@ -79,9 +79,6 @@
146147
unsigned long top = 0xffffd000 >> UM_KERN_PAGE_SHIFT;
147148
unsigned long test, original;
@@ -156,7 +157,7 @@ diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/x86/um/os-Linux/ta
156157
exit(1);
157158
}
158159

159-
- printf("0x%lx\n", bottom << UM_KERN_PAGE_SHIFT);
160+
- printf("0x%x\n", bottom << UM_KERN_PAGE_SHIFT);
160161
- printf("Locating the top of the address space ... ");
161162
- fflush(stdout);
162163
-
@@ -167,7 +168,7 @@ diff -urN -x '*.o' -x '*.cmd' -x '*.s' linux-4.9.98.orig/arch/x86/um/os-Linux/ta
167168
exit(1);
168169
}
169170
top <<= UM_KERN_PAGE_SHIFT;
170-
- printf("0x%lx\n", top);
171+
- printf("0x%x\n", top);
171172

172173
return top;
173174
}

vm/uml.config

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
22
# Automatically generated file; DO NOT EDIT.
3-
# User Mode Linux/i386 4.4.6 Kernel Configuration
3+
# User Mode Linux/i386 4.4.142 Kernel Configuration
44
#
55
CONFIG_UML=y
66
CONFIG_MMU=y
@@ -158,6 +158,7 @@ CONFIG_TINY_RCU=y
158158
# CONFIG_SYSFS_DEPRECATED is not set
159159
# CONFIG_RELAY is not set
160160
# CONFIG_BLK_DEV_INITRD is not set
161+
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
161162
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
162163
CONFIG_ANON_INODES=y
163164
CONFIG_HAVE_UID16=y

0 commit comments

Comments
 (0)