linux/fs/posix_acl.c
<<
3<3<3<3<33<3<3<3<3<3<3<3< typ Search.4 3<3<3333<4 odiv id/ /1o/a>ospa3 class="comment">/*o/spa3.4/ /2o/a>ospa3 class="comment"> * linux/fs/posix_acl.co/spa3.4/ /3o/a>ospa3 class="comment"> *o/spa3.4/ /4o/a>ospa3 class="comment"> * Copyright (C) 2002 by Andreas Gruenbacher <a.gruenbacher@computer.org>o/spa3.4/ /5o/a>ospa3 class="comment"> *o/spa3.4/ /6o/a>ospa3 class="comment"> * Fixes from William Schumacher incorporated on 15 March 2001.o/spa3.4/ /7o/a>ospa3 class="comment"> * (Reported by Charles Bertsch, <CBertsch@microtest.com>).o/spa3.4/ /8o/a>ospa3 class="comment"> */o/spa3.4/ /9o/a>3/ .103a>ospa3 class="comment">/*o/spa3.4/ 11o/a>ospa3 class="comment"> * This file contains generic func< v3s for manipulatingo/spa3.4/ 12o/a>ospa3 class="comment"> * POSIX .10.4.e draft standard 17 ACLs.o/spa3.4/ 13o/a>ospa3 class="comment"> */o/spa3.4/ 14o/a>3/ 15o/a>#include <linux/kernel.ho/a>>3/ 16o/a>#include <linux/slab.ho/a>>3/ 17o/a>#include <linux/atnmic.ho/a>>3/ 18o/a>#include <linux/fs.ho/a>>3/ 19o/a>#include <linux/sched.ho/a>>3/ 20o/a>#include <linux/posix_acl.ho/a>>3/ 21o/a>#include <linux/export.ho/a>>3/ 22o/a>3/ 23o/a>#include <linux/errno.ho/a>>3/ 24o/a>3/ 25o/a>oa href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOLo/a>(oa href="+code=posix_acl_init" class="sref">posix_acl_inito/a>);3/ 26o/a>oa href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOLo/a>(oa href="+code=posix_acl_alloc" class="sref">posix_acl_alloco/a>);3/ 27o/a>oa href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOLo/a>(oa href="+code=posix_acl_ id" class="sref">posix_acl_ ido/a>);3/ 28o/a>oa href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOLo/a>(oa href="+code=posix_acl_equiv_mode" class="sref">posix_acl_equiv_modeo/a>);3/ 29o/a>oa href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOLo/a>(oa href="+code=posix_acl_from_mode" class="sref">posix_acl_from_modeo/a>);3/ 30o/a>3/ 31o/a>ospa3 class="comment">/*o/spa3.4/ 32o/a>ospa3 class="comment"> * Init a fresh posix_aclo/spa3.4/ 33o/a>ospa3 class="comment"> */o/spa3.4/ 34o/a>void4/ 35o/a>oa href="+code=posix_acl_init" class="sref">posix_acl_inito/a>(struct oa href="+code=posix_acl" class="sref">posix_aclo/a> *oa href="+code=acl" class="sref">aclo/a>, int oa href="+code=count" class="sref">counto/a>)4/ 36o/a>{4/ 37o/a> oa href="+code=atnmic_set" class="sref">atnmic_seto/a>(&oa href="+code=acl" class="sref">aclo/a>->oa href="+code=a_refcount" class="sref">a_refcounto/a>, 1);3/ 38o/a> oa href="+code=acl" class="sref">aclo/a>->oa href="+code=a_count" class="sref">a_counto/a> = oa href="+code=count" class="sref">counto/a>;3/ 39o/a>}4/ 40o/a>3/ 41o/a>ospa3 class="comment">/*o/spa3.4/ 42o/a>ospa3 class="comment"> * Allocate a new ACL with the specified number of entries.o/spa3.4/ 43o/a>ospa3 class="comment"> */o/spa3.4/ 44o/a>struct oa href="+code=posix_acl" class="sref">posix_aclo/a> *4/ 45o/a>oa href="+code=posix_acl_alloc" class="sref">posix_acl_alloco/a>(int oa href="+code=count" class="sref">counto/a>, oa href="+code=gfp_t" class="sref">gfp_to/a> oa href="+code=flags" class="sref">flagso/a>)4/ 46o/a>{4/ 47o/a> const oa href="+code=size_t" class="sref">size_to/a> oa href="+code=size" class="sref">sizeo/a> = sizeof(struct oa href="+code=posix_acl" class="sref">posix_aclo/a>) +4/ 48o/a> oa href="+code=count" class="sref">counto/a> * sizeof(struct oa href="+code=posix_acl_entry" class="sref">posix_acl_entryo/a>);3/ 49o/a> struct oa href="+code=posix_acl" class="sref">posix_aclo/a> *oa href="+code=acl" class="sref">aclo/a> = oa href="+code=kmalloc" class="sref">kmalloco/a>(oa href="+code=size" class="sref">sizeo/a>, oa href="+code=flags" class="sref">flagso/a>);3/ 50o/a> if (oa href="+code=acl" class="sref">aclo/a>)4/ 51o/a> oa href="+code=posix_acl_init" class="sref">posix_acl_inito/a>(oa href="+code=acl" class="sref">aclo/a>, oa href="+code=count" class="sref">counto/a>);3/ 52o/a> return oa href="+code=acl" class="sref">aclo/a>;3/ 53o/a>}4/ 54o/a>3/ 55o/a>ospa3 class="comment">/*o/spa3.4/ 56o/a>ospa3 class="comment"> * Clone an ACL.o/spa3.4/ 57o/a>ospa3 class="comment"> */o/spa3.4/ 58o/a>static struct oa href="+code=posix_acl" class="sref">posix_aclo/a> *4/ 59o/a>oa href="+code=posix_acl_clone" class="sref">posix_acl_cloneo/a>(const struct oa href="+code=posix_acl" class="sref">posix_aclo/a> *oa href="+code=acl" class="sref">aclo/a>, oa href="+code=gfp_t" class="sref">gfp_to/a> oa href="+code=flags" class="sref">flagso/a>)4/ 60o/a>{4/ 61o/a> struct oa href="+code=posix_acl" class="sref">posix_aclo/a> *oa href="+code=clone" class="sref">cloneo/a> = oa href="+code=NULL" class="sref">NULLo/a>;3/ 62o/a>3/ 63o/a> if (oa href="+code=acl" class="sref">aclo/a>) {4/ 64o/a> int oa href="+code=size" class="sref">sizeo/a> = sizeof(struct oa href="+code=posix_acl" class="sref">posix_aclo/a>) + oa href="+code=acl" class="sref">aclo/a>->oa href="+code=a_count" class="sref">a_counto/a> *4/ 65o/a> sizeof(struct oa href="+code=posix_acl_entry" class="sref">posix_acl_entryo/a>);3/ 66o/a> oa href="+code=clone" class="sref">cloneo/a> = oa href="+code=kmemdup" class="sref">kmemdupo/a>(oa href="+code=acl" class="sref">aclo/a>, oa href="+code=size" class="sref">sizeo/a>, oa href="+code=flags" class="sref">flagso/a>);3/ 67o/a> if (oa href="+code=clone" class="sref">cloneo/a>)4/ 68o/a> oa href="+code=atnmic_set" class="sref">atnmic_seto/a>(&oa href="+code=clone" class="sref">cloneo/a>->oa href="+code=a_refcount" class="sref">a_refcounto/a>, 1);3/ 67o/a> ieturn oa href="+code=alone" class="sref">cloneo/a>-3/ 671/a>}4/ 67o/a>3/ 67o/a>ospa3 class="comment"> *o/spa3.4/ 67o/a>ospa3 class="comment"> * Checkif (3 ccl. is ido. Rturn s 0if (it is, or -E... otherwiseo/spa3.4/ 67o/a>ospa3 class="comment"> *oo/spa3.4/ 67o/a> nt / 67o/a>oa href="+code=Eosix_acl_ id" class="sref">posix_acl_ ido/a>)const struct oa href="+code=posix_acl" class="sref">posix_aclo/a> *oa href="+code=acl" class="sref">aclo/a>,4/ 678/a>{4posix_acl_entryo/a>)*oa href="+code=apa class="sref">poa/a>, 1oa href="+code=ap" class="sref">poo/a>-3/ 68o/a> ift oa href="+code=siati" class="sref">siati"/a> = oa href="+code=kCL._USER_OBJ class="sref">sCL._USER_OBJ/a>-3/ 68o/a> sa href="+code=kmuidt" class="sref">gmuidt"/a> oa href="+code=fprev_ud" class="sref">porev_ud"/a> = oa href="+code=kINVALID_UID class="sref">pINVALID_UID/a>-3/ 682/a> sa href="+code=kmgidt" class="sref">gmgidt"/a> oa href="+code=fprev_gd" class="sref">porev_gd"/a> = oa href="+code=kINVALID_GID class="sref">pINVALID_GID/a>-3/ 683/a> ift oa href="+code=sneeds_mask class="sref">pneeds_mask/a> = o03/ 68o/a>3/ 685/a> sa href="+code=kFOREACH_CL._ENTRY class="sref">pFOREACH_CL._ENTRY/a>(oa href="+code=poa class="sref">poa/a>, 1a href="+code=acl" class="sref">aclo/a>, oa href="+code=sp" class="sref">poo/a>- {4/ 68o/a> of (oa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o ~oa href="+code=cCL._READ class="sref">pCL._READ/a> |a href="+code=cCL._WRITE class="sref">pCL._WRITE/a> |a href="+code=cCL._EXECUTE class="sref">pCL._EXECUTE/a>- 4/ 68o/a> i ieturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 68o/a> switch(oa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_tag class="sref">pe_tag/a>- {4sCL._USER_OBJ/a>-:/ 690/a> i i of (oa href="+code=ciati" class="sref">siati"/a> = oa href="+code=kCL._USER_OBJ class="sref">sCL._USER_OBJ/a>- {4/ 69o/a> oooooooooooooooooooooooooa href="+code=siati" class="sref">siati"/a> = oa href="+code=kCL._USER class="sref">sCL._USER/a>-3/ 692/a> ooooooooooooooooooooooooobreak3/ 693/a> ooooooooooooooooo4/ 69o/a> iiiiiiiiiiiiiiiiieturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 695/a>3/ 69o/a> ooooooooocaseoa href="+code=kCL._USER class="sref">sCL._USER/a>-:/ 69o/a> i iiiiiiiiif (oa href="+code=ciati" class="sref">siati"/a> =! oa href="+code=kCL._USER class="sref">sCL._USER/a>-4/ 69o/a> oiiiiiiiiiiiieturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3puidt id"/a>(oa href="+code=poa class="sref">poa/a>,>oa href="+code=ae_ud" class="sref">pe_ud"/a> 4/ 0""/a> oiiiiiiiiiiiieturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 0"o/a> ooooooooooooooooof (oa href="+code=cuidt id" class="sref">puidt id"/a>(oa href="+code=porev_ud" class="sref">porev_ud"/a> ) amp;oamp;o/ 0"2/a> oooooooooooooooooooooa href="+code=cuidtli" class="sref">suidtli"/a>(oa href="+code=poa class="sref">poa/a>,>oa href="+code=ae_ud" class="sref">pe_ud"/a> oa href="+code=sprev_ud" class="sref">porev_ud"/a> )4/ 0"3/a> oooooooooooooooooiiiiiiiieturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 0"o/a> iiiiiiiiiiiiiiiiia href="+code=fprev_ud" class="sref">porev_ud"/a> = oa href="+code=koa class="sref">poa/a>,>oa href="+code=ae_ud" class="sref">pe_ud"/a> 3 siiiiia href="+code=fneeds_mask class="sref">pneeds_mask/a> = o13 ooooooooooooooooobreak33 caseoa href="+code=kCL._GROUP_OBJ class="sref">sCL._GROUP_OBJ/a>-: i iiiiiiiiif (oa href="+code=ciati" class="sref">siati"/a> = oa href="+code=kCL._USER class="sref">sCL._USER/a>-4{4/ 11"/a> oiiiiiiiiiiiia href="+code=siati" class="sref">siati"/a> = oa href="+code=kCL._GROUP class="sref">sCL._GROUP/a> 3/ 01o/a> ooooooooooooooooooooooooobreak3/ 112/a> ooooooooooooooooo4/ 113/a> oooooooooooooooooeturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 14o/a>3/ 11o/a> caseoa href="+code=kCL._GROUP class="sref">sCL._GROUP/a> :/ 11o/a> ooooooooooooooooof (oa href="+code=ciati" class="sref">siati"/a> =! oa href="+code=kCL._GROUP class="sref">sCL._GROUP/a> 4/ 11o/a> i iiiiiiiiiooooooooeturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 11o/a> oiiiif (o!a href="+code=cgidt id" class="sref">pgidt id"/a>(oa href="+code=poa class="sref">poa/a>,>oa href="+code=ae_gd" class="sref">pe_gd"/a> )4/ 119/a> i iiiiiiiiiooooooooeturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 120/a> i i of (oa href="+code=cgidt id" class="sref">pgidt id"/a>(oa href="+code=porev_gd" class="sref">porev_gd"/a> ) amp;oamp;o/ 12o/a> oooooooooooooooooooooa href="+code=cgidtli" class="sref">sgidtli"/a>(oa href="+code=poa class="sref">poa/a>,>oa href="+code=ae_gd" class="sref">pe_gd"/a> oa href="+code=sprev_gd" class="sref">porev_gd"/a> )4/ 122/a> oooooooooooooooooooooooooeturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 123/a> oooooooooooooooooa href="+code=fprev_gd" class="sref">porev_gd"/a> = oa href="+code=koa class="sref">poa/a>,>oa href="+code=ae_gd" class="sref">pe_gd"/a> 3/ 12o/a> iiiiiiiiiiiiiiiiia href="+code=fneeds_mask class="sref">pneeds_mask/a> = o13/ 12o/a> siiiiibreak3/ 16o/a>o/ 12o/a> i icaseoa href="+code=kCL._MASK class="sref">sCL._MASK/a> :/ 12o/a> oiiiif (oa href="+code=ciati" class="sref">siati"/a> =! oa href="+code=kCL._GROUP class="sref">sCL._GROUP/a> 4/ 129/a> i iiiiiiiiiooooooooeturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 130/a> i i oa href="+code=siati" class="sref">siati"/a> = oa href="+code=kCL._OTHER class="sref">sCL._OTHER/a>-3/ 13o/a> ooooooooooooooooobreak3/ 13o/a>3/ 133/a> ooooooooocaseoa href="+code=kCL._OTHER class="sref">sCL._OTHER/a>-:/ 13o/a> iiiiiiiiiiiiiiiiif (oa href="+code=ciati" class="sref">siati"/a> = oa href="+code=kCL._OTHER class="sref">sCL._OTHER/a>- ||/ 13o/a> siiiiiiiiioa href="+code=ciati" class="sref">siati"/a> = oa href="+code=kCL._GROUP class="sref">sCL._GROUP/a> amp;oamp;o !a href="+code=cneeds_mask class="sref">pneeds_mask/a> )4{4/ 13o/a> oooooooooooooooooooooooooa href="+code=siati" class="sref">siati"/a> = o03/ 13o/a> i iiiiiiiiioooooooobreak3/ 13o/a> oiiii4/ 139/a> i iiiiiiiiieturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 10o/a>3/ 14o/a> ooooooooodefault:/ 142/a> oooooooooooooooooeturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 143/a> o4/ 14o/a> 4/ 14o/a> f (oa href="+code=ciati" class="sref">siati"/a> = o04/ 14o/a> oeturn o03/ 17o/a> ceturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 18o/a> 4/ 14o/a>3/ 1503a>ospa3 class="comment">/*o/spa3.4/ 15o/a>ospa3 class="comment"> * Rturn s 0if (he scl. c3 cbe exactlycetoresnt"ed in(he stradi v3sao/spa3.4/ 15o/a>ospa3 class="comment"> * Aile codeo permissn> bits, or elseo1. Rturn s -E... on erroro/spa3.4/ 15o/a>ospa3 class="comment"> */o/spa3.4/ 14o/a>3nt / 15o/a>oa href="+code=posix_acl_aquiv_mode" class="sref">posix_acl_equiv_modeo/a>)const struct oa href="+code=posix_acl" class="sref">posix_aclo/a> *oa href="+code=acl" class="sref">aclo/a>, oa href="+code=guodeot" class="sref">guodeot"/a> *oa href="+code=aodeot" class="sref">kodeot"/a> 4/ 15o/a>{4/ 15o/a> const otruct oa href="+code=posix_acl"entry" class="sref">posix_acl_entryo/a>)*oa href="+code=apa class="sref">poa/a>, 1oa href="+code=ap" class="sref">poo/a>-3/ 15o/a> oa href="+code=auodeot" class="sref">guodeot"/a> *a href="+code=aodeo class="sref">kodeo/a> = o03/ 159/a> ft oa href="+code=snotequiv_ class="sref">pnotequiv_/a> = o03/ 16o/a>3/ 16o/a> sa href="+code=kFOREACH_CL._ENTRY class="sref">pFOREACH_CL._ENTRY/a>(oa href="+code=poa class="sref">poa/a>, 1a href="+code=acl" class="sref">aclo/a>, oa href="+code=sp" class="sref">poo/a>- {4/ 162/a> oswitch(oa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_tag class="sref">pe_tag/a>- {4/ 163/a> ooooooooocaseoa href="+code=kCL._USER_OBJ class="sref">sCL._USER_OBJ/a>-:/ 14o/a> iiiiiiiiiiiiiiiiia href="+code=aodeo class="sref">kodeo/a> =|=(oa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> ) alt;alt; 63/ 15o/a> ssssssbreak3/ 16o/a> ooooooooocaseoa href="+code=kCL._GROUP_OBJ class="sref">sCL._GROUP_OBJ/a>-:/ 17o/a> iiiiiiiiiiiiiiiiia href="+code=aodeo class="sref">kodeo/a> =|=(oa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> ) alt;alt; 33/ 18o/a> o ssssssbreak3sCL._OTHER/a>-:/ 170/a> i i oa href="+code=sodeo class="sref">kodeo/a> =|=(a href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> 3/ 17o/a> ooooooooooooooooobreak3/ 172/a> ooooooooocaseoa href="+code=kCL._MASK class="sref">sCL._MASK/a> :/ 173/a> oooooooooooooooooa href="+code=fodeo class="sref">kodeo/a> = ooa href="+code=codeo class="sref">kodeo/a> =amp;o ~a href="+code=aS_IRWXG class="sref">pS_IRWXG/a> ) |/ 17o/a> iiiiiiiiiiiiiiiiiiiiiiii(oa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> ) alt;alt; 3;3/ 17o/a> siiiiia href="+code=fnotequiv_ class="sref">pnotequiv_/a> = o13/ 17o/a> ooooooooooooooooobreak3/ 17o/a> i icaseoa href="+code=kCL._USER class="sref">sCL._USER/a>-:/ 17o/a> caseoa href="+code=kCL._GROUP class="sref">sCL._GROUP/a> :pnotequiv_/a> = o13/ 180/a> i i obreak3/ 18o/a> ooooooooodefault:/ 182/a> oooooooooooooooooeturn o-a href="+code=cEINVAL class="sref">pEINVAL/a>-3/ 183/a> o4/ 18o/a> 4/ 18o/a> f (oa href="+code=codeot" class="sref">kodeot"/a> 4/ 18o/a> ooa href="+code=aodeot" class="sref">kodeot"/a> = oooa href="+code=aodeot" class="sref">kodeot"/a> =amp;o ~a href="+code=aS_IRWXUGO class="sref">pS_IRWXUGO/a> ) |oa href="+code=fodeo class="sref">kodeo/a> 3/ 18o/a> ceturn oa href="+code=fnotequiv_ class="sref">pnotequiv_/a> 3/ 18o/a> 4/ 1903a>ospa3 class="comment">/*o/spa3.4/ 19o/a>ospa3 class="comment"> * Creat an ACL.cetoresnt"ing(he sile codeo permissn> bitsof en Aindeoo/spa3.4/ 19o/a>ospa3 class="comment"> * o/spa3.4/ 193/a> truct oa href="+code=posix_acl" class="sref">posix_aclo/a> *4/ 19o/a> a href="+code=posix_acl"efom_mode" class="sref">posix_acl_from_modeo/a>)oa href="+code=cuodeot" class="sref">guodeot"/a> *a href="+code=aodeo class="sref">kodeo/a> oa href="+code=gfp_t" class="sref">gfp_to/a> oa href="+code=flags" class="sref">flagso/a>)4/ 195/a>34/ 19o/a> truct oa href="+code=posix_acl" class="sref">posix_aclo/a> *oa href="+code=acl" class="sref">aclo/a> = oa href="+code=kosix_acl_flloc" class="sref">posix_acl_alloco/a>(i3 oa href="+code=flags" class="sref">flagso/a>);3/ 19o/a> f (o!a href="+code=ccl" class="sref">aclo/a> 4/ 19o/a> eturn oa href="+code=fERR_PTR class="sref">sERR_PTR/a>(i-a href="+code=cENOMEM class="sref">sENOMEM/a>);3/ 2""/a> a href="+code=ccl" class="sref">aclo/a> >oa href="+code=a_rntries. class="sref">acrntries./a> [0].a href="+code=ae_tag class="sref">pe_tag/a>- = oa href="+code=kCL._USER_OBJ class="sref">sCL._USER_OBJ/a>-3/ 20o/a> sa href="+code=kcl" class="sref">aclo/a> >oa href="+code=a_rntries. class="sref">acrntries./a> [0].a href="+code=ae_perm class="sref">pe_perm/a> ooa href="+code=codeo class="sref">kodeo/a> =amp;o a href="+code=aS_IRWXU class="sref">pS_IRWXU/a> ) at;oat;o 63/ 20o/a>3/ 2"3/a> a href="+code=kcl" class="sref">aclo/a> >oa href="+code=a_rntries. class="sref">acrntries./a> [1].a href="+code=ae_tag class="sref">pe_tag/a>- = oa href="+code=kCL._GROUP_OBJ class="sref">sCL._GROUP_OBJ/a>-3/ 2"o/a> a href="+code=kcl" class="sref">aclo/a> >oa href="+code=a_rntries. class="sref">acrntries./a> [1].a href="+code=ae_perm class="sref">pe_perm/a> ooa href="+code=codeo class="sref">kodeo/a> =amp;o a href="+code=aS_IRWXG class="sref">pS_IRWXG/a> ) at;oat;o 333 a href="+code=kcl" class="sref">aclo/a> >oa href="+code=a_rntries. class="sref">acrntries./a> [2].a href="+code=ae_tag class="sref">pe_tag/a>- = oa href="+code=kCL._OTHER class="sref">sCL._OTHER/a>-3 oa href="+code=atl" class="sref">aclo/a> >oa href="+code=a_rntries. class="sref">acrntries./a> [2].a href="+code=ae_perm class="sref">pe_perm/a> ooa href="+code=codeo class="sref">kodeo/a> =amp;o a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> )3 eturn oa href="+code=acl" class="sref">aclo/a>;3}4/ 21o/a>3/ 21o/a>ospa3 class="comment"> *o/spa3.4/ 22o/a>ospa3 class="comment"> * Rturn o0 f (currnt" is grat"ed wat" access to(he sindeo/spa3.4/ 23o/a>ospa3 class="comment"> */ by(he scl.. Rturn s -E... otherwiseo/spa3.4/ 21o/a>ospa3 class="comment"> * o/spa3.4/ 21o/a> nt / 21o/a>oa href="+code=Eosix_acl_apermissn> class="sref">posix_acl_apermissn> /a>(itruct oa href="+code=pindeo class="sref">pindeo/s> *oa href="+code=aindeo class="sref">pindeo/s> ,const otruct oa href="+code=posix_acl" class="sref">posix_aclo/a> *oa href="+code=acl" class="sref">aclo/a> int oa href="+code=cwat" class="sref">awat"/a> 4/ 21o/a> 4/ 21o/a> onst otruct oa href="+code=posix_acl"entry" class="sref">posix_acl_entryo/a>)*oa href="+code=apa class="sref">poa/a>, 1oa href="+code=ap" class="sref">poo/a>- 1oa href="+code=amask_obj class="sref">koask_obj/a>;3/ 219/a> ft oa href="+code=sfoun" class="sref">pfoun"/a> o03/ 22o/a>3/ 22o/a> sa href="+code=kwat" class="sref">awat"/a> =amp;o oa href="+code=kMAY_READ class="sref">pMAY_READ/a> =|oa href="+code=kMAY_WRITE class="sref">pMAY_WRITE/a> =|oa href="+code=kMAY_EXEC class="sref">pMAY_EXEC/a> =|oa href="+code=kMAY_NOT_BLOCK class="sref">sMAY_NOT_BLOCK/a>;3/ 22o/a>3/ 223/a> a href="+code=kFOREACH_CL._ENTRY class="sref">pFOREACH_CL._ENTRY/a>(oa href="+code=poa class="sref">poa/a>, 1a href="+code=acl" class="sref">aclo/a>, oa href="+code=sp" class="sref">poo/a>- {4/ 22o/a> iswitchoa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_tag class="sref">pe_tag/a>- {4/ 22o/a> caseoa href="+code=kCL._USER_OBJ class="sref">sCL._USER_OBJ/a>-:/ 22o/a> ooooooooooooooooospa3 class="comment"> *o (May have bee clhecked already)* o/spa3.4/ 22o/a> i i f (oa href="+code=cuidteq class="sref">guidteq/a>(oa href="+code=pindeo class="sref">pindeo/s> >oa href="+code=ai_ud" class="sref">pi_ud"/a> oa href="+code=scurrnt"_fsud" class="sref">pcurrnt"_fsud"/a>(o))4/ 22o/a> oiiiiiiiiiiiigoto(a href="+code=scheck_perm class="sref">pcheck_perm/a>;3/ 229/a> i iiiiiiiiibreak3/ 230/a> i icaseoa href="+code=kCL._USER class="sref">sCL._USER/a>-:/ 23o/a> ooooooooooooooooof (oa href="+code=cuidteq class="sref">guidteq/a>(oa href="+code=poa class="sref">poa/a>,>oa href="+code=ae_ud" class="sref">pe_ud"/a> oa href="+code=scurrnt"_fsud" class="sref">pcurrnt"_fsud"/a>(o))4/ 232/a> ooooooooooooooooooooooooogoto(a href="+code=smask class="sref">pmask/a> 3/ 233/a> oooooooooiiiiiiiibreak3/ 23o/a> iiiiiiiiicaseoa href="+code=kCL._GROUP_OBJ class="sref">sCL._GROUP_OBJ/a>-:/ 23o/a> siiiiif (oa href="+code=cin_groupt" class="sref">kin_groupt"/a>(oa href="+code=pindeo class="sref">pindeo/s> >oa href="+code=ai_gd" class="sref">pi_gd"/a> )4{4/ 23o/a> oooooooooooooooooooooooooa href="+code=sfoun" class="sref">pfoun"/a> o13/ 23o/a> i iiiiiiiiioooooooof (ooa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o a href="+code=awat" class="sref">awat"/a> 4= oa href="+code=kwat" class="sref">awat"/a> 4/ 23o/a> oiiiiiiiiiiiiiiiiiiiigoto(a href="+code=smask class="sref">pmask/a> 3/ 239/a> i iiiiiiiii4/ 240/a> i i obreak3/ 24o/a> ooooooooocaseoa href="+code=kCL._GROUP class="sref">sCL._GROUP/a> :/ 242/a> ooooooooooooooooof (oa href="+code=cin_groupt" class="sref">kin_groupt"/a>(oa href="+code=poa class="sref">poa/a>,>oa href="+code=ae_gd" class="sref">pe_gd"/a> )4{4/ 243/a> oooooooooooooooooooooooooa href="+code=sfoun" class="sref">pfoun"/a> o13/ 24o/a> iiiiiiiiiiiiiiiiiiiiiiiiof (ooa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o a href="+code=awat" class="sref">awat"/a> 4= oa href="+code=kwat" class="sref">awat"/a> 4/ 24o/a> siiiiiiiiiiiiiiiiiiiiigoto(a href="+code=smask class="sref">pmask/a> 3/ 24o/a> ooooooooooooooooo4/ 24o/a> i iiiiiiiiibreak3/ 24o/a> caseoa href="+code=kCL._MASK class="sref">sCL._MASK/a> :/ 249/a> i iiiiiiiiibreak3/ 250/a> i icaseoa href="+code=kCL._OTHER class="sref">sCL._OTHER/a>-:/ 25o/a> ooooooooooooooooof (oa href="+code=cfoun" class="sref">pfoun"/a> 4/ 252/a> oooooooooooooooooooooooooeturn o-a href="+code=cEACCES class="sref">pEACCES/a> 3/ 253/a> oooooooooooooooooelse/ 25o/a> iiiiiiiiiiiiiiiiiiiiiiiiogoto(a href="+code=scheck_perm class="sref">pcheck_perm/a>;3/ 25o/a> default:/ 25o/a> oooooooooooooooooeturn o-a href="+code=cEIO class="sref">pEIO/a>;3/ 25o/a> i4/ 25o/a> o4/ 259/a> eturn o-a href="+code=cEIO class="sref">pEIO/a>;3/ 26o/a>3/ 26o/a> a href="+code=smask class="sref">pmask/a> :/ 262/a> forooa href="+code=coask_obj class="sref">koask_obj/a>;= oa href="+code=koa class="sref">poa/a>,+1o a href="+code=aoask_obj class="sref">koask_obj/a>;=! oa href="+code=kp" class="sref">poo/a>-3 a href="+code=aoask_obj class="sref">koask_obj/a>;++4{4/ 263/a> of (oa href="+code=coask_obj class="sref">koask_obj/a>;>oa href="+code=ae_tag class="sref">pe_tag/a>-= oa href="+code=kCL._MASK class="sref">sCL._MASK/a> 4{4/ 24o/a> iiiiiiiiif (ooa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o a href="+code=aoask_obj class="sref">koask_obj/a>;>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o a href="+code=awat" class="sref">awat"/a> 4= oa href="+code=kwat" class="sref">awat"/a> 4/ 25o/a> sssssseturn o03/ 26o/a> oooooooooeturn o-a href="+code=cEACCES class="sref">pEACCES/a> 3/ 27o/a> i4/ 26o/a> o4/ 270/a> a href="+code=scheck_perm class="sref">pcheck_perm/a>;:/ 27o/a> f (ooa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o a href="+code=awat" class="sref">awat"/a> 4= oa href="+code=kwat" class="sref">awat"/a> 4/ 272/a> oeturn o03/ 273/a> eturn o-a href="+code=cEACCES class="sref">pEACCES/a> 3/ 27o/a> 4/ 275/a>3/ 27o/a> spa3 class="comment"> *o/spa3.4/ 27o/a> spa3 class="comment"> */ Modifyscl. whe clreating(a newAindeoo Theicaller must ensure(he scl. is/spa3.4/ 27o/a> spa3 class="comment"> */ onlycetferenced onceo/spa3.4 *//spa3.4/ 2803a>ospa3 class="comment">/*/ odeot"Ainitially must contain(he sodeo parm / 28o/a>ospa3 class="comment"> * systemicalls. All permissn> s(heat are(not grat"ed by(he scl. are(removedo/spa3.4/ 28o/a>ospa3 class="comment"> * Theipermissn> s(in(he scl. are(changed to(ef=lect(he sodeot"Aparm / 28o/a>ospa3 class="comment"> */o/spa3.4/ 28o/a> iatiic ft oa href="+code=sosix_acl_elreate_masq class="sref">gosix_acl_elreate_masq/a>(otruct oa href="+code=posix_acl" class="sref">posix_aclo/a> *oa href="+code=acl" class="sref">aclo/a>, oa href="+code=guodeot" class="sref">guodeot"/a> *oa href="+code=aodeot" class="sref">kodeot"/a> 4/ 285/a>34/ 28o/a> truct oa href="+code=posix_acl"entry" class="sref">posix_acl_entryo/a>)*oa href="+code=apa class="sref">poa/a>, 1oa href="+code=ap" class="sref">poo/a>-3/ 28o/a> ctruct oa href="+code=posix_acl"entry" class="sref">posix_acl_entryo/a>)*oa href="+code=agrouptobj class="sref">kgrouptobj/a>;= oa href="+code=kNULL class="sref">pNULL/a>, 1oa href="+code=aoask_obj class="sref">koask_obj/a>;= oa href="+code=kNULL class="sref">pNULL/a>,3/ 28o/a> oa href="+code=auodeot" class="sref">guodeot"/a> *a href="+code=aodeo class="sref">kodeo/a> = ooa href="+code=aodeot" class="sref">kodeot"/a> 3pnotequiv_/a> = o03/ 29o/a>3/ 29o/a> sapa3 class="comment"> *o ss=ert(atomic_read(cl.>oa_refcount4= o1);*/o/spa3.4/ 29o/a>3/ 293/a> a href="+code=kFOREACH_CL._ENTRY class="sref">pFOREACH_CL._ENTRY/a>(oa href="+code=poa class="sref">poa/a>, 1a href="+code=acl" class="sref">aclo/a>, oa href="+code=sp" class="sref">poo/a>- {4/ 29o/a> iswitchoa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_tag class="sref">pe_tag/a>- {4/ 29o/a> caseoa href="+code=kCL._USER_OBJ class="sref">sCL._USER_OBJ/a>-:/ 29o/a> ooooooooooooooooos href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o ooa href="+code=codeo class="sref">kodeo/a> =at;oat;o 6) |o~a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> 3/ 29o/a> iiiiiiiiiiiiiiiiia href="+code=aodeo class="sref">kodeo/a> =amp;o ooa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> alt;alt; 6) |o~a href="+code=aS_IRWXU class="sref">pS_IRWXU/a> 3/ 29o/a> break3/ 300/a> i icaseoa href="+code=kCL._USER class="sref">sCL._USER/a>-:/ 30o/a> ooooooooocaseoa href="+code=kCL._GROUP class="sref">sCL._GROUP/a> :/ 302/a> oooooooooooooooooa href="+code=snotequiv_ class="sref">pnotequiv_/a> = o13/ 303/a> oooooooooiiiiiiiibreak3/ 30o/a>3 caseoa href="+code=kCL._GROUP_OBJ class="sref">sCL._GROUP_OBJ/a>-: ooooooooooooooooos href="+code=cgrouptobj class="sref">kgrouptobj/a>;= oa href="+code=koa class="sref">poa/a>,3 i iiiiiiiiibreak3 i icaseoa href="+code=kCL._OTHER class="sref">sCL._OTHER/a>-:/ 310/a> i i oa href="+code=soa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o oa href="+code=aodeo class="sref">kodeo/a> =|o~a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> 3/ 31o/a> oooooooooooooooooa href="+code=aodeo class="sref">kodeo/a> =amp;o oa href="+code=soa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> |o~a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> 3/ 312/a> ooooooooooooooooobreak3/ 33o/a>o/ 31o/a> iiiiiiiiicaseoa href="+code=kCL._MASK class="sref">sCL._MASK/a> :/ 31o/a> siiiiia href="+code=foask_obj class="sref">koask_obj/a>;= oa href="+code=koa class="sref">poa/a>,3/ 31o/a> ooooooooooooooooos href="+code=cnotequiv_ class="sref">pnotequiv_/a> = o13/ 31o/a> i iiiiiiiiibreak3/ 31o/a> / 319/a> i idefault:/ 320/a> i i oeturn o-a href="+code=cEIO class="sref">pEIO/a>;3/ 32o/a> o4/ 322/a> 4/ 32o/a>o/ 32o/a> f (oa href="+code=coask_obj class="sref">koask_obj/a>; {4/ 32o/a> a href="+code=aoask_obj class="sref">koask_obj/a>;>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o ooa href="+code=codeo class="sref">kodeo/a> =at;oat;o 3) |o~a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> 3/ 32o/a> oa href="+code=aodeo class="sref">kodeo/a> =amp;o ooa href="+code=coask_obj class="sref">koask_obj/a>;>oa href="+code=ae_perm class="sref">pe_perm/a> alt;alt; 3; |o~a href="+code=aS_IRWXG class="sref">pS_IRWXG/a> 3/ 32o/a> } elseo4/ 32o/a> f (o!a href="+code=cgrouptobj class="sref">kgrouptobj/a>;4/ 329/a> i ieturn o-a href="+code=cEIO class="sref">pEIO/a>;3/ 330/a> ia href="+code=cgrouptobj class="sref">kgrouptobj/a>;>oa href="+code=ae_perm class="sref">pe_perm/a> amp;o ooa href="+code=codeo class="sref">kodeo/a> =at;oat;o 3) |o~a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> 3/ 33o/a> oa href="+code=aodeo class="sref">kodeo/a> =amp;o ooa href="+code=cgrouptobj class="sref">kgrouptobj/a>;>oa href="+code=ae_perm class="sref">pe_perm/a> alt;alt; 3; |o~a href="+code=aS_IRWXG class="sref">pS_IRWXG/a> 3/ 332/a> 4/ 33o/a>o/ 33o/a> oa href="+code=aodeot" class="sref">kodeot"/a> = oooa href="+code=aodeot" class="sref">kodeot"/a> =amp;o ~a href="+code=aS_IRWXUGO class="sref">pS_IRWXUGO/a> ) |oa href="+code=fodeo class="sref">kodeo/a> 3/ 33o/a> eturn oa href="+code=fnotequiv_ class="sref">pnotequiv_/a> 3/ 33o/a> 4/ 33o/a> / 33o/a> spa3 class="comment"> *o/spa3.4/ 339/a> spa3 class="comment"> */ Modifyshe sCL.cforohe schode syscallo/spa3.4/ 3403a>ospa3 class="comment">/*/o/spa3.4/ 34o/a> iatiic ft oa href="+code=sosix_acl_elhode_masq class="sref">gosix_acl_elhode_masq/a>(otruct oa href="+code=posix_acl" class="sref">posix_aclo/a> *oa href="+code=acl" class="sref">aclo/a>, oa href="+code=guodeot" class="sref">guodeot"/a> *a href="+code=fodeo class="sref">kodeo/a> 4/ 342/a> 4/ 343/a> truct oa href="+code=posix_acl"entry" class="sref">posix_acl_entryo/a>)*oa href="+code=agrouptobj class="sref">kgrouptobj/a>;= oa href="+code=kNULL class="sref">pNULL/a>, 1oa href="+code=aoask_obj class="sref">koask_obj/a>;= oa href="+code=kNULL class="sref">pNULL/a>,3/ 34o/a> truct oa href="+code=posix_acl"entry" class="sref">posix_acl_entryo/a>)*oa href="+code=apa class="sref">poa/a>, 1oa href="+code=ap" class="sref">poo/a>-3/ 345/a>3/ 34o/a> apa3 class="comment"> *o ss=ert(atomic_read(cl.>oa_refcount4= o1);*/o/spa3.4/ 34o/a> / 34o/a> oa href="+code=aFOREACH_CL._ENTRY class="sref">pFOREACH_CL._ENTRY/a>(oa href="+code=poa class="sref">poa/a>, 1a href="+code=acl" class="sref">aclo/a>, oa href="+code=sp" class="sref">poo/a>- {4/ 349/a> iswitchoa href="+code=coa class="sref">poa/a>,>oa href="+code=ae_tag class="sref">pe_tag/a>- {4/ 350/a> i icaseoa href="+code=kCL._USER_OBJ class="sref">sCL._USER_OBJ/a>-:/ 35o/a> oooooooooooooooooa href="+code=soa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> ooa href="+code=codeo class="sref">kodeo/a> =amp;o a href="+code=aS_IRWXU class="sref">pS_IRWXU/a> ) at;oat;o 63/ 352/a> ooooooooooooooooobreak3/ 35o/a>o/ 35o/a> iiiiiiiiicaseoa href="+code=kCL._USER class="sref">sCL._USER/a>-:/ 35o/a> caseoa href="+code=kCL._GROUP class="sref">sCL._GROUP/a> :/ 35o/a> ooooooooooooooooobreak3/ 35o/a> / 35o/a> caseoa href="+code=kCL._GROUP_OBJ class="sref">sCL._GROUP_OBJ/a>-:/ 359/a> i iiiiiiiiia href="+code=fgrouptobj class="sref">kgrouptobj/a>;= oa href="+code=koa class="sref">poa/a>,3/ 360/a> i i obreak3/ 36o/a> / 362/a> ooooooooocaseoa href="+code=kCL._MASK class="sref">sCL._MASK/a> :/ 363/a> o iiiiiiiiia href="+code=foask_obj class="sref">koask_obj/a>;= oa href="+code=koa class="sref">poa/a>,3/ 34o/a> iiiiiiiii obreak3/ 365/a>3/ 36o/a> ooooooooocaseoa href="+code=kCL._OTHER class="sref">sCL._OTHER/a>-:/ 37o/a> i iiiiiiiiia href="+code=foa class="sref">poa/a>,>oa href="+code=ae_perm class="sref">pe_perm/a> ooa href="+code=codeo class="sref">kodeo/a> =amp;o a href="+code=aS_IRWXO class="sref">pS_IRWXO/a> )3/ 36o/a> break3/ 370/a> i idefault:/ 37o/a> oooooooooooooooooeturn o-a href="+code=cEIO class="sref">pEIO/a>;3/ 372/a> o4/ 373/a> 4/ 37o/a>3/ 37o/a> f (oa href="+code=coask_obj class="sref">koask_obj/a>; {4/ 37o/a> oa href="+code=coask_obj class="sref">koask_obj/a>;>oa href="+code=ae_perm class="sref">pe_perm/a> ooa href="+code=codeo class="sref">kodeo/a> =amp;o a href="+code=aS_IRWXG class="sref">pS_IRWXG/a> ) at;oat;o 33/ 37o/a> } elseo4/ 37o/a> f (o!a href="+code=cgrouptobj class="sref">kgrouptobj/a>;4pEIO/a>;3/ 380/a> ia href="+code=cgrouptobj class="sref">kgrouptobj/a>;>oa href="+code=ae_perm class="sref">pe_perm/a> ooa href="+code=codeo class="sref">kodeo/a> =amp;o a href="+code=aS_IRWXG class="sref">pS_IRWXG/a> ) at;oat;o 33/ 381/a> 4/ 38o/a>3/ 383/a> eturn o03/ 38o/a> 4/ 385/a>3/ 38o/a> nt / 38o/a> a href="+code=sosix_acl_elreate class="sref">gosix_acl_elreate/a>(otruct oa href="+code=posix_acl" class="sref">posix_aclo/a> *ooa href="+code=acl" class="sref">aclo/a>, oa href="+code=gfp_t" class="sref">gfp_to/a> oa href="+code=ffp_ class="sref">gfp_/a>, oa href="+code=guodeot" class="sref">guodeot"/a> *oa href="+code=aodeot" class="sref">kodeot"/a> 4/ 38o/a> 4posix_aclo/a> *oa href="+code=aclone class="sref">gclone/a>;= oa href="+code=kosix_acl_ellone class="sref">gosix_acl_ellone/a>(ooa href="+code=acl" class="sref">aclo/a>, oa href="+code=gfp_ class="sref">gfp_/a>,)3/ 390/a> ft oa href="+code=serr class="sref">perr/a>;= o-a href="+code=cENOMEM class="sref">sENOMEM/a>)3/ 39o/a> f (oa href="+code=aclone class="sref">gclone/a>; {4/ 392/a> oa href="+code=serr class="sref">perr/a>;= oa href="+code=sosix_acl_elreate_masq class="sref">gosix_acl_elreate_masq/a>(oa href="+code=aclone class="sref">gclone/a>; oa href="+code=godeot" class="sref">kodeot"/a> 43/ 393/a> of (oa href="+code=cerr class="sref">perr/a>;=alt; 0 {4/ 39o/a> i oa href="+code=sosix_acl_erelease class="sref">gosix_acl_erelease/a>(oa href="+code=aclone class="sref">gclone/a>;43/ 39o/a> a href="+code=aclone class="sref">gclone/a>;= oa href="+code=kNULL class="sref">pNULL/a>,3/ 39o/a> o4/ 39o/a> 4/ 39o/a> oa href="+code=aosix_acl_erelease class="sref">gosix_acl_erelease/a>(ooa href="+code=acl" class="sref">aclo/a>,43aclo/a>,= oa href="+code=kclone class="sref">gclone/a>;3/ 400/a> eturn oa href="+code=ferr class="sref">perr/a>;3/ 40o/a> 4 ef="+code=cENOMEXPORT_SYMBOass="sref">pNULLEXPORT_SYMBOaoa href="+code=poa clacl_elreate class="sref">gosix_acl_elreate/a>(otru href="fs/posix_acl.c#L63"" 4d4 303/40o4 30o/4>3pS_IRWXG/a> ) at;4dkoaskix_acl.c#L629" id/ 29o/a> mfs/posix_acl.c#L633" 4d
    gfp_to/a> oa href="+code=ffp_ class="sref">gfp_/a>, oa href="+code=guodeot" class="sref">guodeot"/a> *oa href="+code=aodeot" class="sref">kodeot"/a> 4/ 38o/as/posix_acl.c#L638" idpocl_erelease class="sref">go4230" clas4="line" nam <40ef">kgrouptobj/a>;= oa href="+code=kNULL cla>gosix_acl_ellone/a>(ooa href="+code=acl" class="sref">aclo/a>, oa href="+code=gfp_ class="sref">gfp_/a>,)3/ 390/a> ft oa href="+code=serr class="sref">perr/a>;= o-a href="+code=cE4 4 i icaseoa hr4f="+c4oL1209 / 20o/a63"" id/ 39o/a> f (oa href="+code=aclone class="sref">gclone/a>; {4 oa href="+code=serr class="sref">perr/a>;= oa href="+code4;oa href=4+code=ae_perm class="sre4">pe_4erm/a> amp;o oa href=a href="+code=aclone class="sref">gclone/a>; oa href="+code=godeot" code=acl" class="sref">aclo/a>, oa href="+code=guo3"" id/ 393/a> of idgclone/a>; {44oa/a>,>oa href="+co 39o/a> i oa href="+codref">perr/a>;= oa href="+code4;=poa clac="line" nam / 334/a>o<4 href="fs/posix_acl.c#L632" idef="fs/posix_acl.c#L63"" id/ 39o/a> a href="+code=aclone class="sref">gclone/a>;= oa4 4 iiiiiiiiicaseoa hr4f="+c41>poa/a>,3/ 39o/a> o4 :poa/a>,3aclo/a>,= oa href="+code=kclone4138" clas4="line" nam / 314/a> <4 href="fs/posid/ 400/a> eturn oa href="+code=ferr class="sref">perr/a>;3/ 320/a> 4 4 LLEXPORT_SYMBOaoa href="+codEIO/a>;3<4 href="fs/posix_acl.c#L541" id42627">/ 27o/a> f="fs/posix_acl.c#L63"" 4d4 303/40o,= oa href="+code=kclone4 4 322/a> 4
footer"> ass=original LXR softwo/a>ent"> *>,= oa hrhttp://sourceforge.net/projects/lxr">LXR nam unity 393/athis experi ent>,= oa hrmailto:lxr@ ux.no">lxr@ ux.no 393.
subfooter"> lxr. ux.no kindly hoscomment>,= oa hrhttp://www.redpill- pro.no">Redpill L pro AS 393/aprovider of L ux8">/sul7">/ 2nd* sratnam