Commit Graph

1280 Commits

Author SHA1 Message Date
Matheus d214326e8e print: add nouserprint argument
For some usecases, silencing syscall_print()s is ideal. A good example
of that is syzkaller, which uses logs to detect crashes and a badly
timed syscall_print() could interfere.

Add a nouserprint argument which skips printing on syscall_print().
2026-10-06 11:51:00 -03:00
Matheus 77520c00c5 pty: use new anonymous devfs operations
Switch the old hacky way of registering a new pty master into using the
new anonymous api.
2026-10-06 11:51:00 -03:00
Matheus 1c65a2c891 devfs: add anonymous variants to register/remove
The current devfs code requires registered devices to have a name on
creation. This makes temporary/hidden devices like pty master ends
appear for a split second on the devfs tree.

Add a way of registering/removing devfs nodes which do not have a name
on the tree.
2026-10-06 11:50:59 -03:00
Matheus d1765b22b5 tty: fix lifetime issue in tty_unregister()
The tty_unregister code removes the tty's vnode from the devfs mappings.
This causes a reference to be dropped, which can then cause the tty to
be freed and the remaining code in tty_unregister does a UAF.

Fix this by holding a reference across the unregister operation.
2026-10-06 11:50:59 -03:00
Matheus cc069554ae vfs: fix UAF on VOP_RELEASE 2026-10-06 11:50:59 -03:00
Matheus e8da0eba6a statvfs: handle vnodes without a vfs 2026-10-06 11:50:58 -03:00
Matheus eda6bca466 tmpfs: remove bad print 2026-10-06 11:50:58 -03:00
Matheus efe699bd2f x86_64 cpu: always inline asm helpers 2026-10-06 11:50:57 -03:00
Matheus 9e028dc059 tcp: copy port to listening tcb chilren 2026-10-06 11:50:57 -03:00
Matheus bf7a4a9d72 vionet: fix transmit publication ordering 2026-10-06 11:50:56 -03:00
Matheus 2867889202 vfs: fix possible use-after-free 2026-10-06 11:50:56 -03:00
Matheus 4500f1f3ec kernel: add nofblog option 2026-10-06 11:50:56 -03:00
Matheus f7052a78c1 Merge pull request #41 from wnsntgs/Kernel/Lib/PushLockOptimizations
Avoid repeated push lock waiter queue walks
2026-09-28 16:39:43 -03:00
wnstngs 2db436c700 kernel: guard pushlock assertions with DEBUG_LOCKS 2026-09-28 22:35:13 +03:00
wnstngs 4eab391004 kernel: avoid repeated push lock waiter queue walks 2026-09-24 23:17:53 +03:00
Matheus ad1740738b Merge pull request #42 from wnsntgs/Kernel/Lib/SemaphoreWakeupFix
Fix semaphore wakeup race
2026-09-23 15:11:05 -03:00
Matheus 68af759f20 Merge pull request #43 from wnsntgs/Kernel/Sched/NanosleepTimerFix
Fix timer cleanup in interrupted nanosleep
2026-09-23 15:09:28 -03:00
Matheus 6ac80173b4 Merge pull request #44 from wnsntgs/Kernel/Lib/EventDetachFix
Detach all event listener attachments
2026-09-23 15:07:41 -03:00
wnstngs 3a952c96b1 kernel: fix semaphore wakeup race 2026-09-23 20:48:29 +03:00
wnstngs 6780626f29 kernel: cancel interrupted nanosleep timer without remaining pointer 2026-09-23 20:48:29 +03:00
wnstngs 3ecfb0ffb9 kernel: detach all event listener attachments 2026-09-23 20:48:29 +03:00
Christopher Fandrich a6fd10c211 syscall: Properly handle a non-canonical return RIP 2026-09-22 13:11:10 -07:00
Matheus 8d82a8fdf1 time: fix diffus 2026-09-19 12:50:23 -03:00
Matheus c347afc761 sched: if last cpu is idle, run on it 2026-09-19 12:50:00 -03:00
Matheus 7a533242ad scheduler: make idle cpus steal work 2026-09-16 00:22:05 -03:00
Matheus 10cd22207d smp: make cpu internal id match offset into cpu table 2026-09-15 23:40:53 -03:00
Matheus 74c0bb2450 sched: actually set cpus as idle 2026-09-15 23:19:56 -03:00
Matheus 3a421a58ad futex: style 2026-09-15 15:06:16 -03:00
Matheus 58d2e468da futex: refactor and optimize 2026-09-15 14:57:19 -03:00
Matheus b9a5ead597 mm: add full page in flag for get physical 2026-09-15 14:45:56 -03:00
Matheus 79262a7c83 netdev: protect wlan ioctls behind auth 2026-09-14 14:06:59 -03:00
Matheus cdee765643 raw sockets: make creating them a privileged operation 2026-09-14 14:03:39 -03:00
Matheus d1cc050d76 sched: fix race on thread switching 2026-09-14 13:21:47 -03:00
Matheus f386f8e33f ext2: fix compilation 2026-09-14 10:55:05 -03:00
Matheus 3eaca91ff1 vfs: properly sync metadata 2026-09-14 10:11:31 -03:00
Matheus f0dc54e027 netdev: cleanup and abstraction 2026-09-14 09:47:07 -03:00
Matheus b1c82ae6af u80211_drv: bump 2026-09-14 09:23:42 -03:00
Matheus 5b088742de wlan: map u80211/drv errors into astral errnos 2026-09-14 09:14:34 -03:00
Matheus f7b4348384 net: bump u80211 2026-09-14 09:08:02 -03:00
Matheus 565c997bd9 Merge pull request #38 from wnsntgs/pushlock
Improve push lock wakeup behavior under contention
2026-09-11 00:42:59 -03:00
Matheus e70a6cde76 u80211_drv: fix group key hw encryption in rtl8188eu 2026-09-10 23:58:26 -03:00
Matheus 433fd852df u80211: fix destination check on rx 2026-09-10 23:58:26 -03:00
Matheus d9ea361caf ipv4: fix receival of different sized headers 2026-09-10 23:58:25 -03:00
Matheus 5aca46e22c socket: SIOCGIFINDEX 2026-09-10 23:58:25 -03:00
Matheus 66b0cb9076 sockets: expose raw sockets to userspace 2026-09-10 17:56:54 -03:00
Matheus e17ba000e2 raw sockets: finish implementation 2026-09-10 17:19:35 -03:00
Matheus 1a8fe895b0 netdev: netdev_from_minor 2026-09-10 16:41:49 -03:00
Matheus 79752fb5e0 sock: pass protocol to sockets 2026-09-10 16:41:21 -03:00
Matheus 894d9bdaf9 raw: raw sockets 2026-09-10 15:59:53 -03:00
Matheus 895c6d9345 eth: take size_t size in eth_process 2026-09-10 15:38:50 -03:00