博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进程创建时命名空间处理
阅读量:4158 次
发布时间:2019-05-25

本文共 1045 字,大约阅读时间需要 3 分钟。

 
/* * called from clone.  This now handles copy for nsproxy and all * namespaces therein. */int copy_namespaces(unsigned long flags, struct task_struct *tsk){ struct nsproxy *old_ns = tsk->nsproxy; struct user_namespace *user_ns = task_cred_xxx(tsk, user_ns); struct nsproxy *new_ns;  if (likely(!(flags & (CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC |         CLONE_NEWPID | CLONE_NEWNET |         CLONE_NEWCGROUP)))) {  get_nsproxy(old_ns);  return 0; }  if (!ns_capable(user_ns, CAP_SYS_ADMIN))  return -EPERM;  /*  * CLONE_NEWIPC must detach from the undolist: after switching  * to a new ipc namespace, the semaphore arrays from the old  * namespace are unreachable.  In clone parlance, CLONE_SYSVSEM  * means share undolist with parent, so we must forbid using  * it along with CLONE_NEWIPC.  */ if ((flags & (CLONE_NEWIPC | CLONE_SYSVSEM)) ==  (CLONE_NEWIPC | CLONE_SYSVSEM))   return -EINVAL;  new_ns = create_new_namespaces(flags, tsk, user_ns, tsk->fs); if (IS_ERR(new_ns))  return  PTR_ERR(new_ns);  tsk->nsproxy = new_ns; return 0;}
 

转载地址:http://ezhti.baihongyu.com/

你可能感兴趣的文章
处理完琐事,可以专心刷题了
查看>>
python 中的进制转换、原码补码和反码、位运算
查看>>
sql server reporting service multi select parameter
查看>>
RabbitMQ系列(五)--高级特性
查看>>
Java基础(二)--this关键字及初始化
查看>>
ObjC利用正则表达式抓取网页内容(网络爬虫)
查看>>
shell kill session
查看>>
yii2框架随笔5
查看>>
MSMQ(Microsoft Message Queue)
查看>>
java 内存模型
查看>>
词法分析编译感想
查看>>
MVC学习-用EF做增删改查
查看>>
mysql 时间差
查看>>
会议评审流程
查看>>
Redis系列-远程连接redis并给redis加锁
查看>>
ListView子项点击无反应的解决办法
查看>>
UML之部署图
查看>>
BZOJ1367 [Baltic2004]sequence 【左偏树】
查看>>
复制centos 后不能上网,处理办法
查看>>
php xml DOM编码
查看>>