summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2014-10-26 10:42:59 +0000
committermiod <miod@openbsd.org>2014-10-26 10:42:59 +0000
commit1c862eaf9f7b1cb2f4a10eee65a07cca756a3a0b (patch)
tree23c09d1e5b094456d1914bd529065c141c288c37 /lib/libc
parentRead the section header string table in the boot blocks' memory, not in the (diff)
downloadwireguard-openbsd-1c862eaf9f7b1cb2f4a10eee65a07cca756a3a0b.tar.xz
wireguard-openbsd-1c862eaf9f7b1cb2f4a10eee65a07cca756a3a0b.zip
Append 512 bytes of zero to the kernel image intended to be put into lif.fs,
so that valid bytes exist at the end of the kernel image. Since the lif image stores files size in 256-byte unit, we can not report EOF while reading the kernel image until the remainder of the 256-byte sector has been read. But these zero bytes would cause the gzip readahead machinery in libsa to believe the kernel is followed by an uncompressed file, and switch to transparent mode, preventing backwards seeks into the kernel image from working. This fixes the ``read section header string table failed(0)'' errors when attempting to boot lif.fs since loadfile_elf.c 1.9.
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions