now the lc_path of the client will not be the same as that of the server.
therefore, accept->peer = NULL will not be set when the client release
the conn, then when release accept conn, set
client->peer(accept->peer->peer) = NULL will cause used after free
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
The comment about the CPU index remaining stable is incorrect. There is no
guarantee the task does not yield during the exit process, meaning the CPU
can most definitely change. Also, there is no reason why it should not be
allowed to change.
This fixes a full system crash during process exit when the CPU changes
and we query the current task from the old CPU.
Summary
add memory map for DDR region
fix arm-v7a/knsh boot dataabort on arm_addrenv_utils.c first time memset
after arm_pgvaddr.
Signed-off-by: qinwei1 <qinwei1@xiaomi.com>
CC: clk/clk_fixed_rate.c clk/clk_divider.c:177:14: warning: taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value]
return abs(rate - now) < abs(rate - best);
^
clk/clk_divider.c:177:14: note: remove the call to 'abs' since unsigned values cannot be negative
return abs(rate - now) < abs(rate - best);
^~~
clk/clk_divider.c:177:32: warning: taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value]
return abs(rate - now) < abs(rate - best);
^
clk/clk_divider.c:177:32: note: remove the call to 'abs' since unsigned values cannot be negative
return abs(rate - now) < abs(rate - best);
^~~
CC: mm_heap/mm_initialize.c 2 warnings generated.
clk/clk.c:1324:11: warning: variable 'irqflags' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (clk->parents == NULL)
^~~~~~~~~~~~~~~~~~~~
clk/clk.c:1341:19: note: uninitialized use occurs here
clk_list_unlock(irqflags);
^~~~~~~~
clk/clk.c:1324:7: note: remove the 'if' if its condition is always false
if (clk->parents == NULL)
^~~~~~~~~~~~~~~~~~~~~~~~~
clk/clk.c:1255:22: note: initialize the variable 'irqflags' to silence this warning
irqstate_t irqflags;
^
= 0
CC: clk/clk_mux.c clk/clk_multiplier.c:110:14: warning: taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value]
return abs(rate - new) < abs(rate - best);
^
clk/clk_multiplier.c:110:14: note: remove the call to 'abs' since unsigned values cannot be negative
return abs(rate - new) < abs(rate - best);
^~~
clk/clk_multiplier.c:110:32: warning: taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value]
return abs(rate - new) < abs(rate - best);
^
clk/clk_multiplier.c:110:32: note: remove the call to 'abs' since unsigned values cannot be negative
return abs(rate - new) < abs(rate - best);
^~~
clk/clk_mux.c:47:14: warning: taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value]
return abs(now - rate) < abs(best - rate);
^
clk/clk_mux.c:47:14: note: remove the call to 'abs' since unsigned values cannot be negative
return abs(now - rate) < abs(best - rate);
^~~
clk/clk_mux.c:47:32: warning: taking the absolute value of unsigned type 'unsigned int' has no effect [-Wabsolute-value]
return abs(now - rate) < abs(best - rate);
^
clk/clk_mux.c:47:32: note: remove the call to 'abs' since unsigned values cannot be negative
return abs(now - rate) < abs(best - rate);
^~~
AS: sim/sim_fork_x86.S 2 warnings generated.
1 warning2 warnings generated.
generated.
iperf.c:325:14: warning: format specifies type 'uintmax_t' (aka 'unsigned long long') but the argument has type 'unsigned long' [-Wformat]
now_len -last_len,
^~~~~~~~~~~~~~~~~
iperf.c:340:14: warning: format specifies type 'uintmax_t' (aka 'unsigned long long') but the argument has type 'uintmax_t' (aka 'unsigned long') [-Wformat]
now_len,
^~~~~~~
CC: misc/rpmsgblk_server.c 2 warnings generated.
:28: warning: format specifies type 'uintmax_t' (aka 'unsigned long long') but the argument has type 'uintmax_t' (aka 'unsigned long') [-Wformat]
(uintmax_t)skip);
^~~~~~~~~~~~~~~
nsh_dbgcmds.c:473:20: warning: format specifies type 'uintmax_t' (aka 'unsigned long long') but the argument has type 'uintmax_t' (aka 'unsigned long') [-Wformat]
(uintmax_t)position);
^~~~~~~~~~~~~~~~~~~
CC: nsh_main.c 2 warnings generated.
return INTMAX_MIN;
~~~~~~ ^~~~~~~~~~
CC: nsh_system.c note: expanded from macro 'INTMAX_MIN'
^~~~~~~~~
/Users/vela/work/nuttx/include/stdint.h:65:41: note: expanded from macro 'INT64_MIN'
~~~~~~~~~~~^~~
inttypes/lib_strtoimax.c:103:37: warning: implicit conversion from 'long long' to 'intmax_t' (aka 'long') changes value from -9223372036854775808 to 0 [-Wconstant-conversion]
return (accum == limit) ? INTMAX_MIN : -(intmax_t)accum;
~~~~~~ ^~~~~~~~~~
/Users/vela/work/nuttx/include/stdint.h:136:29: note: expanded from macro 'INTMAX_MIN'
^~~~~~~~~
/Users/vela/work/nuttx/include/stdint.h:65:41: note: expanded from macro 'INT64_MIN'
~~~~~~~~~~~^~~
inttypes/lib_strtoimax.c:106:17: warning: result of comparison of constant 9223372036854775807 with expression of type 'uintmax_t' (aka 'unsigned long') is always false [-Wtautological-constant-out-of-range-compare]
if (accum > INTMAX_MAX)
~~~~~ ^ ~~~~~~~~~~
inttypes/lib_strtoimax.c:109:18: warning: implicit conversion from 'long long' to 'intmax_t' (aka 'long') changes value from 9223372036854775807 to -1 [-Wconstant-conversion]
return INTMAX_MAX;
~~~~~~ ^~~~~~~~~~
/Users/vela/work/nuttx/include/stdint.h:137:29: note: expanded from macro 'INTMAX_MAX'
^~~~~~~~~
/Users/vela/work/nuttx/include/stdint.h:66:29: note: expanded from macro 'INT64_MAX'
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/vela/work/nuttx/include/arch/inttypes.h:35:23: note: expanded from macro 'INT64_C'
^~~~~~~
<scratch space>:12:1: note: expanded from here
9223372036854775807ll
^~~~~~~~~~~~~~~~~~~~~
syslog/vsyslog.c:212:32: warning: format specifies type 'uintmax_t' (aka 'unsigned long long') but the argument has type 'uintmax_t' (aka 'unsigned long') [-Wformat]
, (uintmax_t)ts.tv_sec
^~~~~~~~~~~~~~~~~~~~
CC: iob/iob_free.c 4 warnings generated.
1 warning generated.
CC: mqueue/mq_msgqalloc.c inttypes/lib_strtoumax.c:91:23: warning: implicit conversion from 'unsigned long long' to 'uintmax_t' (aka 'unsigned long') changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion]
accum = UINTMAX_MAX;
~ ^~~~~~~~~~~
/Users/vela/work/nuttx/include/stdint.h:140:29: note: expanded from macro 'UINTMAX_MAX'
^~~~~~~~~~
/Users/vela/work/nuttx/include/stdint.h:67:29: note: expanded from macro 'UINT64_MAX'
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/vela/work/nuttx/include/arch/inttypes.h:36:23: note: expanded from macro 'UINT64_C'
^~~~~~~~
<scratch space>:8:1: note: expanded from here
18446744073709551615ull
^~~~~~~~~~~~~~~~~~~~~~~
CC: icmp/icmp_ioctl.c 1 warning generated.
time/lib_strftime.c:584:52: warning: format specifies type 'uintmax_t' (aka 'unsigned long long') but the argument has type 'uintmax_t' (aka 'unsigned long') [-Wformat]
len = snprintf(dest, chleft, "%ju", (uintmax_t)mktime(&tmp));
~~~ ^~~~~~~~~~~~~~~~~~~~~~~
%ju
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
/data/project/code/apache/nuttx/include/nuttx/rpmsg/rpmsg_virtio.h:176:28: error: field ‘rsc_tbl_hdr’ has incomplete type
176 | struct resource_table rsc_tbl_hdr;
| ^~~~~~~~~~~
/data/project/code/apache/nuttx/include/nuttx/rpmsg/rpmsg_virtio.h:178:28: error: field ‘log_trace’ has incomplete type
178 | struct fw_rsc_trace log_trace;
| ^~~~~~~~~
/data/project/code/apache/nuttx/include/nuttx/rpmsg/rpmsg_virtio.h:179:28: error: field ‘rpmsg_vdev’ has incomplete type
179 | struct fw_rsc_vdev rpmsg_vdev;
| ^~~~~~~~~~
/data/project/code/apache/nuttx/include/nuttx/rpmsg/rpmsg_virtio.h:180:28: error: field ‘rpmsg_vring0’ has incomplete type
180 | struct fw_rsc_vdev_vring rpmsg_vring0;
| ^~~~~~~~~~~~
/data/project/code/apache/nuttx/include/nuttx/rpmsg/rpmsg_virtio.h:181:28: error: field ‘rpmsg_vring1’ has incomplete type
181 | struct fw_rsc_vdev_vring rpmsg_vring1;
| ^~~~~~~~~~~~
/data/project/code/apache/nuttx/include/nuttx/rpmsg/rpmsg_virtio.h:182:28: error: field ‘config’ has incomplete type
182 | struct fw_rsc_config config;
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
This PR splits the CI Build Job sim-01 and adds sim-03:
Before the Split: Simulator Jobs take up to 1.5 hours to complete
- sim-01 (1 hour 31 mins): adb, citest, lvgl, matter
- sim-02 (28 mins): posix_test, sqlite
After the Split: Simulator Jobs will complete within 1 hour
- sim-01 (58 mins): adb, citest
- sim-02 (35 mins): lvgl, matter
- sim-03 (28 mins): posix_test, sqlite
This will help us comply with the ASF Policy for GitHub Actions, as explained here: https://github.com/apache/nuttx/issues/14376
The error was introduced by #14393, which was intended to fix this
line for MacOS. This commit makes this line dependent on the host
OS to avoid any compilation errors.
Add support for memory partitioning for OTA updates.
This feature is targeted at the integration of ESP32 boards with RISC-V architecture in conjunction with MCUboot
Signed-off-by: davidiogos <davi.silva@agrosystem.com.br>
fix
CMake Error at boards/arm/stm32f7/nucleo-f746zg/src/CMakeLists.txt:76 (endif):
Flow control statements are not properly nested.
CMake Error at boards/arm/stm32f7/nucleo-f746zg/src/CMakeLists.txt:76 (endif):
Flow control statements are not properly nested.
-- Configuring incomplete, errors occurred!
Not all labels are added because there is no match with the label name.
issue_labeler.yml
os: Linux -> os: linux
001_bug_report.yml
Type: bug -> Type: Bug
Corrected label in links
002_feature_request.yml
Type: enhancement -> Type: Enhancement
Corrected label in links
003_help.yml
Type: question ->Type: Question
Corrected label in links
This PR updates the Build Rules `arch.yml` to build only these Arm32 Targets when we create or update a Complex PR:
- arm-01, arm-03, arm-05, arm-06, arm-07, arm-09, arm-11
No changes for Simple PRs (arm-01 to arm-14) and for Merging PRs (also arm-01 to arm-14).
This will improve our breadth of CI Checks across Arm32 Targets, as explained here: https://github.com/apache/nuttx/issues/14376
nucleo-144 combines 3 different ST boards. This approach is inconsistent with
the support for the rest of the nucleo boards, where each board is in separate folders.
Also nucleo-144 is no longer reserved for STM32F7 chips but other families also use this format.
After this commit nucleo-144 is divided into 3 boards:
- nucleo-f746zg
- nucleo-f767zi
- nucleo-f722ze
This PR creates the new CI Build Jobs `arm64-01` and `x86_64-01`. The new jobs will split and offload the Arm64 and x86_64 Build Targets from `other`. This will reduce our usage of GitHub Runners, to comply with the ASF Policy for GitHub Actions. (Recently we see more PRs for Arm64 and x86_64)
Before the Split: Simple PRs (One Arch and/or One Board) for Arm64 and x86_64 require almost 1 hour for CI Build
- `other` (57 mins): AVR, SPARC, x86, PinePhone, QEMU Arm64, QEMU x86_64
After the Split: Simple PRs for Arm64 and x86_64 will complete under 30 mins
- `other` (24 mins): AVR, SPARC, x86
- `arm64-01` (29 mins): PinePhone, QEMU Arm64
- `x86_64-01` (9 mins): QEMU x86_64
To skip more unnecessary builds: Our Build Rules `arch.yml` shall ignore the label "Area: Documentation", so that a Simple PR + Docs is still a Simple PR. Previously we experienced longer CI Build Times, just because we added docs to our Simple PR. (Now our PR shall be built exactly like a Simple PR)
The updated CI code is explained here: https://github.com/apache/nuttx/issues/13775