Commit Graph

2136 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 4e918687ce Add kill(1). 2015-12-12 19:28:07 +01:00
Jonas 'Sortie' Termansen 716ac0dceb Fix logterminal TERMMODE_LINEBUFFER checking. 2015-12-12 19:28:07 +01:00
Jonas 'Sortie' Termansen cf5c2706b3 Fix unintended extra fork in chroot(1). 2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen 23810c1a48 Fix snprintf(NULL, 0, ...) undefined behavior. 2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen 15fd58b6a0 Fix tr buffer overrun and shadowed delete array. 2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen 24cf8f42b8 Silence maybe initialized warning in sigsuspend. 2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen 32feba2709 Fix memcpy(dest, NULL, 0) undefined behavior. 2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen ef36a94912 Fix incorrect flush error check in fputc_unlocked(3). 2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen 1acf16dea0 Fix kernel makefile finding crtbegin.o and crtend.o when not needed. 2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen ba4fa25341 Fix mkinitrd creating unaligned structs. 2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen b8f12a6856 Fix fread/fwrite zero division when size is zero. 2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen 0100b61855 Fix fflush(NULL) flushing input streams. 2015-12-12 16:53:42 +01:00
Jonas 'Sortie' Termansen 14a47ea15e Decide tix build triplets on Sortix without running cc. 2015-10-28 20:13:37 +01:00
Jonas 'Sortie' Termansen 1080ffa5fb Refactor and improve shell greatly. 2015-10-28 20:13:37 +01:00
Jonas 'Sortie' Termansen 54b80263a2 Add -d option to chroot(1). 2015-10-28 20:13:37 +01:00
Jonas 'Sortie' Termansen f4995c24f4 Add kernel --init option. 2015-10-28 19:36:33 +01:00
Jonas 'Sortie' Termansen 62b5d45a78 Add kernel command line support. 2015-10-28 19:36:33 +01:00
Jonas 'Sortie' Termansen fc637c8880 Prevent orphan processes from becoming zombies. 2015-10-28 19:36:33 +01:00
Jonas 'Sortie' Termansen 44d4807fc4 Add ENOMOUNT. 2015-10-28 19:36:33 +01:00
Jonas 'Sortie' Termansen b2aae6094f Add mkinitrd support for multiple roots. 2015-10-28 16:28:17 +01:00
Jonas 'Sortie' Termansen 3191e18966 Cache only mkinitrd nodes with multiple hardlinks. 2015-10-28 16:28:17 +01:00
Jonas 'Sortie' Termansen 9554bab714 Add editor highlight support for diff. 2015-10-28 16:28:17 +01:00
Jonas 'Sortie' Termansen 09084cf12d Fix format nonliteral in psignal(3). 2015-10-28 16:07:36 +01:00
Jonas 'Sortie' Termansen 91087d9199 Fix iswgraph unicode support. 2015-10-28 16:07:36 +01:00
Jonas 'Sortie' Termansen bae08f13ef Fix fsmarshall not handling users and groups.
This is an incompatible ABI change.
2015-10-28 16:07:36 +01:00
Jonas 'Sortie' Termansen 8a653584c4 Fix strtol multiplication overflow check. 2015-10-11 23:25:21 +02:00
Jonas 'Sortie' Termansen f0f82fcb23 Fix tmpfile(3) insecure file creation. 2015-10-11 23:25:21 +02:00
Jonas 'Sortie' Termansen 7c6e6ef317 Fix kernel string copy from user-space. 2015-10-09 16:17:52 +02:00
Jonas 'Sortie' Termansen 2727d9fb50 Fix pipe destruction race condition. 2015-10-09 16:17:52 +02:00
Jonas 'Sortie' Termansen 12b5044bc7 Fix signal delivery during context switch. 2015-10-09 16:17:52 +02:00
Jonas 'Sortie' Termansen 82775c4803 Fix extfs invalid block free on truncation. 2015-10-09 16:17:52 +02:00
Jonas 'Sortie' Termansen 4ad93ec618 Fix mkinitrd(8) default rule boolean parsing. 2015-10-08 00:06:58 +02:00
Jonas 'Sortie' Termansen 6138e94124 Fix colormake not resetting color. 2015-10-06 00:36:17 +02:00
Jonas 'Sortie' Termansen 5cee2e9bc7 Fix shell line rendering use of after free. 2015-10-04 02:16:53 +02:00
Jonas 'Sortie' Termansen 6a177d4d79 Split shell into multiple files. 2015-10-04 02:16:53 +02:00
Jonas 'Sortie' Termansen a5d050fc49 Add realpath(1). 2015-10-01 22:50:51 +02:00
Jonas 'Sortie' Termansen 875ce1adf7 Fix faccessat(2) not reporting correct permissions. 2015-10-01 22:50:51 +02:00
Jonas 'Sortie' Termansen 4c2a93ea02 Fix munmap(2) shrink from right logic.
This fixes a rather nasty issue where gcc's garbage collection triggered a
munmap call with the effect that it began unmapping huge amounts of kernel
data until the system triple faulted.
2015-10-01 22:50:51 +02:00
Jonas 'Sortie' Termansen 40c2fd12dc Fix logterminal TERMMODE_UNICODE checking. 2015-10-01 22:49:02 +02:00
Jonas 'Sortie' Termansen 6725972e11 Fix LinkInodeInDir return value.
The callers expected it to return an int different than 0 on failure. The
link method returns different than 0 on failure. This actually worked by
lucky coincidence. Change the return type to int and 0 on success, and -1
on failure per popular demand.

