nuttx/include
hujun5 90387a5b41 libc/misc: add fdsan module
FD (file descriptor) is widely used in system software development,
and almost all implementations of posix os (including nuttx) use FD as an index.
the value of fd needs to be allocated starting from the minimum available value of 3, and each process has a copy,
so the same fd value is very easy to reuse in the program.

In multi threaded or multi process environments without address isolation,
If the ownership, global variables, and competition relationships of fd are not properly handled,
there may be issues with fd duplication or accidental closure.
Further leading to the following issues, which are difficult to troubleshoot.

1. Security vulnerability: the fd we wrote is not the expected fd and will be accessed by hackers to obtain data
2. Program exceptions or crashes: write or read fd failures, and program logic errors
3. The structured file XML or database is damaged: the data format written to the database is not the expected format.

The implementation principle of fdsan is based on the implementation of Android
https://android.googlesource.com/platform/bionic/+/master/docs/fdsan.md

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2023-05-17 10:24:42 +08:00
..
android libc/misc: add fdsan module 2023-05-17 10:24:42 +08:00
arpa
crypto
cxx
net ethernet: add ETHERTYPE define 2023-05-04 19:38:57 +08:00
netinet in.h: add SOL_IPV6 protocol-level socket option IPV6_RECVHOPLIMIT 2023-05-10 18:00:15 +08:00
netpacket netlink: add RTM_NEWADDR, RTM_DELADDR and RTM_GETADDR 2023-04-22 01:35:18 +08:00
nuttx libc/misc: add fdsan module 2023-05-17 10:24:42 +08:00
ssp
sys boardctl: add BOARDIOC_SOFTRESETCAUSE_RESTORE_FACTORY_INQUIRY 2023-05-10 13:40:19 +08:00
.gitignore
aio.h fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 2023-03-02 09:37:58 +01:00
alloca.h
assert.h assert: Distinguish between assert and exception 2023-05-03 14:49:32 +08:00
byteswap.h
ctype.h
debug.h Indent the include statement by two spaces 2023-05-16 12:34:32 -03:00
dirent.h fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 2023-03-02 09:37:58 +01:00
dlfcn.h
dsp.h Typo fixes. 2023-02-17 11:17:11 -03:00
dspb16.h
elf32.h
elf64.h
elf.h
endian.h
err.h include/err: Enforce c linkage for err and warn functions. 2023-05-01 12:48:55 +08:00
errno.h
execinfo.h execinfo.h: include nuttx/sched.h instead sched.h 2023-02-23 14:24:32 +08:00
fcntl.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
fixedmath.h
fnmatch.h
ftw.h fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 2023-03-02 09:37:58 +01:00
getopt.h
glob.h
grp.h
hex2bin.h
iconv.h libc/locale: support iconv_open,iconv,iconv_close 2023-04-25 19:12:53 +01:00
ifaddrs.h
inttypes.h fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 2023-03-02 09:37:58 +01:00
iso646.h
langinfo.h
libgen.h
libintl.h
limits.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
locale.h
lzf.h
malloc.h
mqueue.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
netdb.h
nl_types.h
nxflat.h
obstack.h
poll.h
pthread.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
pty.h drivers/serial: Always support c_oflag, c_iflag and c_lflag in termios 2023-03-19 14:54:59 -06:00
pwd.h
resolv.h
sched.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
semaphore.h add holder for mutex 2023-01-31 12:08:05 +09:00
signal.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
spawn.h
stdbool.h
stddef.h
stdint.h
stdio.h libc: Add setbuffer to stdio. 2023-05-01 11:24:41 +03:00
stdlib.h syscall/libc: add more syscall/libc symbols into csv file 2023-03-31 21:56:50 +09:00
stdnoreturn.h
string.h libc/lib_rawmemchr.c:Add rawmemchr methon. 2023-02-24 04:06:04 +08:00
strings.h libc/lib_bzero:Add bzero prototype. 2023-02-25 08:07:07 +02:00
syscall.h
syslog.h syslog: add syslog option definition 2023-05-05 18:36:36 +08:00
termios.h
threads.h sched/getpid: replace syscall getpid/tid/ppid() to kernel version 2023-02-02 10:33:01 +08:00
time.h include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
unistd.h fs: Undefine CONFIG_FS_LARGEFILE if compiler doesn't support long long 2023-03-02 09:37:58 +01:00
utime.h
uuid.h
wchar.h
wctype.h