cregit-Linux how code gets into the kernel

Release 4.7 include/linux/utsname.h

Directory: include/linux
#ifndef _LINUX_UTSNAME_H

#define _LINUX_UTSNAME_H


#include <linux/sched.h>
#include <linux/kref.h>
#include <linux/nsproxy.h>
#include <linux/ns_common.h>
#include <linux/err.h>
#include <uapi/linux/utsname.h>


enum uts_proc {
	
UTS_PROC_OSTYPE,
	
UTS_PROC_OSRELEASE,
	
UTS_PROC_VERSION,
	
UTS_PROC_HOSTNAME,
	
UTS_PROC_DOMAINNAME,
};

struct user_namespace;
extern struct user_namespace init_user_ns;


struct uts_namespace {
	
struct kref kref;
	
struct new_utsname name;
	
struct user_namespace *user_ns;
	
struct ns_common ns;
};
extern struct uts_namespace init_uts_ns;

#ifdef CONFIG_UTS_NS

static inline void get_uts_ns(struct uts_namespace *ns) { kref_get(&ns->kref); }

Contributors

PersonTokensPropCommitsCommitProp
serge hallynserge hallyn20100.00%1100.00%
Total20100.00%1100.00%

extern struct uts_namespace *copy_utsname(unsigned long flags, struct user_namespace *user_ns, struct uts_namespace *old_ns); extern void free_uts_ns(struct kref *kref);
static inline void put_uts_ns(struct uts_namespace *ns) { kref_put(&ns->kref, free_uts_ns); }

Contributors

PersonTokensPropCommitsCommitProp
serge hallynserge hallyn22100.00%1100.00%
Total22100.00%1100.00%

#else
static inline void get_uts_ns(struct uts_namespace *ns) { }

Contributors

PersonTokensPropCommitsCommitProp
pavel emelianovpavel emelianov11100.00%1100.00%
Total11100.00%1100.00%


static inline void put_uts_ns(struct uts_namespace *ns) { }

Contributors

PersonTokensPropCommitsCommitProp
pavel emelianovpavel emelianov11100.00%1100.00%
Total11100.00%1100.00%


static inline struct uts_namespace *copy_utsname(unsigned long flags, struct user_namespace *user_ns, struct uts_namespace *old_ns) { if (flags & CLONE_NEWUTS) return ERR_PTR(-EINVAL); return old_ns; }

Contributors

PersonTokensPropCommitsCommitProp
pavel emelianovpavel emelianov3179.49%150.00%
eric w. biedermaneric w. biederman820.51%150.00%
Total39100.00%2100.00%

#endif #ifdef CONFIG_PROC_SYSCTL extern void uts_proc_notify(enum uts_proc proc); #else
static inline void uts_proc_notify(enum uts_proc proc) { }

Contributors

PersonTokensPropCommitsCommitProp
lucas de marchilucas de marchi10100.00%1100.00%
Total10100.00%1100.00%

#endif
static inline struct new_utsname *utsname(void) { return &current->nsproxy->uts_ns->name; }

Contributors

PersonTokensPropCommitsCommitProp
serge hallynserge hallyn21100.00%2100.00%
Total21100.00%2100.00%


static inline struct new_utsname *init_utsname(void) { return &init_uts_ns.name; }

Contributors

PersonTokensPropCommitsCommitProp
serge hallynserge hallyn17100.00%2100.00%
Total17100.00%2100.00%

extern struct rw_semaphore uts_sem; #endif /* _LINUX_UTSNAME_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
serge hallynserge hallyn13045.45%425.00%
pavel emelianovpavel emelianov6121.33%16.25%
lucas de marchilucas de marchi4013.99%16.25%
eric w. biedermaneric w. biederman186.29%318.75%
pre-gitpre-git165.59%425.00%
cedric le goatercedric le goater124.20%16.25%
al viroal viro62.10%16.25%
david howellsdavid howells31.05%16.25%
Total286100.00%16100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}