nuttx/sched
chenzhaoxiang 14fb39a6cd sched/misc: fix incomplete data emission in coredump elf_emit function
The elf_emit() function in coredump.c was only checking for negative returnvalues
from lib_stream_puts() to detect write failures. However, lib_stream_puts()can return 0
to indicate that no bytes were written (e.g., due to stream full,end-of-file, or other
non-error conditions that prevent data writing).

This oversight meant that cases where lib_stream_puts() returned 0 would bypassthe error handling,
leading to incomplete data emission in the core dump withoutany failure indication.
The loop would continue attempting to write the remainingdata, resulting in partial or corrupted core dump files.

This fix modifies the condition from ret < 0 to ret <= 0 to:

1. Catch both error conditions (negative return values) and zero-byte writes.
2. Immediately break the write loop and propagate the failure, ensuring the core
   dump process correctly aborts when data cannot be written.

This change improves the reliability of core dump generation by ensuring allfailed or
incomplete write attempts are properly handled, preventing corruptedcore dump files.

Signed-off-by: chao an <anchao.archer@bytedance.com>
2026-02-26 14:44:16 +01:00
..
addrenv sched/addrenv: replace critical section with spinlock for refs protection 2026-01-20 11:29:22 +08:00
clock arch/delays: Invalid default value for BOARD_LOOPSPERMSEC 2026-02-25 15:00:03 -03:00
environ libc/environ: add interrupt context check to getenv 2026-01-21 10:37:55 +08:00
event sched/event: Fix uninitialized need_switch flag issue in event_post() 2025-11-04 21:43:59 +08:00
group sched: move process ID from kernel to TLS for faster access 2026-01-20 22:33:45 +08:00
hrtimer sched/hrtimer: Simplify the hrtimer. 2026-02-02 13:26:22 +08:00
init sched: add trace points during system startup and board initialization 2026-01-27 03:18:11 +08:00
instrument gprof: move gprof function from sched to libbuiltin/libgcc 2024-11-13 02:42:31 +08:00
irq sched/irq: Consolidate IRQ bounds checking into IRQ_TO_NDX macro 2026-01-28 13:35:30 +08:00
misc sched/misc: fix incomplete data emission in coredump elf_emit function 2026-02-26 14:44:16 +01:00
module libc/elf: rename modlib to libelf 2025-04-11 09:43:22 +08:00
mqueue sched/mqueue: Enable receiving messages on an interrupt handler 2026-02-11 13:10:31 -05:00
paging sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
pthread pthread: move pthread_cond to userspace 2026-01-26 16:26:39 +08:00
sched sched/sched: add nxsched_abstick_sleep() 2026-02-26 17:04:47 +08:00
semaphore sched/semaphore: Add debug assert to detect mutex recursion. 2026-02-03 11:56:24 -05:00
signal sched/signal: update nxsig_clockwait() to support disable all signals 2026-02-26 20:03:05 +08:00
task sched/cancelpt: Fix MISRA C 2012 Rule 10.4 violations 2026-02-02 21:09:40 +08:00
timer sched/timer: Fix MISRA Rule 10.3 2026-01-22 22:14:00 +08:00
tls pthread: remove tl_lock 2026-01-26 20:56:12 +08:00
wdog sched/wdog: Simplify timer expiration for hrtimer. 2026-02-02 13:26:22 +08:00
wqueue sched/wqueue: add configuring the stack of an hpwork/lpwork as static 2026-01-27 10:18:24 +08:00
CMakeLists.txt sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
Kconfig sched: Fix Kconfig style 2026-02-03 09:36:16 +08:00
Makefile Makefile: Remove make depend files by make distclean 2026-02-16 16:27:57 +01:00