close_range: unshare all fds for CLOSE_RANGE_UNSHARE | CLOSE_RANGE_CLOEXEC
[linux-2.6-microblaze.git] / fs / sysfs / sysfs.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * fs/sysfs/sysfs.h - sysfs internal header file
4  *
5  * Copyright (c) 2001-3 Patrick Mochel
6  * Copyright (c) 2007 SUSE Linux Products GmbH
7  * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
8  */
9
10 #ifndef __SYSFS_INTERNAL_H
11 #define __SYSFS_INTERNAL_H
12
13 #include <linux/sysfs.h>
14
15 /*
16  * mount.c
17  */
18 extern struct kernfs_node *sysfs_root_kn;
19
20 /*
21  * dir.c
22  */
23 extern spinlock_t sysfs_symlink_target_lock;
24
25 void sysfs_warn_dup(struct kernfs_node *parent, const char *name);
26
27 /*
28  * file.c
29  */
30 int sysfs_add_file_mode_ns(struct kernfs_node *parent,
31                            const struct attribute *attr, bool is_bin,
32                            umode_t amode, kuid_t uid, kgid_t gid,
33                            const void *ns);
34
35 /*
36  * symlink.c
37  */
38 int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target,
39                          const char *name);
40
41 #endif  /* __SYSFS_INTERNAL_H */