Compare commits

..
Author SHA1 Message Date
Peter Korsgaard 1bdb79ba78 Update for 2025.05-rc2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-28 22:05:47 +02:00
Marcus Hoffmann 2fc34cea2e package/python-pydantic: bump to version 2.11.5
Bugfix release for 2.11:
https://docs.pydantic.dev/latest/changelog/#v2115-2025-05-22

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-28 21:57:35 +02:00
Marcus Hoffmann e05648d133 package/python-pydantic-core: downgrade to 2.33.2 to sync with pydantic
pydantic pins an exact version of pydantic-core in it's pyproject.toml
[1]. This was missed during the last pydantic bump where pydantic-core
was erroneously updated to the latest release instead, in commit [2]
and [3].

Modify the pydantic runtime test to catch this error in the future.

[1] https://github.com/pydantic/pydantic/blob/v2.11.4/pyproject.toml#L49
[2] https://gitlab.com/buildroot.org/buildroot/-/commit/e1c939e4269130fd0ef857c63a0f752f9e5c13ec
[3] https://gitlab.com/buildroot.org/buildroot/-/commit/e42de820cd598d6ed7045fd4f06aa1429a359e05

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
[Julien: add reference to commits introducing the issue]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-28 21:57:35 +02:00
Julien Olivain 0839545a9b support/testing: test_timezone: fix test by setting a fixed time
Since Buildroot commit [1], the runtime test emulator infra is setting
the emulated system date to the host date.

While this is desired in general, this behaviour is introducing a
variability in the test execution. Depending if the test is executed
during winter or summer time, the output of the command "date +%Z"
will produce a different output.

This commit fixes the issue by setting a fixed date and time on the
emulated system. The date is fixed to Unix Epoch plus one hour. This
is because Linux cannot set the system date to a value less than the
system uptime. So we cannot set the time back to Unix Epoch with the
command "date -s @0" (this would result to a EINVAL Invalid argument).

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/9922589073
https://gitlab.com/buildroot.org/buildroot/-/jobs/9922589081

[1] https://gitlab.com/buildroot.org/buildroot/-/commit/cf8641b73e7f1577637bfef0ece78dd519b25d19

Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-28 21:54:10 +02:00
Dario Binacchi 43dcaa19a0 board: bsh: imx8mn-bsh-smm-s2: fix U-Boot startup
Commit e3329a1e82 ("configs/imx8mn_bsh_smm_s2[_pro]: bump Linux to
6.12.23 and U-Boot to 2025.04") broke the U-Boot boot process on the
BSH SMM S2 board. I didn’t notice it because I mistakenly tested the
patch on the SMM S2PRO board, which boots from eMMC instead of NAND.
Next time, I won’t forget to test on both boards :).

