Remove building with NOCRYPTO option
Infrastructure change to come in a separate commit.
Patch for CVE-2018-049.
Prevent shell execution with r command.
Check bounds before dereferencing in encryption routines.
Document -S to disable ! commands.
Sync with NetBSD-8
sbin/newfs_msdos: sync with NetBSD-8
Allow 0 timestamp.
Use the create_size if given to compute the real size instead of stat'ing
the file again, which might have been larger to start with.
Replace misplaced string VMware with VirtualBox
In the case of vbfs the host is VirtualBox so mentions of VMware must be
minix/tests/arm: naive tests to cause data aborts
Some assembly code to cause unaligned access as well as
segmentation faults to exercise the data abort path.
kernel/arm: send SIGSEGV to processes
On second thought, handle unknown faults caused by processes by sending
SIGSEGV to them instead of bringing the whole system to a grind.
arm/archconst: use values defined in armreg.h
bsd.own.mk: use -mno-unaligned-access on ARM
Without this option, gcc may emit code accessing unaligned memory. This,
and the fact that SCTRL.A (System Control Register - Alignment Check) is
set to 1 in Minix causes data aborts when such code is encountered.
This was the cause of #104. The `minix-service' executable caused
unaligned memory accesses calling into getpwnam(). These then trigger
data abort exceptions. On ARM, these were previously forwarded to `vm'
as pagefaults. However, `vm' did not properly handle them, but instead
allocated one page for the faulting address (over and over again) and
then resumed the process at the faulting instruction (over and over
again). This behavior masked the whole story as an OOM.
Below the assembly version getpwent.c in which unaligned memory
accesses are even highlighted...
341 ldr lr, [sp, #48]
342 cmp lr, #0
343 bne .L46
344 ldr r0, [r4] @ unaligned
345 add r1, r7, #5
346 str r0, [sp, #4] @ unaligned
347 ldr r4, [sp, #4]
[10 lines not shown]
kernel/arm: do not treat all data aborts as pagefaults
For now, distinguish alignment, translation and permission faults.
The first kind of faults cause the kernel to send SIGBUS to the
process causing the fault, the latter two are forwarded to `vm' as
pagefaults. Previously, any data abort was forwarded to `vm' as
a pagefault, resulting in hard to debug issue #104.
Any unhandled fault status results in a disaster. This seems
better than naively hoping `vm' can do something about it.
Update usage man page: remove reference to /usr/ast
This directory no longer exists, probably since the netbsd file layout
pci server crashes during boot on Qubes OS
I tried to launch Minix3 in Qubes OS. While there is no problem to boot
minix as a qube (in Qubes OS terminology) before 3641562, it fails with
the commit (and after). I didn't digg into PCI handling but this change
fixes the problem. Minix handles NULL case from pci_subclass_name.
ARM: Remove dependency on mtools
Instead of formatting the image, and then using the mtools to copy on it
the boot partition files, we use makefs to directly generate the
isofs: support directories with many entries
In particular, remove the hardcoded limit of 4096 entries in a single
directory, as there are (at least) real DVDs out there with more
entries than that. The implementation of this change requires a
second pass on large directories; performance optimizations are left
to future work.
at_wini: bump hardcoded ATAPI limit to DVD size
at_wini was previously hardcoded to present ATAPI devices as having a
size of 800 MiB, which was enough for CDs but not for DVDs. This
patch increases the device size to 8500 MiB, which should be large
enough to cover all DVDs.
As reported by Jean-Baptiste Boric, lua would refuse to start,
throwing an error about incompatibility of numeric types.
This resolves #160.
This script uses the image generation framework to create a pkgsrc CD
image, useful for MINIX installations without Internet connectivity.
Rework package bundling mechanism
Setting PACKAGE_DIR without PACKAGES will default to bundling all
packages in PACKAGE_DIR. PKG_INFO is also mandatory now.