diff options
| author | bernard <[email protected]> | 2026-10-18 20:42:04 +0800 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2026-10-29 14:50:07 +0800 |
| commit | 6b287856f9d6833bda74b88ab5829fa84017574a (patch) | |
| tree | 69e7430ae417df90eab9998014eaf4dfaa98a3c7 /components | |
| parent | 68757abdcc34e312c6819f700e10e0cde54b4dcc (diff) | |
[components][lwp] apply clang-format to syscall sources
- format the newly split syscall implementation files
- no functional change
Diffstat (limited to 'components')
| -rw-r--r-- | components/lwp/syscall/syscall_channel.c | 12 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_core.c | 4 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_file.c | 2 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_file_path.c | 4 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_fs.c | 12 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_memory.c | 4 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_mqueue.c | 34 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_rt_ipc.c | 8 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_signal.c | 6 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_socket.c | 10 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_system.c | 14 | ||||
| -rw-r--r-- | components/lwp/syscall/syscall_time_sched.c | 32 |
12 files changed, 140 insertions, 2 deletions
diff --git a/components/lwp/syscall/syscall_channel.c b/components/lwp/syscall/syscall_channel.c index e501385277..9bb7ecbcd3 100644 --- a/components/lwp/syscall/syscall_channel.c +++ b/components/lwp/syscall/syscall_channel.c @@ -120,7 +120,9 @@ sysret_t sys_channel_send(int fd, rt_channel_msg_t data) kdata = kmem_get(sizeof(*data)); if (kdata == RT_NULL) + { return -ENOMEM; + } if (lwp_get_from_user(kdata, data, sizeof(*kdata)) != sizeof(*kdata)) { @@ -174,7 +176,9 @@ sysret_t sys_channel_send_recv_timeout(int fd, rt_channel_msg_t data, rt_channel kdata = kmem_get(sizeof(*data)); if (kdata == RT_NULL) + { return -ENOMEM; + } if (lwp_get_from_user(kdata, data, sizeof(*kdata)) != sizeof(*kdata)) { @@ -184,7 +188,9 @@ sysret_t sys_channel_send_recv_timeout(int fd, rt_channel_msg_t data, rt_channel kdata_ret = kmem_get(sizeof(*data_ret)); if (kdata_ret == RT_NULL) + { return -ENOMEM; + } ret = lwp_channel_send_recv_timeout(FDT_TYPE_LWP, fd, kdata, kdata_ret, time); @@ -230,7 +236,9 @@ sysret_t sys_channel_reply(int fd, rt_channel_msg_t data) kdata = kmem_get(sizeof(*data)); if (kdata == RT_NULL) + { return -ENOMEM; + } if (lwp_get_from_user(kdata, data, sizeof(*kdata)) != sizeof(*data)) { @@ -278,7 +286,9 @@ sysret_t sys_channel_recv_timeout(int fd, rt_channel_msg_t data, rt_int32_t time kdata = kmem_get(sizeof(*data)); if (kdata == RT_NULL) + { return -ENOMEM; + } ret = lwp_channel_recv_timeout(FDT_TYPE_LWP, fd, kdata, time); @@ -385,7 +395,9 @@ sysret_t sys_log(const char *log, int size) rt_device_t console = RT_NULL; if (!lwp_user_accessable((void *)log, size)) + { return -EFAULT; + } klog = kmem_get(size); if (klog == RT_NULL) diff --git a/components/lwp/syscall/syscall_core.c b/components/lwp/syscall/syscall_core.c index 1aff60386a..01b5a675db 100644 --- a/components/lwp/syscall/syscall_core.c +++ b/components/lwp/syscall/syscall_core.c @@ -47,7 +47,7 @@ void kmem_put(void *kptr) #endif /* ARCH_MM_MMU */ #ifdef RT_USING_SAL - /* The same socket option is defined differently in the user interfaces and the +/* The same socket option is defined differently in the user interfaces and the * implementation. The options should be converted in the kernel. */ void convert_sockopt(int *level, int *optname) { @@ -121,7 +121,7 @@ void convert_sockopt(int *level, int *optname) *optname = IMPL_SO_SELECT_ERR_QUEUE; break; - /* + /* * SO_DONTLINGER (*level = ((int)(~SO_LINGER))), * SO_USELOOPBACK (*level = 0x0040) and * SO_CONTIMEO (*level = 0x1009) are not supported for now. diff --git a/components/lwp/syscall/syscall_file.c b/components/lwp/syscall/syscall_file.c index 104d5fc015..1650215e67 100644 --- a/components/lwp/syscall/syscall_file.c +++ b/components/lwp/syscall/syscall_file.c @@ -48,7 +48,9 @@ ssize_t sys_read(int fd, void *buf, size_t nbyte) if (ret > 0) { if (ret != lwp_put_to_user(buf, kmem, ret)) + { return -EFAULT; + } } if (ret < 0) diff --git a/components/lwp/syscall/syscall_file_path.c b/components/lwp/syscall/syscall_file_path.c index 06ae9f6915..bf086098a3 100644 --- a/components/lwp/syscall/syscall_file_path.c +++ b/components/lwp/syscall/syscall_file_path.c @@ -50,9 +50,13 @@ long sys_getcwd(char *buf, size_t size) if (lwp_put_to_user(buf, tmp, size) > 0) { if (buf != RT_NULL) + { ret = strlen(buf); + } else + { ret = -EFAULT; + } } } diff --git a/components/lwp/syscall/syscall_fs.c b/components/lwp/syscall/syscall_fs.c index a0b69011f4..08ea40250f 100644 --- a/components/lwp/syscall/syscall_fs.c +++ b/components/lwp/syscall/syscall_fs.c @@ -302,15 +302,21 @@ sysret_t sys_mount(char *source, char *target, char *filesystemtype, len_source = source ? lwp_user_strlen(source) : 0; if (len_source < 0) + { return -EINVAL; + } len_target = target ? lwp_user_strlen(target) : 0; if (len_target <= 0) + { return -EINVAL; + } len_fs = filesystemtype ? lwp_user_strlen(filesystemtype) : 0; if (len_fs < 0) + { return -EINVAL; + } kbuffer = (char *)rt_malloc(len_source + 1 + len_target + 1 + len_fs + 1); if (!kbuffer) @@ -631,7 +637,9 @@ sysret_t sys_epoll_ctl(int fd, int op, int fd2, struct epoll_event *ev) if (ev) { if (!lwp_user_accessable((void *)ev, sizeof(struct epoll_event))) + { return -EFAULT; + } kev = kmem_get(sizeof(struct epoll_event)); if (kev == RT_NULL) @@ -690,7 +698,9 @@ sysret_t sys_epoll_pwait(int fd, sigset_t *ksigs = RT_NULL; if (!lwp_user_accessable((void *)ev, cnt * sizeof(struct epoll_event))) + { return -EFAULT; + } kev = kmem_get(cnt * sizeof(struct epoll_event)); if (kev == RT_NULL) @@ -729,7 +739,9 @@ sysret_t sys_epoll_pwait(int fd, } if (sigs != RT_NULL) + { kmem_put(ksigs); + } kmem_put(kev); diff --git a/components/lwp/syscall/syscall_memory.c b/components/lwp/syscall/syscall_memory.c index b9b771f4da..1386ce659b 100644 --- a/components/lwp/syscall/syscall_memory.c +++ b/components/lwp/syscall/syscall_memory.c @@ -82,7 +82,9 @@ void *sys_mmap2(void *addr, size_t length, int prot, if ((rt_base_t)addr & ARCH_PAGE_MASK) { if (flags & MAP_FIXED) + { rc = -EINVAL; + } else { offset = (char *)addr - (char *)RT_ALIGN_DOWN((rt_base_t)addr, ARCH_PAGE_SIZE); @@ -434,7 +436,9 @@ sysret_t sys_shm_free(void *mem) rt_weak sysret_t sys_cacheflush(void *addr, int size, int cache) { if (!lwp_user_accessable(addr, size)) + { return -EFAULT; + } if (((size_t)addr < (size_t)addr + size) && ((size_t)addr >= USER_VADDR_START) && diff --git a/components/lwp/syscall/syscall_mqueue.c b/components/lwp/syscall/syscall_mqueue.c index d56971eaa9..f6d4dde29b 100644 --- a/components/lwp/syscall/syscall_mqueue.c +++ b/components/lwp/syscall/syscall_mqueue.c @@ -46,11 +46,15 @@ mqd_t sys_mq_open(const char *name, int flags, mode_t mode, struct mq_attr *attr len = lwp_user_strlen(name); if (!len) + { return (mqd_t)-EINVAL; + } kname = (char *)kmem_get(len + 1); if (!kname) + { return (mqd_t)-ENOMEM; + } if (attr == NULL) { @@ -62,7 +66,9 @@ mqd_t sys_mq_open(const char *name, int flags, mode_t mode, struct mq_attr *attr else { if (!lwp_get_from_user(&attr_k, (void *)attr, sizeof(struct mq_attr))) + { return -EINVAL; + } } lwp_get_from_user(kname, (void *)name, len + 1); @@ -77,9 +83,13 @@ mqd_t sys_mq_open(const char *name, int flags, mode_t mode, struct mq_attr *attr mqdes = mq_open(name, flags, mode, attr); #endif if (mqdes == -1) + { return (mqd_t)ret; + } else + { return mqdes; + } } /** @@ -109,10 +119,14 @@ sysret_t sys_mq_unlink(const char *name) len = lwp_user_strlen(name); if (!len) + { return -EINVAL; + } kname = (char *)kmem_get(len + 1); if (!kname) + { return -ENOMEM; + } lwp_get_from_user(kname, (void *)name, len + 1); ret = mq_unlink(kname); @@ -163,7 +177,9 @@ sysret_t sys_mq_timedsend(mqd_t mqd, const char *msg, size_t len, unsigned prio, kmsg = (char *)kmem_get(len + 1); if (!kmsg) + { return -ENOMEM; + } lwp_get_from_user(&at_k, (void *)at, sizeof(struct timespec)); lwp_get_from_user(kmsg, (void *)msg, len + 1); @@ -218,7 +234,9 @@ sysret_t sys_mq_timedreceive(mqd_t mqd, char * restrict msg, size_t len, unsigne kmsg = (char * restrict)kmem_get(len + 1); if (!kmsg) + { return -ENOMEM; + } lwp_get_from_user(kmsg, (void *)msg, len + 1); if (at == RT_NULL) @@ -228,12 +246,16 @@ sysret_t sys_mq_timedreceive(mqd_t mqd, char * restrict msg, size_t len, unsigne else { if (!lwp_get_from_user(&at_k, (void *)at, sizeof(struct timespec))) + { return -EINVAL; + } ret = mq_timedreceive(mqd, kmsg, len, prio, &at_k); } if (ret > 0) + { lwp_put_to_user(msg, kmsg, len + 1); + } if (ret < 0) { @@ -317,23 +339,33 @@ sysret_t sys_mq_getsetattr(mqd_t mqd, const struct mq_attr * restrict new, struc if (new != RT_NULL) { if (!lwp_user_accessable((void *)new, size)) + { return -EFAULT; + } knew = kmem_get(size); if (!knew) + { return -ENOMEM; + } lwp_get_from_user(knew, (void *)new, size); } if (!lwp_user_accessable((void *)old, size)) + { return -EFAULT; + } kold = kmem_get(size); if (!kold) + { return -ENOMEM; + } lwp_get_from_user(kold, (void *)old, size); ret = mq_setattr(mqd, knew, kold); if (ret != -1) + { lwp_put_to_user(old, kold, size); + } if (ret < 0) { @@ -342,7 +374,9 @@ sysret_t sys_mq_getsetattr(mqd_t mqd, const struct mq_attr * restrict new, struc kmem_put(kold); if (new != RT_NULL) + { kmem_put(knew); + } return ret; #else diff --git a/components/lwp/syscall/syscall_rt_ipc.c b/components/lwp/syscall/syscall_rt_ipc.c index de9f8d1efc..d103cb22cd 100644 --- a/components/lwp/syscall/syscall_rt_ipc.c +++ b/components/lwp/syscall/syscall_rt_ipc.c @@ -204,7 +204,9 @@ rt_mutex_t sys_mutex_create(const char *name, rt_uint8_t flag) mutex = rt_mutex_create(kname, flag); if (mutex == RT_NULL) + { return RT_NULL; + } if (lwp_user_object_add(lwp_self(), (rt_object_t)mutex) != 0) { @@ -1005,7 +1007,9 @@ sysret_t sys_mq_recv(rt_mq_t mq, ret = rt_mq_recv(mq, kbuffer, size, timeout); if (ret > 0) + { lwp_put_to_user((void *)buffer, (void *)kbuffer, ret); + } kmem_put(kbuffer); @@ -1241,7 +1245,9 @@ sysret_t sys_timer_create(clockid_t clockid, struct sigevent * restrict sevp, ti { /* clear extra bytes if any */ if (sizeof(struct ksigevent) < sizeof(struct sigevent)) + { memset(&sevp_k, 0, sizeof(sevp_k)); + } /* musl passes `struct ksigevent` to kernel, we shoule only get size of that bytes */ if (!lwp_get_from_user(&sevp_k, (void *)sevp, sizeof(struct ksigevent))) @@ -1257,7 +1263,9 @@ sysret_t sys_timer_create(clockid_t clockid, struct sigevent * restrict sevp, ti utimer = (rt_ubase_t)timerid_k; if (!lwp_put_to_user(sevp, (void *)&sevp_k, sizeof(struct ksigevent)) || !lwp_put_to_user(timerid, (void *)&utimer, sizeof(utimer))) + { ret = -EINVAL; + } } #else ret = _SYS_WRAP(timer_create(clockid, sevp, timerid)); diff --git a/components/lwp/syscall/syscall_signal.c b/components/lwp/syscall/syscall_signal.c index b83c7e343f..e0fb7459c1 100644 --- a/components/lwp/syscall/syscall_signal.c +++ b/components/lwp/syscall/syscall_signal.c @@ -250,7 +250,9 @@ sysret_t sys_sigpending(sigset_t *sigset, size_t sigsize) lwp_thread_signal_pending(rt_thread_self(), &lwpset); if (!lwp_put_to_user(sigset, &lwpset, sigsize)) + { RT_ASSERT(0); /* should never happened */ + } } return ret; @@ -321,7 +323,9 @@ sysret_t sys_sigtimedwait(const sigset_t *sigset, siginfo_t *info, const struct if (timeout) { if (!lwp_user_accessable((void *)timeout, sizeof(*timeout))) + { return -EFAULT; + } else { ret = lwp_get_from_user(&ktimeout, (void *)timeout, sizeof(*timeout)); @@ -339,7 +343,9 @@ sysret_t sys_sigtimedwait(const sigset_t *sigset, siginfo_t *info, const struct if (sig > 0 && info) { if (!lwp_user_accessable((void *)info, sizeof(*info))) + { return -EFAULT; + } else { ret = lwp_put_to_user(info, &kinfo, sizeof(*info)); diff --git a/components/lwp/syscall/syscall_socket.c b/components/lwp/syscall/syscall_socket.c index 46be98aeb8..ff4ec5b717 100644 --- a/components/lwp/syscall/syscall_socket.c +++ b/components/lwp/syscall/syscall_socket.c @@ -387,7 +387,9 @@ sysret_t sys_getsockopt(int socket, int level, int optname, void *optval, sockle void *koptval = RT_NULL; if (!lwp_user_accessable((void *)optlen, sizeof(uint32_t))) + { return -EFAULT; + } if (lwp_get_from_user(&koptlen, optlen, sizeof(uint32_t)) != sizeof(uint32_t)) { @@ -395,7 +397,9 @@ sysret_t sys_getsockopt(int socket, int level, int optname, void *optval, sockle } if (!lwp_user_accessable((void *)optval, koptlen)) + { return -EFAULT; + } koptval = kmem_get(koptlen); if (koptval == RT_NULL) @@ -452,7 +456,9 @@ sysret_t sys_setsockopt(int socket, int level, int optname, const void *optval, void *koptval = RT_NULL; if (!lwp_user_accessable((void *)optval, optlen)) + { return -EFAULT; + } koptval = kmem_get(optlen); if (koptval == RT_NULL) @@ -1104,7 +1110,9 @@ sysret_t sys_recv(int socket, void *mem, size_t len, int flags) void *kmem = RT_NULL; if (!lwp_user_accessable((void *)mem, len)) + { return -EFAULT; + } kmem = kmem_get(len); if (kmem == RT_NULL) @@ -1375,7 +1383,9 @@ sysret_t sys_send(int socket, const void *dataptr, size_t size, int flags) void *kdataptr = RT_NULL; if (!lwp_user_accessable((void *)dataptr, size)) + { return -EFAULT; + } kdataptr = kmem_get(size); if (kdataptr == RT_NULL) diff --git a/components/lwp/syscall/syscall_system.c b/components/lwp/syscall/syscall_system.c index 6507490f48..6296ea40c6 100644 --- a/components/lwp/syscall/syscall_system.c +++ b/components/lwp/syscall/syscall_system.c @@ -322,7 +322,9 @@ sysret_t sys_timerfd_settime(int fd, int flags, const struct itimerspec *new, st struct itimerspec *kold = RT_NULL; if (new == RT_NULL) + { return -EINVAL; + } if (!lwp_user_accessable((void *)new, sizeof(struct itimerspec))) { @@ -392,7 +394,9 @@ sysret_t sys_timerfd_gettime(int fd, struct itimerspec *cur) struct itimerspec *kcur; if (cur == RT_NULL) + { return -EINVAL; + } if (!lwp_user_accessable((void *)cur, sizeof(struct itimerspec))) { @@ -445,7 +449,9 @@ sysret_t sys_signalfd(int fd, const sigset_t *mask, int flags) #ifdef RT_USING_MUSLLIBC if (mask == RT_NULL) + { return -EINVAL; + } if (!lwp_user_accessable((void *)mask, sizeof(struct itimerspec))) { @@ -523,7 +529,9 @@ sysret_t sys_setitimer(int which, const struct itimerspec * restrict new, struct rc = lwp_signal_setitimer(lwp, which, &new_value_k, &old_value_k); if (old && lwp_put_to_user(old, (void *)&old_value_k, sizeof old_value_k) != sizeof old_value_k) + { return -EFAULT; + } return rc; } @@ -555,7 +563,9 @@ sysret_t sys_setitimer(int which, const struct itimerspec * restrict new, struct sysret_t sys_set_robust_list(struct robust_list_head *head, size_t len) { if (len != sizeof(*head)) + { return -EINVAL; + } rt_thread_self()->robust_list = head; return 0; @@ -625,9 +635,13 @@ sysret_t sys_get_robust_list(int tid, struct robust_list_head **head_ptr, size_t len = sizeof(*(head)); if (!lwp_put_to_user(len_ptr, &len, sizeof(size_t))) + { return -EFAULT; + } if (!lwp_put_to_user(head_ptr, &head, sizeof(struct robust_list_head *))) + { return -EFAULT; + } return 0; } diff --git a/components/lwp/syscall/syscall_time_sched.c b/components/lwp/syscall/syscall_time_sched.c index fd9830a8ee..fd8db54058 100644 --- a/components/lwp/syscall/syscall_time_sched.c +++ b/components/lwp/syscall/syscall_time_sched.c @@ -36,7 +36,9 @@ sysret_t sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp) int ret = 0; LOG_D("sys_nanosleep\n"); if (!lwp_user_accessable((void *)rqtp, sizeof *rqtp)) + { return -EFAULT; + } #ifdef ARCH_MM_MMU struct timespec rqtp_k; @@ -48,13 +50,17 @@ sysret_t sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp) { lwp_put_to_user(rmtp, (void *)&rmtp_k, sizeof rmtp_k); if (ret != 0) + { return -EINTR; + } } #else if (rmtp) { if (!lwp_user_accessable((void *)rmtp, sizeof *rmtp)) + { return -EFAULT; + } ret = nanosleep(rqtp, rmtp); } #endif @@ -251,7 +257,9 @@ sysret_t sys_clock_gettime(clockid_t clk, struct timespec *ts) ret = clock_gettime(clk, kts); if (ret != -1) + { lwp_put_to_user(ts, kts, size); + } if (ret < 0) { @@ -310,7 +318,9 @@ sysret_t sys_clock_nanosleep(clockid_t clk, int flags, const struct timespec *rq int ret = 0; LOG_D("sys_nanosleep\n"); if (!lwp_user_accessable((void *)rqtp, sizeof *rqtp)) + { return -EFAULT; + } #ifdef ARCH_MM_MMU struct timespec rqtp_k; @@ -322,13 +332,17 @@ sysret_t sys_clock_nanosleep(clockid_t clk, int flags, const struct timespec *rq { lwp_put_to_user(rmtp, (void *)&rmtp_k, sizeof rmtp_k); if (ret != 0) + { return -EINTR; + } } #else if (rmtp) { if (!lwp_user_accessable((void *)rmtp, sizeof *rmtp)) + { return -EFAULT; + } ret = clock_nanosleep(clk, flags, rqtp, rmtp); } #endif @@ -373,7 +387,9 @@ sysret_t sys_clock_getres(clockid_t clk, struct timespec *ts) ret = clock_getres(clk, &kts); if (ret != -1) + { lwp_put_to_user(ts, &kts, size); + } #else if (!lwp_user_accessable((void *)ts, sizeof(struct timespec))) { @@ -567,9 +583,13 @@ sysret_t sys_getrandom(void *buf, size_t buflen, unsigned int flags) rt_device_t rd_dev = RT_NULL; if (flags & GRND_RANDOM) + { rd_dev = rt_device_find("random"); + } else + { rd_dev = rt_device_find("urandom"); + } if (rd_dev == RT_NULL) { @@ -599,7 +619,9 @@ sysret_t sys_getrandom(void *buf, size_t buflen, unsigned int flags) { ret = rt_device_read(rd_dev, count, (char *)kmem + count, buflen - count); if (ret <= 0) + { break; + } count += ret; } rt_device_close(rd_dev); @@ -615,7 +637,9 @@ sysret_t sys_getrandom(void *buf, size_t buflen, unsigned int flags) { ret = rt_device_read(rd_dev, count, (char *)kmem + count, buflen - count); if (ret <= 0) + { break; + } count += ret; } rt_device_close(rd_dev); @@ -727,7 +751,9 @@ sysret_t sys_sched_setaffinity(pid_t pid, size_t size, void *set) return -EINVAL; } if (!lwp_user_accessable((void *)set, size)) + { return -EFAULT; + } kset = kmem_get(size); if (kset == RT_NULL) @@ -831,9 +857,13 @@ sysret_t sys_sched_getaffinity(const pid_t pid, size_t size, void *set) #endif if (lwp_put_to_user(set, mask, size) != size) + { rc = -EFAULT; + } else + { rc = size; + } } lwp_pid_lock_release(); @@ -1208,6 +1238,8 @@ sysret_t sys_fsync(int fd) { int res = fsync(fd); if (res < 0) + { res = rt_get_errno(); + } return res; } |
