1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

41879 Commits

Author SHA1 Message Date
Marian Buschsieweke
d605b58a91
pkg/ccn-lite: Fix use after free bug
This fixes compilation with GCC >= 12.x, which is unhappy about the use
after free:

    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c: In function 'ccnl_fib_rem_entry':
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:916:16: error: pointer 'fwd' used after 'free' [-Werror=use-after-free]
      916 |         if (fwd->face) {
          |             ~~~^~~~~~
    In file included from /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:33:
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/../ccnl-riot/include/ccn-lite-riot.h:52:41: note: call to 'free' here
       52 | #define ccnl_free(p)                    free(p)
          |                                         ^~~~~~~
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:910:13: note: in expansion of macro 'ccnl_free'
      910 |             ccnl_free(fwd);
          |             ^~~~~~~~~
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c: In function 'ccnl_fib_rem_entry':
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:916:16: error: pointer 'fwd' used after 'free' [-Werror=use-after-free]
      916 |         if (fwd->face) {
          |             ~~~^~~~~~
    In file included from /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:33:
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-riot/include/ccn-lite-riot.h:52:41: note: call to free' here
       52 | #define ccnl_free(p)                    free(p)
          |                                         ^~~~~~~
    /home/maribu/Repos/software/RIOT/build/pkg/ccn-lite/src/ccnl-core/src/ccnl-relay.c:910:13: note: in expansion of macro 'ccnl_free'
      910 |             ccnl_free(fwd);
          |             ^~~~~~~~~
2022-11-11 22:16:47 +01:00
benpicco
225521efa0
Merge pull request #18873 from maribu/pkg/wolfssl
pkg/wolfssl: fix compilation with GCC >= 12.x
2022-11-11 16:56:25 +01:00
Juergen Fitschen
f840fd0730
Merge pull request #18878 from maribu/tests/pkg_tinyvcdiff
tests/pkg_tinyvcdiff: fix stack overflow
2022-11-11 16:15:09 +01:00
benpicco
dc52965369
Merge pull request #18876 from bergzand/pr/pkg_littlefs_2.5.1
pkg/littlefs2: bump version to 2.5.1
2022-11-11 13:11:48 +01:00
Marian Buschsieweke
bec46c55bd
Merge pull request #18879 from benpicco/bf_popcnt
sys/bitfield: add bf_popcnt()
2022-11-11 11:35:14 +01:00
Marian Buschsieweke
4166e044b3
Merge pull request #18874 from maribu/sys/net/gnrc/pkt
sys/net/gnrc/pkt: fix gnrc_pkt_delete()
2022-11-11 09:21:25 +01:00
Marian Buschsieweke
33f14cf4d9
Merge pull request #18877 from kfessel/p-uglify-warning
utils/uncrustify: display warning instead of error
2022-11-11 09:18:58 +01:00
Marian Buschsieweke
2fbde4af19
tests/pkg_tinyvcdiff: fix stack overflow
Move some variables from stack to `.bss` / `.data` to avoid stack
overflows, which are detected by the MPU stack guard (e.g. on the
Nucleo-F767ZI that I used) and results in the test failing.
2022-11-11 08:46:09 +01:00
Dylan Laduranty
43d1f19503
Merge pull request #18860 from Ollrogge/usb_hid_fix
usbus/hid: fix buffer overflow in hid_io
2022-11-11 03:47:12 +01:00
Benjamin Valentin
867ba0666a tests/unittests: add tests for bf_popcnt() 2022-11-10 23:52:35 +01:00
Benjamin Valentin
4dd0594d09 sys/bitfield: add bf_popcnt() 2022-11-10 23:44:50 +01:00
Karl Fessel
037f789718 utils/uncrustify: display warning instead of error 2022-11-10 22:20:50 +01:00
eea079f1e1
pkg/littlefs2: bump version to 2.5.1 2022-11-10 16:17:24 -05:00
Ollrogge
0f9577df60 usbus/hid: fix buffer overflow in hid_io 2022-11-10 20:33:29 +01:00
Marian Buschsieweke
0d5bde0ce2
sys/net/gnrc/pkt: fix gnrc_pkt_delete()
The previous implementation used creative construct for impedance
mismatching between the core list API (which returns a ptr to the
removed element if found) and the GNRC pkt list API (which returns a
ptr to the new list head) that creates a temporary list head on the
stack.

I'm not entirely sure if the previous implementation is containing
undefined behavior that is used against us with GCC >= 12.x, or if this
is a compiler bug. In either case, not reusing the core list API here
and just having a textbook linked list delete function here is not much
less readable and fixes the issue for our users.
2022-11-10 17:25:34 +01:00
Karl Fessel
19021d618e
Merge pull request #18858 from kfessel/p-fix-DIV2
core/marco: fix DIV_ROUND
2022-11-10 16:26:20 +01:00
Marian Buschsieweke
f70eafaff9
pkg/wolfssl: fix compilation with GCC >= 12.x
This fixes a signature mismatch between forward declaration and
implementation, which in turn fixes the following error during
compilation:

    /home/maribu/Repos/software/RIOT/build/pkg/wolfssl/wolfcrypt/src/ge_low_mem.c:179:30: error: argument 1 of type 'unsigned char[64]' with mismatched bound [-Werror=array-parameter=]
      179 | void sc_reduce(unsigned char x[64])
          |                ~~~~~~~~~~~~~~^~~~~
    In file included from /home/maribu/Repos/software/RIOT/build/pkg/wolfssl/wolfcrypt/src/ge_low_mem.c:34:
    /home/maribu/Repos/software/RIOT/build/pkg/wolfssl/wolfssl/wolfcrypt/ge_operations.h:81:36: note: previously declared as 'byte *' {aka 'unsigned char *'}
       81 | WOLFSSL_LOCAL void sc_reduce(byte* s);
          |                              ~~~~~~^
2022-11-10 16:20:17 +01:00
Marian Buschsieweke
a17ae056bc
Merge pull request #18868 from maribu/tests/mpu_stack_guard
tests/mpu_stack_guard: Fix compilation on modern GCC (>= 12.x)
2022-11-10 14:49:27 +01:00
Marian Buschsieweke
fdc3f6a56b
tests/mpu_stack_guard: Fix compilation on modern GCC (>= 12.x)
The `mpu_stack_guard` test intentionally overflows the stack with a
stupid infinite recursion. Newer versions of GCC started to dislike
this, so this disables the corresponding diagnostics to get the
intentional stack overflow still compiled.
2022-11-10 12:49:18 +01:00
Marian Buschsieweke
24262f1279
Merge pull request #18859 from maribu/examples/wasm
examples/wasm/wasm_sample: fix linking with new wasm-ld
2022-11-10 12:17:46 +01:00
Marian Buschsieweke
b1dbbbbcac
Merge pull request #18866 from maribu/dist/tools/backport_pr
tools/backport_pr.py: improve usability
2022-11-10 11:35:02 +01:00
Marian Buschsieweke
4983f8bb60
tools/backport_pr.py: improve usability
Add `search_parent_directories=True` to `git.Repo()` so that
`backport_pr.py` can be called anywhere within the RIOT git repo
without manually passing the repo root path via `--gitdir`.

Previously the tool had to be called from the RIOT base repo.
2022-11-10 09:52:24 +01:00
Marian Buschsieweke
e909a41ce3
Merge pull request #18861 from maribu/dist/tools/flatc
dist/tools/flatc: Fix compilation on musl
2022-11-10 08:46:59 +01:00
Marian Buschsieweke
6700e91a99
Merge pull request #18862 from maribu/pkg/utensor
pkg/utensor: fix uninitialized variable
2022-11-10 08:44:26 +01:00
Marian Buschsieweke
70a0e3fa47
pkg/utensor: fix uninitialized variable
This fixes compilation with modern GCC. (And likely runtime issues...)
2022-11-09 22:47:08 +01:00
Marian Buschsieweke
b540f6fe5e
dist/tools/flatc: Fix compilation on musl
flatc uses `strto<foo>_l()` over `strto<foo>()` when available, so that
they behave reproducible. The musl libc has no locale support, which
has the added benefit of reproducible behavior being the default.

For some reason a `strtof_l()` compatibility wrapper was added in
musl, but the other `strto<foo>_l()` wrappers are missing. This
adds a patch to check for `strtoull_l()` instead of `strtof_l()`. This
will not make a difference on a libc that supports all of them, but
fixes compilation on musl.
2022-11-09 22:33:23 +01:00
Marian Buschsieweke
c801990c5d
examples/wasm/wasm_sample: fix linking with new wasm-ld
Apparently the order of the flags now became significant. This fixes:

    wasm-ld: error: entry symbol not defined (pass --no-entry to suppress)
2022-11-09 20:12:32 +01:00
Karl Fessel
aa31dd7d66 core/macros: rewrite DIV_ROUND, DIV_ROUND_UP; add DIV_ROUND_INF 2022-11-09 17:59:18 +01:00
Karl Fessel
228d8e72c0 unittest/core-macros: add negtive cases for DIV_ROUND and DIV_ROUND_UP 2022-11-09 17:59:18 +01:00
Marian Buschsieweke
e402e3f57a
Merge pull request #18849 from benpicco/core-SIGNOF
core/macros: fix SIGNOF() macro when applied to size_t
2022-11-09 17:54:00 +01:00
benpicco
15448bf416
Merge pull request #18857 from blueted2/pr/dwm1001/lis2df12_i2c
boards/dwm1001: use lis2dh12_i2c instead of lis2dh12_spi
2022-11-09 15:07:57 +01:00
Gunar Schorcht
de266af973
Merge pull request #18804 from benpicco/tinyusb_cdc_acm_stdio
pkg/tinyusb: implement stdio via CDC ACM
2022-11-09 14:43:45 +01:00
Benjamin Valentin
8f8bb6ce84 tests/unittests: core: add test for SIGNOF(size_t) 2022-11-09 14:23:51 +01:00
Benjamin Valentin
ea0cf85d73 tests/pkg_tinyusb_cdc_acm_stdio: add test for stdio via CDC ACM 2022-11-09 12:06:36 +01:00
Benjamin Valentin
03bbd6badf pkg/tinyusb: implement stdio via CDC ACM 2022-11-09 12:06:36 +01:00
Benjamin Valentin
5938bd815a pkg/tinyusb: provide common tusb_config.h 2022-11-09 12:06:36 +01:00
Benjamin Valentin
0bd67d98d9 cpu: always rely on stdio.inc.mk for default stdio selection 2022-11-09 10:42:47 +01:00
benpicco
e38e0b937c
Merge pull request #18835 from gschorcht/pkg/tinyusb_descriptors
pkg/tinyusb: add common USB descriptors implementation
2022-11-09 10:42:15 +01:00
Gregory Holder
dde641fded
boards/dwm1001: use lis2dh12_i2c instead of lis2dh12_spi 2022-11-09 09:36:09 +00:00
Gunar Schorcht
028c22083b pkg/tinyusb: add Kconfig variables for common tinyUSB descriptors 2022-11-09 06:57:55 +01:00
Gunar Schorcht
5685718bcf sys/usb: enable common USB Kconfig for tinyUSB 2022-11-09 06:57:55 +01:00
Gunar Schorcht
579370fd75 tests/pkg_tinyusb_cdc_msc: use common descriptors implementation 2022-11-09 06:57:55 +01:00
Gunar Schorcht
ef5c4deb55 pkg/tinyusb: common descriptors implementation 2022-11-09 06:57:55 +01:00
Karl Fessel
c354ab6285
Merge pull request #18846 from kfessel/p-pm-layerd-speedup1
sys/pm_layered: align pm_blocker_t for speed
2022-11-08 10:50:16 +01:00
benpicco
f8964c0149
Merge pull request #18827 from benpicco/nanocoap_block-fix
nanocoap_sock: don't store entire sock in coap_block_request_t
2022-11-08 10:49:39 +01:00
Marian Buschsieweke
7e0af3cd22
Merge pull request #18833 from benpicco/bitfield-ops
sys/bitfield: add bf_find_first_{set, unset}()
2022-11-07 20:27:48 +01:00
benpicco
8559472179
Merge pull request #18821 from jue89/feature/saml21_pheriph_pm
cpu/saml21: add interaction with pm_layered for peripheral drivers
2022-11-07 19:53:57 +01:00
benpicco
8a811e8a69
Merge pull request #18845 from maribu/llvm-compat
build system: fix compilation with LLVM
2022-11-07 19:51:18 +01:00
Marian Buschsieweke
0077e9ad70
makefiles/libc: fix wchar_t size warnings on LLVM
The test for the requirement of disabling wchar_t size warnings assumed
that $(CC) is used for linking, instead of $(LINK). With GCC $(LINK)
and $(CC) happen to be (in most cases) identical, but with LLVM they
are not. This results in issues with compiling with LLVM.
2022-11-07 15:02:03 +01:00
Marian Buschsieweke
67ba1a0cb7
makefiles/cflags.inc.mk: add -z noexecstack to link flags
GCC on some platforms does need an executable stack to generate
trampoline code, but use of nested functions is not allowed in
RIOT's code base anyway.
2022-11-07 15:02:03 +01:00