Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package limine for openSUSE:Factory checked in at 2026-05-28 17:33:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/limine (Old) and /work/SRC/openSUSE:Factory/.limine.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "limine" Thu May 28 17:33:13 2026 rev:43 rq:1355603 version:12.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/limine/limine.changes 2026-05-27 16:20:45.006208580 +0200 +++ /work/SRC/openSUSE:Factory/.limine.new.1937/limine.changes 2026-05-28 17:33:31.300057571 +0200 @@ -1,0 +2,8 @@ +Thu May 28 09:08:40 UTC 2026 - Marvin Friedrich <[email protected]> + +- Update to 12.3.2: + * Fix regression introduced when switching to the streamed file reads + to the preloaded ones, which caused memory exhaustion when loading + large files on machines with little/fragmented below-4GiB memory. + +------------------------------------------------------------------- Old: ---- limine-12.3.1.tar.gz New: ---- limine-12.3.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ limine.spec ++++++ --- /var/tmp/diff_new_pack.12jwH0/_old 2026-05-28 17:33:31.980085658 +0200 +++ /var/tmp/diff_new_pack.12jwH0/_new 2026-05-28 17:33:31.980085658 +0200 @@ -15,7 +15,7 @@ # Name: limine -Version: 12.3.1 +Version: 12.3.2 Release: 0 Summary: Modern, advanced, portable, multiprotocol bootloader and boot manager License: BSD-2-Clause ++++++ limine-12.3.1.tar.gz -> limine-12.3.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/limine-12.3.1/ChangeLog new/limine-12.3.2/ChangeLog --- old/limine-12.3.1/ChangeLog 2026-05-24 18:16:54.000000000 +0200 +++ new/limine-12.3.2/ChangeLog 2026-05-28 04:57:12.000000000 +0200 @@ -1,3 +1,14 @@ +2026-05-28 Mintsuki <[email protected]> + + *** Release 12.3.2 *** + + Noteworthy changes compared to the previous release, 12.3.1: + + Bug fixes: + - Fix regression introduced when switching to the streamed file reads + to the preloaded ones, which caused memory exhaustion when loading + large files on machines with little/fragmented below-4GiB memory. + 2026-05-24 Mintsuki <[email protected]> *** Release 12.3.1 *** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/limine-12.3.1/common/fs/file.s2.c new/limine-12.3.2/common/fs/file.s2.c --- old/limine-12.3.1/common/fs/file.s2.c 2026-05-24 18:16:54.000000000 +0200 +++ new/limine-12.3.2/common/fs/file.s2.c 2026-05-28 04:57:12.000000000 +0200 @@ -83,9 +83,11 @@ uint64_t fread(struct file_handle *fd, void *buf, uint64_t loc, uint64_t count) { if (fd->is_memfile) { +#if defined (__i386__) if (fd->is_high_mem) { panic(false, "fread: memfile resides above 4 GiB; caller must use load_addr_64 directly"); } +#endif if (loc >= fd->size || count > fd->size - loc) { panic(false, "fread: attempted out of bounds read"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/limine-12.3.1/common/lib/gterm.c new/limine-12.3.2/common/lib/gterm.c --- old/limine-12.3.1/common/lib/gterm.c 2026-05-24 18:16:54.000000000 +0200 +++ new/limine-12.3.2/common/lib/gterm.c 2026-05-28 04:57:12.000000000 +0200 @@ -588,9 +588,11 @@ print("Wallpaper skipped: Secure Boot is active and no hash is associated.\n"); } else { struct file_handle *bg_file; - if ((bg_file = uri_open(background_path, MEMMAP_BOOTLOADER_RECLAIMABLE, false + if ((bg_file = uri_open(background_path, MEMMAP_BOOTLOADER_RECLAIMABLE, #if defined (__i386__) - , NULL, NULL + false, NULL, NULL +#else + true #endif )) != NULL) { background = image_open(bg_file); @@ -667,9 +669,11 @@ goto config_no_load_font; } struct file_handle *f; - if ((f = uri_open(menu_font, MEMMAP_BOOTLOADER_RECLAIMABLE, false + if ((f = uri_open(menu_font, MEMMAP_BOOTLOADER_RECLAIMABLE, #if defined (__i386__) - , NULL, NULL + false, NULL, NULL +#else + true #endif )) == NULL) { print("menu: Could not open font file.\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/limine-12.3.1/common/lib/image.c new/limine-12.3.2/common/lib/image.c --- old/limine-12.3.1/common/lib/image.c 2026-05-24 18:16:54.000000000 +0200 +++ new/limine-12.3.2/common/lib/image.c 2026-05-28 04:57:12.000000000 +0200 @@ -36,16 +36,14 @@ image->type = IMAGE_TILED; - void *src = ext_mem_alloc(file->size); - - fread(file, src, 0, file->size); + const uint8_t *src = file->fd; int x = 0, y = 0; image->isQoi = file->size >= 4 - && ((const uint8_t *)src)[0] == 'q' - && ((const uint8_t *)src)[1] == 'o' - && ((const uint8_t *)src)[2] == 'i' - && ((const uint8_t *)src)[3] == 'f'; + && src[0] == 'q' + && src[1] == 'o' + && src[2] == 'i' + && src[3] == 'f'; if (image->isQoi) { image->img = qoi_decode(src, file->size, &x, &y); @@ -54,8 +52,6 @@ image->img = stbi_load_from_memory(src, file->size, &x, &y, &bpp, 4); } - pmm_free(src, file->size); - if (image->img == NULL || x == 0 || y == 0) { free_image_data(image); pmm_free(image, sizeof(struct image)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/limine-12.3.1/common/protos/linux_x86.c new/limine-12.3.2/common/protos/linux_x86.c --- old/limine-12.3.1/common/protos/linux_x86.c 2026-05-24 18:16:54.000000000 +0200 +++ new/limine-12.3.2/common/protos/linux_x86.c 2026-05-28 04:57:12.000000000 +0200 @@ -310,9 +310,11 @@ print("linux: Loading kernel `%#`...\n", kernel_path); - if ((kernel_file = uri_open(kernel_path, MEMMAP_BOOTLOADER_RECLAIMABLE, false + if ((kernel_file = uri_open(kernel_path, MEMMAP_BOOTLOADER_RECLAIMABLE, #if defined (__i386__) - , NULL, NULL + false, NULL, NULL +#else + true #endif )) == NULL) panic(true, "linux: Failed to open kernel with path `%#`. Is the path correct?", kernel_path); @@ -474,9 +476,11 @@ print("linux: Loading module `%#`...\n", module_path); struct file_handle *module; - if ((module = uri_open(module_path, MEMMAP_BOOTLOADER_RECLAIMABLE, false + if ((module = uri_open(module_path, MEMMAP_BOOTLOADER_RECLAIMABLE, #if defined (__i386__) - , NULL, NULL + false, NULL, NULL +#else + true #endif )) == NULL) panic(true, "linux: Failed to open module with path `%s`. Is the path correct?", module_path); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/limine-12.3.1/configure new/limine-12.3.2/configure --- old/limine-12.3.1/configure 2026-05-24 18:16:58.000000000 +0200 +++ new/limine-12.3.2/configure 2026-05-28 04:57:16.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.73 for Limine 12.3.1. +# Generated by GNU Autoconf 2.73 for Limine 12.3.2. # # Report bugs to <https://github.com/Limine-Bootloader/Limine/issues>. # @@ -589,8 +589,8 @@ # Identity of this package. PACKAGE_NAME='Limine' PACKAGE_TARNAME='limine' -PACKAGE_VERSION='12.3.1' -PACKAGE_STRING='Limine 12.3.1' +PACKAGE_VERSION='12.3.2' +PACKAGE_STRING='Limine 12.3.2' PACKAGE_BUGREPORT='https://github.com/Limine-Bootloader/Limine/issues' PACKAGE_URL='https://limine-bootloader.org/' @@ -1318,7 +1318,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures Limine 12.3.1 to adapt to many kinds of systems. +'configure' configures Limine 12.3.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1384,7 +1384,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Limine 12.3.1:";; + short | recursive ) echo "Configuration of Limine 12.3.2:";; esac cat <<\_ACEOF @@ -1504,7 +1504,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Limine configure 12.3.1 +Limine configure 12.3.2 generated by GNU Autoconf 2.73 Copyright (C) 2026 Free Software Foundation, Inc. @@ -1655,7 +1655,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Limine $as_me 12.3.1, which was +It was created by Limine $as_me 12.3.2, which was generated by GNU Autoconf 2.73. Invocation command line was $ $0$ac_configure_args_raw @@ -7863,7 +7863,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Limine $as_me 12.3.1, which was +This file was extended by Limine $as_me 12.3.2, which was generated by GNU Autoconf 2.73. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7919,7 +7919,7 @@ cat >>"$CONFIG_STATUS" <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Limine config.status 12.3.1 +Limine config.status 12.3.2 configured by $0, generated by GNU Autoconf 2.73, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/limine-12.3.1/timestamps new/limine-12.3.2/timestamps --- old/limine-12.3.1/timestamps 2026-05-24 18:16:55.000000000 +0200 +++ new/limine-12.3.2/timestamps 2026-05-28 04:57:13.000000000 +0200 @@ -1,3 +1,3 @@ REGEN_DATE="May 2026" -SOURCE_DATE_EPOCH="1779638932" -SOURCE_DATE_EPOCH_TOUCH="202605241808" +SOURCE_DATE_EPOCH="1779936554" +SOURCE_DATE_EPOCH_TOUCH="202605280449" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/limine-12.3.1/version new/limine-12.3.2/version --- old/limine-12.3.1/version 2026-05-24 18:16:58.000000000 +0200 +++ new/limine-12.3.2/version 2026-05-28 04:57:16.000000000 +0200 @@ -1 +1 @@ -12.3.1 +12.3.2
