diff options
| author | Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | 2026-04-09 14:32:51 +0200 |
|---|---|---|
| committer | Khem Raj <khem.raj@oss.qualcomm.com> | 2026-04-10 07:59:58 -0700 |
| commit | f2c5f3fadc68922d6b5dcb8967fd5de9f785c3ec (patch) | |
| tree | 6f93a26257c0f5a57bd9db641557a7d40377ea89 | |
| parent | ffb7d752ff9dc303169b331ec2d7f7b9885c6612 (diff) | |
| download | meta-openembedded-f2c5f3fadc68922d6b5dcb8967fd5de9f785c3ec.tar.gz | |
libgpiod: update to v2.2.4
Bug-fix release addressing several issues discovered during an
AI-augmented security audit. The most severe bug was found in the C
extension code of the python bindings - which also get an update - but
there were some memory leaks and integer overflow bugs in the core C
library as well as in tools and DBus daemon.
Full changelog:
Bug fixes:
- fix buffer over-read bugs when translating uAPI structs to library types
- fix variable and argument types where necessary
- sanitize values returned by the kernel to avoid potential buffer overflows
- fix memory leaks in gpio-tools
- add missing return value checks in gpio-tools
- fix period parsing in gpio-tools
- use correct loop counter in error path in gpio-manager
Improvements:
- make tests work with newer coreutils by removing cases checking tools'
behavior on SIGINT which stopped working due to changes in behavior of the
timeout tool
Also: drop the patch that's now upstream from the recipe.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
| -rw-r--r-- | meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch | 83 | ||||
| -rw-r--r-- | meta-oe/recipes-support/libgpiod/libgpiod_2.2.4.bb (renamed from meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb) | 3 |
2 files changed, 1 insertions, 85 deletions
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch b/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch deleted file mode 100644 index 7fe06b9882..0000000000 --- a/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch +++ /dev/null | |||
| @@ -1,83 +0,0 @@ | |||
| 1 | From 3c38c5f9ab49384039f35408656a88f87619dd03 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | ||
| 3 | Date: Wed, 18 Mar 2026 14:07:06 +0100 | ||
| 4 | Subject: [libgpiod][PATCH] tools: tests: remove SIGINT test cases | ||
| 5 | |||
| 6 | In coreutils v9.10 (specifically with commit 8c2461933411 ("timeout: | ||
| 7 | honor ignored signal dispositions")) the behavior of timeout changed and | ||
| 8 | it will no longer propagate SIGINT or SIGQUIT in shell background jobs. | ||
| 9 | This breaks the test cases checking the behavior of tools after SIGINT. | ||
| 10 | We have to assume that if exit after SIGTERM works, then so does it | ||
| 11 | after SIGINT and remove the failing tests. | ||
| 12 | |||
| 13 | Upstream-Status: Submitted [https://lore.kernel.org/all/20260318131413.56575-1-bartosz.golaszewski@oss.qualcomm.com/] | ||
| 14 | Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | ||
| 15 | --- | ||
| 16 | tools/gpio-tools-test.bash | 37 ------------------------------------- | ||
| 17 | 1 file changed, 37 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/tools/gpio-tools-test.bash b/tools/gpio-tools-test.bash | ||
| 20 | index 71d6e3d..62f6836 100755 | ||
| 21 | --- a/tools/gpio-tools-test.bash | ||
| 22 | +++ b/tools/gpio-tools-test.bash | ||
| 23 | @@ -1415,17 +1415,6 @@ test_gpioset_with_lines_strictly_by_name() { | ||
| 24 | gpiosim_check_value sim0 6 0 | ||
| 25 | } | ||
| 26 | |||
| 27 | -test_gpioset_interactive_after_SIGINT() { | ||
| 28 | - gpiosim_chip sim0 num_lines=8 line_name=1:foo | ||
| 29 | - | ||
| 30 | - dut_run gpioset -i foo=1 | ||
| 31 | - | ||
| 32 | - dut_kill -SIGINT | ||
| 33 | - dut_wait | ||
| 34 | - | ||
| 35 | - status_is 130 | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | test_gpioset_interactive_after_SIGTERM() { | ||
| 39 | gpiosim_chip sim0 num_lines=8 line_name=1:foo | ||
| 40 | |||
| 41 | @@ -1907,20 +1896,6 @@ test_gpiomon_multiple_lines_across_multiple_chips() { | ||
| 42 | assert_fail dut_readable | ||
| 43 | } | ||
| 44 | |||
| 45 | -test_gpiomon_exit_after_SIGINT() { | ||
| 46 | - gpiosim_chip sim0 num_lines=8 | ||
| 47 | - | ||
| 48 | - local sim0=${GPIOSIM_CHIP_NAME[sim0]} | ||
| 49 | - | ||
| 50 | - dut_run gpiomon --banner --chip "$sim0" 4 | ||
| 51 | - dut_regex_match "Monitoring line .*" | ||
| 52 | - | ||
| 53 | - dut_kill -SIGINT | ||
| 54 | - dut_wait | ||
| 55 | - | ||
| 56 | - status_is 130 | ||
| 57 | -} | ||
| 58 | - | ||
| 59 | test_gpiomon_exit_after_SIGTERM() { | ||
| 60 | gpiosim_chip sim0 num_lines=8 | ||
| 61 | |||
| 62 | @@ -2503,18 +2478,6 @@ test_gpionotify_multiple_lines_across_multiple_chips() { | ||
| 63 | assert_fail dut_readable | ||
| 64 | } | ||
| 65 | |||
| 66 | -test_gpionotify_exit_after_SIGINT() { | ||
| 67 | - gpiosim_chip sim0 num_lines=8 | ||
| 68 | - | ||
| 69 | - dut_run gpionotify --banner --chip "${GPIOSIM_CHIP_NAME[sim0]}" 4 | ||
| 70 | - dut_regex_match "Watching line .*" | ||
| 71 | - | ||
| 72 | - dut_kill -SIGINT | ||
| 73 | - dut_wait | ||
| 74 | - | ||
| 75 | - status_is 130 | ||
| 76 | -} | ||
| 77 | - | ||
| 78 | test_gpionotify_exit_after_SIGTERM() { | ||
| 79 | gpiosim_chip sim0 num_lines=8 | ||
| 80 | |||
| 81 | -- | ||
| 82 | 2.47.3 | ||
| 83 | |||
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.4.bb index 38829a620f..2c8d9f1873 100644 --- a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb +++ b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.4.bb | |||
| @@ -13,10 +13,9 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-2.x:" | |||
| 13 | 13 | ||
| 14 | SRC_URI += " \ | 14 | SRC_URI += " \ |
| 15 | file://gpio-manager.init \ | 15 | file://gpio-manager.init \ |
| 16 | file://0001-tools-tests-remove-SIGINT-test-cases.patch \ | ||
| 17 | " | 16 | " |
| 18 | 17 | ||
| 19 | SRC_URI[sha256sum] = "70012b0262e4b90f140431efa841ca89643b02ea6c09f507e23cec664a51b71a" | 18 | SRC_URI[sha256sum] = "13207176b0eb9b3e0f02552d5f49f5a6a449343ce47416158bb484d9d3019592" |
| 20 | 19 | ||
| 21 | # Enable all project features for ptest | 20 | # Enable all project features for ptest |
| 22 | PACKAGECONFIG[tests] = " \ | 21 | PACKAGECONFIG[tests] = " \ |