Fixes: e3329a1e82 ("configs/imx8mn_bsh_smm_s2[_pro]: bump Linux to 6.12.23 and U-Boot to 2025.04")
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-28 21:54:10 +02:00
Peter Korsgaard c9355a3869 package/libcamera: correct build directory for IPA stripping
Commit 4e95062f8 ("package/pkg-meson: use buildroot-build for build
directory") changed the build directory for meson packages to
'buildroot-build', so update the find invocation to match.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-28 21:52:30 +02:00
Heiko Thiery 55979f081d package/kmsxx: fix meson build directory for extra tools
Commit 4e95062f8 ("package/pkg-meson: use buildroot-build for build directory")
changed the build directory for meson packages to 'buildroot-build'.
Thus accessing the build directory for installing the extra utils needs
to be adopted to this directory. Otherwise the install will fail when
BR2_PACKAGE_KMSXX_INSTALL_TESTS is enabled.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-28 21:52:29 +02:00
James Hilliard b6b96b7bdc package/systemd: fix systemd-boot installation
When the meson build directory was changed to buildroot-build in
4e95062f82 we forgot to update the
install path for the systemd-boot efi binary.

Fixes:
/usr/bin/install: cannot stat '/home/buildroot/buildroot/output/build/systemd-256.7/build/src/boot/efi/systemd-bootx64.efi': No such file or directory

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-28 21:52:28 +02:00
Thomas Petazzoni a9bfc39660 package/{atkmm, atmm2_28, gtkmm3, libglade}: propagate at-spi2-core dependencies
Since commit d1757fdfb0, at-spi2-core
depends on !BR2_STATIC_LIBS, but this wasn't properly propagated to
reverse dependencies, so let's do this propagation now.

Fixes the following warning:

WARNING: unmet direct dependencies detected for BR2_PACKAGE_AT_SPI2_CORE
  Depends on [n]: BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_USE_MMU [=y] && BR2_USE_WCHAR [=y] && !BR2_STATIC_LIBS [=y]
  Selected by [y]:
  - BR2_PACKAGE_ATKMM [=y] && BR2_INSTALL_LIBSTDCPP [=y] && BR2_TOOLCHAIN_GCC_AT_LEAST_7 [=y] && BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_USE_MMU [=y] && BR2_USE_WCHAR [=y]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-28 21:52:27 +02:00
Thomas Petazzoni 4e7ac190e2 package/sane-airscan: propagate dependencies of selects
When the sane-airscan package was introduced in
f78280bf26, the depends on of options
that is selects were not properly accounted for, so let's fix this.

Fixes:

WARNING: unmet direct dependencies detected for BR2_PACKAGE_GNUTLS
  Depends on [n]: !BR2_STATIC_LIBS [=n] && BR2_USE_WCHAR [=n]
  Selected by [y]:
  - BR2_PACKAGE_SANE_AIRSCAN [=y]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-28 21:52:27 +02:00
Thomas Petazzoni f7d11b87d4 package/python-flask-restx: add missing depends on
Since the package was introduced in commit
02de349895, it selects
BR2_PACKAGE_PYTHON_JSONSCHEMA without taking care of its dependencies,
causing the following warning:

WARNING: unmet direct dependencies detected for BR2_PACKAGE_PYTHON_JSONSCHEMA
  Depends on [n]: BR2_PACKAGE_PYTHON3 [=y] && BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS [=n]
  Selected by [y]:
  - BR2_PACKAGE_PYTHON_FLASK_RESTX [=y] && BR2_PACKAGE_PYTHON3 [=y]

Fix this by adding the missing depends on.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-28 21:52:26 +02:00
Thomas Bonnefille d93448fe25 package/gmrender-resurrect: bump to version 0.3
Version 0.3 (and 0.2) of gmrender-resurrect bring some bugfixes.
For release notes since v0.1, see:
https://github.com/hzeller/gmrender-resurrect/releases/tag/v0.3
https://github.com/hzeller/gmrender-resurrect/releases/tag/v0.2

Fixes:
    https://autobuild.buildroot.org/results/1e1/1e1e5a494bf1ca5ba920c4e06a1affff4ad61033//

Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
[Julien: add links to release notes]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-28 21:47:26 +02:00
Yann E. MORIN 2fb527fcf9 package/uacme: drop unneeded autoreconf
Commit 8c9c1222b7 (package/uacme: bump version to 1.7.6) bumperd the
version to 1.7.6 which includes the patch we carried, so the patch was
dropped, but the corresponding autoreconf was not.

Do so now.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Nicola Di Lieto <nicola.dilieto@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-28 20:48:05 +02:00
Julien Olivain bd9a6c2b36 package/esp-hosted: fix legal-info
The esp-hosted package was introduced in [1] defining the variable
ESP_HOSTED_LICENSE_FILE (singular). The name should be
ESP_HOSTED_LICENSE_FILES (plural). This typo makes the license file
being ignored during a "make legal-info" which shows a warning at
the end:

    WARNING: esp-hosted-9a2312b0b: cannot save license (ESP_HOSTED_LICENSE_FILES not defined)

Fixing the variable name also reveals the license file path was
incorrect. The "esp_hosted_ng/host/" directory prefix is missing.
Finally, setting the correct path shows the hash was wrong (it was
the hash of the Apache-2.0 [2] file, which corresponds to another
unused code portion). So the license file hash is also changed to
correspond to the correct GPL-2.0 license file.

This commit fixes all the needed esp-hosted legal-info.

[1] https://gitlab.com/buildroot.org/buildroot/-/commit/7b2e5e6550aed4f79461919c6a59e00741eb4b11
[2] https://github.com/espressif/esp-hosted/blob/release/ng-v1.0.4.0.0/LICENSES/Apache-2.0

Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-27 21:48:58 +02:00
Titouan Christophe 9d92c7e3ff package/assimp: apply security patches for CVE-2025-3015, 3016
Fixes the following CVEs:
- CVE-2025-3015: A vulnerability classified as critical has been found in
                 Open Asset Import Library Assimp 5.4.3. This affects the
                 function Assimp::ASEImporter::BuildUniqueRepresentation of
                 the file code/AssetLib/ASE/ASELoader.cpp of the component
                 ASE File Handler. The manipulation of the argument mIndices
                 leads to out-of-bounds read. It is possible to initiate the
                 attack remotely. The exploit has been disclosed to the
                 public and may be used.
    See: https://www.cve.org/CVERecord?id=CVE-2025-3015

- CVE-2025-3016: A vulnerability classified as problematic was found in
                 Open Asset Import Library Assimp 5.4.3. This vulnerability
                 affects the function Assimp::MDLImporter::ParseTextureColorData
                 of the file code/AssetLib/MDL/MDLMaterialLoader.cpp of the
                 component MDL File Handler. The manipulation of the argument
                 mWidth/mHeight leads to resource consumption.
                 The attack can be initiated remotely
    See: https://www.cve.org/CVERecord?id=CVE-2025-3016

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-26 22:24:02 +02:00
Florian Larysch 223abaf98a package/lzo: fix CMake 4.0 compatibility
Add a patch to fix lzo builds with CMake 4.0.

Fixes:
 https://autobuild.buildroot.org/results/8d9/8d9cc53d68d93432e6a7bddad0ed3fdaed913da6 (target)
 https://autobuild.buildroot.org/results/aba/aba68e0889b66300f87706e15ff34899d3e1e97f (host)
 (and many more)

Signed-off-by: Florian Larysch <fl@n621.de>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-26 22:15:58 +02:00
Dario Binacchi 6788f3d26c package/uuu: fix gcc-15 compile errors
Fix the following compilation errors:

In file included from /workdir/instance-0/output-1/build/host-uuu-1.5.201/libuuu/sdps.cpp:32:
/workdir/instance-0/output-1/build/host-uuu-1.5.201/libuuu/sdps.h:52:9: error: 'uint32_t' does not name a type
   52 |         uint32_t m_offset = 0;
      |         ^~~~~~~~
/workdir/instance-0/output-1/build/host-uuu-1.5.201/libuuu/sdps.h:33:1: note: 'uint32_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
   32 | #include "cmd.h"
  +++ |+#include <cstdint>
   33 |
/workdir/instance-0/output-1/build/host-uuu-1.5.201/libuuu/sdps.h:53:9: error: 'uint64_t' does not name a type
   53 |         uint64_t m_scan_limited = UINT64_MAX;
      |         ^~~~~~~~
/workdir/instance-0/output-1/build/host-uuu-1.5.201/libuuu/sdps.h:53:9: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
/workdir/instance-0/output-1/build/host-uuu-1.5.201/libuuu/sdps.h: In constructor 'SDPSCmd::SDPSCmd(char*)':
/workdir/instance-0/output-1/build/host-uuu-1.5.201/libuuu/sdps.h:41:47: error: 'm_offset' was not declared in this scope
   41 |                 insert_param_info("-offset", &m_offset, Param::Type::e_uint32);

Fixes:
- https://autobuild.buildroot.org/results/b7b/b7bd052a0137a2e2d5606d66a0dc563789999364/
- https://autobuild.buildroot.org/results/350/3500f573427545e51bfc4fc708f769966d95bf1e/
- https://autobuild.buildroot.org/results/6dc/6dc2b0585e8e1900e5a977cd0b9e26b2ee1e90d4/
- https://autobuild.buildroot.org/results/d1f/d1f82cae003cddefae0c49f673768cd8601449f2/
- https://autobuild.buildroot.org/results/9ed/9edc245d0a03089812d631708a4294ff293a461d/

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-26 22:11:30 +02:00
Bernd Kuhls 079a66f107 {linux, linux-headers}: bump 5.15.x / 6.{1, 6, 12, 14}.x series
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-25 19:28:18 +02:00
Marcus Hoffmann 1e1fe402a3 DEVELOPERS: add Marcus Hoffmann for python-django
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-23 12:00:34 +02:00
Marcus Hoffmann 15fdc8b0ca package/python-django: clarify licensing
Django includes code from a couple of other projects, add their
respective license files and licenses to the django package.

./utils/scanpypi finds most of these. Additionally this was
cross-checked against debian's license list [1], not including some
things that no longer exist or no longer indicate separate licensing
upstream:
* django/contrib/admin/static/admin/fonts/
* django/utils/baseconv.py
* django/utils/ipv6.py
* django/utils/autoreload.py

Also not included are separate licensing for docs, which buildroot
doesn't package:
* docs/_theme/djangodocs/static/reset-fonts-grids.css
* docs/_theme/djangodocs/static/fontawesome/LICENSE.txt

[1] https://metadata.ftp-master.debian.org/changelogs//main/p/python-django/python-django_5.2-1_copyright

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
[Peter: Indent with single tab]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-05-23 12:00:34 +02:00
Fiona Klute (WIWA) 46916c3536 package/python-referencing: remove runtime python-typing-extensions dependency
This reverts commit 0586ee6cba.

The dependency is not needed any more with package/python3 providing
3.13 (since commit d63e207eb8).

Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
[Julien: reword commit log title]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-22 21:58:33 +02:00
Titouan Christophe 4c890bc46d package/python-tornado: apply security patch for CVE-2025-47287
This fixes the following CVE:
- CVE-2025-47287: When Tornado's ``multipart/form-data`` parser encounters
                  certain errors, it logs a warning but continues trying to
                  parse the remainder of the data. This allows remote
                  attackers to generate an extremely high volume of logs,
                  constituting a DoS attack.

Fixes:
https://www.cve.org/CVERecord?id=CVE-2025-47287

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
[Julien: reword commit log]
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-22 21:23:29 +02:00
Titouan Christophe 4dc951f3ee package/binutils: apply security patch for CVE-2025-3198
This fixes a memory leaks that affects both binutils 2.43 and 2.44,
see https://www.cve.org/CVERecord?id=CVE-2025-3198

Fixes the following CVE:
- CVE-2025-3198: A vulnerability has been found in GNU Binutils 2.43/2.44
                 and classified as problematic. Affected by this
                 vulnerability is the function display_info of the file
                 binutils/bucomm.c of the component objdump.
                 The manipulation leads to memory leak.

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-21 19:50:45 +02:00
Marcus Hoffmann fb992eb5a3 package/python-click: bump to version 8.2.1
Bugfix release for click 8.2.0, changelog:
https://click.palletsprojects.com/en/stable/changes/#version-8-2-1

Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-21 19:41:39 +02:00
Julien Olivain 04c9ecd788 support/testing: test_xen: fix runtime test
The test_xen.py runtime test, introduced in [1] and improved in [2],
is calling a "stty raw" command, just after the emulated machine
login, to avoid double-cooking the consoles. This double-cooking
prevents the test controller to correctly get the command error codes.

Buildroot commit [3] "support/testing: set date in emulated machine"
introduced an invocation of the date command to set time on the
emulated machine, just after the login. The returned error code is also
checked. Since this commit [3], the test_xen runtime test is failing
while attempting to set the date. This is because it is invoked before
the test script executes this "stty raw" command.

The need of executing a command just after the login, and just
before we set the emulated machine date is very limited. It is almost
specific to this test. So, rather than changing the test
infrastructure, this commit simply moves this "stty raw" invocation
from the runtime test script to a custom /etc/profile.d/stty-raw.sh
file on target rootfs overlay, to do this call just at the login.

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/10000011350

[1] https://gitlab.com/buildroot.org/buildroot/-/commit/055f82ebbd07b582c992eed30ef5191f18873ba4
[2] https://gitlab.com/buildroot.org/buildroot/-/commit/cd0ffd598cf94b9d15c489f2429602825a18753c
[3] https://gitlab.com/buildroot.org/buildroot/-/commit/cf8641b73e7f1577637bfef0ece78dd519b25d19

Cc: Vincent Stehlé <vincent.stehle@laposte.net>
Tested-by: Vincent Stehlé <vincent.stehle@laposte.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-21 19:35:58 +02:00
Florian Larysch bd28e7a22c package/casync-nano: enable OpenSSL ChaCha20 support
When building against OpenSSL, ensure the ChaCha20 algorithm is enabled,
which is needed by this package.

Fixes: https://autobuild.buildroot.org/results/3cb/3cb58229dfb47e79c50b4b52ca57b3f56a945ed7

Signed-off-by: Florian Larysch <fl@n621.de>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-20 22:50:59 +02:00
Florian Larysch e5b4518319 package/casync-nano: bump to version 1.1.2
Fixes build issues when building against LibreSSL in particular:
https://github.com/florolf/casync-nano/releases/tag/v1.1.2

Signed-off-by: Florian Larysch <fl@n621.de>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-05-20 22:50:51 +02:00
53 changed files with 961 additions and 63 deletions
+14
View File
@@ -1,3 +1,17 @@
2025.05-rc2, released May 28th, 2025
Fixes all over the tree.
Defconfigs: imx8mn-bsh-smm-s2: Unbreak boot after move to
U-Boot 2025.04.
Updated/fixed packages: assimp, atkmm, atkmm2_28, binutils,
casync-nano, esp-hosted, gmrender-resurrect, gtkmm3, kmsxx,
libcamera, libglade, linux, lzo, python-click, python-django,
python-flask-restx, python-pydantic, python-pydantic-core,
python-referencing, python-tornado, sane-airscan, systemd,
uacme, uuu
2025.05-rc1, released May 19th, 2025
Fixes all over the tree and package updates.
+3
View File
@@ -2278,6 +2278,7 @@ N: Marcus Hoffmann <bubu@bubu1.eu>
F: package/nethogs/
F: package/pico-sdk/
F: package/picotool/
F: package/python-django/
F: package/python-immutabledict/
F: package/python-jc/
F: package/python-pydantic/
@@ -2287,12 +2288,14 @@ F: package/python-ruamel-yaml-clib/
F: package/python-typing-inspection/
F: package/python-tzlocal/
F: package/python-waitress/
F: support/testing/tests/package/test_python_django.py
F: support/testing/tests/package/test_python_fastapi.py
F: support/testing/tests/package/test_python_pydantic.py
F: support/testing/tests/package/test_python_pydantic_settings.py
F: support/testing/tests/package/test_python_ruamel_yaml.py
F: support/testing/tests/package/test_python_tzlocal.py
F: support/testing/tests/package/test_python_waitress.py
F: support/testing/tests/package/sample_python_django.py
F: support/testing/tests/package/sample_python_fastapi.py
F: support/testing/tests/package/sample_python_pydantic.py
F: support/testing/tests/package/sample_python_pydantic_settings.py
+2 -2
View File
@@ -92,9 +92,9 @@ all:
.PHONY: all
# Set and export the version string
export BR2_VERSION := 2025.05-rc1
export BR2_VERSION := 2025.05-rc2
# Actual time the release is cut (for reproducible builds)
BR2_VERSION_EPOCH = 1747650000
BR2_VERSION_EPOCH = 1748462400
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@@ -0,0 +1,45 @@
From f7cddc4c6f4e4da57c6500cd0d88ea06e937b239 Mon Sep 17 00:00:00 2001
From: Michael Trimarchi <michael@amarulasolutions.com>
Date: Thu, 15 May 2025 17:09:51 +0200
Subject: [PATCH] arm: imx: imx8m: soc: fix the macro name
The function arch_spl_mmc_get_uboot_raw_sector() was never compiled,
even when the option CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION was
enabled. So rename the macro SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION to
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION.
Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options")
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/f7cddc4c6f4e4da57c6500cd0d88ea06e937b239
---
arch/arm/mach-imx/imx8m/soc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
index 567e8e9e81a0..806adcf145fa 100644
--- a/arch/arm/mach-imx/imx8m/soc.c
+++ b/arch/arm/mach-imx/imx8m/soc.c
@@ -791,7 +791,7 @@ int boot_mode_getprisec(void)
#endif
#if defined(CONFIG_IMX8MN) || defined(CONFIG_IMX8MP)
-#ifdef SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
+#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
#define IMG_CNTN_SET1_OFFSET GENMASK(22, 19)
unsigned long arch_spl_mmc_get_uboot_raw_sector(struct mmc *mmc,
unsigned long raw_sect)
@@ -826,7 +826,7 @@ unsigned long arch_spl_mmc_get_uboot_raw_sector(struct mmc *mmc,
return raw_sect;
}
-#endif /* SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION */
+#endif /* CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION */
#endif
bool is_usb_boot(void)
--
2.43.0
@@ -0,0 +1,178 @@
From 4c82eeab9840983693791117aa75f7bd7fbc805b Mon Sep 17 00:00:00 2001
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Date: Thu, 15 May 2025 17:09:52 +0200
Subject: [PATCH] arm: imx: imx8m: soc: replace ifdef by IS_ENABLED()
Standardize on using the IS_ENABLED macro.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/4c82eeab9840983693791117aa75f7bd7fbc805b
---
arch/arm/mach-imx/imx8m/soc.c | 40 +++++++++++++++++------------------
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
index 806adcf145fa..3cdb71a25284 100644
--- a/arch/arm/mach-imx/imx8m/soc.c
+++ b/arch/arm/mach-imx/imx8m/soc.c
@@ -38,7 +38,7 @@
DECLARE_GLOBAL_DATA_PTR;
-#if defined(CONFIG_IMX_HAB)
+#if IS_ENABLED(CONFIG_IMX_HAB)
struct imx_fuse const imx_sec_config_fuse = {
.bank = 1,
.word = 3,
@@ -52,7 +52,7 @@ struct imx_fuse const imx_field_return_fuse = {
int timer_init(void)
{
-#ifdef CONFIG_XPL_BUILD
+#if IS_ENABLED(CONFIG_XPL_BUILD)
struct sctr_regs *sctr = (struct sctr_regs *)SYSCNT_CTRL_BASE_ADDR;
unsigned long freq = readl(&sctr->cntfid0);
@@ -110,7 +110,7 @@ void set_wdog_reset(struct wdog_regs *wdog)
setbits_le16(&wdog->wcr, WDOG_WDT_MASK | WDOG_WDZST_MASK);
}
-#ifdef CONFIG_ARMV8_PSCI
+#if IS_ENABLED(CONFIG_ARMV8_PSCI)
#define PTE_MAP_NS PTE_BLOCK_NS
#else
#define PTE_MAP_NS 0
@@ -700,11 +700,11 @@ int arch_cpu_init(void)
return 0;
}
-#if defined(CONFIG_IMX8MN) || defined(CONFIG_IMX8MP)
+#if IS_ENABLED(CONFIG_IMX8MN) || IS_ENABLED(CONFIG_IMX8MP)
struct rom_api *g_rom_api = (struct rom_api *)0x980;
#endif
-#if defined(CONFIG_IMX8M)
+#if IS_ENABLED(CONFIG_IMX8M)
#include <spl.h>
int imx8m_detect_secondary_image_boot(void)
{
@@ -790,8 +790,8 @@ int boot_mode_getprisec(void)
}
#endif
-#if defined(CONFIG_IMX8MN) || defined(CONFIG_IMX8MP)
-#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
+#if IS_ENABLED(CONFIG_IMX8MN) || IS_ENABLED(CONFIG_IMX8MP)
+#if IS_ENABLED(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION)
#define IMG_CNTN_SET1_OFFSET GENMASK(22, 19)
unsigned long arch_spl_mmc_get_uboot_raw_sector(struct mmc *mmc,
unsigned long raw_sect)
@@ -834,7 +834,7 @@ bool is_usb_boot(void)
return get_boot_device() == USB_BOOT;
}
-#ifdef CONFIG_OF_SYSTEM_SETUP
+#if IS_ENABLED(CONFIG_OF_SYSTEM_SETUP)
bool check_fdt_new_path(void *blob)
{
const char *soc_path = "/soc@0";
@@ -880,7 +880,7 @@ add_status:
return 0;
}
-#ifdef CONFIG_IMX8MQ
+#if IS_ENABLED(CONFIG_IMX8MQ)
bool check_dcss_fused(void)
{
struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR;
@@ -1026,7 +1026,7 @@ int disable_vpu_nodes(void *blob)
return -EPERM;
}
-#ifdef CONFIG_IMX8MN_LOW_DRIVE_MODE
+#if IS_ENABLED(CONFIG_IMX8MN_LOW_DRIVE_MODE)
static int low_drive_gpu_freq(void *blob)
{
static const char *nodes_path_8mn[] = {
@@ -1311,7 +1311,7 @@ int ft_system_setup(void *blob, struct bd_info *bd)
"/cpus/cpu@3",
};
-#ifdef CONFIG_IMX8MQ
+#if IS_ENABLED(CONFIG_IMX8MQ)
int i = 0;
int rc;
int nodeoff;
@@ -1387,7 +1387,7 @@ usb_modify_speed:
if (is_imx8md())
disable_cpu_nodes(blob, nodes_path, 2, 4);
-#elif defined(CONFIG_IMX8MM)
+#elif IS_ENABLED(CONFIG_IMX8MM)
if (is_imx8mml() || is_imx8mmdl() || is_imx8mmsl())
disable_vpu_nodes(blob);
@@ -1396,10 +1396,10 @@ usb_modify_speed:
else if (is_imx8mms() || is_imx8mmsl())
disable_cpu_nodes(blob, nodes_path, 3, 4);
-#elif defined(CONFIG_IMX8MN)
+#elif IS_ENABLED(CONFIG_IMX8MN)
if (is_imx8mnl() || is_imx8mndl() || is_imx8mnsl())
disable_gpu_nodes(blob);
-#ifdef CONFIG_IMX8MN_LOW_DRIVE_MODE
+#if IS_ENABLED(CONFIG_IMX8MN_LOW_DRIVE_MODE)
else {
int ldm_gpu = low_drive_gpu_freq(blob);
@@ -1415,7 +1415,7 @@ usb_modify_speed:
else if (is_imx8mns() || is_imx8mnsl() || is_imx8mnus())
disable_cpu_nodes(blob, nodes_path, 3, 4);
-#elif defined(CONFIG_IMX8MP)
+#elif IS_ENABLED(CONFIG_IMX8MP)
if (is_imx8mpul()) {
/* Disable GPU */
disable_gpu_nodes(blob);
@@ -1471,7 +1471,7 @@ void reset_cpu(void)
}
#endif
-#if defined(CONFIG_ARCH_MISC_INIT)
+#if IS_ENABLED(CONFIG_ARCH_MISC_INIT)
int arch_misc_init(void)
{
if (IS_ENABLED(CONFIG_FSL_CAAM)) {
@@ -1487,8 +1487,8 @@ int arch_misc_init(void)
}
#endif
-#if defined(CONFIG_XPL_BUILD)
-#if defined(CONFIG_IMX8MQ) || defined(CONFIG_IMX8MM) || defined(CONFIG_IMX8MN)
+#if IS_ENABLED(CONFIG_XPL_BUILD)
+#if IS_ENABLED(CONFIG_IMX8MQ) || IS_ENABLED(CONFIG_IMX8MM) || IS_ENABLED(CONFIG_IMX8MN)
bool serror_need_skip = true;
void do_error(struct pt_regs *pt_regs)
@@ -1523,7 +1523,7 @@ void do_error(struct pt_regs *pt_regs)
#endif
#endif
-#if defined(CONFIG_IMX8MN) || defined(CONFIG_IMX8MP)
+#if IS_ENABLED(CONFIG_IMX8MN) || IS_ENABLED(CONFIG_IMX8MP)
enum env_location arch_env_get_location(enum env_operation op, int prio)
{
enum boot_device dev = get_boot_device();
@@ -1571,7 +1571,7 @@ enum env_location arch_env_get_location(enum env_operation op, int prio)
#endif
-#ifdef CONFIG_IMX_BOOTAUX
+#if IS_ENABLED(CONFIG_IMX_BOOTAUX)
const struct rproc_att hostmap[] = {
/* aux core , host core, size */
{ 0x00000000, 0x007e0000, 0x00020000 },
--
2.43.0
@@ -0,0 +1,49 @@
From 8acea298bb82c38b20855cd46a46b9e418dc1fb0 Mon Sep 17 00:00:00 2001
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Date: Tue, 20 May 2025 10:54:16 +0200
Subject: [PATCH] spl: Kconfig: support U-Boot load from raw NAND
Commit 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") breaks
the boot of the BSH SMM S2 board. As stated in the commit itself, "Some
boards use this value even though MMC is not enabled in SPL, for example
imx8mn_bsh_smm_s2".
Support load of the U-Boot image from raw NAND sector. This is equivalent
to load from MMC raw sector.
Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options")
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/8acea298bb82c38b20855cd46a46b9e418dc1fb0
---
common/spl/Kconfig | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index aa3a85eea54d..77cf04d38ed0 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -974,6 +974,21 @@ config SPL_NAND_SUPPORT
This enables the drivers in drivers/mtd/nand/raw as part of an SPL
build.
+config SPL_NAND_RAW_U_BOOT_USE_SECTOR
+ bool "NAND raw mode: by sector"
+ depends on SPL_NAND_SUPPORT
+ select SPL_LOAD_BLOCK
+ help
+ Use sector number for specifying U-Boot location on NAND in
+ raw mode.
+
+config SPL_NAND_RAW_U_BOOT_SECTOR
+ hex "Address on the NAND to load U-Boot from"
+ depends on SPL_NAND_RAW_U_BOOT_USE_SECTOR
+ help
+ Address on the NAND to load U-Boot from, when the NAND is being used
+ in raw mode. Units: NAND disk sectors (1 sector = 512 bytes).
+
config SPL_NAND_RAW_ONLY
bool "Support to boot only raw u-boot.bin images"
depends on SPL_NAND_SUPPORT
--
2.43.0
@@ -0,0 +1,42 @@
From 24d98fa63bbcb21988e4e822f11686319502fb1f Mon Sep 17 00:00:00 2001
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Date: Tue, 20 May 2025 10:54:17 +0200
Subject: [PATCH] imx: spl_imx_romapi: support raw NAND sector
Commit 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") breaks
the boot of the BSH SMM S2 board. As stated in the dropped comment, "Some
boards use this value even though MMC is not enabled in SPL, for example
imx8mn_bsh_smm_s2".
Support load of the U-Boot image from raw NAND sector.
Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options")
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/24d98fa63bbcb21988e4e822f11686319502fb1f
---
arch/arm/mach-imx/spl_imx_romapi.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-imx/spl_imx_romapi.c b/arch/arm/mach-imx/spl_imx_romapi.c
index 3982f4cca184..b7008df8e35a 100644
--- a/arch/arm/mach-imx/spl_imx_romapi.c
+++ b/arch/arm/mach-imx/spl_imx_romapi.c
@@ -35,12 +35,10 @@ ulong __weak spl_romapi_get_uboot_base(u32 image_offset, u32 rom_bt_dev)
{
u32 sector = 0;
- /*
- * Some boards use this value even though MMC is not enabled in SPL, for
- * example imx8mn_bsh_smm_s2
- */
-#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
+#if IS_ENABLED(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR)
sector = CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR;
+#elif IS_ENABLED(CONFIG_SPL_NAND_RAW_U_BOOT_USE_SECTOR)
+ sector = CONFIG_SPL_NAND_RAW_U_BOOT_SECTOR;
#endif
return image_offset + sector * 512 - 0x8000;
--
2.43.0
@@ -0,0 +1,32 @@
From dce71922df352b0eb1b6cc3d40c374ad80a7d6c5 Mon Sep 17 00:00:00 2001
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Date: Tue, 20 May 2025 10:54:18 +0200
Subject: [PATCH] configs: imx8mn_bsh_smm_s2: load U-Boot from raw NAND
Commit 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") breaks
the boot of the BSH SMM S2 board. Add options to load U-Boot from raw NAND
sector.
Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options")
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/dce71922df352b0eb1b6cc3d40c374ad80a7d6c5
---
configs/imx8mn_bsh_smm_s2_defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configs/imx8mn_bsh_smm_s2_defconfig b/configs/imx8mn_bsh_smm_s2_defconfig
index 9ffcd3b221c3..1c11d4705419 100644
--- a/configs/imx8mn_bsh_smm_s2_defconfig
+++ b/configs/imx8mn_bsh_smm_s2_defconfig
@@ -47,6 +47,8 @@ CONFIG_SPL_DMA=y
CONFIG_SPL_I2C=y
CONFIG_SPL_MTD=y
CONFIG_SPL_NAND_SUPPORT=y
+CONFIG_SPL_NAND_RAW_U_BOOT_USE_SECTOR=y
+CONFIG_SPL_NAND_RAW_U_BOOT_SECTOR=0x300
CONFIG_SPL_NAND_BASE=y
CONFIG_SPL_NAND_IDENT=y
CONFIG_SPL_POWER=y
--
2.43.0
+9 -9
View File
@@ -76,37 +76,37 @@
</div>
</div>
-->
<h3 style="text-align: center;">Latest release candidate: <b>2025.05-rc1</b></h3>
<h3 style="text-align: center;">Latest release candidate: <b>2025.05-rc2</b></h3>
<div class="row mt centered">
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2025.05-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2025.05-rc2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2025.05-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2025.05-rc2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2025.05-rc1.tar.gz">buildroot-2025.05-rc1.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2025.05-rc1.tar.gz.sign">PGP signature</a></p>
<h3><a href="/downloads/buildroot-2025.05-rc2.tar.gz">buildroot-2025.05-rc2.tar.gz</a></h3>
<p><a href="/downloads/buildroot-2025.05-rc2.tar.gz.sign">PGP signature</a></p>
</div>
<div class="col-sm-6">
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<a href="/downloads/buildroot-2025.05-rc1.tar.xz"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2025.05-rc2.tar.xz"><img src="images/package.png" width="180" alt=""></a>
</div>
<div class="back">
<a href="/downloads/buildroot-2025.05-rc1.tar.xz"><img src="images/package.png" width="180" alt=""></a>
<a href="/downloads/buildroot-2025.05-rc2.tar.xz"><img src="images/package.png" width="180" alt=""></a>
</div>
</div>
</div>
<h3><a href="/downloads/buildroot-2025.05-rc1.tar.xz">buildroot-2025.05-rc1.tar.xz</a></h3>
<p><a href="/downloads/buildroot-2025.05-rc1.tar.xz.sign">PGP signature</a></p>
<h3><a href="/downloads/buildroot-2025.05-rc2.tar.xz">buildroot-2025.05-rc2.tar.xz</a></h3>
<p><a href="/downloads/buildroot-2025.05-rc2.tar.xz.sign">PGP signature</a></p>
</div>
</div>
+21
View File
@@ -9,6 +9,27 @@
<h2>News</h2>
<ul class="timeline">
<li class="timeline-inverted">
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">2025.05-rc2 released</h4>
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>28 May 2025</small></p>
</div>
<div class="timeline-body">
<p>Another week, another release candidate with more cleanups and build fixes. See the
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2025.05-rc2/CHANGES">CHANGES</a>
file for more details.</p>
<p>Go to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2025.05-rc2.tar.xz">2025.05-rc2
release</a>, and report any problems found to the
<a href="support.html">mailing list</a> or
<a href="https://gitlab.com/buildroot.org/buildroot/-/issues">bug tracker</a>.</p>
</div>
</div>
</li>
<li>
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
<div class="timeline-panel">
+1 -1
View File
@@ -137,7 +137,7 @@ config BR2_LINUX_KERNEL_CUSTOM_REPO_GIT_SUBMODULES
config BR2_LINUX_KERNEL_VERSION
string
default "6.14.6" if BR2_LINUX_KERNEL_LATEST_VERSION
default "6.14.8" if BR2_LINUX_KERNEL_LATEST_VERSION
default "5.10.162-cip24" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default "5.10.162-cip24-rt10" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
+5 -5
View File
@@ -1,10 +1,10 @@
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
sha256 21817f1998e2230f81f7e4f605fa6fdcb040e14fa27d99c27ddb16ce749797a9 linux-6.14.6.tar.xz
sha256 e8a099182562aecff781de72ce769461e706d97af42d740dff20eb450dd5771e linux-6.12.28.tar.xz
sha256 ff856748671629c1fefef219099e0b4b81131c2d325e768cb0806e204157014e linux-6.6.90.tar.xz
sha256 e319a5bb9049ba9fb8cbc08cba4874716e8985bd10f7971f2573ea802c257911 linux-6.1.138.tar.xz
sha256 62b12ecd3075a357eb320935657de84e01552803717dad383fa7cc3aa4aa2905 linux-6.14.8.tar.xz
sha256 df046a48971e40ce0b2e003e7e55b6b1e7da2912120eb216d5d6c8450c9cf82e linux-6.12.30.tar.xz
sha256 1d82a82642d281c31d86f7301bc55e12a8a9f9c04532e249ef8ae6fe7dc237ec linux-6.6.92.tar.xz
sha256 5779f9caca77f7bfe3c3923b4d760041318db0303de93b2d4691d60e4d41eb74 linux-6.1.140.tar.xz
# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
sha256 b6abfa53315a04e459070b927c58beb41f085433117d58756504d68b67f6a31e linux-5.15.182.tar.xz
sha256 9c3e98c6dcc7dca7c2e9dd51423eaf0581f5e100d0f04c23bc29f21913dac1d9 linux-5.15.184.tar.xz
sha256 1fc82737e0e4f0ae0b40f91a00c68f3cb75362e6ae54623ec64b41a51cde0f25 linux-5.10.237.tar.xz
sha256 34589340c7d76c0de91965e5242f61e9f9f3bacd03e8e34239e5d4660d45372d linux-5.4.293.tar.xz
# Locally computed
@@ -0,0 +1,29 @@
From 65c95bf3207b81fe522811d45780d72ed41d9c1e Mon Sep 17 00:00:00 2001
From: Kim Kulling <kim.kulling@googlemail.com>
Date: Wed, 12 Mar 2025 20:17:38 +0100
Subject: [PATCH] ASE: Fix possible out of bound access.
Upstream: https://github.com/assimp/assimp/pull/6045
CVE: CVE-2025-3015
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
code/AssetLib/ASE/ASELoader.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/code/AssetLib/ASE/ASELoader.cpp b/code/AssetLib/ASE/ASELoader.cpp
index eb6b37dc9b..c63edcf6bf 100644
--- a/code/AssetLib/ASE/ASELoader.cpp
+++ b/code/AssetLib/ASE/ASELoader.cpp
@@ -731,6 +731,10 @@ void ASEImporter::BuildUniqueRepresentation(ASE::Mesh &mesh) {
unsigned int iCurrent = 0, fi = 0;
for (std::vector<ASE::Face>::iterator i = mesh.mFaces.begin(); i != mesh.mFaces.end(); ++i, ++fi) {
for (unsigned int n = 0; n < 3; ++n, ++iCurrent) {
+ const uint32_t curIndex = (*i).mIndices[n];
+ if (curIndex >= mesh.mPositions.size()) {
+ throw DeadlyImportError("ASE: Invalid vertex index in face ", fi, ".");
+ }
mPositions[iCurrent] = mesh.mPositions[(*i).mIndices[n]];
// add texture coordinates
@@ -0,0 +1,41 @@
From 5d2a7482312db2e866439a8c05a07ce1e718bed1 Mon Sep 17 00:00:00 2001
From: Kim Kulling <kimkulling@users.noreply.github.com>
Date: Wed, 12 Mar 2025 21:29:33 +0100
Subject: [PATCH] MDL: Limit max texture sizes
- closes https://github.com/assimp/assimp/issues/6022
Upstream: https://github.com/assimp/assimp/pull/6046
CVE: CVE-2025-3016
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
code/AssetLib/MDL/MDLMaterialLoader.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/code/AssetLib/MDL/MDLMaterialLoader.cpp b/code/AssetLib/MDL/MDLMaterialLoader.cpp
index 2cac8a1e26..2e09992e89 100644
--- a/code/AssetLib/MDL/MDLMaterialLoader.cpp
+++ b/code/AssetLib/MDL/MDLMaterialLoader.cpp
@@ -209,6 +209,8 @@ void MDLImporter::CreateTexture_3DGS_MDL4(const unsigned char *szData,
return;
}
+static const uint32_t MaxTextureSize = 4096;
+
// ------------------------------------------------------------------------------------------------
// Load color data of a texture and convert it to our output format
void MDLImporter::ParseTextureColorData(const unsigned char *szData,
@@ -219,6 +221,11 @@ void MDLImporter::ParseTextureColorData(const unsigned char *szData,
// allocate storage for the texture image
if (do_read) {
+ // check for max texture sizes
+ if (pcNew->mWidth > MaxTextureSize || pcNew->mHeight > MaxTextureSize) {
+ throw DeadlyImportError("Invalid MDL file. A texture is too big.");
+ }
+
if(pcNew->mWidth != 0 && pcNew->mHeight > UINT_MAX/pcNew->mWidth) {
throw DeadlyImportError("Invalid MDL file. A texture is too big.");
}
+6
View File
@@ -16,6 +16,12 @@ ASSIMP_INSTALL_STAGING = YES
# 0002-Fix-use-after-free-in-the-CallbackToLogRedirector-59.patch
ASSIMP_IGNORE_CVES += CVE-2024-48423
# 0003-ASE-fix-possible-out-of-bound-access.patch
ASSIMP_IGNORE_CVES += CVE-2025-3015
# 0004-MDL-limit-max-texture-sizes.patch
ASSIMP_IGNORE_CVES += CVE-2025-3016
# relocation truncated to fit: R_68K_GOT16O. We also need to disable
# optimizations to not run into "Error: value -43420 out of range"
# assembler issues.
+4 -2
View File
@@ -5,6 +5,7 @@ config BR2_PACKAGE_ATKMM
depends on BR2_TOOLCHAIN_HAS_THREADS # at-spi2-core/glibmm -> libglib2
depends on BR2_USE_MMU # at-spi2-core/glibmm -> libglib2
depends on BR2_USE_WCHAR # at-spi2-core/glibmm -> libglib2
depends on !BR2_STATIC_LIBS # at-spi2-core
select BR2_PACKAGE_AT_SPI2_CORE
select BR2_PACKAGE_GLIBMM
select BR2_PACKAGE_LIBSIGC
@@ -14,7 +15,8 @@ config BR2_PACKAGE_ATKMM
http://www.gtkmm.org/
comment "atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7"
comment "atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS
+4 -2
View File
@@ -5,6 +5,7 @@ config BR2_PACKAGE_ATKMM2_28
depends on BR2_TOOLCHAIN_HAS_THREADS # at-spi2-core/glibmm -> libglib2
depends on BR2_USE_MMU # at-spi2-core/glibmm -> libglib2
depends on BR2_USE_WCHAR # at-spi2-core/glibmm -> libglib2
depends on !BR2_STATIC_LIBS # at-spi2-core
select BR2_PACKAGE_AT_SPI2_CORE
select BR2_PACKAGE_GLIBMM2_66
select BR2_PACKAGE_LIBSIGC2
@@ -17,7 +18,8 @@ config BR2_PACKAGE_ATKMM2_28
http://www.gtkmm.org/
comment "atkmm (2.28.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9"
comment "atkmm (2.28.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS
@@ -0,0 +1,31 @@
From ba6ad3a18cb26b79e0e3b84c39f707535bbc344d Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Wed, 19 Feb 2025 07:58:54 +1030
Subject: [PATCH] PR32716, objdump -i memory leak
PR binutils/32716
* bucomm.c (display_info): Free arg.info.
Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d
CVE: CVE-2025-3198
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
binutils/bucomm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/binutils/bucomm.c b/binutils/bucomm.c
index ccf54099154..d4554737db1 100644
--- a/binutils/bucomm.c
+++ b/binutils/bucomm.c
@@ -435,6 +435,7 @@ display_info (void)
if (!arg.error)
display_target_tables (&arg);
+ free (arg.info);
return arg.error;
}
--
2.43.5
@@ -0,0 +1,31 @@
From ba6ad3a18cb26b79e0e3b84c39f707535bbc344d Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Wed, 19 Feb 2025 07:58:54 +1030
Subject: [PATCH] PR32716, objdump -i memory leak
PR binutils/32716
* bucomm.c (display_info): Free arg.info.
Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d
CVE: CVE-2025-3198
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
binutils/bucomm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/binutils/bucomm.c b/binutils/bucomm.c
index ccf54099154..d4554737db1 100644
--- a/binutils/bucomm.c
+++ b/binutils/bucomm.c
@@ -435,6 +435,7 @@ display_info (void)
if (!arg.error)
display_target_tables (&arg);
+ free (arg.info);
return arg.error;
}
--
2.43.5
+3
View File
@@ -31,6 +31,9 @@ BINUTILS_LICENSE = GPL-3.0+, libiberty LGPL-2.1+
BINUTILS_LICENSE_FILES = COPYING3 COPYING.LIB
BINUTILS_CPE_ID_VENDOR = gnu
# 0003-objdump-memleak.patch
BINUTILS_IGNORE_CVES += CVE-2025-3198
ifeq ($(BINUTILS_FROM_GIT),y)
BINUTILS_DEPENDENCIES += host-flex host-bison
HOST_BINUTILS_DEPENDENCIES += host-flex host-bison
+1
View File
@@ -1,6 +1,7 @@
config BR2_PACKAGE_CASYNC_NANO
bool "casync-nano"
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA if BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_ZSTD
select BR2_PACKAGE_LIBCURL
help
+1 -1
View File
@@ -1,3 +1,3 @@
# locally calculated
sha256 29ed8a767304e7e3032e66feea3d2dada7cc7db73344231a54bf080cc6e65ecf casync-nano-1.1.1.tar.gz
sha256 1a8ce3247985e05fbb08097966ff11fc2abd0a1f18fb7178e7397c2455b9500f casync-nano-1.1.2.tar.gz
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
+1 -1
View File
@@ -4,7 +4,7 @@
#
################################################################################
CASYNC_NANO_VERSION = 1.1.1
CASYNC_NANO_VERSION = 1.1.2
CASYNC_NANO_SITE = $(call github,florolf,casync-nano,v$(CASYNC_NANO_VERSION))
CASYNC_NANO_LICENSE = LGPL-2.1
CASYNC_NANO_LICENSE_FILES = COPYING
+1 -1
View File
@@ -1,3 +1,3 @@
# Locally calculated
sha256 66c07e2f69d8a10fb111b6df27fbe3558734d660207a54391c46eea3e12b29ee esp-hosted-9a2312b0b2630e41bacb3091faaba489cb43b0ab.tar.gz
sha256 ed57d96d27be775b22f9571d3724ef84e0d0b8f24b805ec7f87a32189de19a9c LICENSE
sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 esp_hosted_ng/host/LICENSE
+1 -1
View File
@@ -8,7 +8,7 @@ ESP_HOSTED_VERSION = 9a2312b0b2630e41bacb3091faaba489cb43b0ab
ESP_HOSTED_SITE = $(call github,espressif,esp-hosted,$(ESP_HOSTED_VERSION))
ESP_HOSTED_DEPENDENCIES = linux
ESP_HOSTED_LICENSE = GPL-2.0
ESP_HOSTED_LICENSE_FILE = LICENSE
ESP_HOSTED_LICENSE_FILES = esp_hosted_ng/host/LICENSE
ESP_HOSTED_MODULE_SUBDIRS = esp_hosted_ng/host
define ESP_HOSTED_LINUX_CONFIG_FIXUPS
@@ -1,3 +1,3 @@
# Locally calculated
sha256 550b07bc6a073176ad7de0efd603663c9875311dfb81ae1075263e3fd6974335 gmrender-resurrect-0.1.tar.gz
sha256 dbe0d41b01339a4805fdd0edf914fbc4870dba2eb9c54ad5bf9446ccfd3fa482 gmrender-resurrect-0.3.tar.gz
sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING
@@ -4,7 +4,7 @@
#
################################################################################
GMRENDER_RESURRECT_VERSION = 0.1
GMRENDER_RESURRECT_VERSION = 0.3
GMRENDER_RESURRECT_SITE = $(call github,hzeller,gmrender-resurrect,v$(GMRENDER_RESURRECT_VERSION))
# Original distribution does not have default configure,
# so we need to autoreconf:
+4 -2
View File
@@ -1,9 +1,10 @@
comment "gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9"
comment "gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \
|| !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 \
|| !BR2_TOOLCHAIN_HAS_THREADS
|| !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS
config BR2_PACKAGE_GTKMM3
bool "gtkmm3"
@@ -14,6 +15,7 @@ config BR2_PACKAGE_GTKMM3
depends on BR2_USE_MMU # *mm/libgtk3 -> libglib2
depends on BR2_USE_WCHAR # *mm/libgtk3 -> libglib2
depends on BR2_PACKAGE_LIBGTK3
depends on !BR2_STATIC_LIBS # atkmm
select BR2_PACKAGE_ATKMM2_28
select BR2_PACKAGE_CAIROMM1_14
select BR2_PACKAGE_GLIBMM2_66
+1 -1
View File
@@ -30,7 +30,7 @@ KMSXX_EXTRA_UTILS += kmstouch
endif
define KMSXX_INSTALL_EXTRA_UTILS
$(foreach t,$(KMSXX_EXTRA_UTILS),\
$(INSTALL) -D -m 0755 $(@D)/build/utils/$(t) \
$(INSTALL) -D -m 0755 $(@D)/buildroot-build/utils/$(t) \
$(TARGET_DIR)/usr/bin/$(t)
)
endef
+1 -1
View File
@@ -130,7 +130,7 @@ endif
# otherwise the signature won't match the shlib on the rootfs. Since meson
# install target is signing the shlibs, we need to strip them before.
LIBCAMERA_STRIP_FIND_CMD = \
find $(@D)/build/src/ipa \
find $(@D)/buildroot-build/src/ipa \
$(if $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES)), \
-not \( $(call findfileclauses,$(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) ) \
-type f -name 'ipa_*.so' -print0
+3 -2
View File
@@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBGLADE
depends on BR2_USE_WCHAR # glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on !BR2_STATIC_LIBS # at-spi2-core
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_AT_SPI2_CORE
select BR2_PACKAGE_LIBXML2
@@ -14,7 +15,7 @@ config BR2_PACKAGE_LIBGLADE
https://download.gnome.org/sources/libglade/
comment "libglade needs a toolchain w/ wchar, threads"
comment "libglade needs a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_LIBGTK2
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+5 -5
View File
@@ -442,11 +442,11 @@ config BR2_DEFAULT_KERNEL_HEADERS
string
default "5.4.293" if BR2_KERNEL_HEADERS_5_4
default "5.10.237" if BR2_KERNEL_HEADERS_5_10
default "5.15.182" if BR2_KERNEL_HEADERS_5_15
default "6.1.138" if BR2_KERNEL_HEADERS_6_1
default "6.6.90" if BR2_KERNEL_HEADERS_6_6
default "6.12.28" if BR2_KERNEL_HEADERS_6_12
default "6.14.6" if BR2_KERNEL_HEADERS_6_14
default "5.15.184" if BR2_KERNEL_HEADERS_5_15
default "6.1.140" if BR2_KERNEL_HEADERS_6_1
default "6.6.92" if BR2_KERNEL_HEADERS_6_6
default "6.12.30" if BR2_KERNEL_HEADERS_6_12
default "6.14.8" if BR2_KERNEL_HEADERS_6_14
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL
default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \
@@ -0,0 +1,48 @@
From 8158764baaa6cea81f514af157019c0dc81b6e46 Mon Sep 17 00:00:00 2001
From: Florian Larysch <fl@n621.de>
Date: Thu, 22 May 2025 23:46:42 +0200
Subject: [PATCH] cmake: bump compatibility level up to 3.10
As of CMake 4.0, backwards compatibility to versions older than 3.5 has
been removed and is deprecated for versions older than 3.10. Bump
compatibility to version 3.10 using the process described in [1].
Of the changed policies, only CMP0065 seems to affect the LZO build as
is, namely the example binaries, but this seems like a reasonable change
rather than an actual compatibility issue.
[1] https://cmake.org/cmake/help/v4.0/manual/cmake-policies.7.html#updating-projects
Upstream: Submitted to upstream via direct email as there is no public
mailing list or forge presence.
Signed-off-by: Florian Larysch <fl@n621.de>
---
CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 98c0a1a..108537c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,7 @@
# All Rights Reserved.
#
-cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.0...3.10 FATAL_ERROR)
#
# simple usage example (Unix):
@@ -57,7 +57,7 @@ if(NOT ENABLE_STATIC AND NOT ENABLE_SHARED)
set(ENABLE_STATIC ON)
endif()
if(ENABLE_SHARED AND WIN32)
- cmake_minimum_required(VERSION 3.4.3 FATAL_ERROR) # needed for WINDOWS_EXPORT_ALL_SYMBOLS
+ cmake_minimum_required(VERSION 3.4.3...3.10 FATAL_ERROR) # needed for WINDOWS_EXPORT_ALL_SYMBOLS
endif()
# install directories
--
2.49.0
+2 -2
View File
@@ -1,5 +1,5 @@
# md5, sha256 from https://pypi.org/pypi/click/json
md5 b9d7fc7a25f30674c85da6f460628a17 click-8.2.0.tar.gz
sha256 f5452aeddd9988eefa20f90f05ab66f17fce1ee2a36907fd30b05bbb5953814d click-8.2.0.tar.gz
md5 438cfd4974584ae4f960ffeab32e8991 click-8.2.1.tar.gz
sha256 27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202 click-8.2.1.tar.gz
# Locally computed sha256 checksums
sha256 9a8ad106a394e853bfe21f42f4e72d592819a22805d991b5f3275029292b658d LICENSE.txt
+2 -2
View File
@@ -4,9 +4,9 @@
#
################################################################################
PYTHON_CLICK_VERSION = 8.2.0
PYTHON_CLICK_VERSION = 8.2.1
PYTHON_CLICK_SOURCE = click-$(PYTHON_CLICK_VERSION).tar.gz
PYTHON_CLICK_SITE = https://files.pythonhosted.org/packages/cd/0f/62ca20172d4f87d93cf89665fbaedcd560ac48b465bd1d92bfc7ea6b0a41
PYTHON_CLICK_SITE = https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc
PYTHON_CLICK_SETUP_TYPE = flit
PYTHON_CLICK_LICENSE = BSD-3-Clause
PYTHON_CLICK_LICENSE_FILES = LICENSE.txt
+10
View File
@@ -3,3 +3,13 @@ md5 317174c6e0593c40e58ec1bd428b1091 django-5.2.1.tar.gz
sha256 57fe1f1b59462caed092c80b3dd324fd92161b620d59a9ba9181c34746c97284 django-5.2.1.tar.gz
# Locally computed sha256 checksums
sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE
sha256 dcac1c86cb7ab491702bdb4c41be680fafde51536748cc8aaee3840eec53ed17 django/contrib/gis/measure.py
sha256 570a045a8372b6cd6a00e30ebafe8e3e8dfc0a7fe3d4ef2cc5f16d419eb63aeb django/contrib/gis/gdal/LICENSE
sha256 08bf24b7551238ae325295245425b1caeb9ad0f42f9e2d303c7b353502632045 django/contrib/gis/geos/LICENSE
sha256 d48633adb736dac091477ec2206feebeee88e3e6e486aedb21c584e4b49be0ec django/contrib/admin/static/admin/js/inlines.js
sha256 d4db9ebe6f29f5168eac45ad713f055623ac5d0dcd5ba92da23d650ae012020d django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt
sha256 4ee0cbc51370afde358652a0f977972053729ed578b6a42f5e2a037d114f0b39 django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md
sha256 73af2949bff9296cb0f816c3be19a4da4e95adc94c1f924796e8bad3f03f2f29 django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt
sha256 d114faff3488c16c319b3235dc41f90239d3d63d9853733033d8f7535f5c0004 django/contrib/admin/static/admin/img/LICENSE
sha256 54004c4b606964ebc163af16d04607c16e428f8a78a026fecb53f70c09f4a94f django/dispatch/license.txt
sha256 1ce0483ad554cf135efec70ad2097e82ed72790194f17e1591821dc82c2416e0 django/utils/archive.py
+12 -2
View File
@@ -8,8 +8,18 @@ PYTHON_DJANGO_VERSION = 5.2.1
PYTHON_DJANGO_SOURCE = django-$(PYTHON_DJANGO_VERSION).tar.gz
# The official Django site has an unpractical URL
PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/ac/10/0d546258772b8f31398e67c85e52c66ebc2b13a647193c3eef8ee433f1a8
PYTHON_DJANGO_LICENSE = BSD-3-Clause
PYTHON_DJANGO_LICENSE_FILES = LICENSE
PYTHON_DJANGO_LICENSE = BSD-3-Clause, MIT (jquery, utils/archive.py), BSD-2-Clause (inlines.js)
PYTHON_DJANGO_LICENSE_FILES = LICENSE \
django/contrib/gis/measure.py \
django/contrib/gis/gdal/LICENSE \
django/contrib/gis/geos/LICENSE \
django/contrib/admin/static/admin/js/inlines.js \
django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt \
django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md \
django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt \
django/contrib/admin/static/admin/img/LICENSE \
django/dispatch/license.txt \
django/utils/archive.py
PYTHON_DJANGO_CPE_ID_VENDOR = djangoproject
PYTHON_DJANGO_CPE_ID_PRODUCT = django
PYTHON_DJANGO_SETUP_TYPE = setuptools
+1
View File
@@ -1,5 +1,6 @@
config BR2_PACKAGE_PYTHON_FLASK_RESTX
bool "python-flask-restx"
depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-jsonschema
select BR2_PACKAGE_PYTHON_ANISO8601 # runtime
select BR2_PACKAGE_PYTHON_FLASK # runtime
select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime
@@ -1,4 +1,4 @@
# Locally calculated after vendoring
sha256 34e84faa734d981ca1f383844ac057434108e657667f115363abd93ac65486a6 python-pydantic-core-2.34.1-cargo4.tar.gz
sha256 d075c06f299090879748db99ab202a253e9a2b22ee4140b96c0257257b9351c8 python-pydantic-core-2.33.2-cargo4.tar.gz
# Locally computed sha256 checksums
sha256 2afdd30d54b4d62b6f488a6bcc1546e84ec5061f13f4209c03d012348783795a LICENSE
@@ -4,10 +4,12 @@
#
################################################################################
PYTHON_PYDANTIC_CORE_VERSION = 2.34.1
# python-pydantic pins an exact version of pydantic-core in pyproject.toml,
# make sure to sync pydantic-core to this version when updating pydantic
PYTHON_PYDANTIC_CORE_VERSION = 2.33.2
PYTHON_PYDANTIC_CORE_SOURCE_PYPI = pydantic_core-$(PYTHON_PYDANTIC_CORE_VERSION).tar.gz
PYTHON_PYDANTIC_CORE_SITE = $(PYTHON_PYDANTIC_CORE_SITE_PYPI)/$(PYTHON_PYDANTIC_CORE_SOURCE_PYPI)?buildroot-path=filename
PYTHON_PYDANTIC_CORE_SITE_PYPI = https://files.pythonhosted.org/packages/42/fa/5f682f3db14e14f7b5b7f5008ac24594b93943d1da4facbacff5876624cf
PYTHON_PYDANTIC_CORE_SITE_PYPI = https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4
PYTHON_PYDANTIC_CORE_SETUP_TYPE = maturin
PYTHON_PYDANTIC_CORE_LICENSE = MIT
PYTHON_PYDANTIC_CORE_LICENSE_FILES = LICENSE
+2 -2
View File
@@ -1,5 +1,5 @@
# md5, sha256 from https://pypi.org/pypi/pydantic/json
md5 13bdd5856e805abdce75516cdb98935f pydantic-2.11.4.tar.gz
sha256 32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d pydantic-2.11.4.tar.gz
md5 85a84b0930556794ba1e95aa6313c071 pydantic-2.11.5.tar.gz
sha256 7f853db3d0ce78ce8bbb148c401c2cdd6431b3473c0cdff2755c7690952a7b7a pydantic-2.11.5.tar.gz
# Locally computed sha256 checksums
sha256 a9e186f3ca16b5eef84318e7a701721351a00cb7b8ae3a4394b67b49e3529ef3 LICENSE
+2 -2
View File
@@ -4,9 +4,9 @@
#
################################################################################
PYTHON_PYDANTIC_VERSION = 2.11.4
PYTHON_PYDANTIC_VERSION = 2.11.5
PYTHON_PYDANTIC_SOURCE = pydantic-$(PYTHON_PYDANTIC_VERSION).tar.gz
PYTHON_PYDANTIC_SITE = https://files.pythonhosted.org/packages/77/ab/5250d56ad03884ab5efd07f734203943c8a8ab40d551e208af81d0257bf2
PYTHON_PYDANTIC_SITE = https://files.pythonhosted.org/packages/f0/86/8ce9040065e8f924d642c58e4a344e33163a07f6b57f836d0d734e0ad3fb
PYTHON_PYDANTIC_SETUP_TYPE = hatch
PYTHON_PYDANTIC_LICENSE = MIT
PYTHON_PYDANTIC_LICENSE_FILES = LICENSE
-1
View File
@@ -3,7 +3,6 @@ config BR2_PACKAGE_PYTHON_REFERENCING
depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-rpds-py
select BR2_PACKAGE_PYTHON_ATTRS # runtime
select BR2_PACKAGE_PYTHON_RPDS_PY # runtime
select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime, with Python < 3.13
help
JSON Referencing + Python.
@@ -0,0 +1,234 @@
From cc61050e8f26697463142d99864b562e8470b41d Mon Sep 17 00:00:00 2001
From: Ben Darnell <ben@bendarnell.com>
Date: Thu, 8 May 2025 13:29:43 -0400
Subject: [PATCH] httputil: Raise errors instead of logging in
multipart/form-data parsing
We used to continue after logging an error, which allowed repeated
errors to spam the logs. The error raised here will still be logged,
but only once per request, consistent with other error handling in
Tornado.
Upstream: https://github.com/tornadoweb/tornado/commit/b39b892bf78fe8fea01dd45199aa88307e7162f3
CVE: CVE-2025-47287
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
tornado/httputil.py | 30 +++++++++++-------------------
tornado/test/httpserver_test.py | 4 ++--
tornado/test/httputil_test.py | 13 ++++++++-----
tornado/web.py | 17 +++++++++++++----
4 files changed, 34 insertions(+), 30 deletions(-)
diff --git a/tornado/httputil.py b/tornado/httputil.py
index 7044aca02..ef460985e 100644
--- a/tornado/httputil.py
+++ b/tornado/httputil.py
@@ -34,7 +34,6 @@
from urllib.parse import urlencode, urlparse, urlunparse, parse_qsl
from tornado.escape import native_str, parse_qs_bytes, utf8
-from tornado.log import gen_log
from tornado.util import ObjectDict, unicode_type
@@ -884,25 +883,22 @@ def parse_body_arguments(
"""
if content_type.startswith("application/x-www-form-urlencoded"):
if headers and "Content-Encoding" in headers:
- gen_log.warning(
- "Unsupported Content-Encoding: %s", headers["Content-Encoding"]
+ raise HTTPInputError(
+ "Unsupported Content-Encoding: %s" % headers["Content-Encoding"]
)
- return
try:
# real charset decoding will happen in RequestHandler.decode_argument()
uri_arguments = parse_qs_bytes(body, keep_blank_values=True)
except Exception as e:
- gen_log.warning("Invalid x-www-form-urlencoded body: %s", e)
- uri_arguments = {}
+ raise HTTPInputError("Invalid x-www-form-urlencoded body: %s" % e) from e
for name, values in uri_arguments.items():
if values:
arguments.setdefault(name, []).extend(values)
elif content_type.startswith("multipart/form-data"):
if headers and "Content-Encoding" in headers:
- gen_log.warning(
- "Unsupported Content-Encoding: %s", headers["Content-Encoding"]
+ raise HTTPInputError(
+ "Unsupported Content-Encoding: %s" % headers["Content-Encoding"]
)
- return
try:
fields = content_type.split(";")
for field in fields:
@@ -911,9 +907,9 @@ def parse_body_arguments(
parse_multipart_form_data(utf8(v), body, arguments, files)
break
else:
- raise ValueError("multipart boundary not found")
+ raise HTTPInputError("multipart boundary not found")
except Exception as e:
- gen_log.warning("Invalid multipart/form-data: %s", e)
+ raise HTTPInputError("Invalid multipart/form-data: %s" % e) from e
def parse_multipart_form_data(
@@ -942,26 +938,22 @@ def parse_multipart_form_data(
boundary = boundary[1:-1]
final_boundary_index = data.rfind(b"--" + boundary + b"--")
if final_boundary_index == -1:
- gen_log.warning("Invalid multipart/form-data: no final boundary")
- return
+ raise HTTPInputError("Invalid multipart/form-data: no final boundary found")
parts = data[:final_boundary_index].split(b"--" + boundary + b"\r\n")
for part in parts:
if not part:
continue
eoh = part.find(b"\r\n\r\n")
if eoh == -1:
- gen_log.warning("multipart/form-data missing headers")
- continue
+ raise HTTPInputError("multipart/form-data missing headers")
headers = HTTPHeaders.parse(part[:eoh].decode("utf-8"))
disp_header = headers.get("Content-Disposition", "")
disposition, disp_params = _parse_header(disp_header)
if disposition != "form-data" or not part.endswith(b"\r\n"):
- gen_log.warning("Invalid multipart/form-data")
- continue
+ raise HTTPInputError("Invalid multipart/form-data")
value = part[eoh + 4 : -2]
if not disp_params.get("name"):
- gen_log.warning("multipart/form-data value missing name")
- continue
+ raise HTTPInputError("multipart/form-data missing name")
name = disp_params["name"]
if disp_params.get("filename"):
ctype = headers.get("Content-Type", "application/unknown")
diff --git a/tornado/test/httpserver_test.py b/tornado/test/httpserver_test.py
index 570cb64ca..f197cfef8 100644
--- a/tornado/test/httpserver_test.py
+++ b/tornado/test/httpserver_test.py
@@ -1148,9 +1148,9 @@ def test_gzip_unsupported(self):
# Gzip support is opt-in; without it the server fails to parse
# the body (but parsing form bodies is currently just a log message,
# not a fatal error).
- with ExpectLog(gen_log, "Unsupported Content-Encoding"):
+ with ExpectLog(gen_log, ".*Unsupported Content-Encoding"):
response = self.post_gzip("foo=bar")
- self.assertEqual(json_decode(response.body), {})
+ self.assertEqual(response.code, 400)
class StreamingChunkSizeTest(AsyncHTTPTestCase):
diff --git a/tornado/test/httputil_test.py b/tornado/test/httputil_test.py
index 30fbec4d7..7a09beaa3 100644
--- a/tornado/test/httputil_test.py
+++ b/tornado/test/httputil_test.py
@@ -12,7 +12,6 @@
)
from tornado.escape import utf8, native_str
from tornado.log import gen_log
-from tornado.testing import ExpectLog
from tornado.test.util import ignore_deprecation
import copy
@@ -195,7 +194,9 @@ def test_missing_headers(self):
b"\n", b"\r\n"
)
args, files = form_data_args()
- with ExpectLog(gen_log, "multipart/form-data missing headers"):
+ with self.assertRaises(
+ HTTPInputError, msg="multipart/form-data missing headers"
+ ):
parse_multipart_form_data(b"1234", data, args, files)
self.assertEqual(files, {})
@@ -209,7 +210,7 @@ def test_invalid_content_disposition(self):
b"\n", b"\r\n"
)
args, files = form_data_args()
- with ExpectLog(gen_log, "Invalid multipart/form-data"):
+ with self.assertRaises(HTTPInputError, msg="Invalid multipart/form-data"):
parse_multipart_form_data(b"1234", data, args, files)
self.assertEqual(files, {})
@@ -222,7 +223,7 @@ def test_line_does_not_end_with_correct_line_break(self):
b"\n", b"\r\n"
)
args, files = form_data_args()
- with ExpectLog(gen_log, "Invalid multipart/form-data"):
+ with self.assertRaises(HTTPInputError, msg="Invalid multipart/form-data"):
parse_multipart_form_data(b"1234", data, args, files)
self.assertEqual(files, {})
@@ -236,7 +237,9 @@ def test_content_disposition_header_without_name_parameter(self):
b"\n", b"\r\n"
)
args, files = form_data_args()
- with ExpectLog(gen_log, "multipart/form-data value missing name"):
+ with self.assertRaises(
+ HTTPInputError, msg="multipart/form-data value missing name"
+ ):
parse_multipart_form_data(b"1234", data, args, files)
self.assertEqual(files, {})
diff --git a/tornado/web.py b/tornado/web.py
index 0303f547e..2f702d648 100644
--- a/tornado/web.py
+++ b/tornado/web.py
@@ -1801,6 +1801,14 @@ async def _execute(
try:
if self.request.method not in self.SUPPORTED_METHODS:
raise HTTPError(405)
+
+ # If we're not in stream_request_body mode, this is the place where we parse the body.
+ if not _has_stream_request_body(self.__class__):
+ try:
+ self.request._parse_body()
+ except httputil.HTTPInputError as e:
+ raise HTTPError(400, "Invalid body: %s" % e) from e
+
self.path_args = [self.decode_argument(arg) for arg in args]
self.path_kwargs = dict(
(k, self.decode_argument(v, name=k)) for (k, v) in kwargs.items()
@@ -1992,7 +2000,7 @@ def _has_stream_request_body(cls: Type[RequestHandler]) -> bool:
def removeslash(
- method: Callable[..., Optional[Awaitable[None]]]
+ method: Callable[..., Optional[Awaitable[None]]],
) -> Callable[..., Optional[Awaitable[None]]]:
"""Use this decorator to remove trailing slashes from the request path.
@@ -2021,7 +2029,7 @@ def wrapper( # type: ignore
def addslash(
- method: Callable[..., Optional[Awaitable[None]]]
+ method: Callable[..., Optional[Awaitable[None]]],
) -> Callable[..., Optional[Awaitable[None]]]:
"""Use this decorator to add a missing trailing slash to the request path.
@@ -2445,8 +2453,9 @@ def finish(self) -> None:
if self.stream_request_body:
future_set_result_unless_cancelled(self.request._body_future, None)
else:
+ # Note that the body gets parsed in RequestHandler._execute so it can be in
+ # the right exception handler scope.
self.request.body = b"".join(self.chunks)
- self.request._parse_body()
self.execute()
def on_connection_close(self) -> None:
@@ -3332,7 +3341,7 @@ def transform_chunk(self, chunk: bytes, finishing: bool) -> bytes:
def authenticated(
- method: Callable[..., Optional[Awaitable[None]]]
+ method: Callable[..., Optional[Awaitable[None]]],
) -> Callable[..., Optional[Awaitable[None]]]:
"""Decorate methods with this to require that the user be logged in.
+3
View File
@@ -13,4 +13,7 @@ PYTHON_TORNADO_CPE_ID_VENDOR = tornadoweb
PYTHON_TORNADO_CPE_ID_PRODUCT = tornado
PYTHON_TORNADO_SETUP_TYPE = setuptools
# 0001-httputil-raise-errors-instead-of-logging-in.patch
PYTHON_TORNADO_IGNORE_CVES += CVE-2025-47287
$(eval $(python-package))
+9
View File
@@ -1,5 +1,9 @@
config BR2_PACKAGE_SANE_AIRSCAN
bool "sane-airscan"
depends on !BR2_STATIC_LIBS # avahi, gnutls, sane-backends
depends on BR2_TOOLCHAIN_HAS_THREADS # avahi, dbus
depends on BR2_USE_WCHAR # avahi, gnutls
depends on BR2_USE_MMU # dbus, sane-backends
select BR2_PACKAGE_AVAHI
select BR2_PACKAGE_AVAHI_DAEMON # needed to get avahi-client
select BR2_PACKAGE_DBUS # needed by avahi to get avahi-client
@@ -18,3 +22,8 @@ config BR2_PACKAGE_SANE_AIRSCAN
support "driverless" scanning.
https://github.com/alexpevzner/sane-airscan
comment "sane-airscan needs a toolchain w/ wchar, dynamic library, threads"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_HAS_THREADS
+1 -1
View File
@@ -646,7 +646,7 @@ SYSTEMD_CONF_OPTS += -Dbootloader=enabled
SYSTEMD_BOOT_EFI_ARCH = $(call qstrip,$(BR2_PACKAGE_SYSTEMD_BOOT_EFI_ARCH))
define SYSTEMD_INSTALL_BOOT_FILES
$(INSTALL) -D -m 0644 $(@D)/build/src/boot/efi/systemd-boot$(SYSTEMD_BOOT_EFI_ARCH).efi \
$(INSTALL) -D -m 0644 $(@D)/buildroot-build/src/boot/efi/systemd-boot$(SYSTEMD_BOOT_EFI_ARCH).efi \
$(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(SYSTEMD_BOOT_EFI_ARCH).efi
$(INSTALL) -D -m 0644 $(SYSTEMD_PKGDIR)/boot-files/loader.conf \
$(BINARIES_DIR)/efi-part/loader/loader.conf
-3
View File
@@ -13,9 +13,6 @@ UACME_LICENSE = GPL-3.0+
UACME_LICENSE_FILES = COPYING
UACME_DEPENDENCIES = libcurl
# 0001-Fix-cross-compilation.patch touches configure.ac
UACME_AUTORECONF = YES
UACME_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' LIBS="$(UACME_LIBS)"
ifeq ($(BR2_PACKAGE_GNUTLS),y)
@@ -0,0 +1,33 @@
From 142448e55386b88adf5b1d7e6206df1ca6784708 Mon Sep 17 00:00:00 2001
From: Bruno Thomsen <bruno.thomsen@gmail.com>
Date: Sat, 1 Mar 2025 14:32:41 +0100
Subject: [PATCH] libuuu/sdps: fix gcc15 compile errors
This gcc 15 error happens on Fedora 42.
error: uint32_t does not name a type
error: uint64_t does not name a type
Signed-off-by: Bruno Thomsen <bruno.thomsen@gmail.com>
Upstream: https://github.com/nxp-imx/mfgtools/commit/142448e55386b88adf5b1d7e6206df1ca6784708
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
libuuu/sdps.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/libuuu/sdps.h b/libuuu/sdps.h
index b82f9d71c981..667a477ee48f 100644
--- a/libuuu/sdps.h
+++ b/libuuu/sdps.h
@@ -30,6 +30,7 @@
*/
#include "cmd.h"
+#include <cstdint>
class SDPSCmd : public CmdBase
{
--
2.43.0
@@ -9,6 +9,24 @@ def boot_armv5_cpio(emulator, builddir):
options=["-initrd", img])
emulator.login()
# emulator.login() sets the emulated system date to the host
# date. In general, this is desirable (for correct SSL certificate
# behaviors, for example).
#
# This timezone runtime test checks that a Buildroot configuration
# is reflected in the generated system at runtime, using the
# standard "date" command. To make sure this test is stable in
# time (i.e. output is independent to the date/time the test is
# executed due to daylight saving time changes), we reset the
# system date to a constant value.
#
# We cannot set the system date to a value less than the system
# uptime. So we cannot set the time back to Unix Epoch with the
# command "date -s @0" (this would result to a EINVAL Invalid
# argument). Instead, we set the time at 1 hour after Epoch. This
# is sufficient as the emulated system takes few seconds to start.
emulator.run("date -s @3600")
class TestNoTimezone(infra.basetest.BRTest):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
@@ -1,6 +1,11 @@
from datetime import datetime
from pydantic import BaseModel, PositiveInt
from pydantic.version import check_pydantic_core_version
# pydantic pins an exact version of pydantic core
# verify these are in sync in buildroots packaging
assert check_pydantic_core_version()
class User(BaseModel):
@@ -73,10 +73,6 @@ class TestXen(infra.basetest.BRTest):
self.emulator.boot(arch="aarch64", options=qemu_opts)
self.emulator.login()
# Avoid double-cooking the terminal, otherwise the test infrastructure
# would not be able to retrieve e.g. return codes properly.
self.assertRunOk("stty raw")
# Verify that we are indeed running under Xen.
self.assertRunOk("xl info")
@@ -92,9 +88,6 @@ class TestXen(infra.basetest.BRTest):
self.emulator.qemu.sendline("xl create -c /etc/xen/dom1.cfg")
self.emulator.login()
# Avoid double-cooking the terminal for dom1, too.
self.assertRunOk("stty raw")
# Check that we are not talking to dom0 anymore.
uuid = self.get_dom_uuid()
self.assertNotEqual(uuid, dom0_uuid, "Unexpected dom0 UUID")
@@ -0,0 +1,3 @@
# Avoid double-cooking the terminal, otherwise the test infrastructure
# would not be able to retrieve return codes properly.
stty raw