Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								57aec2a733 
								
							 
						 
						
							
							
								
								Kernel: Validate pointer's when printing stack trace  
							
							 
							
							... 
							
							
							
							There was an kernel panic if stack trace contained uncanonical
addresses. 
							
						 
						
							2024-09-22 17:16:01 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ae89237453 
								
							 
						 
						
							
							
								
								Kernel: Disable warning when calling syscall  
							
							 
							
							... 
							
							
							
							This warning is only generated when compiling with UBSAN and I don't see
how the value would even be uninitialzed. 
							
						 
						
							2024-09-22 17:15:07 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								60d5257678 
								
							 
						 
						
							
							
								
								Kenrel: Add __builtin_unreachable support for UBSAN  
							
							 
							
							
							
						 
						
							2024-09-22 17:14:36 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d59463d11b 
								
							 
						 
						
							
							
								
								Kernel: Fix TTY reading one keyevent after disabling input handling  
							
							 
							
							
							
						 
						
							2024-09-22 17:13:10 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								23d6205659 
								
							 
						 
						
							
							
								
								Kernel: Move DEBUG_* macros to centralized Debug.h  
							
							 
							
							... 
							
							
							
							This makes toggling debug info much easier 
							
						 
						
							2024-09-20 11:00:07 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								bc0acc6f44 
								
							 
						 
						
							
							
								
								Kernel: Validate network packet sizes before casting  
							
							 
							
							... 
							
							
							
							This caused a lot of crashes on invalid packets :D 
							
						 
						
							2024-09-20 10:46:59 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								b8622f2b4b 
								
							 
						 
						
							
							
								
								Kernel: Implement simple RTL8169 driver  
							
							 
							
							... 
							
							
							
							This allows me to use internet when running banan-os on my hardware! 
							
						 
						
							2024-09-19 22:58:03 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								7f0c39fe91 
								
							 
						 
						
							
							
								
								Kernel: Don't crash the kernel if packet is smaller than ethernet hdr  
							
							 
							
							
							
						 
						
							2024-09-19 22:51:55 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								a489be0e05 
								
							 
						 
						
							
							
								
								Kernel: Allow parallel LAPIC timer initialization with HPET  
							
							 
							
							... 
							
							
							
							HPET supports reading LAPIC counter without locks, so it can be done in
parallel. This makes booting much faster. Previously initializing every
timer took 100 ms, so 16 CPUs took total of 1.6 seconds. This allows
doing it all in 100 ms. 
							
						 
						
							2024-09-19 14:41:59 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								8e08046519 
								
							 
						 
						
							
							
								
								Kernel: Add asserts about having locked TTY's write lock  
							
							 
							
							... 
							
							
							
							This for some reason fixes booting on real hardware? :D 
							
						 
						
							2024-09-18 00:56:48 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								999eb53364 
								
							 
						 
						
							
							
								
								Kernel: Release debug lock if its locked during kernel panic  
							
							 
							
							... 
							
							
							
							Also kernel panic now prints if it had lock 
							
						 
						
							2024-09-18 00:56:02 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								0620ed3d4f 
								
							 
						 
						
							
							
								
								Kernel: Fix file open permissions for some syscalls  
							
							 
							
							
							
						 
						
							2024-09-17 19:11:48 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								b779b3cf2d 
								
							 
						 
						
							
							
								
								Kernel: Move file finding code to a helper  
							
							 
							
							
							
						 
						
							2024-09-17 18:52:52 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								e431e90b20 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all chown family function with fchownat  
							
							 
							
							
							
						 
						
							2024-09-17 18:35:01 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								4aa466b948 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all chmod family functions using fchmodat  
							
							 
							
							
							
						 
						
							2024-09-17 17:19:26 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								3666525d24 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `readlink` in terms of `readlinkat`  
							
							 
							
							
							
						 
						
							2024-09-17 16:38:15 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								f1a4bbce53 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all stat family functions with fstatat  
							
							 
							
							... 
							
							
							
							This patch gets rid of 2 unnecessary syscalls! 
							
						 
						
							2024-09-17 16:38:01 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								708a720d9d 
								
							 
						 
						
							
							
								
								Kernel: Remove SYS_OPEN  
							
							 
							
							... 
							
							
							
							This can be done with SYS_OPENAT with fd set to AT_FDCWD 
							
						 
						
							2024-09-17 16:16:47 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								5e4aa75e03 
								
							 
						 
						
							
							
								
								Kernel: Perform access checks when creating a file or a directory  
							
							 
							
							... 
							
							
							
							Also SYS_CREATE_DIR now uses correct relative path. It used to always
