From 871480933a1c28f8a9fed4c4d34d06c439a7a422 Mon Sep 17 00:00:00 2001 From: Srikant Patnaik Date: Sun, 11 Jan 2015 12:28:04 +0530 Subject: Moved, renamed, and deleted files The original directory structure was scattered and unorganized. Changes are basically to make it look like kernel structure. --- ANDROID_3.4.5/include/linux/nsproxy.h | 85 ----------------------------------- 1 file changed, 85 deletions(-) delete mode 100644 ANDROID_3.4.5/include/linux/nsproxy.h (limited to 'ANDROID_3.4.5/include/linux/nsproxy.h') diff --git a/ANDROID_3.4.5/include/linux/nsproxy.h b/ANDROID_3.4.5/include/linux/nsproxy.h deleted file mode 100644 index cc37a55a..00000000 --- a/ANDROID_3.4.5/include/linux/nsproxy.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef _LINUX_NSPROXY_H -#define _LINUX_NSPROXY_H - -#include -#include - -struct mnt_namespace; -struct uts_namespace; -struct ipc_namespace; -struct pid_namespace; -struct fs_struct; - -/* - * A structure to contain pointers to all per-process - * namespaces - fs (mount), uts, network, sysvipc, etc. - * - * 'count' is the number of tasks holding a reference. - * The count for each namespace, then, will be the number - * of nsproxies pointing to it, not the number of tasks. - * - * The nsproxy is shared by tasks which share all namespaces. - * As soon as a single namespace is cloned or unshared, the - * nsproxy is copied. - */ -struct nsproxy { - atomic_t count; - struct uts_namespace *uts_ns; - struct ipc_namespace *ipc_ns; - struct mnt_namespace *mnt_ns; - struct pid_namespace *pid_ns; - struct net *net_ns; -}; -extern struct nsproxy init_nsproxy; - -/* - * the namespaces access rules are: - * - * 1. only current task is allowed to change tsk->nsproxy pointer or - * any pointer on the nsproxy itself - * - * 2. when accessing (i.e. reading) current task's namespaces - no - * precautions should be taken - just dereference the pointers - * - * 3. the access to other task namespaces is performed like this - * rcu_read_lock(); - * nsproxy = task_nsproxy(tsk); - * if (nsproxy != NULL) { - * / * - * * work with the namespaces here - * * e.g. get the reference on one of them - * * / - * } / * - * * NULL task_nsproxy() means that this task is - * * almost dead (zombie) - * * / - * rcu_read_unlock(); - * - */ - -static inline struct nsproxy *task_nsproxy(struct task_struct *tsk) -{ - return rcu_dereference(tsk->nsproxy); -} - -int copy_namespaces(unsigned long flags, struct task_struct *tsk); -void exit_task_namespaces(struct task_struct *tsk); -void switch_task_namespaces(struct task_struct *tsk, struct nsproxy *new); -void free_nsproxy(struct nsproxy *ns); -int unshare_nsproxy_namespaces(unsigned long, struct nsproxy **, - struct fs_struct *); -int __init nsproxy_cache_init(void); - -static inline void put_nsproxy(struct nsproxy *ns) -{ - if (atomic_dec_and_test(&ns->count)) { - free_nsproxy(ns); - } -} - -static inline void get_nsproxy(struct nsproxy *ns) -{ - atomic_inc(&ns->count); -} - -#endif -- cgit