Thanks to Meisaka Yukara for spotting this.
2015-09-25 15:01:20 +02:00
Jonas 'Sortie' Termansen 275541383c Fix dtable return value type errors and missing input validation.
Update to current coding conventions while here.

Thanks to Meisaka Yukara for spotting the return value type errors.
2015-09-25 15:01:20 +02:00
Jonas 'Sortie' Termansen 3501b1e701 Fix console margin not having color of nearest neighbour. 2015-09-25 15:01:19 +02:00
Jonas 'Sortie' Termansen ac6f016748 Fix partition reads and writes at end. 2015-09-25 14:59:04 +02:00
Jonas 'Sortie' Termansen 6813a26196 Fix box drawing character ninth column rendering. 2015-09-25 14:59:04 +02:00
Jonas 'Sortie' Termansen 73a182f80c Add interface to get 32-bit pages. 2015-08-28 15:24:54 +02:00
Jonas 'Sortie' Termansen eb11613da6 Add interface to wait for IO port changes. 2015-08-28 15:24:54 +02:00
Jonas 'Sortie' Termansen 39d8894fc0 Write newline when closing the kernel debugger. 2015-08-27 22:12:45 +02:00
Jonas 'Sortie' Termansen 41d4dbdce7 Fix extfs read-only support. 2015-08-27 22:12:11 +02:00
Jonas 'Sortie' Termansen e2202b2ddb Fix extfs unhandled allocation failures.
This is not sufficient. The operator new calls are dangerous right now
because they throw exceptions (not handled) on error instead of returning
NULL. This needs to be changed to operator new nothrow instead.
2015-08-27 22:12:11 +02:00
Jonas 'Sortie' Termansen bc928e99a4 Fix extfs coding style and general issues.
This cleans up constructors so fields are initialized in the same order they
are declared in. This makes it trivial to spot accidentally uninitialized
fields.

This fixes a minor argument parsing bug when the mount path isn't set, but
fortunately argv[argc] is NULL and we wanted to set it to NULL anyway.

This prevents excessively large block sizes from being used.

This improves inode value range checks in the fsmarshall code. Inode 0 is
not a valid inode. The new code for this is also simpler.

This prevents creating links with names larger than 255 bytes.

This adds a check to ensure inodes don't overflow the hardlink count.

This ensures the dirent filetype is only set if supported.
2015-08-27 22:12:11 +02:00