create files relative to root. And as no permission checks were tested,
file creation succeeded to root as long as path did not contain '/' :D 
							
						 
						
							2024-09-17 15:57:07 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d88ee5c9ee 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `creat` with `open`  
							
							 
							
							... 
							
							
							
							This allows getting rid of unnecessary SYS_CREATE. Directory creation
still has its own syscall, but I could combine it with SYS_OPEN also. 
							
						 
						
							2024-09-17 15:55:53 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d4ea720239 
								
							 
						 
						
							
							
								
								Kernel: Don't crash the kernel if ext2 encounters disk error  
							
							 
							
							... 
							
							
							
							This will most likely result in a corrupted filesystem, but crashing the
kernel is too much :D 
							
						 
						
							2024-09-17 15:54:33 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								97ee370ffe 
								
							 
						 
						
							
							
								
								Kernel: Allow listing files even if one of directories blocks are empty  
							
							 
							
							
							
						 
						
							2024-09-17 15:53:14 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								a084f83f4c 
								
							 
						 
						
							
							
								
								Kernel: Rework kernel-side ELF loading  
							
							 
							
							... 
							
							
							
							ELFs are now loaded as MemoryRegions so they don't need special handling
anywhere. This also allows file backed COW optimizations to work. This
was not the case before.
This patch removes now obsolete LoadableELF and unused ELF files from
LibElf. 
							
						 
						
							2024-09-15 23:57:34 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								54732edff4 
								
							 
						 
						
							
							
								
								Kernel: Fix bugs in memory regions  
							
							 
							
							... 
							
							
							
							MemoryRegion::initialize() required size to be page aligned, this is not
necessary.
MemoryBackedRegion::copy_data_to_region() required user-write
permissions for underlying data. This did not matter as memory backed
regions dont support COW memory, but it could lead to bugs later on. 
							
						 
						
							2024-09-15 23:18:05 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								7feb4c4ebd 
								
							 
						 
						
							
							
								
								Kernel: VFS::file_from_absolute_path now used root_file() API  
							
							 
							
							
							
						 
						
							2024-09-15 02:38:25 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2911d1f018 
								
							 
						 
						
							
							
								
								Kernel: Cleanup and fix pseudo terminals  
							
							 
							
							
							
						 
						
							2024-09-15 02:38:07 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d68ad893f0 
								
							 
						 
						
							
							
								
								Kernel/Shell: Add support for delete key  
							
							 
							
							
							
						 
						
							2024-09-14 22:45:48 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								39667de662 
								
							 
						 
						
							
							
								
								Kernel: Fix sizeof check for sys_tc{set,get}attr  
							
							 
							
							
							
						 
						
							2024-09-14 21:17:03 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								8956835d95 
								
							 
						 
						
							
							
								
								Kernel: Make sys_.*at use VFS relative path finding  
							
							 
							
							
							
						 
						
							2024-09-14 21:15:58 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ea4ec2eafc 
								
							 
						 
						
							
							
								
								Kernel: Make OpenFileDescrptor store VFS::File instead of inode+path  
							
							 
							
							
							
						 
						
							2024-09-14 20:10:21 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								3a352078de 
								
							 
						 
						
							
							
								
								Kernel: Make VirtualFileSystem::File non copyable  
							
							 
							
							
							
						 
						
							2024-09-14 20:09:28 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								6060b39548 
								
							 
						 
						
							
							
								
								Kernel: Implement relative file searching in VFS  
							
							 
							
							
							
						 
						
							2024-09-14 19:44:20 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2b52ea4c6f 
								
							 
						 
						
							
							
								
								Kernel: Make Inode::can_access const  
							
							 
							
							
							
						 
						
							2024-09-14 19:39:41 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								b41738b47b 
								
							 
						 
						
							
							
								
								Kernel: Fix ACPI name formatting functions  
							
							 
							
							
							
						 
						
							2024-09-14 19:39:13 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								57e76a65a4 
								
							 
						 
						
							
							
								
								Kernel: Null terminate ext2 directory entries  
							
							 
							
							... 
							
							
							
							This fixes a weird bug with `ls /bin` 
							
						 
						
							2024-09-12 23:55:34 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								467ac6c365 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement SOCK_CLOEXEC and SOCK_NONBLOCK  
							
							 
							
							... 
							
							
							
							This removes the need for fcntl after creating a socket :) 
							
						 
						
							2024-09-11 21:59:11 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								c77ad5fb34 
								
							 
						 
						
							
							
								
								Kernel: Implement copy-on-write memory for file backed `mmap`s  
							
							 
							
							
							
						 
						
							2024-09-11 19:33:50 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								64a3893f6f 
								
							 
						 
						
							
							
								
								Kernel: Add command line option to disable AML parsing  
							
							 
							
							... 
							
							
							
							This can be handy if my broken AML parser crashes or hangs while parsing
