Commit Graph

337 Commits

Author SHA1 Message Date
Mintsuki
ae10237764 lib/uri: Use static buffer in uri_resolve() to fix memory leak 2025-12-28 12:46:45 +01:00
Mintsuki
ac04e84043 lib/libc: Add strdup() function 2025-12-28 12:42:35 +01:00
Mintsuki
3db3f0971a misc: Replace some integer overflow check patterns with builtin functions 2025-12-28 00:13:26 +01:00
Mintsuki
62045e0090 lib/term: Fix up flanterm_fb_init() call with size_t versions of ext_mem_alloc/pmm_free 2025-12-27 22:52:22 +01:00
Mintsuki
18fb572dd2 mm/pmm: Use uint64_t instead of size_t for the size argument for ext_mem_alloc/pmm_free functions 2025-12-27 22:45:52 +01:00
Mintsuki
4515fa62dc lib/part: Ensure that the sect_count variable is not -1 before computing part_size 2025-12-27 20:58:50 +01:00
Mintsuki
1e20c68aba lib/uri: Add blake2b validation 2025-12-26 14:09:45 +01:00
Mintsuki
8ebc72c65a lib/elf: Add several bounds checks and misc bug fixes 2025-12-26 13:58:25 +01:00
Mintsuki
3e41ea363e lib/misc: Validate input characters in oct2bin and hex2bin 2025-12-26 13:50:31 +01:00
Mintsuki
1fa4c96bb7 lib/acpi: Add RSDT/XSDT length validation 2025-12-26 13:48:00 +01:00
Mintsuki
5fcaaff029 lib/config: Add SMBIOS structure validation and bounds checking 2025-12-26 13:45:09 +01:00
Mintsuki
3487bc14f0 lib/libc: Fix strchr and strrchr null terminator handling and add inet_pton() sanity checks 2025-12-26 13:39:27 +01:00
Mintsuki
40f84d0e77 fs, lib/part: Use builtin overflow detection for arithmetic operations 2025-12-26 11:14:57 +01:00
Mintsuki
3e5eb63856 lib/part: Add bounds checking to volume_read() function 2025-12-26 02:46:47 +01:00
Mintsuki
4d5bfa6af2 lib/config: Return pointer to static buffer from config_get_value() 2025-12-25 18:56:36 +01:00
Mintsuki
6598649c02 lib/part: Get rid of overzealous check added in 055e9a203a 2025-12-24 23:02:09 +01:00
Mintsuki
055e9a203a lib/part: Miscellaneous security and bug fixes 2025-12-24 22:18:11 +01:00
iretq
990f2f7960 lib/term: Update flanterm_fb_init() call 2025-12-08 09:39:32 +01:00
iretq
aaa500ba70 lib/gterm: Support framebuffer rotation 2025-12-08 09:29:57 +01:00
Mintsuki
22df06c057 lib/libc: Convert char to unsigned char before comparison in string comparison functions 2025-12-02 03:49:33 +01:00
Mintsuki
bf3c4a658c lib/paths: Use strncmp() instead of memcmp() where appropriate 2025-12-02 03:48:32 +01:00
Kacper Słomiński
afb2a8e642 lib/gterm: Add flush callback for aarch64 2025-11-29 17:21:22 +01:00
Mintsuki
8679e68efc lib/gterm: Add flush callback for riscv64 2025-11-29 16:44:56 +01:00
Mintsuki
f4f69c315f misc: Hard panic when global DTB fails to load 2025-11-29 15:40:54 +01:00
Mintsuki
1ce8ba628b misc: Update get_device_tree_blob() logic to match config docs 2025-11-29 10:40:12 +01:00
Mintsuki
c1389680aa misc: Rename config option loader_dtb_path -> global_dtb and document it 2025-11-29 10:00:44 +01:00
Mintsuki
5460569106 riscv: Do an early RISC-V init to allow checking ISA features early 2025-11-29 09:51:56 +01:00
Mintsuki
d0e8016ed7 lib/part: Remove ancient echfs partition check 2025-11-23 04:29:16 +01:00
Mintsuki
00786e8fe3 lib/acpi: Do not assume rsdt_addr is not null in acpi_map_tables() 2025-11-07 10:47:45 +01:00
Mintsuki
e06cc37f68 lib/config: Change default paths for config search and ordering
Also prefer searching within the EFI app's directory first, on EFI.
2025-11-03 21:29:01 +01:00
Mintsuki
11b4ee64d5 lib/acpi: Make map_single_table() static 2025-10-25 03:37:48 +02:00
Mintsuki
80c82d9772 protos/limine: Initial implementation of base revision 4 2025-10-25 02:31:49 +02:00
Mintsuki
715f2e032d misc: Simplify get_device_tree_blob() logic and prevent leak 2025-10-13 12:40:40 +02:00
Mintsuki
9655de5371 lib/misc: Always reallocate DTB 2025-10-07 21:17:33 +02:00
Mintsuki
4948d52df8 misc: Fix some minor spelling mistakes 2025-10-03 09:21:26 +02:00
Qwinci
8a024b24e3 lib: Don't discard discardable sections for PE images
Code put to a discardable section like INIT might be intended to only be
discarded after early kernel init, not before the kernel is even loaded.
Leave reclaiming the discardable memory up to the kernel so it can choose
to do it after it is done using the memory.
2025-09-15 18:54:47 +03:00
Mintsuki
05b1a75fde misc: Update Flanterm to latest 2025-07-14 15:36:58 +02:00
Mintsuki
996a0c1801 misc: Move to using separate libfdt repository 2025-07-12 12:08:05 +02:00
sanana
c411051252 lib/bli: Implement LoaderTimeInitUSec and LoaderTimeExecUSec
These are variables used by `systemd-analyze` and is useful for boot performance
metrics.
2025-07-03 11:02:54 +03:00
Mintsuki
a648d763e6 lib/elf: Only add bss span to mem to skip if highest address PHDR
Fixes #504
2025-06-07 06:44:04 +02:00
Mintsuki
05608c49b5 lib/uri: Always load high on uri_open() on x86_64/UEFI 2025-05-07 02:03:20 +02:00
Mintsuki
1fad25cec1 protos/linux: Add optional support for 64-bit boot protocol 2025-05-07 00:59:14 +02:00
Mintsuki
3e9f2e030d lib: Add MIN and MAX macros 2025-03-25 21:39:16 +01:00
Marvin Friedrich
76446d0c28 lib/elf: Print name of unresolved symbol on panic 2025-03-19 11:44:51 +01:00
Mintsuki
f362e6bb5a config: Slight change to the config file search semantics for EFI 2025-03-16 09:43:18 +01:00
sanana
196e07ab05 bli: Implement initial Boot Loader Interface support
This patch makes Limine advertise its branding and the ESP partition GUID to
systemd over the Boot Loader Interface specification. There's more to the Boot
Loader Interface than these variables, but this acts as an initial
implementation. See #473.

BLI variables are initialised for all protocols, not just Linux. While currently
only systemd makes use of it, this allows future Limine protocol kernels (or
their userspace) to discover the ESP.
2025-03-15 16:23:43 +03:00
Mintsuki
365415baa7 loongarch64: Fix alignment of TLB-refill handler address
Co-authored-by: Mikhail Kovalev <mkm12342001@gmail.com>
2025-03-13 02:42:29 +01:00
mintsuki
852f4a0665 misc: Fix a variable shadowing in is_efi_serial_present() 2025-03-09 23:49:21 +01:00
mintsuki
2d404d6fc1 misc: Do not attempt to use serial if not detected on EFI
This addresses an issue reported on Macs that lack a serial port and also lack a working ConOut screen console, resulting in nothing but a blank screen instead of the menu
2025-03-09 23:42:43 +01:00
Qwinci
30a3928e58 lib/pe: Map image headers 2025-02-19 10:36:18 +02:00