mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

This is used in various selftests and will be handy when integrating those with nolibc. Not all configurations support namespaces, so skip the tests where necessary. Also if the tests are running without privileges. Enable the namespace configuration for those architectures where it is not enabled by default. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Acked-by: Willy Tarreau <w@1wt.eu> Link: https://lore.kernel.org/r/20250428-nolibc-misc-v2-12-3c043eeab06c@linutronix.de Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
50 lines
850 B
C
50 lines
850 B
C
/* SPDX-License-Identifier: LGPL-2.1 OR MIT */
|
|
/*
|
|
* sched function definitions for NOLIBC
|
|
* Copyright (C) 2025 Thomas Weißschuh <linux@weissschuh.net>
|
|
*/
|
|
|
|
/* make sure to include all global symbols */
|
|
#include "nolibc.h"
|
|
|
|
#ifndef _NOLIBC_SCHED_H
|
|
#define _NOLIBC_SCHED_H
|
|
|
|
#include "sys.h"
|
|
|
|
#include <linux/sched.h>
|
|
|
|
/*
|
|
* int setns(int fd, int nstype);
|
|
*/
|
|
|
|
static __attribute__((unused))
|
|
int sys_setns(int fd, int nstype)
|
|
{
|
|
return my_syscall2(__NR_setns, fd, nstype);
|
|
}
|
|
|
|
static __attribute__((unused))
|
|
int setns(int fd, int nstype)
|
|
{
|
|
return __sysret(sys_setns(fd, nstype));
|
|
}
|
|
|
|
|
|
/*
|
|
* int unshare(int flags);
|
|
*/
|
|
|
|
static __attribute__((unused))
|
|
int sys_unshare(int flags)
|
|
{
|
|
return my_syscall1(__NR_unshare, flags);
|
|
}
|
|
|
|
static __attribute__((unused))
|
|
int unshare(int flags)
|
|
{
|
|
return __sysret(sys_unshare(flags));
|
|
}
|
|
|
|
#endif /* _NOLIBC_SCHED_H */
|