AML :D 
							
						 
						
							2024-09-10 16:20:24 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								eabe759ebf 
								
							 
						 
						
							
							
								
								Kernel: Don't require APs that are not started to start :D  
							
							 
							
							
							
						 
						
							2024-09-10 16:19:43 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								a4838386e6 
								
							 
						 
						
							
							
								
								Kernel: Remove unnecessary branch from uncanonicalizing addresses  
							
							 
							
							
							
						 
						
							2024-09-10 16:19:16 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								c65613901f 
								
							 
						 
						
							
							
								
								Kernel: Fix AML aliases and package elements  
							
							 
							
							
							
						 
						
							2024-09-10 16:18:42 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								de35cec2e1 
								
							 
						 
						
							
							
								
								Kernel: Allow private file mappings past file end  
							
							 
							
							... 
							
							
							
							This is just to make memory mapping ELF files easier :D 
							
						 
						
							2024-09-05 14:48:42 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2f241e1b61 
								
							 
						 
						
							
							
								
								Kernel: Implement FileBackedRegion::clone  
							
							 
							
							
							
						 
						
							2024-09-05 13:59:09 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								f30947336a 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup cmake files  
							
							 
							
							
							
						 
						
							2024-09-05 12:52:25 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								1138ec77ca 
								
							 
						 
						
							
							
								
								Kernel: Fix MemoryBackedRegion cloning for non page aligned size  
							
							 
							
							
							
						 
						
							2024-09-04 21:14:26 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ddf1babfe1 
								
							 
						 
						
							
							
								
								Kernel: Cleanup constructor calls  
							
							 
							
							
							
						 
						
							2024-08-31 02:23:08 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ef5af384e7 
								
							 
						 
						
							
							
								
								Kernel: Print userspace invalid pointer access address  
							
							 
							
							
							
						 
						
							2024-08-30 15:34:37 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								a134d16070 
								
							 
						 
						
							
							
								
								Kernel: Fix MemoryRegion test for contains_fully  
							
							 
							
							
							
						 
						
							2024-08-30 15:33:58 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								827eec6af0 
								
							 
						 
						
							
							
								
								Kernel: Make .rodata read-only and add -orphan-handling=error  
							
							 
							
							... 
							
							
							
							I don't really know why .rodata was marked writable :D 
							
						 
						
							2024-08-30 15:33:02 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								8da2f12ba6 
								
							 
						 
						
							
							
								
								Kernel: Only load program headers of interpreter if its present  
							
							 
							
							... 
							
							
							
							I was loading program headers of both executable and interpreter but
that is incorrect. The interpreter will itself load the program headers
of the executable. 
							
						 
						
							2024-08-28 21:19:37 +03:00