nuttx/sched/group/CMakeLists.txt
Abhishek Mishra 1014c49881 sched: add supplementary group IDs (setgroups/getgroups/initgroups)
Track supplementary GIDs per task group, wire setgroups/getgroups
syscalls when CONFIG_SCHED_NGROUPS > 0, and honor them in DAC checks
via nxsched_has_gid().  When NGROUPS is 0, libc provides getgroups/
setgroups stubs.  initgroups() fails instead of silently truncating
when membership exceeds CONFIG_SCHED_NGROUPS.

Signed-off-by: Abhishek Mishra <mishra.abhishek2808@gmail.com>
2026-08-12 16:06:03 -03:00

76 lines
2.1 KiB
CMake

# ##############################################################################
# sched/group/CMakeLists.txt
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with this work for
# additional information regarding copyright ownership. The ASF licenses this
# file to you under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
#
# ##############################################################################
set(SRCS
group_create.c
group_join.c
group_leave.c
group_setupidlefiles.c
group_setuptaskfiles.c
group_foreachchild.c
group_killchildren.c)
if(NOT CONFIG_DISABLE_ALL_SIGNALS)
list(APPEND SRCS group_signal.c)
endif()
if(CONFIG_SCHED_HAVE_PARENT)
if(CONFIG_SCHED_CHILD_STATUS)
list(APPEND SRCS group_childstatus.c)
endif()
elseif(CONFIG_SCHED_WAITPID)
list(APPEND SRCS group_waiter.c)
endif()
if(CONFIG_SCHED_USER_IDENTITY)
list(
APPEND
SRCS
group_setuid.c
group_setgid.c
group_getuid.c
group_getgid.c
group_seteuid.c
group_setegid.c
group_geteuid.c
group_getegid.c
group_setreuid.c
group_setregid.c
group_getresuid.c
group_getresgid.c
group_setresuid.c
group_setresgid.c
group_issetugid.c)
if(CONFIG_SCHED_NGROUPS)
list(APPEND SRCS group_setgroups.c group_getgroups.c)
endif()
endif()
if(CONFIG_SIG_SIGSTOP_ACTION)
list(APPEND SRCS group_suspendchildren.c group_continue.c)
endif()
if(CONFIG_MM_KERNEL_HEAP)
list(APPEND SRCS group_malloc.c group_realloc.c group_zalloc.c group_free.c)
endif()
target_sources(sched PRIVATE ${SRCS})