aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/build/linux_generated.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-10-01 12:12:29 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-10-01 12:51:29 +0200
commit1170210d9cb103aa346ce7260db1c1819cb3c41f (patch)
treeb1c9caca0907c1dd2bec27165c33a0c1cc9fa498 /pkg/build/linux_generated.go
parentc1ff9c10cf949b3fe952f6d4e86016b2f837d941 (diff)
tools/create-gce-image.sh: drop rodata=n
There is suspicion that the random programs corrupt .text segment: https://groups.google.com/g/syzkaller-bugs/c/d5GC1V8S34k/m/6LTarP8mBAAJ which leads to a number of assorted confusing crashes: https://syzkaller.appspot.com/bug?extid=ce179bc99e64377c24bc Turns out we disable text ro protection with rodata=n. The comment says that's because it's slow with KASAN, but most likely what was slow is actually additional debug checking due to CONFIG_DEBUG_WX. If we don't enable CONFIG_DEBUG_WX (which we don't), rodata itself should be fine and desirable. My experiment with the latest kernel does not show any noticable slowdown without rodata=n: [ 11.985152][ T1] Freeing unused kernel image (initmem) memory: 3432K [ 11.986129][ T1] Write protecting the kernel read-only data: 147456k [ 11.990863][ T1] Freeing unused kernel image (text/rodata gap) memory: 2012K [ 11.992797][ T1] Freeing unused kernel image (rodata/data gap) memory: 1324K [ 11.993895][ T1] Run /sbin/init as init process [ 11.910396][ T1] Freeing unused kernel image (initmem) memory: 3432K [ 11.911277][ T1] Kernel memory protection disabled. [ 11.911984][ T1] Run /sbin/init as init process
Diffstat (limited to 'pkg/build/linux_generated.go')
-rw-r--r--pkg/build/linux_generated.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/pkg/build/linux_generated.go b/pkg/build/linux_generated.go
index f576a9f97..e35428f18 100644
--- a/pkg/build/linux_generated.go
+++ b/pkg/build/linux_generated.go
@@ -140,7 +140,7 @@ menuentry 'linux' --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,1)'
- linux /vmlinuz root=/dev/sda1 console=ttyS0 earlyprintk=serial vsyscall=native rodata=n oops=panic panic_on_warn=1 nmi_watchdog=panic panic=86400 net.ifnames=0 sysctl.kernel.hung_task_all_cpu_backtrace=1 $CMDLINE
+ linux /vmlinuz root=/dev/sda1 console=ttyS0 earlyprintk=serial vsyscall=native oops=panic panic_on_warn=1 nmi_watchdog=panic panic=86400 net.ifnames=0 sysctl.kernel.hung_task_all_cpu_backtrace=1 $CMDLINE
}
EOF
sudo grub-install --target=i386-pc --boot-directory=disk.mnt/boot --no-floppy $DISKDEV
@@ -155,14 +155,14 @@ menuentry 'linux' --class gnu-linux --class gnu --class os {
insmod part_gpt
insmod ext2
set root='(ieee1275/disk,gpt2)'
- linux /vmlinuz root=/dev/sda2 console=ttyS0 earlyprintk=serial rodata=n oops=panic panic_on_warn=1 nmi_watchdog=panic panic=86400 net.ifnames=0 $CMDLINE
+ linux /vmlinuz root=/dev/sda2 console=ttyS0 earlyprintk=serial oops=panic panic_on_warn=1 nmi_watchdog=panic panic=86400 net.ifnames=0 $CMDLINE
}
EOF
sudo grub-install --target=powerpc-ieee1275 --boot-directory=disk.mnt/boot $DISKDEV"p1"
;;
s390x)
sudo zipl -V -t disk.mnt/boot -i disk.mnt/vmlinuz \
- -P "root=/dev/vda1 console=ttyS0 earlyprintk=serial rodata=n oops=panic panic_on_warn=1 nmi_watchdog=panic panic=86400 net.ifnames=0 sysctl.kernel.hung_task_all_cpu_backtrace=1 net.ifnames=0 biosdevname=0 $CMDLINE" \
+ -P "root=/dev/vda1 console=ttyS0 earlyprintk=serial oops=panic panic_on_warn=1 nmi_watchdog=panic panic=86400 net.ifnames=0 sysctl.kernel.hung_task_all_cpu_backtrace=1 net.ifnames=0 biosdevname=0 $CMDLINE" \
--targetbase=$DISKDEV --targettype=SCSI --targetblocksize=512 --targetoffset=2048
;;
esac