linux/security/smack/smack_lsm.c
<<
" /spaion /formon a " href="../linux+v3.8.6/security/smack/smack_lsm.c">" img src="../.static/gfx/right.png" alt=">>">" /spaion" spai class="lxr_search">" " input typluehidden" namluenavtarget" n value">" input typluetext" namluesearch" iduesearch">" butttiotypluesubmit">Search" Prefsn /a>" /spaion /divon form acopti="ajax+*" method="post" onsubmit="return false;">" input typluehidden" namlueajax_lookup" idueajax_lookup" n value">" /formon" div class="headingbotttm">n div iduefile_contents"o
 
1 /a> spai class="comment">/* /spaion
 
2 /a> spai class="comment"> *  Simplified MAC Kernel (smack) security module /spaion
 
3 /a> spai class="comment"> * /spaion
 
4 /a> spai class="comment"> *  This file contains the smack hook funcopti implementaoptis. /spaion
 
5 /a> spai class="comment"> * /spaion
 
6 /a> spai class="comment"> *  Authors: /spaion
 
7 /a> spai class="comment"> *      Casey Schaufler <casey@schaufler-ca.com> /spaion
 
8 /a> spai class="comment"> *      Jarkko Sakkinen <jarkko.sakkinen@intel.com> /spaion
 
9 /a> spai class="comment"> * /spaion
 .9 spai class="comment"> *  Copyright (C) 2007 Casey Schaufler <casey@schaufler-ca.com> /spaion
 11 /a> spai class="comment"> *  Copyright (C) 2009 Hewlett-Packard Development Compaiy, L.P. /spaion
 12 /a> spai class="comment"> *                Paul Moore <paul@paul-moore.com> /spaion
 13 /a> spai class="comment"> *  Copyright (C) 2010 Nokia Corporaopti /spaion
 14 /a> spai class="comment"> *  Copyright (C) 2011 Intel Corporaopti. /spaion
 15 /a> spai class="comment"> * /spaion
 16 /a> spai class="comment"> *      This program is free software; you cai redistribute it and/or modify /spaion
 17 /a> spai class="comment"> *      it under the terms of the GNU General Public License verspti 2, /spaion
 18 /a> spai class="comment"> *      as published by the Free Software Foundaopti. /spaion
 19 /a> spai class="comment"> */ /spaion
 29n
 21 /a>#include <linux/xattr.h /a>>n
 22 /a>#include <linux/pagemap.h /a>>n
 23 /a>#include <linux/mount.h /a>>n
 24 /a>#include <linux/stat.h /a>>n
 25 /a>#include <linux/kd.h /a>>n
 26 /a>#include <asm/ioctls.h /a>>n
 27 /a>#include <linux/ip.h /a>>n
 28 /a>#include <linux/tcp.h /a>>n
 29 /a>#include <linux/udp.h /a>>n
 30 /a>#include <linux/slab.h /a>>n
 31 /a>#include <linux/mutex.h /a>>n
 32 /a>#include <linux/pipe_fs_i.h /a>>n
 33 /a>#include <net/cipso_ipv4.h /a>>n
 34 /a>#include <linux/audit.h /a>>n
 35 /a>#include <linux/magic.h /a>>n
 36 /a>#include <linux/dcache.h /a>>n
 37 /a>#include <linux/personality.h /a>>n
 38 /a>#include <linux/msg.h /a>>n
 39 /a>#include <linux/shm.h /a>>n
 40 /a>#include <linux/binfmts.h /a>>n
 41 /a>#include "smack.h /a>"n
 42n
 43 /a>#define
 a href="+code=task_security" class="sref">task_security /a>( a href="+code=task" class="sref">task /a>)     ( a href="+code=task_cred_xxx" class="sref">task_cred_xxx /a>(( a href="+code=task" class="sref">task /a>),
 a href="+code=security" class="sref">security /a>))n
 44n
 45 /a>#define
 a href="+code=TRANS_TRUE" class="sref">TRANS_TRUE /a>	  
 
 spai class="string">"TRUE"
 46 /a>#define
 a href="+code=TRANS_TRUE_SIZE" class="sref">TRANS_TRUE_SIZE /a>	4n
 47n
 48 /a> spai class="comment">/** /spaion
 49 /a> spai class="comment"> * smk_fetch - Fetch the smack label from a file. /spaion
 59 spai class="comment"> * @ip: a pointer to the inode /spaion
 51 /a> spai class="comment"> * @dp: a pointer to the dentry /spaion
 52 /a> spai class="comment"> * /spaion
 53 /a> spai class="comment"> * Returns a pointer to the master list entry for the Smack label /spaion
 54 /a> spai class="comment"> * or NULL if there was no label to fetch. /spaion
 55 /a> spai class="comment"> */ /spaion
 56 /a>static char * a href="+code=smk_fetch" class="sref">smk_fetch /a>(const char * a href="+code=naml" class="sref">naml /a>, struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=ip" class="sref">ip /a>, struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=dp" class="sref">dp /a>)n
 57{n
 58 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>;n
 59 /a>	  
 
  char * a href="+code=buffer" class="sref">buffer /a>;n
 60 /a>	  
 
  char * a href="+code=result" class="sref">result /a>	=
 a href="+code=NULL" class="sref">NULL /a>;n
 61n
 62 /a>	  
 
  if ( a href="+code=ip" class="sref">ip /a>-> a href="+code=i_op" class="sref">i_op /a>-> a href="+code=getxattr" class="sref">getxattr /a>	==
 a href="+code=NULL" class="sref">NULL /a>)n
 63 /a>	  
 
          return  a href="+code=NULL" class="sref">NULL /a>;n
 64n
 65 /a>	  
 
   a href="+code=buffer" class="sref">buffer /a>	=
 a href="+code=kzalloc" class="sref">kzalloc /a>( a href="+code=SMK_LONGLABEL" class="sref">SMK_LONGLABEL /a>,  a href="+code=GFP_KERNEL" class="sref">GFP_KERNEL /a>);n
 66 /a>	  
 
  if ( a href="+code=buffer" class="sref">buffer /a>	==
 a href="+code=NULL" class="sref">NULL /a>)n
 67 /a>	  
 
          return  a href="+code=NULL" class="sref">NULL /a>;n
 68n
 69 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=ip" class="sref">ip /a>-> a href="+code=i_op" class="sref">i_op /a>-> a href="+code=getxattr" class="sref">getxattr /a>( a href="+code=dp" class="sref">dp /a>,  a href="+code=naml" class="sref">naml /a>,  a href="+code=buffer" class="sref">buffer /a>,  a href="+code=SMK_LONGLABEL" class="sref">SMK_LONGLABEL /a>);n
 70 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	> 0)n
 71 /a>	  
 
           a href="+code=result" class="sref">result /a>	=
 a href="+code=smk_import" class="sref">smk_import /a>( a href="+code=buffer" class="sref">buffer /a>,  a href="+code=rc" class="sref">rc /a>);n
 72n
 73 /a>	  
 
   a href="+code=kfree" class="sref">kfree /a>( a href="+code=buffer" class="sref">buffer /a>);n
 74n
 75 /a>	  
 
  return  a href="+code=result" class="sref">result /a>;n
 76 /a>}n
 77n
 78 /a> spai class="comment">/** /spaion
 79 /a> spai class="comment"> * new_inode_smack - allocate ai inode security blob /spaion
 89 spai class="comment"> * @smack: a pointer to the Smack label to use in the blob /spaion
 81 /a> spai class="comment"> * /spaion
 82 /a> spai class="comment"> * Returns the new blob or NULL if there's no memory available /spaion
 83 /a> spai class="comment"> */ /spaion
 84 /a>struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+code=new_inode_smack" class="sref">new_inode_smack /a>(char * a href="+code=smack" class="sref">smack /a>)n
 85{n
 86 /a>	  
 
  struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+code=isp" class="sref">isp /a>;n
 87n
 88 /a>	  
 
   a href="+code=isp" class="sref">isp /a>	=
 a href="+code=kzalloc" class="sref">kzalloc /a>(sizeof(struct
 a href="+code=inode_smack" class="sref">inode_smack /a>),
 a href="+code=GFP_NOFS" class="sref">GFP_NOFS /a>);n
 89 /a>	  
 
  if ( a href="+code=isp" class="sref">isp /a>	==
 a href="+code=NULL" class="sref">NULL /a>)n
 90 /a>	  
 
          return  a href="+code=NULL" class="sref">NULL /a>;n
 91n
 92 /a>	  
 
   a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_inode" class="sref">smk_inode /a>	=
 a href="+code=smack" class="sref">smack /a>;n
 93 /a>	  
 
   a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_flags" class="sref">smk_flags /a>	=
0;n
 94 /a>	  
 
   a href="+code=mutex_init" class="sref">mutex_init /a>(& a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_lock" class="sref">smk_lock /a>);n
 95n
 96 /a>	  
 
  return  a href="+code=isp" class="sref">isp /a>;n
 97 /a>}n
 98n
 99 /a> spai class="comment">/** /spaion
100 /a> spai class="comment"> * new_task_smack - allocate a task security blob /spaion
101 /a> spai class="comment"> * @smack: a pointer to the Smack label to use in the blob /spaion
102 /a> spai class="comment"> * /spaion
103 /a> spai class="comment"> * Returns the new blob or NULL if there's no memory available /spaion
104 /a> spai class="comment"> */ /spaion
105 /a>static struct
 a href="+code=task_smack" class="sref">task_smack /a> * a href="+code=new_task_smack" class="sref">new_task_smack /a>(char * a href="+code=task" class="sref">task /a>, char * a href="+code=forked" class="sref">forked /a>,  a href="+code=gfp_t" class="sref">gfp_t /a>  a href="+code=gfp" class="sref">gfp /a>)n
106{n
107 /a>	  
 
  struct
 a href="+code=task_smack" class="sref">task_smack /a> * a href="+code=tsp" class="sref">tsp /a>;n
108n
109 /a>	  
 
   a href="+code=tsp" class="sref">tsp /a>	=
 a href="+code=kzalloc" class="sref">kzalloc /a>(sizeof(struct
 a href="+code=task_smack" class="sref">task_smack /a>),
 a href="+code=gfp" class="sref">gfp /a>);n
110 /a>	  
 
  if ( a href="+code=tsp" class="sref">tsp /a>	==
 a href="+code=NULL" class="sref">NULL /a>)n
111 /a>	  
 
          return  a href="+code=NULL" class="sref">NULL /a>;n
112n
113 /a>	  
 
   a href="+code=tsp" class="sref">tsp /a>-> a href="+code=smk_task" class="sref">smk_task /a>	=
 a href="+code=task" class="sref">task /a>;n
114 /a>	  
 
   a href="+code=tsp" class="sref">tsp /a>-> a href="+code=smk_forked" class="sref">smk_forked /a>	=
 a href="+code=forked" class="sref">forked /a>;n
115 /a>	  
 
   a href="+code=INIT_LIST_HEAD" class="sref">INIT_LIST_HEAD /a>(& a href="+code=tsp" class="sref">tsp /a>-> a href="+code=smk_rules" class="sref">smk_rules /a>);n
116 /a>	  
 
   a href="+code=mutex_init" class="sref">mutex_init /a>(& a href="+code=tsp" class="sref">tsp /a>-> a href="+code=smk_rules_lock" class="sref">smk_rules_lock /a>);n
117n
118 /a>	  
 
  return  a href="+code=tsp" class="sref">tsp /a>;n
119 /a>}n
129n
121 /a> spai class="comment">/** /spaion
122 /a> spai class="comment"> * smk_copy_rules - copy a rule set /spaion
123 /a> spai class="comment"> * @nhead - new rules header pointer /spaion
124 /a> spai class="comment"> * @ohead - old rules header pointer /spaion
125 /a> spai class="comment"> * /spaion
126 /a> spai class="comment"> * Returns 0 on success, -ENOMEM on error /spaion
127 /a> spai class="comment"> */ /spaion
128 /a>static int
 a href="+code=smk_copy_rules" class="sref">smk_copy_rules /a>(struct
 a href="+code=list_head" class="sref">list_head /a> * a href="+code=nhead" class="sref">nhead /a>, struct
 a href="+code=list_head" class="sref">list_head /a> * a href="+code=ohead" class="sref">ohead /a>,n
129 /a>	  
 
                           a href="+code=gfp_t" class="sref">gfp_t /a>  a href="+code=gfp" class="sref">gfp /a>)n
130 /a>{n
131 /a>	  
 
  struct
 a href="+code=smack_rule" class="sref">smack_rule /a> * a href="+code=nrp" class="sref">nrp /a>;n
132 /a>	  
 
  struct
 a href="+code=smack_rule" class="sref">smack_rule /a> * a href="+code=orp" class="sref">orp /a>;n
133 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>	=
0;n
134n
135 /a>	  
 
   a href="+code=INIT_LIST_HEAD" class="sref">INIT_LIST_HEAD /a>( a href="+code=nhead" class="sref">nhead /a>);n
136 /a>n
137 /a>	  
 
   a href="+code=list_for_each_entry_rcu" class="sref">list_for_each_entry_rcu /a>( a href="+code=orp" class="sref">orp /a>,
 a href="+code=ohead" class="sref">ohead /a>,  a href="+code=list" class="sref">list /a>) {n
138 /a>	  
 
           a href="+code=nrp" class="sref">nrp /a>	=
 a href="+code=kzalloc" class="sref">kzalloc /a>(sizeof(struct
 a href="+code=smack_rule" class="sref">smack_rule /a>),
 a href="+code=gfp" class="sref">gfp /a>);n
139 /a>	  
 
          if ( a href="+code=nrp" class="sref">nrp /a>	==
 a href="+code=NULL" class="sref">NULL /a>) {n
140 /a>	  
 
                   a href="+code=rc" class="sref">rc /a>	=
- a href="+code=ENOMEM" class="sref">ENOMEM /a>;n
141 /a>	  
 
                  break;n
142 /a>	  
 
          }n
143 /a>	  
 
          * a href="+code=nrp" class="sref">nrp /a>	=
* a href="+code=orp" class="sref">orp /a>;n
144 /a>	  
 
           a href="+code=list_add_rcu" class="sref">list_add_rcu /a>(& a href="+code=nrp" class="sref">nrp /a>-> a href="+code=list" class="sref">list /a>,  a href="+code=nhead" class="sref">nhead /a>);n
145 /a>	  
 
  }n
146 /a>	  
 
  return  a href="+code=rc" class="sref">rc /a>;n
147 /a>}n
148n
149 /a> spai class="comment">/* /spaion
159 spai class="comment"> * LSM hooks. /spaion
151 /a> spai class="comment"> * We he, that is fun! /spaion
152 /a> spai class="comment"> */ /spaion
153 /a>n
154 /a> spai class="comment">/** /spaion
155 /a> spai class="comment"> * smack_ptrace_access_check - Smack approval on PTRACE_ATTACH /spaion
156 /a> spai class="comment"> * @ctp: child task pointer /spaion
157 /a> spai class="comment"> * @mode: ptrace attachment mode /spaion
158 /a> spai class="comment"> * /spaion
159 /a> spai class="comment"> * Returns 0 if access is OK, ai error code otherwise /spaion
169 spai class="comment"> * /spaion
161 /a> spai class="comment"> * Do the capability checks, aid require read aid write. /spaion
162 /a> spai class="comment"> */ /spaion
163 /a>static int
 a href="+code=smack_ptrace_access_check" class="sref">smack_ptrace_access_check /a>(struct
 a href="+code=task_struct" class="sref">task_struct /a> * a href="+code=ctp" class="sref">ctp /a>, unsigned int
 a href="+code=mode" class="sref">mode /a>)n
164{n
165 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>;n
166 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>  a href="+code=ad" class="sref">ad /a>;n
167 /a>	  
 
  char * a href="+code=tsp" class="sref">tsp /a>;n
168n
169 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=cap_ptrace_access_check" class="sref">cap_ptrace_access_check /a>( a href="+code=ctp" class="sref">ctp /a>,  a href="+code=mode" class="sref">mode /a>);n
170 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	!= 0)n
171 /a>	  
 
          return  a href="+code=rc" class="sref">rc /a>;n
172n
173 /a>	  
 
   a href="+code=tsp" class="sref">tsp /a>	=
 a href="+code=smk_of_task" class="sref">smk_of_task /a>( a href="+code=task_security" class="sref">task_security /a>( a href="+code=ctp" class="sref">ctp /a>));n
174 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_TASK" class="sref">LSM_AUDIT_DATA_TASK /a>);n
175 /a>	  
 
   a href="+code=smk_ad_setfield_u_tsk" class="sref">smk_ad_setfield_u_tsk /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=ctp" class="sref">ctp /a>);n
176 /a>n
177 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=tsp" class="sref">tsp /a>,  a href="+code=MAY_READWRITE" class="sref">MAY_READWRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
178 /a>	  
 
  return  a href="+code=rc" class="sref">rc /a>;n
179 /a>}n
189n
181 /a> spai class="comment">/** /spaion
182 /a> spai class="comment"> * smack_ptrace_traceme - Smack approval on PTRACE_TRACEME /spaion
183 /a> spai class="comment"> * @ptp: parent task pointer /spaion
184 /a> spai class="comment"> * /spaion
185 /a> spai class="comment"> * Returns 0 if access is OK, ai error code otherwise /spaion
186 /a> spai class="comment"> * /spaion
187 /a> spai class="comment"> * Do the capability checks, aid require read aid write. /spaion
188 /a> spai class="comment"> */ /spaion
189 /a>static int
 a href="+code=smack_ptrace_traceme" class="sref">smack_ptrace_traceme /a>(struct
 a href="+code=task_struct" class="sref">task_struct /a> * a href="+code=ptp" class="sref">ptp /a>)n
190 /a>{n
191 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>;n
192 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>  a href="+code=ad" class="sref">ad /a>;n
193 /a>	  
 
  char * a href="+code=tsp" class="sref">tsp /a>;n
194n
195 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=cap_ptrace_traceme" class="sref">cap_ptrace_traceme /a>( a href="+code=ptp" class="sref">ptp /a>);n
196 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	!= 0)n
197 /a>	  
 
          return  a href="+code=rc" class="sref">rc /a>;n
198n
199 /a>	  
 
   a href="+code=tsp" class="sref">tsp /a>	=
 a href="+code=smk_of_task" class="sref">smk_of_task /a>( a href="+code=task_security" class="sref">task_security /a>( a href="+code=ptp" class="sref">ptp /a>));n
200 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_TASK" class="sref">LSM_AUDIT_DATA_TASK /a>);n
201 /a>	  
 
   a href="+code=smk_ad_setfield_u_tsk" class="sref">smk_ad_setfield_u_tsk /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=ptp" class="sref">ptp /a>);n
202n
203 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=tsp" class="sref">tsp /a>,  a href="+code=MAY_READWRITE" class="sref">MAY_READWRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
204 /a>	  
 
  return  a href="+code=rc" class="sref">rc /a>;n
205 /a>}n
206 /a>n
207 /a> spai class="comment">/** /spaion
208 /a> spai class="comment"> * smack_syslog - Smack approval on syslog /spaion
209 /a> spai class="comment"> * @type: message type /spaion
219 spai class="comment"> * /spaion
211 /a> spai class="comment"> * Require that the task has the floor label /spaion
212 /a> spai class="comment"> * /spaion
213 /a> spai class="comment"> * Returns 0 on success, error code otherwise. /spaion
214 /a> spai class="comment"> */ /spaion
215 /a>static int
 a href="+code=smack_syslog" class="sref">smack_syslog /a>(int
 a href="+code=typefrom_file" class="sref">typefrom_file /a>)n
216{n
217 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>	=
0;n
218 /a>	  
 
  char * a href="+code=sp" class="sref">sp /a>	=
 a href="+code=smk_of_current" class="sref">smk_of_current /a>();n
219 /a>n
220 /a>	  
 
  if ( a href="+code=smack_privileged" class="sref">smack_privileged /a>( a href="+code=CAP_MAC_OVERRIDE" class="sref">CAP_MAC_OVERRIDE /a>))n
221 /a>	  
 
          return 0;n
222n
223 /a>	  
 
   if ( a href="+code=sp" class="sref">sp /a>	!=
 a href="+code=smack_known_floor" class="sref">smack_known_floor /a>. a href="+code=smk_known" class="sref">smk_known /a>)n
224 /a>	  
 
           a href="+code=rc" class="sref">rc /a>	=
- a href="+code=EACCES" class="sref">EACCES /a>;n
225n
226 /a>	  
 
  return  a href="+code=rc" class="sref">rc /a>;n
227 /a>}n
228n
229 /a>n
239 spai class="comment">/* /spaion
231 /a> spai class="comment"> * Superblock Hooks. /spaion
232 /a> spai class="comment"> */ /spaion
233 /a>n
234 /a> spai class="comment">/** /spaion
235 /a> spai class="comment"> * smack_sb_alloc_security - allocate a superblock blob /spaion
236 /a> spai class="comment"> * @sb: the superblock getting the blob /spaion
237 /a> spai class="comment"> * /spaion
238 /a> spai class="comment"> * Returns 0 on success or -ENOMEM on error. /spaion
239 /a> spai class="comment"> */ /spaion
240 /a>static int
 a href="+code=smack_sb_alloc_security" class="sref">smack_sb_alloc_security /a>(struct
 a href="+code=super_block" class="sref">super_block /a> * a href="+code=sb" class="sref">sb /a>)n
241 /a>{n
242 /a>	  
 
  struct
 a href="+code=superblock_smack" class="sref">superblock_smack /a> * a href="+code=sbsp" class="sref">sbsp /a>;n
243 /a>n
244 /a>	  
 
   a href="+code=sbsp" class="sref">sbsp /a>	=
 a href="+code=kzalloc" class="sref">kzalloc /a>(sizeof(struct
 a href="+code=superblock_smack" class="sref">superblock_smack /a>),
 a href="+code=GFP_KERNEL" class="sref">GFP_KERNEL /a>);n
245n
246 /a>	  
 
  if ( a href="+code=sbsp" class="sref">sbsp /a>	==
 a href="+code=NULL" class="sref">NULL /a>)n
247 /a>	  
 
          return - a href="+code=ENOMEM" class="sref">ENOMEM /a>;n
248n
249 /a>	  
 
   a href="+code=sbsp" class="sref">sbsp /a>-> a href="+code=smk_root" class="sref">smk_root /a>	=
 a href="+code=smack_known_floor" class="sref">smack_known_floor /a>. a href="+code=smk_known" class="sref">smk_known /a>;n
250 /a>	  
 
   a href="+code=sbsp" class="sref">sbsp /a>-> a href="+code=smk_default" class="sref">smk_default /a>	=
 a href="+code=smack_known_floor" class="sref">smack_known_floor /a>. a href="+code=smk_known" class="sref">smk_known /a>;n
251 /a>	  
 
   a href="+code=sbsp" class="sref">sbsp /a>-> a href="+code=smk_floor" class="sref">smk_floor /a>	=
 a href="+code=smack_known_floor" class="sref">smack_known_floor /a>. a href="+code=smk_known" class="sref">smk_known /a>;n
252 /a>	  
 
   a href="+code=sbsp" class="sref">sbsp /a>-> a href="+code=smk_hat" class="sref">smk_hat /a>	=
 a href="+code=smack_known_hat" class="sref">smack_known_hat /a>. a href="+code=smk_known" class="sref">smk_known /a>;n
253 /a>	  
 
   a href="+code=sbsp" class="sref">sbsp /a>-> a href="+code=smk_initialized" class="sref">smk_initialized /a>	=
0;n
254n
255 /a>	  
 
   a href="+code=sb" class="sref">sb /a>-> a href="+code=s_security" class="sref">s_security /a>	=
 a href="+code=sbsp" class="sref">sbsp /a>;n
256 /a>n
257 /a>	  
 
  return 0;n
258 /a>}n
259 /a>n
269 spai class="comment">/** /spaion
261 /a> spai class="comment"> * smack_sb_free_security - free a superblock blob /spaion
262 /a> spai class="comment"> * @sb: the superblock getting the blob /spaion
263 /a> spai class="comment"> * /spaion
264 /a> spai class="comment"> */ /spaion
265 /a>static void
 a href="+code=smack_sb_free_security" class="sref">smack_sb_free_security /a>(struct
 a href="+code=super_block" class="sref">super_block /a> * a href="+code=sb" class="sref">sb /a>)n
266{n
267 /a>	  
 
   a href="+code=kfree" class="sref">kfree /a>( a href="+code=sb" class="sref">sb /a>-> a href="+code=s_security" class="sref">s_security /a>);n
268 /a>	  
 
   a href="+code=sb" class="sref">sb /a>-> a href="+code=s_security" class="sref">s_security /a>	=
 a href="+code=NULL" class="sref">NULL /a>;n
269 /a>}n
279n
271 /a> spai class="comment">/** /spaion
272 /a> spai class="comment"> * smack_sb_copy_data - copy mount options data for processing /spaion
273 /a> spai class="comment"> * @orig: where to start /spaion
274 /a> spai class="comment"> * @smackopts: mount options string /spaion
275 /a> spai class="comment"> * /spaion
276 /a> spai class="comment"> * Returns 0 on success or -ENOMEM on error. /spaion
277 /a> spai class="comment"> * /spaion
278 /a> spai class="comment"> * Copy the Smack specific mount options out of the mount /spaion
279 /a> spai class="comment"> * options list. /spaion
289 spai class="comment"> */ /spaion
281 /a>static int
 a href="+code=smack_sb_copy_data" class="sref">smack_sb_copy_data /a>(char * a href="+code=orig" class="sref">orig /a>, char * a href="+code=smackopts" class="sref">smackopts /a>)n
282 /a>{n
283 /a>	  
 
  char * a href="+code=cp" class="sref">cp /a>, * a href="+code=commap" class="sref">commap /a>, * a href="+code=otheropts" class="sref">otheropts /a>, * a href="+code=dp" class="sref">dp /a>;n
284n
285 /a>	  
 
   a href="+code=otheropts" class="sref">otheropts /a>	=
(char *) a href="+code=get_zeroed_page" class="sref">get_zeroed_page /a>( a href="+code=GFP_KERNEL" class="sref">GFP_KERNEL /a>);n
286 /a>	  
 
  if ( a href="+code=otheropts" class="sref">otheropts /a>	==
 a href="+code=NULL" class="sref">NULL /a>)n
287 /a>	  
 
          return - a href="+code=ENOMEM" class="sref">ENOMEM /a>;n
288n
289 /a>	  
 
  for ( a href="+code=cp" class="sref">cp /a>	=
 a href="+code=orig" class="sref">orig /a>,  a href="+code=commap" class="sref">commap /a>	=
 a href="+code=orig" class="sref">orig /a>;  a href="+code=commap" class="sref">commap /a>	!=
 a href="+code=NULL" class="sref">NULL /a>;  a href="+code=cp" class="sref">cp /a>	=
 a href="+code=commap" class="sref">commap /a>	+ 1) {n
290 /a>	  
 
          if ( a href="+code=strstr" class="sref">strstr /a>( a href="+code=cp" class="sref">cp /a>,  a href="+code=SMK_FSDEFAULT" class="sref">SMK_FSDEFAULT /a>)	==
 a href="+code=cp" class="sref">cp /a>)n
291 /a>	  
 
                   a href="+code=dp" class="sref">dp /a>	=
 a href="+code=smackopts" class="sref">smackopts /a>;n
292 /a>	  
 
          else if ( a href="+code=strstr" class="sref">strstr /a>( a href="+code=cp" class="sref">cp /a>,  a href="+code=SMK_FSFLOOR" class="sref">SMK_FSFLOOR /a>)	==
 a href="+code=cp" class="sref">cp /a>)n
293 /a>	  
 
                   a href="+code=dp" class="sref">dp /a>	=
 a href="+code=smackopts" class="sref">smackopts /a>;n
294 /a>	  
 
          else if ( a href="+code=strstr" class="sref">strstr /a>( a href="+code=cp" class="sref">cp /a>,  a href="+code=SMK_FSHAT" class="sref">SMK_FSHAT /a>)	==
 a href="+code=cp" class="sref">cp /a>)n
295 /a>	  
 
                   a href="+code=dp" class="sref">dp /a>	=
 a href="+code=smackopts" class="sref">smackopts /a>;n
296 /a>	  
 
          else if ( a href="+code=strstr" class="sref">strstr /a>( a href="+code=cp" class="sref">cp /a>,  a href="+code=SMK_FSROOT" class="sref">SMK_FSROOT /a>)	==
 a href="+code=cp" class="sref">cp /a>)n
297 /a>	  
 
                   a href="+code=dp" class="sref">dp /a>	=
 a href="+code=smackopts" class="sref">smackopts /a>;n
298 /a>	  
 
          elsen
299 /a>	  
 
                   a href="+code=dp" class="sref">dp /a>	=
 a href="+code=otheropts" class="sref">otheropts /a>;n
309n
301 /a>	  
 
           a href="+code=commap" class="sref">commap /a>	=
 a href="+code=strchr" class="sref">strchr /a>( a href="+code=cp" class="sref">cp /a>,  spai class="string">',' /spaio);n
302 /a>	  
 
          if ( a href="+code=commap" class="sref">commap /a>	!=
 a href="+code=NULL" class="sref">NULL /a>)n
303 /a>	  
 
                  * a href="+code=commap" class="sref">commap /a>	=
 spai class="string">'\0' /spaio;n
304n
305 /a>	  
 
          if (* a href="+code=dp" class="sref">dp /a>	!=
 spai class="string">'\0' /spaio)n
306 /a>	  
 
                   a href="+code=strcat" class="sref">strcat /a>( a href="+code=dp" class="sref">dp /a>,  spai class="string">"," /spaio);n
307 /a>	  
 
           a href="+code=strcat" class="sref">strcat /a>( a href="+code=dp" class="sref">dp /a>,  a href="+code=cp" class="sref">cp /a>);n
308 /a>	  
 
  }n
309 /a>n
310 /a>	  
 
   a href="+code=strcpy" class="sref">strcpy /a>( a href="+code=orig" class="sref">orig /a>,  a href="+code=otheropts" class="sref">otheropts /a>);n
311 /a>	  
 
   a href="+code=free_page" class="sref">free_page /a>((unsigned long) a href="+code=otheropts" class="sref">otheropts /a>);n
312n
313 /a>	  
 
  return 0;n
314 /a>}n
315n
316 /a> spai class="comment">/** /spaion
317 /a> spai class="comment"> * smack_sb_kern_mount - Smack specific mount processing /spaion
318 /a> spai class="comment"> * @sb: the file system superblock /spaion
319 /a> spai class="comment"> * @flags: the mount flags /spaion
329 spai class="comment"> * @data: the smack mount options /spaion
321 /a> spai class="comment"> * /spaion
322 /a> spai class="comment"> * Returns 0 on success, ai error code on failure /spaion
323 /a> spai class="comment"> */ /spaion
324 /a>static int
 a href="+code=smack_sb_kern_mount" class="sref">smack_sb_kern_mount /a>(struct
 a href="+code=super_block" class="sref">super_block /a> * a href="+code=sb" class="sref">sb /a>, int
 a href="+code=flags" class="sref">flags /a>, void
* a href="+code=data" class="sref">data /a>)n
325{n
326 /a>	  
 
  struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=root" class="sref">root /a>	=
 a href="+code=sb" class="sref">sb /a>-> a href="+code=s_root" class="sref">s_root /a>;n
327 /a>	  
 
  struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=inode" class="sref">inode /a> =
 a href="+code=root" class="sref">root /a>-> a href="+code=d_inode" class="sref">d_inode /a>;n
328 /a>	  
 
  struct
 a href="+code=superblock_smack" class="sref">superblock_smack /a> * a href="+code=sp" class="sref">sp /a>	=
 a href="+code=sb" class="sref">sb /a>-> a href="+code=s_security" class="sref">s_security /a>;n
329 /a>	  
 
  struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+code=isp" class="sref">isp /a>;n
330 /a>	  
 
  char * a href="+code=op" class="sref">op /a>;n
331 /a>	  
 
  char * a href="+code=commap" class="sref">commap /a>;n
332 /a>	  
 
  char * a href="+code=nsp" class="sref">nsp /a>;n
333 /a>n
334 /a>	  
 
  if ( a href="+code=sp" class="sref">sp /a>-> a href="+code=smk_initialized" class="sref">smk_initialized /a>	!= 0)n
335 /a>	  
 
          return 0;n
336 /a>n
337 /a>	  
 
   a href="+code=sp" class="sref">sp /a>-> a href="+code=smk_initialized" class="sref">smk_initialized /a>	= 1;n
338n
339 /a>	  
 
  for ( a href="+code=op" class="sref">op /a>	=
 a href="+code=data" class="sref">data /a>;  a href="+code=op" class="sref">op /a>	!=
 a href="+code=NULL" class="sref">NULL /a>;  a href="+code=op" class="sref">op /a>	=
 a href="+code=commap" class="sref">commap /a>) {n
340 /a>	  
 
           a href="+code=commap" class="sref">commap /a>	=
 a href="+code=strchr" class="sref">strchr /a>( a href="+code=op" class="sref">op /a>,  spai class="string">',' /spaio);n
341 /a>	  
 
          if ( a href="+code=commap" class="sref">commap /a>	!=
 a href="+code=NULL" class="sref">NULL /a>)n
342 /a>	  
 
                  * a href="+code=commap" class="sref">commap /a>++	=
 spai class="string">'\0' /spaio;n
343 /a>n
344 /a>	  
 
          if ( a href="+code=strncmp" class="sref">strncmp /a>( a href="+code=op" class="sref">op /a>,  a href="+code=SMK_FSHAT" class="sref">SMK_FSHAT /a>,  a href="+code=strlen" class="sref">strlen /a>( a href="+code=SMK_FSHAT" class="sref">SMK_FSHAT /a>))	==
0) {n
345 /a>	  
 
                   a href="+code=op" class="sref">op /a>	+=
 a href="+code=strlen" class="sref">strlen /a>( a href="+code=SMK_FSHAT" class="sref">SMK_FSHAT /a>);n
346 /a>	  
 
                   a href="+code=nsp" class="sref">nsp /a>	=
 a href="+code=smk_import" class="sref">smk_import /a>( a href="+code=op" class="sref">op /a>, 0);n
347 /a>	  
 
                  if ( a href="+code=nsp" class="sref">nsp /a>	!=
 a href="+code=NULL" class="sref">NULL /a>)n
348 /a>	  
 
                           a href="+code=sp" class="sref">sp /a>-> a href="+code=smk_hat" class="sref">smk_hat /a>	=
 a href="+code=nsp" class="sref">nsp /a>;n
349 /a>	  
 
          } else if ( a href="+code=strncmp" class="sref">strncmp /a>( a href="+code=op" class="sref">op /a>,  a href="+code=SMK_FSFLOOR" class="sref">SMK_FSFLOOR /a>,  a href="+code=strlen" class="sref">strlen /a>( a href="+code=SMK_FSFLOOR" class="sref">SMK_FSFLOOR /a>))	==
0) {n
350 /a>	  
 
                   a href="+code=op" class="sref">op /a>	+=
 a href="+code=strlen" class="sref">strlen /a>( a href="+code=SMK_FSFLOOR" class="sref">SMK_FSFLOOR /a>);n
351 /a>	  
 
                   a href="+code=nsp" class="sref">nsp /a>	=
 a href="+code=smk_import" class="sref">smk_import /a>( a href="+code=op" class="sref">op /a>, 0);n
352 /a>	  
 
                  if ( a href="+code=nsp" class="sref">nsp /a>	!=
 a href="+code=NULL" class="sref">NULL /a>)n
353 /a>	  
 
                           a href="+code=sp" class="sref">sp /a>-> a href="+code=smk_floor" class="sref">smk_floor /a>	=
 a href="+code=nsp" class="sref">nsp /a>;n
354 /a>	  
 
          } else if ( a href="+code=strncmp" class="sref">strncmp /a>( a href="+code=op" class="sref">op /a>,  a href="+code=SMK_FSDEFAULT" class="sref">SMK_FSDEFAULT /a>,n
355 /a>	  
 
                              a href="+code=strlen" class="sref">strlen /a>( a href="+code=SMK_FSDEFAULT" class="sref">SMK_FSDEFAULT /a>))	==
0) {n
356 /a>	  
 
                   a href="+code=op" class="sref">op /a>	+=
 a href="+code=strlen" class="sref">strlen /a>( a href="+code=SMK_FSDEFAULT" class="sref">SMK_FSDEFAULT /a>);n
357 /a>	  
 
                   a href="+code=nsp" class="sref">nsp /a>	=
 a href="+code=smk_import" class="sref">smk_import /a>( a href="+code=op" class="sref">op /a>, 0);n
358 /a>	  
 
                  if ( a href="+code=nsp" class="sref">nsp /a>	!=
 a href="+code=NULL" class="sref">NULL /a>)n
359 /a>	  
 
                           a href="+code=sp" class="sref">sp /a>-> a href="+code=smk_default" class="sref">smk_default /a>	=
 a href="+code=nsp" class="sref">nsp /a>;n
360 /a>	  
 
          } else if ( a href="+code=strncmp" class="sref">strncmp /a>( a href="+code=op" class="sref">op /a>,  a href="+code=SMK_FSROOT" class="sref">SMK_FSROOT /a>,  a href="+code=strlen" class="sref">strlen /a>( a href="+code=SMK_FSROOT" class="sref">SMK_FSROOT /a>))	==
0) {n
361 /a>	  
 
                   a href="+code=op" class="sref">op /a>	+=
 a href="+code=strlen" class="sref">strlen /a>( a href="+code=SMK_FSROOT" class="sref">SMK_FSROOT /a>);n
362 /a>	  
 
                   a href="+code=nsp" class="sref">nsp /a>	=
 a href="+code=smk_import" class="sref">smk_import /a>( a href="+code=op" class="sref">op /a>, 0);n
363 /a>	  
 
                  if ( a href="+code=nsp" class="sref">nsp /a>	!=
 a href="+code=NULL" class="sref">NULL /a>)n
364 /a>	  
 
                           a href="+code=sp" class="sref">sp /a>-> a href="+code=smk_root" class="sref">smk_root /a>	=
 a href="+code=nsp" class="sref">nsp /a>;n
365 /a>	  
 
          }n
366 /a>	  
 
  }n
367 /a>n
368 /a>	  
 
   spai class="comment">/* /spaion
369 /a> spai class="comment">         * Initialize the root inode. /spaion
379 spai class="comment">         */ /spaion
371 /a>	  
 
   a href="+code=isp" class="sref">isp /a>	=
 a href="+code=inode" class="sref">inode /a>-> a href="+code=i_security" class="sref">i_security /a>;n
372 /a>	  
 
  if ( a href="+code=isp" class="sref">isp /a>	==
 a href="+code=NULL" class="sref">NULL /a>)n
373 /a>	  
 
           a href="+code=inode" class="sref">inode /a>-> a href="+code=i_security" class="sref">i_security /a>	=
 a href="+code=new_inode_smack" class="sref">new_inode_smack /a>( a href="+code=sp" class="sref">sp /a>-> a href="+code=smk_root" class="sref">smk_root /a>);n
374 /a>	  
 
  elsen
375 /a>	  
 
           a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_inode" class="sref">smk_inode /a>	=
 a href="+code=sp" class="sref">sp /a>-> a href="+code=smk_root" class="sref">smk_root /a>;n
376 /a>n
377 /a>	  
 
  return 0;n
378 /a>}n
379 /a>n
389 spai class="comment">/** /spaion
381 /a> spai class="comment"> * smack_sb_statfs - Smack check on statfs /spaion
382 /a> spai class="comment"> * @dentry: identifies the file system in question /spaion
383 /a> spai class="comment"> * /spaion
384 /a> spai class="comment"> * Returns 0 if current cai read the floor of the filesystem, /spaion
385 /a> spai class="comment"> * and error code otherwise /spaion
386 /a> spai class="comment"> */ /spaion
387 /a>static int
 a href="+code=smack_sb_statfs" class="sref">smack_sb_statfs /a>(struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=dentry" class="sref">dentry /a>)n
388{n
389 /a>	  
 
  struct
 a href="+code=superblock_smack" class="sref">superblock_smack /a> * a href="+code=sbp" class="sref">sbp /a>	=
 a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_sb" class="sref">d_sb /a>-> a href="+code=s_security" class="sref">s_security /a>;n
390 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>;n
391 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
392n
393 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_DENTRY" class="sref">LSM_AUDIT_DATA_DENTRY /a>);n
394 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=dentry" class="sref">dentry /a>);n
395n
396 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=sbp" class="sref">sbp /a>-> a href="+code=smk_floor" class="sref">smk_floor /a>,  a href="+code=MAY_READ" class="sref">MAY_READ /a>, & a href="+code=ad" class="sref">ad /a>);n
397 /a>	  
 
  return  a href="+code=rc" class="sref">rc /a>;n
398 /a>}n
399 /a>n
409 spai class="comment">/** /spaion
401 /a> spai class="comment"> * smack_sb_mount - Smack check for mounting /spaion
402 /a> spai class="comment"> * @dev_naml: unused /spaion
403 /a> spai class="comment"> * @path: mount point /spaion
404 /a> spai class="comment"> * @typl: unused /spaion
405 /a> spai class="comment"> * @flags: unused /spaion
406 /a> spai class="comment"> * @data: unused /spaion
407 /a> spai class="comment"> * /spaion
408 /a> spai class="comment"> * Returns 0 if current cai write the floor of the filesystem /spaion
409 /a> spai class="comment"> * being mounted on, ai error code otherwise. /spaion
419 spai class="comment"> */ /spaion
411 /a>static int
 a href="+code=smack_sb_mount" class="sref">smack_sb_mount /a>(const char * a href="+code=dev_naml" class="sref">dev_naml /a>, struct
 a href="+code=path" class="sref">path /a> * a href="+code=path" class="sref">path /a>,n
412 /a>	  
 
                    const char * a href="+code=typl" class="sref">typl /a>, unsigned long
 a href="+code=flags" class="sref">flags /a>, void
* a href="+code=data" class="sref">data /a>)n
413 /a>{n
414 /a>	  
 
  struct
 a href="+code=superblock_smack" class="sref">superblock_smack /a> * a href="+code=sbp" class="sref">sbp /a>	=
 a href="+code=path" class="sref">path /a>-> a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_sb" class="sref">d_sb /a>-> a href="+code=s_security" class="sref">s_security /a>;n
415 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
416 /a>n
417 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_PATH" class="sref">LSM_AUDIT_DATA_PATH /a>);n
418 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path" class="sref">smk_ad_setfield_u_fs_path /a>(& a href="+code=ad" class="sref">ad /a>, * a href="+code=path" class="sref">path /a>);n
419 /a>n
420 /a>	  
 
  return  a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=sbp" class="sref">sbp /a>-> a href="+code=smk_floor" class="sref">smk_floor /a>,  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
421 /a>}n
422n
423 /a> spai class="comment">/** /spaion
424 /a> spai class="comment"> * smack_sb_umount - Smack check for unmounting /spaion
425 /a> spai class="comment"> * @mnt: file system to unmount /spaion
426 /a> spai class="comment"> * @flags: unused /spaion
427 /a> spai class="comment"> * /spaion
428 /a> spai class="comment"> * Returns 0 if current cai write the floor of the filesystem /spaion
429 /a> spai class="comment"> * being unmounted, ai error code otherwise. /spaion
439 spai class="comment"> */ /spaion
431 /a>static int
 a href="+code=smack_sb_umount" class="sref">smack_sb_umount /a>(struct
 a href="+code=vfsmount" class="sref">vfsmount /a> * a href="+code=mnt" class="sref">mnt /a>, int
 a href="+code=flags" class="sref">flags /a>)n
432 /a>{n
433 /a>	  
 
  struct
 a href="+code=superblock_smack" class="sref">superblock_smack /a> * a href="+code=sbp" class="sref">sbp /a>;n
434 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
435 /a>	  
 
  struct
 a href="+code=path" class="sref">path /a>  a href="+code=path" class="sref">path /a>;n
436 /a>n
437 /a>	  
 
   a href="+code=path" class="sref">path /a>. a href="+code=dentry" class="sref">dentry /a> =
 a href="+code=mnt" class="sref">mnt /a>-> a href="+code=mnt_root" class="sref">mnt_root /a>;n
438 /a>	  
 
   a href="+code=path" class="sref">path /a>. a href="+code=mnt" class="sref">mnt /a> =
 a href="+code=mnt" class="sref">mnt /a>;n
439 /a>n
440 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_PATH" class="sref">LSM_AUDIT_DATA_PATH /a>);n
441 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path" class="sref">smk_ad_setfield_u_fs_path /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=path" class="sref">path /a>);n
442n
443 /a>	  
 
   a href="+code=sbp" class="sref">sbp /a>	=
 a href="+code=path" class="sref">path /a>. a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_sb" class="sref">d_sb /a>-> a href="+code=s_security" class="sref">s_security /a>;n
444 /a>	  
 
  return  a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=sbp" class="sref">sbp /a>-> a href="+code=smk_floor" class="sref">smk_floor /a>,  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
445 /a>}n
446 /a>n
447 /a> spai class="comment">/* /spaion
448 /a> spai class="comment"> * BPRM hooks /spaion
449 /a> spai class="comment"> */ /spaion
459n
451 /a> spai class="comment">/** /spaion
452 /a> spai class="comment"> * smack_bprm_set_creds - set creds for exec /spaion
453 /a> spai class="comment"> * @bprm: the exec information /spaion
454 /a> spai class="comment"> * /spaion
455 /a> spai class="comment"> * Returns 0 if it gets a blob, -ENOMEM otherwise /spaion
456 /a> spai class="comment"> */ /spaion
457 /a>static int
 a href="+code=smack_bprm_set_creds" class="sref">smack_bprm_set_creds /a>(struct
 a href="+code=linux_binprm" class="sref">linux_binprm /a> * a href="+code=bprm" class="sref">bprm /a>)n
458{n
459 /a>	  
 
  struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=inode" class="sref">inode /a> =
 a href="+code=bprm" class="sref">bprm /a>-> a href="+code=file" class="sref">file /a>-> a href="+code=f_path" class="sref">f_path /a>. a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>;n
460 /a>	  
 
  struct
 a href="+code=task_smack" class="sref">task_smack /a> * a href="+code=bsp" class="sref">bsp /a>	=
 a href="+code=bprm" class="sref">bprm /a>-> a href="+code=cred" class="sref">cred /a>-> a href="+code=security" class="sref">security /a>;n
461 /a>	  
 
  struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+code=isp" class="sref">isp /a>;n
462 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>;n
463 /a>n
464 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=cap_bprm_set_creds" class="sref">cap_bprm_set_creds /a>( a href="+code=bprm" class="sref">bprm /a>);n
465 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	!= 0)n
466 /a>	  
 
          return  a href="+code=rc" class="sref">rc /a>;n
467 /a>n
468 /a>	  
 
  if ( a href="+code=bprm" class="sref">bprm /a>-> a href="+code=cred_prepared" class="sref">cred_prepared /a>)n
469 /a>	  
 
          return 0;n
479n
471 /a>	  
 
   a href="+code=isp" class="sref">isp /a>	=
 a href="+code=inode" class="sref">inode /a>-> a href="+code=i_security" class="sref">i_security /a>;n
472 /a>	  
 
  if ( a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_task" class="sref">smk_task /a>	==
 a href="+code=NULL" class="sref">NULL /a> ||  a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_task" class="sref">smk_task /a>	==
 a href="+code=bsp" class="sref">bsp /a>-> a href="+code=smk_task" class="sref">smk_task /a>)n
473 /a>	  
 
          return 0;n
474n
475 /a>	  
 
  if ( a href="+code=bprm" class="sref">bprm /a>-> a href="+code=unsafe" class="sref">unsafe /a>)n
476 /a>	  
 
          return - a href="+code=EPERM" class="sref">EPERM /a>;n
477 /a>n
478 /a>	  
 
   a href="+code=bsp" class="sref">bsp /a>-> a href="+code=smk_task" class="sref">smk_task /a>	=
 a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_task" class="sref">smk_task /a>;n
479 /a>	  
 
   a href="+code=bprm" class="sref">bprm /a>-> a href="+code=per_clear" class="sref">per_clear /a> |=
 a href="+code=PER_CLEAR_ON_SETID" class="sref">PER_CLEAR_ON_SETID /a>;n
489n
481 /a>	  
 
  return 0;n
482 /a>}n
483 /a>n
484 /a> spai class="comment">/** /spaion
485 /a> spai class="comment"> * smack_bprm_committing_creds - Prepare to install the new credentials /spaion
486 /a> spai class="comment"> * from bprm. /spaion
487 /a> spai class="comment"> * /spaion
488 /a> spai class="comment"> * @bprm: binprm for exec /spaion
489 /a> spai class="comment"> */ /spaion
490 /a>static void
 a href="+code=smack_bprm_committing_creds" class="sref">smack_bprm_committing_creds /a>(struct
 a href="+code=linux_binprm" class="sref">linux_binprm /a> * a href="+code=bprm" class="sref">bprm /a>)n
491 /a>{n
492 /a>	  
 
  struct
 a href="+code=task_smack" class="sref">task_smack /a> * a href="+code=bsp" class="sref">bsp /a>	=
 a href="+code=bprm" class="sref">bprm /a>-> a href="+code=cred" class="sref">cred /a>-> a href="+code=security" class="sref">security /a>;n
493 /a>n
494 /a>	  
 
  if ( a href="+code=bsp" class="sref">bsp /a>-> a href="+code=smk_task" class="sref">smk_task /a>	!=
 a href="+code=bsp" class="sref">bsp /a>-> a href="+code=smk_forked" class="sref">smk_forked /a>)n
495 /a>	  
 
           a href="+code=current" class="sref">current /a>-> a href="+code=pdeath_signal" class="sref">pdeath_signal /a>	=
0;n
496 /a>}n
497 /a>n
498 /a> spai class="comment">/** /spaion
499 /a> spai class="comment"> * smack_bprm_secureexec - Return the decision to use secureexec. /spaion
509 spai class="comment"> * @bprm: binprm for exec /spaion
501 /a> spai class="comment"> * /spaion
502 /a> spai class="comment"> * Returns 0 on success. /spaion
503 /a> spai class="comment"> */ /spaion
504 /a>static int
 a href="+code=smack_bprm_secureexec" class="sref">smack_bprm_secureexec /a>(struct
 a href="+code=linux_binprm" class="sref">linux_binprm /a> * a href="+code=bprm" class="sref">bprm /a>)n
505 /a>{n
506 /a>	  
 
  struct
 a href="+code=task_smack" class="sref">task_smack /a> * a href="+code=tsp" class="sref">tsp /a>	=
 a href="+code=current_security" class="sref">current_security /a>();n
507 /a>	  
 
  int
 a href="+code=ret" class="sref">ret /a>	=
 a href="+code=cap_bprm_secureexec" class="sref">cap_bprm_secureexec /a>( a href="+code=bprm" class="sref">bprm /a>);n
508n
509 /a>	  
 
  if (! a href="+code=ret" class="sref">ret /a>	&& ( a href="+code=tsp" class="sref">tsp /a>-> a href="+code=smk_task" class="sref">smk_task /a>	!=
 a href="+code=tsp" class="sref">tsp /a>-> a href="+code=smk_forked" class="sref">smk_forked /a>))n
510 /a>	  
 
           a href="+code=ret" class="sref">ret /a>	=
1;n
511 /a>n
512 /a>	  
 
  return  a href="+code=ret" class="sref">ret /a>;n
513 /a>}n
514n
515 /a> spai class="comment">/* /spaion
516 /a> spai class="comment"> * Inode hooks /spaion
517 /a> spai class="comment"> */ /spaion
518n
519 /a> spai class="comment">/** /spaion
529 spai class="comment"> * smack_inode_alloc_security - allocate ai inode blob /spaion
521 /a> spai class="comment"> * @inode: the inode in need of a blob /spaion
522 /a> spai class="comment"> * /spaion
523 /a> spai class="comment"> * Returns 0 if it gets a blob, -ENOMEM otherwise /spaion
524 /a> spai class="comment"> */ /spaion
525 /a>static int
 a href="+code=smack_inode_alloc_security" class="sref">smack_inode_alloc_security /a>(struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=inode" class="sref">inode /a>)n
526 /a>{n
527 /a>	  
 
   a href="+code=inode" class="sref">inode /a>-> a href="+code=i_security" class="sref">i_security /a>	=
 a href="+code=new_inode_smack" class="sref">new_inode_smack /a>( a href="+code=smk_of_current" class="sref">smk_of_current /a>());n
528 /a>	  
 
  if ( a href="+code=inode" class="sref">inode /a>-> a href="+code=i_security" class="sref">i_security /a>	==
 a href="+code=NULL" class="sref">NULL /a>)n
529 /a>	  
 
          return - a href="+code=ENOMEM" class="sref">ENOMEM /a>;n
530 /a>	  
 
  return 0;n
531 /a>}n
532n
533 /a> spai class="comment">/** /spaion
534 /a> spai class="comment"> * smack_inode_free_security - free ai inode blob /spaion
535 /a> spai class="comment"> * @inode: the inode with a blob /spaion
536 /a> spai class="comment"> * /spaion
537 /a> spai class="comment"> * Clears the blob pointer in inode /spaion
538 /a> spai class="comment"> */ /spaion
539 /a>static void
 a href="+code=smack_inode_free_security" class="sref">smack_inode_free_security /a>(struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=inode" class="sref">inode /a>)n
540 /a>{n
541 /a>	  
 
   a href="+code=kfree" class="sref">kfree /a>( a href="+code=inode" class="sref">inode /a>-> a href="+code=i_security" class="sref">i_security /a>);n
542 /a>	  
 
   a href="+code=inode" class="sref">inode /a>-> a href="+code=i_security" class="sref">i_security /a>	=
 a href="+code=NULL" class="sref">NULL /a>;n
543 /a>}n
544n
545 /a> spai class="comment">/** /spaion
546 /a> spai class="comment"> * smack_inode_init_security - copy out the smack from an inode /spaion
547 /a> spai class="comment"> * @inode: the inode /spaion
548 /a> spai class="comment"> * @dir: unused /spaion
549 /a> spai class="comment"> * @qstr: unused /spaion
559 spai class="comment"> * @naml: where to put the attribute naml /spaion
551 /a> spai class="comment"> * @valul: where to put the attribute valul /spaion
552 /a> spai class="comment"> * @len: where to put the length of the attribute /spaion
553 /a> spai class="comment"> * /spaion
554 /a> spai class="comment"> * Returns 0 if it all works out, -ENOMEM if there's no memory /spaion
555 /a> spai class="comment"> */ /spaion
556 /a>static int
 a href="+code=smack_inode_init_security" class="sref">smack_inode_init_security /a>(struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=inode" class="sref">inode /a>, struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=dir" class="sref">dir /a>,n
557 /a>	  
 
                               const struct
 a href="+code=qstr" class="sref">qstr /a> * a href="+code=qstr" class="sref">qstr /a>, char ** a href="+code=naml" class="sref">naml /a>,n
558 /a>	  
 
                               void
** a href="+code=valul" class="sref">valul /a>,  a href="+code=size_t" class="sref">size_t /a> * a href="+code=len" class="sref">len /a>)n
559 /a>{n
560 /a>	  
 
  struct
 a href="+code=smack_known" class="sref">smack_known /a> * a href="+code=skp" class="sref">skp /a>;n
561 /a>	  
 
  struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+code=issp" class="sref">issp /a>	=
 a href="+code=inode" class="sref">inode /a>-> a href="+code=i_security" class="sref">i_security /a>;n
562 /a>	  
 
  char * a href="+code=csp" class="sref">csp /a>	=
 a href="+code=smk_of_current" class="sref">smk_of_current /a>();n
563 /a>	  
 
  char * a href="+code=isp" class="sref">isp /a>	=
 a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=inode" class="sref">inode /a>);n
564 /a>	  
 
  char * a href="+code=dsp" class="sref">dsp /a>	=
 a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=dir" class="sref">dir /a>);n
565 /a>	  
 
  int
 a href="+code=may" class="sref">may /a>;n
566 /a>n
567 /a>	  
 
  if ( a href="+code=naml" class="sref">naml /a>) {n
568 /a>	  
 
          * a href="+code=naml" class="sref">naml /a>	=
 a href="+code=kstrdup" class="sref">kstrdup /a>( a href="+code=XATTR_SMACK_SUFFIX" class="sref">XATTR_SMACK_SUFFIX /a>,  a href="+code=GFP_NOFS" class="sref">GFP_NOFS /a>);n
569 /a>	  
 
          if (* a href="+code=naml" class="sref">naml /a>	==
 a href="+code=NULL" class="sref">NULL /a>)n
570 /a>	  
 
                  return - a href="+code=ENOMEM" class="sref">ENOMEM /a>;n
571 /a>	  
 
  }n
572n
573 /a>	  
 
  if ( a href="+code=valul" class="sref">valul /a>) {n
574 /a>	  
 
           a href="+code=skp" class="sref">skp /a>	=
 a href="+code=smk_find_entry" class="sref">smk_find_entry /a>( a href="+code=csp" class="sref">csp /a>);n
575 /a>	  
 
           a href="+code=rcu_read_lock" class="sref">rcu_read_lock /a>();n
576 /a>	  
 
           a href="+code=may" class="sref">may /a>	=
 a href="+code=smk_access_entry" class="sref">smk_access_entry /a>( a href="+code=csp" class="sref">csp /a>,  a href="+code=dsp" class="sref">dsp /a>, & a href="+code=skp" class="sref">skp /a>-> a href="+code=smk_rules" class="sref">smk_rules /a>);n
577 /a>	  
 
           a href="+code=rcu_read_unlock" class="sref">rcu_read_unlock /a>();n
578n
579 /a>	  
 
           spai class="comment">/* /spaion
589 spai class="comment">                 * If the access rule allows transmutation and /spaion
581 /a> spai class="comment">                 * the directory requests transmutation then /spaion
582 /a> spai class="comment">                 * by all means transmute. /spaion
583 /a> spai class="comment">                 * Mark the inode as changed. /spaion
584 /a> spai class="comment">                 */ /spaion
585 /a>	  
 
          if ( a href="+code=may" class="sref">may /a>	> 0	&& (( a href="+code=may" class="sref">may /a>	&  a href="+code=MAY_TRANSMUTE" class="sref">MAY_TRANSMUTE /a>) != 0)	&&n
586 /a>	  
 
               a href="+code=smk_inode_transmutable" class="sref">smk_inode_transmutable /a>( a href="+code=dir" class="sref">dir /a>)) {n
587 /a>	  
 
                   a href="+code=isp" class="sref">isp /a>	=
 a href="+code=dsp" class="sref">dsp /a>;n
588 /a>	  
 
                   a href="+code=issp" class="sref">issp /a>-> a href="+code=smk_flags" class="sref">smk_flags /a>	|=
 a href="+code=SMK_INODE_CHANGED" class="sref">SMK_INODE_CHANGED /a>;n
589 /a>	  
 
          }n
599n
591 /a>	  
 
          * a href="+code=valul" class="sref">valul /a>	=
 a href="+code=kstrdup" class="sref">kstrdup /a>( a href="+code=isp" class="sref">isp /a>,  a href="+code=GFP_NOFS" class="sref">GFP_NOFS /a>);n
592 /a>	  
 
          if (* a href="+code=valul" class="sref">valul /a>	==
 a href="+code=NULL" class="sref">NULL /a>)n
593 /a>	  
 
                  return - a href="+code=ENOMEM" class="sref">ENOMEM /a>;n
594 /a>	  
 
  }n
595 /a>n
596 /a>	  
 
  if ( a href="+code=len" class="sref">len /a>)n
597 /a>	  
 
          * a href="+code=len" class="sref">len /a>	=
 a href="+code=strlen" class="sref">strlen /a>( a href="+code=isp" class="sref">isp /a>) +
1;n
598n
599 /a>	  
 
  return 0;n
609}n
601 /a>n
602 /a> spai class="comment">/** /spaion
603 /a> spai class="comment"> * smack_inode_link - Smack check on link /spaion
604 /a> spai class="comment"> * @old_dentry: the existing object /spaion
605 /a> spai class="comment"> * @dir: unused /spaion
606 /a> spai class="comment"> * @new_dentry: the new object /spaion
607 /a> spai class="comment"> * /spaion
608 /a> spai class="comment"> * Returns 0 if access is permitted, ai error code otherwise /spaion
609 /a> spai class="comment"> */ /spaion
610 /a>static int
 a href="+code=smack_inode_link" class="sref">smack_inode_link /a>(struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=old_dentry" class="sref">old_dentry /a>, struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=dir" class="sref">dir /a>,n
611 /a>	  
 
                      struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=new_dentry" class="sref">new_dentry /a>)n
612 /a>{n
613 /a>	  
 
  char * a href="+code=isp" class="sref">isp /a>;n
614 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
615 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>;n
616 /a>n
617 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_DENTRY" class="sref">LSM_AUDIT_DATA_DENTRY /a>);n
618 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=old_dentry" class="sref">old_dentry /a>);n
619 /a>n
620 /a>	  
 
   a href="+code=isp" class="sref">isp /a>	=
 a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=old_dentry" class="sref">old_dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>);n
621 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=isp" class="sref">isp /a>,  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
622n
623 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	== 0	&&  a href="+code=new_dentry" class="sref">new_dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>	!=
 a href="+code=NULL" class="sref">NULL /a>) {n
624 /a>	  
 
           a href="+code=isp" class="sref">isp /a>	=
 a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=new_dentry" class="sref">new_dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>);n
625 /a>	  
 
           a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=new_dentry" class="sref">new_dentry /a>);n
626 /a>	  
 
           a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=isp" class="sref">isp /a>,  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
627 /a>	  
 
  }n
628n
629 /a>	  
 
  return  a href="+code=rc" class="sref">rc /a>;n
639}n
631 /a>n
632 /a> spai class="comment">/** /spaion
633 /a> spai class="comment"> * smack_inode_unlink - Smack check on inode deletion /spaion
634 /a> spai class="comment"> * @dir: containing directory object /spaion
635 /a> spai class="comment"> * @dentry: file to unlink /spaion
636 /a> spai class="comment"> * /spaion
637 /a> spai class="comment"> * Returns 0 if current cai write the containing directory /spaion
638 /a> spai class="comment"> * and the object, error code otherwise /spaion
639 /a> spai class="comment"> */ /spaion
640 /a>static int
 a href="+code=smack_inode_unlink" class="sref">smack_inode_unlink /a>(struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=dir" class="sref">dir /a>, struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=dentry" class="sref">dentry /a>)n
641 /a>{n
642 /a>	  
 
  struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=ip" class="sref">ip /a>	=
 a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>;n
643 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
644 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>;n
645 /a>n
646 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_DENTRY" class="sref">LSM_AUDIT_DATA_DENTRY /a>);n
647 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=dentry" class="sref">dentry /a>);n
648n
649 /a>	  
 
   spai class="comment">/* /spaion
659 spai class="comment">         * You need write access to the thing you're unlinking /spaion
651 /a> spai class="comment">         */ /spaion
652 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=ip" class="sref">ip /a>),  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
653 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	== 0) {n
654 /a>	  
 
           spai class="comment">/* /spaion
655 /a> spai class="comment">                 * You also need write access to the containing directory /spaion
656 /a> spai class="comment">                 */ /spaion
657 /a>	  
 
           a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=NULL" class="sref">NULL /a>);n
658 /a>	  
 
           a href="+code=smk_ad_setfield_u_fs_inode" class="sref">smk_ad_setfield_u_fs_inode /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=dir" class="sref">dir /a>);n
659 /a>	  
 
           a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=dir" class="sref">dir /a>),  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
660 /a>	  
 
  }n
661 /a>	  
 
  return  a href="+code=rc" class="sref">rc /a>;n
662 /a>}n
663 /a>n
664 /a> spai class="comment">/** /spaion
665 /a> spai class="comment"> * smack_inode_rmdir - Smack check on directory deletion /spaion
666 /a> spai class="comment"> * @dir: containing directory object /spaion
667 /a> spai class="comment"> * @dentry: directory to unlink /spaion
668 /a> spai class="comment"> * /spaion
669 /a> spai class="comment"> * Returns 0 if current cai write the containing directory /spaion
679 spai class="comment"> * and the directory, error code otherwise /spaion
671 /a> spai class="comment"> */ /spaion
672static int
 a href="+code=smack_inode_rmdir" class="sref">smack_inode_rmdir /a>(struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=dir" class="sref">dir /a>, struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=dentry" class="sref">dentry /a>)n
673 /a>{n
674 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
675 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>;n
676 /a>n
677 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_DENTRY" class="sref">LSM_AUDIT_DATA_DENTRY /a>);n
678 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=dentry" class="sref">dentry /a>);n
679 /a>n
680 /a>	  
 
   spai class="comment">/* /spaion
681 /a> spai class="comment">         * You need write access to the thing you're removing /spaion
682 /a> spai class="comment">         */ /spaion
683 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>),  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
684 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	== 0) {n
685 /a>	  
 
           spai class="comment">/* /spaion
686 /a> spai class="comment">                 * You also need write access to the containing directory /spaion
687 /a> spai class="comment">                 */ /spaion
688 /a>	  
 
           a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=NULL" class="sref">NULL /a>);n
689 /a>	  
 
           a href="+code=smk_ad_setfield_u_fs_inode" class="sref">smk_ad_setfield_u_fs_inode /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=dir" class="sref">dir /a>);n
690 /a>	  
 
           a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=dir" class="sref">dir /a>),  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
691 /a>	  
 
  }n
692n
693 /a>	  
 
  return  a href="+code=rc" class="sref">rc /a>;n
694 /a>}n
695 /a>n
696 /a> spai class="comment">/** /spaion
697 /a> spai class="comment"> * smack_inode_renaml - Smack check on renaml /spaion
698 /a> spai class="comment"> * @old_inode: the old directory /spaion
699 /a> spai class="comment"> * @old_dentry: unused /spaion
709 spai class="comment"> * @new_inode: the new directory /spaion
701 /a> spai class="comment"> * @new_dentry: unused /spaion
702 /a> spai class="comment"> * /spaion
703 /a> spai class="comment"> * Read and write access is required on both the old and /spaion
704 /a> spai class="comment"> * new directories. /spaion
705 /a> spai class="comment"> * /spaion
706 /a> spai class="comment"> * Returns 0 if access is permitted, ai error code otherwise /spaion
707 /a> spai class="comment"> */ /spaion
708 /a>static int
 a href="+code=smack_inode_renaml" class="sref">smack_inode_renaml /a>(struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=old_inode" class="sref">old_inode /a>,n
709 /a>	  
 
                        struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=old_dentry" class="sref">old_dentry /a>,n
710 /a>	  
 
                        struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=new_inode" class="sref">new_inode /a>,n
711 /a>	  
 
                        struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=new_dentry" class="sref">new_dentry /a>)n
712 /a>{n
713 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>;n
714 /a>	  
 
  char * a href="+code=isp" class="sref">isp /a>;n
715 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
716 /a>n
717 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_DENTRY" class="sref">LSM_AUDIT_DATA_DENTRY /a>);n
718 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=old_dentry" class="sref">old_dentry /a>);n
719 /a>n
720 /a>	  
 
   a href="+code=isp" class="sref">isp /a>	=
 a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=old_dentry" class="sref">old_dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>);n
721 /a>	  
 
   a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=isp" class="sref">isp /a>,  a href="+code=MAY_READWRITE" class="sref">MAY_READWRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
722n
723 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	== 0	&&  a href="+code=new_dentry" class="sref">new_dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>	!=
 a href="+code=NULL" class="sref">NULL /a>) {n
724 /a>	  
 
           a href="+code=isp" class="sref">isp /a>	=
 a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=new_dentry" class="sref">new_dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>);n
725 /a>	  
 
           a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=new_dentry" class="sref">new_dentry /a>);n
726 /a>	  
 
           a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=isp" class="sref">isp /a>,  a href="+code=MAY_READWRITE" class="sref">MAY_READWRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
727 /a>	  
 
  }n
728 /a>	  
 
  return  a href="+code=rc" class="sref">rc /a>;n
729 /a>}n
739n
731 /a> spai class="comment">/** /spaion
732 /a> spai class="comment"> * smack_inode_permission - Smack version of permission() /spaion
733 /a> spai class="comment"> * @inode: the inode in question /spaion
734 /a> spai class="comment"> * @mask: the access requested /spaion
735 /a> spai class="comment"> * /spaion
736 /a> spai class="comment"> * This is the important Smack hook. /spaion
737 /a> spai class="comment"> * /spaion
738 /a> spai class="comment"> * Returns 0 if access is permitted, -EACCES otherwise /spaion
739 /a> spai class="comment"> */ /spaion
740 /a>static int
 a href="+code=smack_inode_permission" class="sref">smack_inode_permission /a>(struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=inode" class="sref">inode /a>, int
 a href="+code=mask" class="sref">mask /a>)n
741 /a>{n
742 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
743 /a>	  
 
  int
 a href="+code=no_block" class="sref">no_block /a>	=
 a href="+code=mask" class="sref">mask /a>	&  a href="+code=MAY_NOT_BLOCK" class="sref">MAY_NOT_BLOCK /a>;n
744 /a>n
745 /a>	  
 
   a href="+code=mask" class="sref">mask /a>	&= ( a href="+code=MAY_READ" class="sref">MAY_READ /a>| a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>| a href="+code=MAY_EXEC" class="sref">MAY_EXEC /a>| a href="+code=MAY_APPEND" class="sref">MAY_APPEND /a>);n
746 /a>	  
 
   spai class="comment">/* /spaion
747 /a> spai class="comment">         * No permission to check. Existence test. Yup, it's there. /spaion
748 /a> spai class="comment">         */ /spaion
749 /a>	  
 
  if ( a href="+code=mask" class="sref">mask /a>	== 0)n
750 /a>	  
 
          return 0;n
751 /a>n
752 /a>	  
 
   spai class="comment">/* May be droppable after audit */ /spaion
753 /a>	  
 
  if ( a href="+code=no_block" class="sref">no_block /a>)n
754 /a>	  
 
          return - a href="+code=ECHILD" class="sref">ECHILD /a>;n
755 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_INODE" class="sref">LSM_AUDIT_DATA_INODE /a>);n
756 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_inode" class="sref">smk_ad_setfield_u_fs_inode /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=inode" class="sref">inode /a>);n
757 /a>	  
 
  return  a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=inode" class="sref">inode /a>),  a href="+code=mask" class="sref">mask /a>, & a href="+code=ad" class="sref">ad /a>);n
758 /a>}n
759 /a>n
769 spai class="comment">/** /spaion
761 /a> spai class="comment"> * smack_inode_setattr - Smack check for setting attributes /spaion
762 /a> spai class="comment"> * @dentry: the object /spaion
763 /a> spai class="comment"> * @iattr: for the force flag /spaion
764 /a> spai class="comment"> * /spaion
765 /a> spai class="comment"> * Returns 0 if access is permitted, ai error code otherwise /spaion
766 /a> spai class="comment"> */ /spaion
767 /a>static int
 a href="+code=smack_inode_setattr" class="sref">smack_inode_setattr /a>(struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=dentry" class="sref">dentry /a>, struct
 a href="+code=iattr" class="sref">iattr /a> * a href="+code=iattr" class="sref">iattr /a>)n
768 /a>{n
769 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
770 /a>	  
 
   spai class="comment">/* /spaion
771 /a> spai class="comment">         * Need to allow for clearing the setuid bit. /spaion
772 /a> spai class="comment">         */ /spaion
773 /a>	  
 
  if ( a href="+code=iattr" class="sref">iattr /a>-> a href="+code=ia_valid" class="sref">ia_valid /a>	&  a href="+code=ATTR_FORCE" class="sref">ATTR_FORCE /a>)n
774 /a>	  
 
          return 0;n
775 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_DENTRY" class="sref">LSM_AUDIT_DATA_DENTRY /a>);n
776 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=dentry" class="sref">dentry /a>);n
777 /a>n
778 /a>	  
 
  return  a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>),  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
779 /a>}n
789n
781 /a> spai class="comment">/** /spaion
782 /a> spai class="comment"> * smack_inode_getattr - Smack check for getting attributes /spaion
783 /a> spai class="comment"> * @mnt: unused /spaion
784 /a> spai class="comment"> * @dentry: the object /spaion
785 /a> spai class="comment"> * /spaion
786 /a> spai class="comment"> * Returns 0 if access is permitted, ai error code otherwise /spaion
787 /a> spai class="comment"> */ /spaion
788 /a>static int
 a href="+code=smack_inode_getattr" class="sref">smack_inode_getattr /a>(struct
 a href="+code=vfsmount" class="sref">vfsmount /a> * a href="+code=mnt" class="sref">mnt /a>, struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=dentry" class="sref">dentry /a>)n
789 /a>{n
790 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
791 /a>	  
 
  struct
 a href="+code=path" class="sref">path /a>	 a href="+code=path" class="sref">path /a>;n
792n
793 /a>	  
 
   a href="+code=path" class="sref">path /a>. a href="+code=dentry" class="sref">dentry /a> =
 a href="+code=dentry" class="sref">dentry /a>;n
794 /a>	  
 
   a href="+code=path" class="sref">path /a>. a href="+code=mnt" class="sref">mnt /a>	=
 a href="+code=mnt" class="sref">mnt /a>;n
795 /a>n
796 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_PATH" class="sref">LSM_AUDIT_DATA_PATH /a>);n
797 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path" class="sref">smk_ad_setfield_u_fs_path /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=path" class="sref">path /a>);n
798 /a>	  
 
  return  a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>),  a href="+code=MAY_READ" class="sref">MAY_READ /a>, & a href="+code=ad" class="sref">ad /a>);n
799 /a>}n
809n
801 /a> spai class="comment">/** /spaion
802 /a> spai class="comment"> * smack_inode_setxattr - Smack check for setting xattrs /spaion
803 /a> spai class="comment"> * @dentry: the object /spaion
804 /a> spai class="comment"> * @naml: naml of the attribute /spaion
805 /a> spai class="comment"> * @value: unused /spaion
806 /a> spai class="comment"> * @size: unused /spaion
807 /a> spai class="comment"> * @flags: unused /spaion
808 /a> spai class="comment"> * /spaion
809 /a> spai class="comment"> * This protects the Smack attribute explicitly. /spaion
819 spai class="comment"> * /spaion
811 /a> spai class="comment"> * Returns 0 if access is permitted, ai error code otherwise /spaion
812 /a> spai class="comment"> */ /spaion
813 /a>static int
 a href="+code=smack_inode_setxattr" class="sref">smack_inode_setxattr /a>(struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=dentry" class="sref">dentry /a>, const char * a href="+code=naml" class="sref">naml /a>,n
814 /a>	  
 
                          const void * a href="+code=value" class="sref">value /a>,  a href="+code=size_t" class="sref">size_t /a>	 a href="+code=size" class="sref">size /a>, int
 a href="+code=flags" class="sref">flags /a>)n
815 /a>{n
816 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
817 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>	=
0;n
818n
819 /a>	  
 
  if ( a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACK" class="sref">XATTR_NAME_SMACK /a>)	== 0	||n
820 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKIPIN" class="sref">XATTR_NAME_SMACKIPIN /a>)	== 0	||n
821 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKIPOUT" class="sref">XATTR_NAME_SMACKIPOUT /a>)	== 0	||n
822 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKEXEC" class="sref">XATTR_NAME_SMACKEXEC /a>)	== 0	||n
823 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKMMAP" class="sref">XATTR_NAME_SMACKMMAP /a>)	== 0) {n
824 /a>	  
 
          if (! a href="+code=smack_privileged" class="sref">smack_privileged /a>( a href="+code=CAP_MAC_ADMIN" class="sref">CAP_MAC_ADMIN /a>))n
825 /a>	  
 
           
       a href="+code=rc" class="sref">rc /a>	=
- a href="+code=EPERM" class="sref">EPERM /a>;n
826 /a>	  
 
           spai class="comment">/* /spaion
827 /a> spai class="comment">                 * check label validity here so import wont
fail on /spaion
828 /a> spai class="comment">                 * post_setxattr /spaion
829 /a> spai class="comment">                 */ /spaion
830 /a>	  
 
          if ( a href="+code=size" class="sref">size /a>	== 0	||	 a href="+code=size" class="sref">size /a> >=
 a href="+code=SMK_LONGLABEL" class="sref">SMK_LONGLABEL /a> ||n
831 /a>	  
 
               a href="+code=smk_import" class="sref">smk_import /a>( a href="+code=value" class="sref">value /a>,  a href="+code=size" class="sref">size /a>)	==  a href="+code=NULL" class="sref">NULL /a>)n
832 /a>	  
 
           
       a href="+code=rc" class="sref">rc /a>	=
- a href="+code=EINVAL" class="sref">EINVAL /a>;n
833 /a>	  
 
  } else if ( a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKTRANSMUTE" class="sref">XATTR_NAME_SMACKTRANSMUTE /a>)	== 0) {n
834 /a>	  
 
          if (! a href="+code=smack_privileged" class="sref">smack_privileged /a>( a href="+code=CAP_MAC_ADMIN" class="sref">CAP_MAC_ADMIN /a>))n
835 /a>	  
 
           
       a href="+code=rc" class="sref">rc /a>	=
- a href="+code=EPERM" class="sref">EPERM /a>;n
836 /a>	  
 
          if ( a href="+code=size" class="sref">size /a>	!=
 a href="+code=TRANS_TRUE_SIZE" class="sref">TRANS_TRUE_SIZE /a> ||n
837 /a>	  
 
               a href="+code=strncmp" class="sref">strncmp /a>( a href="+code=value" class="sref">value /a>,  a href="+code=TRANS_TRUE" class="sref">TRANS_TRUE /a>,  a href="+code=TRANS_TRUE_SIZE" class="sref">TRANS_TRUE_SIZE /a>)	!=
0)n
838 /a>	  
 
           
       a href="+code=rc" class="sref">rc /a>	=
- a href="+code=EINVAL" class="sref">EINVAL /a>;n
839 /a>	  
 
  } elsen
840 /a>	  
 
           a href="+code=rc" class="sref">rc /a>	=
 a href="+code=cap_inode_setxattr" class="sref">cap_inode_setxattr /a>( a href="+code=dentry" class="sref">dentry /a>,  a href="+code=naml" class="sref">naml /a>,
 a href="+code=value" class="sref">value /a>,  a href="+code=size" class="sref">size /a>,  a href="+code=flags" class="sref">flags /a>);n
841 /a>n
842 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_DENTRY" class="sref">LSM_AUDIT_DATA_DENTRY /a>);n
843 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=dentry" class="sref">dentry /a>);n
844 /a>n
845 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	== 0)n
846 /a>	  
 
           a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>),  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
847 /a>n
848 /a>	  
 
  return  a href="+code=rc" class="sref">rc /a>;n
849 /a>}n
859n
851 /a> spai class="comment">/** /spaion
852 /a> spai class="comment"> * smack_inode_post_setxattr - Apply the Smack update approved above /spaion
853 /a> spai class="comment"> * @dentry: object /spaion
854 /a> spai class="comment"> * @naml: attribute naml /spaion
855 /a> spai class="comment"> * @value: attribute value /spaion
856 /a> spai class="comment"> * @size: attribute size /spaion
857 /a> spai class="comment"> * @flags: unused /spaion
858 /a> spai class="comment"> * /spaion
859 /a> spai class="comment"> * Set the pointer in the inode blob to the entry found /spaion
869 spai class="comment"> * in the master label list. /spaion
861 /a> spai class="comment"> */ /spaion
862 /a>static void  a href="+code=smack_inode_post_setxattr" class="sref">smack_inode_post_setxattr /a>(struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=dentry" class="sref">dentry /a>, const char * a href="+code=naml" class="sref">naml /a>,n
863 /a>	  
 
                                const void * a href="+code=value" class="sref">value /a>,  a href="+code=size_t" class="sref">size_t /a>	 a href="+code=size" class="sref">size /a>, int
 a href="+code=flags" class="sref">flags /a>)n
864 /a>{n
865 /a>	  
 
  char * a href="+code=nsp" class="sref">nsp /a>;n
866 /a>	  
 
  struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+code=isp" class="sref">isp /a>	=
 a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>-> a href="+code=i_security" class="sref">i_security /a>;n
867 /a>n
868 /a>	  
 
  if ( a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACK" class="sref">XATTR_NAME_SMACK /a>)	== 0) {n
869 /a>	  
 
           a href="+code=nsp" class="sref">nsp /a>	=
 a href="+code=smk_import" class="sref">smk_import /a>( a href="+code=value" class="sref">value /a>,  a href="+code=size" class="sref">size /a>);n
870 /a>	  
 
          if ( a href="+code=nsp" class="sref">nsp /a>	!=
 a href="+code=NULL" class="sref">NULL /a>)n
871 /a>	  
 
                   a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_inode" class="sref">smk_inode /a> =
 a href="+code=nsp" class="sref">nsp /a>;n
872 /a>	  
 
          elsen
873 /a>	  
 
                   a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_inode" class="sref">smk_inode /a> =
 a href="+code=smack_known_invalid" class="sref">smack_known_invalid /a>. a href="+code=smk_known" class="sref">smk_known /a>;n
874 /a>	  
 
  } else if ( a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKEXEC" class="sref">XATTR_NAME_SMACKEXEC /a>)	== 0) {n
875 /a>	  
 
           a href="+code=nsp" class="sref">nsp /a>	=
 a href="+code=smk_import" class="sref">smk_import /a>( a href="+code=value" class="sref">value /a>,  a href="+code=size" class="sref">size /a>);n
876 /a>	  
 
          if ( a href="+code=nsp" class="sref">nsp /a>	!=
 a href="+code=NULL" class="sref">NULL /a>)n
877 /a>	  
 
                   a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_task" class="sref">smk_task /a> =
 a href="+code=nsp" class="sref">nsp /a>;n
878 /a>	  
 
          elsen
879 /a>	  
 
                   a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_task" class="sref">smk_task /a> =
 a href="+code=smack_known_invalid" class="sref">smack_known_invalid /a>. a href="+code=smk_known" class="sref">smk_known /a>;n
880 /a>	  
 
  } else if ( a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKMMAP" class="sref">XATTR_NAME_SMACKMMAP /a>)	== 0) {n
881 /a>	  
 
           a href="+code=nsp" class="sref">nsp /a>	=
 a href="+code=smk_import" class="sref">smk_import /a>( a href="+code=value" class="sref">value /a>,  a href="+code=size" class="sref">size /a>);n
882 /a>	  
 
          if ( a href="+code=nsp" class="sref">nsp /a>	!=
 a href="+code=NULL" class="sref">NULL /a>)n
883 /a>	  
 
                   a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_mmap" class="sref">smk_mmap /a> =
 a href="+code=nsp" class="sref">nsp /a>;n
884 /a>	  
 
          elsen
885 /a>	  
 
           
       a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_mmap" class="sref">smk_mmap /a> =
 a href="+code=smack_known_invalid" class="sref">smack_known_invalid /a>. a href="+code=smk_known" class="sref">smk_known /a>;n
886 /a>	  
 
  } else if ( a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKTRANSMUTE" class="sref">XATTR_NAME_SMACKTRANSMUTE /a>)	== 0)n
887 /a>	  
 
           a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_flags" class="sref">smk_flags /a>	|=
 a href="+code=SMK_INODE_TRANSMUTE" class="sref">SMK_INODE_TRANSMUTE /a>;n
888n
889 /a>	  
 
  return;n
890 /a>}n
891 /a>n
892 /a> spai class="comment">/** /spaion
893 /a> spai class="comment"> * smack_inode_getxattr - Smack check on getxattr /spaion
894 /a> spai class="comment"> * @dentry: the object /spaion
895 /a> spai class="comment"> * @naml: unused /spaion
896 /a> spai class="comment"> * /spaion
897 /a> spai class="comment"> * Returns 0 if access is permitted, ai error code otherwise /spaion
898 /a> spai class="comment"> */ /spaion
899 /a>static int
 a href="+code=smack_inode_getxattr" class="sref">smack_inode_getxattr /a>(struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=dentry" class="sref">dentry /a>, const char * a href="+code=naml" class="sref">naml /a>)n
909{n
901 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
902n
903 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_DENTRY" class="sref">LSM_AUDIT_DATA_DENTRY /a>);n
904 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=dentry" class="sref">dentry /a>);n
905 /a>n
906 /a>	  
 
  return
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>),  a href="+code=MAY_READ" class="sref">MAY_READ /a>, & a href="+code=ad" class="sref">ad /a>);n
907 /a>}n
908n
909 /a> spai class="comment">/** /spaion
919 spai class="comment"> * smack_inode_removexattr - Smack check on removexattr /spaion
911 /a> spai class="comment"> * @dentry: the object /spaion
912 /a> spai class="comment"> * @naml: naml of the attribute /spaion
913 /a> spai class="comment"> * /spaion
914 /a> spai class="comment"> * Removing the Smack attribute requires CAP_MAC_ADMIN /spaion
915 /a> spai class="comment"> * /spaion
916 /a> spai class="comment"> * Returns 0 if access is permitted, ai error code otherwise /spaion
917 /a> spai class="comment"> */ /spaion
918 /a>static int
 a href="+code=smack_inode_removexattr" class="sref">smack_inode_removexattr /a>(struct
 a href="+code=dentry" class="sref">dentry /a> * a href="+code=dentry" class="sref">dentry /a>, const char * a href="+code=naml" class="sref">naml /a>)n
919 /a>{n
920 /a>	  
 
  struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+code=isp" class="sref">isp /a>;n
921 /a>	  
 
  struct
 a href="+code=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n
922 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>	=
0;n
923 /a>n
924 /a>	  
 
  if ( a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACK" class="sref">XATTR_NAME_SMACK /a>)	== 0 ||n
925 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKIPIN" class="sref">XATTR_NAME_SMACKIPIN /a>)	== 0	||n
926 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKIPOUT" class="sref">XATTR_NAME_SMACKIPOUT /a>)	== 0	||n
927 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKEXEC" class="sref">XATTR_NAME_SMACKEXEC /a>)	== 0	||n
928 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKTRANSMUTE" class="sref">XATTR_NAME_SMACKTRANSMUTE /a>)	== 0	||n
929 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACKMMAP" class="sref">XATTR_NAME_SMACKMMAP /a>)) {n
930 /a>	  
 
          if (! a href="+code=smack_privileged" class="sref">smack_privileged /a>( a href="+code=CAP_MAC_ADMIN" class="sref">CAP_MAC_ADMIN /a>))n
931 /a>	  
 
                   a href="+code=rc" class="sref">rc /a>	=
- a href="+code=EPERM" class="sref">EPERM /a>;n
932 /a>	  
 
  } elsen
933 /a>	  
 
           a href="+code=rc" class="sref">rc /a>	=
 a href="+code=cap_inode_removexattr" class="sref">cap_inode_removexattr /a>( a href="+code=dentry" class="sref">dentry /a>,  a href="+code=naml" class="sref">naml /a>);n
934 /a>n
935 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DATA_DENTRY" class="sref">LSM_AUDIT_DATA_DENTRY /a>);n
936 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_path_dentry" class="sref">smk_ad_setfield_u_fs_path_dentry /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=dentry" class="sref">dentry /a>);n
937 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	== 0)n
938 /a>	  
 
           a href="+code=rc" class="sref">rc /a>	=
 a href="+code=smk_curacc" class="sref">smk_curacc /a>( a href="+code=smk_of_inode" class="sref">smk_of_inode /a>( a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>),  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n
939 /a>n
940 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	== 0) {n
941 /a>	  
 
           a href="+code=isp" class="sref">isp /a>	=
 a href="+code=dentry" class="sref">dentry /a>-> a href="+code=d_inode" class="sref">d_inode /a>-> a href="+code=i_security" class="sref">i_security /a>;n
942 /a>	  
 
           a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_task" class="sref">smk_task /a> =
 a href="+code=NULL" class="sref">NULL /a>;n
943 /a>	  
 
           a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_mmap" class="sref">smk_mmap /a> =
 a href="+code=NULL" class="sref">NULL /a>;n
944 /a>	  
 
  }n
945 /a>n
946 /a>	  
 
  return
 a href="+code=rc" class="sref">rc /a>;n
947 /a>}n
948n
949 /a> spai class="comment">/** /spaion
959 spai class="comment"> * smack_inode_getsecurity - get smack xattrs /spaion
951 /a> spai class="comment"> * @inode: the object /spaion
952 /a> spai class="comment"> * @naml: attribute naml /spaion
953 /a> spai class="comment"> * @buffer: where to put the result /spaion
954 /a> spai class="comment"> * @alloc: unused /spaion
955 /a> spai class="comment"> * /spaion
956 /a> spai class="comment"> * Returns the size of the attribute or ai error code /spaion
957 /a> spai class="comment"> */ /spaion
958 /a>static int
 a href="+code=smack_inode_getsecurity" class="sref">smack_inode_getsecurity /a>(const struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=inode" class="sref">inode /a>,n
959 /a>	  
 
                           p>inode /a> * a href="+code=inode" c               p>inode  class* a href="+code classe" class="sref">inode /a>,n
933333333333333333333       p>inode  ool* a href="+code ool"sref">smk_audit_infoclasamp; a href="+coclasml" class="sref">naml /a>)nrc /a>	== 0) {n
921 /a>	  
 
  stocket
 a href="+code=inodetocket
 a hre" class="sref">inodes      a href="+cose=isp" class="sref">isp /a>;n
921 /a>	  
 
  stocketef="+code=inodetockete" class="sref">inodesohref="+code=inodetockisp" class="sref">isp /a>;n
921 /a>	  
 
  stuper_blohref="+code=inodetuper_blohre" class="sref">inodesb     a href="+cosb=isp" class="sref">isp /a>;n(const struct
 a href="+code=inode" class="sref">inode      a href="+cod class="inode_removexattr /a>(struct
 a href="+code=inode" cla)movexattr /a>(struct
 a href="+code=inode" c class="sref">isp /a>;ninode  /a> * a href="+code=isp" class="sref">isp /a>;n
817 /a>	  
 
ile href="+code=smkile isp" class="sref">isp /a>;n
922 /a>	  
 
  int
 a href="+code=rc" class="sref">rc /a>	=
0;n
939 /a>n
940 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
ss="s_SUFFIX=XATTR_NAME_SMACKMMAPss="s_SUFFIXR_NAME_SMAss="sref">rc /a>	== 0) {n
871 /a>	  
 
           a href="+code=isp" class="sref">isp c /a>( a href="+code=smk_of_inode" class="sref">smk_of_inodtruct
 a href="+code=inode" c" class="sref">ad /a>);n
87>
817 /a>	  
 
ile href="+code=smkile isp" class="sref">isp ctrle href="+code=smkctrle s="sref">smk_of_inodt      a href="+code=isp") + 1 class="sref">ad /a>);n
87        p>inode  class* a href="+code classe" c class="sref">isp  /a> * a href="+code=isp" class="sref">isp /a>;n
88946">
946 /a>	  
 
  rile href="+code=smkile isp" class="sref">isp /a>;n
947 /a>}n
947 /a>}n	  
 
           spai class="comment">/* /spaion
828 /a> spai claspai ffer:t"> * RetSe_getsecuri ar sinlyvexatocketsthe master label list. /spaion
829 /a> spai claspai class="comment"> */ /spaioninodesb     a href="+cosb=isp" class="sref">isp       a href="+cod classs="sref">d_inode /a>-&bref="+code=i_securbisp" class="sref">isp /a>;n
940 /a>	  
 
 b     a href="+cosb=isp" class="sref">isp /a>_magihref="+code=smk_c_magihine" class="sref">nsp /SOCKFS_MAGIe=XATTR_NAME_SMASOCKFS_MAGIeml" class="sref">naml /a>)n
88946">
9lass="sref">rc /aOPNOTSUPe=XATTR_NAME_SMAaOPNOTSUPeisp" class="sref">isp /a>;n
923 /a>n
904 /a>	  ohref="+code=inodetockisp" class="sref">isp SOCKET_I=XATTR_NAME_SMASOCKET_Is="sref">smk_of_inodt     a href="+cod clas" class="sref">ad /a>);n
940 /a>	  
 
 ohref="+code=inodetockisp" c="sref">smk_mmap /a> =
 a href="+code=NULL" ="sref">size /a>	== ohref="+code=inodetockisp" class="sref">isp /a>ref="+code=inodetkisp" c="sref">smk_mmap /a> =
 a href="+code=NULL" class="sref">naml /a>)n
87946">
9lass="sref">rc /aOPNOTSUPe=XATTR_NAME_SMAaOPNOTSUPeisp" class="sref">isp /a>;n
867 /a>n
904 /a>	        a href="+cose=isp" class="sref">isp cohref="+code=inodetockisp" class="sref">isp /a>ref="+code=inodetkisp" class="sref">isp /a>r-> a href="+code=i_se>r-> a hisp" class="sref">isp /a>;n
939 /a>n
940 /a>	  
 
       a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
ss="s_code=XATTR_NAME_SMACKIPINss="s_codeR_NAME_SMAs namlueL939">
939 /a>n
871 /a>	  
 
           a href="+code=isp" class="sref">isp c      a href="+cose=isp" class="sref">isp /a>->f="+code=smk_of_inoi isp" class="sref">isp /a>;n
886 /a>	  
 
  } else if ( a href="+code=strcmp" class="sref">strcmp /a>( a href="+code=naml" class="sref">naml /a>,
ss="s_code=XATTR_NAME_SMACKIPOUTss="s_code=R_NAME_SMAs namlueL939">
939 /a>n
943 /a>	  
 
           a href="+code=isp" class="sref">isp c      a href="+cose=isp" class="sref">isp /a>-&gouref="+code=smk_ad_inourisp" class="sref">isp /a>;n
class="sref">isp /a>;n
88946">
9lass="sref">rc /aOPNOTSUPe=XATTR_NAME_SMAaOPNOTSUPeisp" class="sref">isp /a>;n
947 /a>}n
904 /a>	 ile href="+code=smkile isp" class="sref">isp ctrle href="+code=smkctrle s="sref">smk_of_inodt      a href="+code=isp") + 1 class="sref">ad /a>);n
868 /a>	  
 
  if ( a href="+code=rc" class="sref">rc /a>	== 0) {n
95        p>inode  class* a href="+code classe" c class="sref">isp  /a> * a href="+code=isp" class="sref">isp /a>;n10/sine" namlueL943">
943 /a>	  
 
           a href="+code=rc" class="sref">rc ile href="+code=smkile isp" cl/pre>lass="sref">isp /a>;n10/line" namlueL namlueL947">
947 /a>}n10/line" namlueL902">
902n10/line" namlueL946">
946 /a>	  
 
  return
 a href="+code=rc" class="sref">rc /a>;n10/4ine" namlueL947">
947 /a>}n10/line" namlueL945">
945 /a>n10/line"namlueL947">
947 /a>}n10/line" namlueL957">
957 /a> spai class="comment">/** /spaion10/line" namlueL898">
898 /a> spai class="com in t"> * smack in "comment"> * Removinity - get smack xattrs /spaion10/line" namlueL859">
859 /a> spai class="comment"> * @inode: the object /spaion10ckine" namlueL859">
859 /a> spai class="commenthey go * @inode: the object /spaion10cline" namlueL951">
951 /a> spai class_ classment"> * classe" @inode: the object /spaion10cline" namlueL952">
952 /a> spe" @inode: the object /spaion10cline" namlueL953">
953 /a> spai class="cexatunt"> , -EINVALmitted, ai error code otherwise /spaion10cline" namlueL954">
954 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>static int
 a hre in t"> * smef="+code=smk_ad_int
 a hre in t"> * sms="sretsecurity /a>(const struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=inode" clL             p>inode  class* a href="+code classe" class="sref">inode /a>,n10cline" namlueL876">
8777777777777777777777">
958 /a>static/a>,  a href="+code=size_t" class="sref">size_ class_ cla* a href="+code class_e=size" cass="sref">inode /a>,n10cline"="sref">rc /a>	== 0) {n10cline" namlueL822">
922 /a>	  
 
le href="+code=smkle isp" class="sref">isp ctrle href="+code=smkctrle s="sref">smk_of_inod /a>,
 a href="+code=XATTR_NAME_SMACK" class="sref">" class="sref">rc /a>;n10cline" namlueL939">
939 /a>n10ckine" namlueL868">
868 /a>	  
 
 class* a href="+code classe" c class="sref">nsp /a>	!=
 a href="+code=NULL" "sref"sref"">
922 /a>	  
 
le href="+code=smkle isp" <lass="sref">nsp / class_ cla* a href="+code class_e=size" cs="sref">rc /a>	== 0) {n10cline" namlueL871">
871 /a>	  
 
    memcpmef="+code=smk_amemcpms="sref">smk_of_inod class* a href="+code classe" cllass="sref">naml /a>,
 a href="+code=XATTR_NAME_SMACK" class="sref"llass="sref">namlle href="+code=smkle isp">" class="sref">rc /a>;n10cline" namlueL882">
88946">
9ass="sref">namlle href="+code=smkle isp"" class="sref">rc /a>;n10cline" namlueL namlueL947">
947 /a>}n10c4ine" namlueL946">
9lass="sref">rc /aINVAL=XATTR_NAME_SMAaINVALisp"" class="sref">rc /a>;n10c5ine" namlueL947">
947 /a>}n10cline"namlueL947">
947 /a>}n10cline" namlueL957">
957 /a> spai class="comment">/** /spaion10cline" namlueL898">
898 /a> spai class="coms="sreidackExtracurs="co's t"> * smaient"> * @alloc: unused /spaion10cline" namlueL859">
859 /a> spai class=t the to extracur* Set fo fromnt"> * @alloc: unused /spaion10ckine" namlueL859">
859 /a> spaisreid="commener: wh will be savment"> * @alloc: unused /spaion10cline" namlueL861">
861 /a> spai class="comment"> */ /spaion10cline" namlueL862">
862 /a>static void  a hres="sreidef="+code=smk_ad_int
 a hres="sreids="srnode_getsecurity /a>(const struct
 a href="+code=inode" class="sref">inode /a> * a href="+code=inode" clrity /a>(const suck_lsm.c#L9"+codeu"line" ass="sref">inodesreidef="+code=smk_adreids="scass="sref">inode /a>,n10c3ine"="sref">rc /a>	== 0) {n10c4ine" namlueL921">
921 /a>	  
 
  struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+code=isp" class="sref">isp  /a> * a href="+code=inode" css="sref">d_inode /a>-> a href="+code=i_security" class="sref">i_security /a>;n10cline" namlueL945">
945 /a>n10cline" namlueLass="sref">inodesreidef="+code=smk_adreids="ss="sref">smk_mmap /a> =
to_sreidef="+code=smk_ad_int
to_sreids="sref">smk_of_inodt      a href="+code=isp" class="sref">isp /a>-> a href="+code=smk_inode" class>" class="sref">rc /a>;n10cline" namlueL947">
947 /a>}n10cline" namlueL948">
948n10cline" namlueL949">
949 /a> spi class="comment"> */ /spaion10ckine" namlueL859">
859 /a> spaFile Hookity - get smack xattrs /spaion10cline" namlueL861">
861 /a> spai class="comment"> */ /spaion10cline" namlueL902">
902n10cline" namlueL953">
953 /a> spai class="comment">/** /spaion10cline" namlueL954">
954 /a> spahref="file_turnsssionack_inode_removexafile oturamlodei class="comment">/** /spaion10cline" namlueL895">
895 /a> spaifiles="comment"> * @alloc: unused /spaion10cline" namlueL956">
956 /a> spa@masks="comment"> * @alloc: unused /spaion10cline" namlueL957">
957 /a> spnt"> * @alloc: unused /spaion10cline" namlueL898">
898 /a> spai class="nt"> * @alloc: unused /spaion10cline" namlueL859">
859 /a> spnt"> * @alloc: unused /spaion10ckine" namlueL898">
898 /a> spaShouldment"> *_remos be do" vexaeachneradsizew /se?nt"> * @alloc: unused /spaion10cline" namlueL951">
951 /a> spaUNICOS and SELinux say yesthe master label list. /spaion10cline" namlueL952">
952 /a> spaTrusted Solaris,aTrusted Irix, and just about everyo" v6">
8says nothe master label list. /spaion10cline" namlueL913">
913 /a> spai class="comment"> * /spaion10cline" namlueL954">
954 /a> spaI'll say no fizenow.k_inodedoes notedor* Sef the /aai class="comment"> * /spaion10cline" namlueL895">
895 /a> spalabelL   ngss="coat SELinux doesthe master label list. /spaion10cline" namlueL956">
956 /a> spai class="comment"> */ /spaion10c7ine" namlueL958">
958 /a>static int
file_turnsssionef="+code=smk_ad_int
file_turnsssions="sretsecurity /a>(const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_afiless=",eL958">
958 /a>statim; a href="+code=smmk" clascass="sref">inode /a>,n108ine"="sref">rc /a>	== 0) {n(const struct212*/ /spaioffer: where to puonamlueL947">
947 /a>}n<938">
938 /a>	  
 
           a href="+cod56" itrs /spaio>spai947 /a>}nspa
892 /a> spai class="comment">/** /spaionspa
893 /a> spai class="comment"> * smasretsef">n">i_securfil clign aclass=>i_securfblob/** /spaionspa
954 /a> spai class="comment">  @alloe: the object /spaionspa
955 /a> spai class="comment"> * /spaionspa
956 /a> spa@masks="comment"> _get>i_securfblobes noaclass=isoacpoim;erfo fe: t">itbject /spaionspa
897 /a> spai class="comment">t SELitsec, soedoeef">nment"=isoizewist. /spaionspa
898 /a> spai class="nt"> * @st. /spaionspa
859 /a> spai class=t the to elloc: unused /spaion  eL956 /a> spai class="comment"> */ /spaion  e1958 /a>static int
file_turnsssionef="+codef">n">i_securnt
file_turnsssions="sretsef">n">i_secur>(const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_afiless=",eL958">
958 /a>st/a>,n  e2	== 0) {n  e
903 /a>	  
 
   a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_secur>(coc /a>( a href="+code=smk__serommede" class>" class=mk__seromm>(con /a>;n  e
9lass="sref">rc /aIuonamlueL947">
947 /a>}n<938">
938 /a>	  
7#L955" idueL875"9class9"line" namldueL8>  e
947 /a>}n  e947 /a>}n  e
957 /a> spai class="comment">/** /spaion  e
898 /a> spai class="coms="sreidackEsretscome">i_securfilclear aclass=>i_securfblob/** /spaion  e
859 /a> spai class=t the to ex @alloe: the object /spaion  eL898 /a> spai class="nt"> * @st. /spaion  e
951 /a> spaUNICOS and SELinux_get>i_securfblobes noaclass=isoacpoim;erfo fe: t">itbject /spaion  e
952 /a> spaTrusted Solaris,aTt SELitsec, soedoememory=isocomedist. /spaion  e
893 /a> spai class="comment"> */ /spaion  e4862 /a>static void  a hres="sreidef="sretscome">i_securnt
file_turnsssions="sretscome">i_secur>(const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_afiless=",eL958">
958 /a>st/a>,n  e5	== 0) {n  e
936 /a>	  
 
   a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_secur>(coc /a>( a href="+code=NULL" class="sref">NULL /a>;n  e
947 /a>}n  e
948n  e
949 /a> spai class="comment">/** /spaion  eL898 /a> spai class="coms="sreidackEsretsioctlfile oturamlodei cioctl>/** /spaion  e
951 /a> spai class_ classment" @alloe: the object /spaion  e
952 /a> spai class="comment"> cmll beatfo fdject /spaion  e
953 /a> spai class="comment"> argloc: unused /spaion  e
954 /a> spai class="comment"sed /spaion  e
895 /a> spalabelL   ngss="coaRelies heaviaster e: tcoerofil unri ar siioctlf   nryo"convgssnt">ist. /spaion  e
956 /a> spa@masks="comment">st. /spaion  e
897 /a> spai class="comment"> * Returns 0 if">witteai error code otherwise /spaion  e
898 /a> spai class="coms="sr> */ /spaion  e9958 /a>static int
file_turnsssionef="+codioctlnt
file_turnsssions="sretsioctl>(const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_afiless=",eL958">
958 /a>statunlignedtic int
file_turnssscmless=",eL958">
9cmla>staaion10/sine" naml1eL9431>
943 /a>	  
 
                   unlignedtlonglasamp; a href="+rgess=",eL958">
9+rga>st/a>,n10/line" naml1eL na10>	== 0) {n	  
 
  int
 a href="+code=rc" class="sref">rc /a>	=
0;n	  
 
  stocketef="+code=inoe=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;nn	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DAPATHc__" class="srede=LSM_AUDIT_DAPATH">rc /a>;n10/line"namlu1L947"10
936 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_pnit" class="sref">smk_ad_setfield_u_fs_pnit /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof"fs_pnit" class="sref_fs_pnit  /a>;nn	  
 
  if ( a href="+co_IOC_DIRc__" class="srefIOC_DIRodt      a href="+cocmless=",eL958">
9cmla>st) 
 
le href="+code=smkfIOC_AY_WRITE" class="srefIOC_AY_WRa>st/a>,ninode  cnt
 a href="+code=rc" class="sref">rc /a>
   a href="+code=sck_curacc" class="sref">smk_curacc /a>( a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_secur>(coa>),  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n10ckine" naml1eL8591>
859 >);n10cline" naml1eL95111
940 /a>	  
 
 b     a href="+code=rc" class="sref">rc /a>	=/a>	  
 
le if ( a href="+co_IOC_DIRc__" class="srefIOC_DIRodt      a href="+cocmless=",eL958">
9cmla>st) 
 
le href="+code=smkfIOC_READc__" class="srefIOC_READa>st)/a>,n10cline" naml1eL95211
87>
817 /a>	  
 
ile href="+code=smde=rc" class="sref">rc /a>
   a href="+code=sck_curacc" class="sref">smk_curacc /a>( a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_secur>(coa>),  a href="+code=MREADc__" class="srede=MREADITE /a>, & a href="+code=ad" class="sref">ad /a>);n10cline" naml1eL95311
923 /a>n
898 /ass="srefIOC_DIRodt      a1lass9"line" namldueL8>  e
947 /a>}n  e947 /a>}n  e
957 /a> spai class="comment">/** /spaion  e
898 /a> spai cltupensssionack_inode_removetupeing/a> spai class="comment">/** /spaion  e
859 /a> spai class=t the to ex @alloe: the object /spaion10ckine" namlueL859">
859 /a> spai class="comment"> argloc: unused /spaion  e
951ss="comment"> argloc: unused /spaion  e
952 /a> spai clasommede" haseradsiaShouldent"> * Returns 0 if">witteai error code otherwise /spaion  e
893 /a> spai class="comment"> */ /spaion  e9958 /a>static intuper_blohref="+code>static intupee_turnsssions="sretsioctl>(const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_afiless=",eL958">
958 /a>statunlignedtic int
file_turnsss class="srefIOC_READa>st)/a>,n  e5	== 0) {n10/line"namld1eL94610
921 /a>	  
 
  stocketef="+code=inoe=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;nn
904 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DAPATHc__" class="srede=LSM_AUDIT_DAPATH">rc /a>;n
904 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_pnit" class="sref">smk_ad_setfield_u_fs_pnit /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof"fs_pnit" class="sref_fs_pnit  /a>;nrc /a>
   a href="+code=sck_curacc" class="sref">smk_curacc /a>( a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_secur>(coa>),  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="sref">ad /a>);n1"line" namldueL8>  e
947 /a>}n10cline" namlueL902">
902n10cline" namlueL953">
953 /a> spai class="comment">/** /spaion10cline" namlueL954">
954 /a> spahreffcn="coms="sreidackEsrefcn="/a> spai class="comment">/** /spaion10cline" namlueL895">
895 /a> spai class=t the to ex @alloe: the object /spaion10cline" namlueL956">
956 /a> spai clac>t SEtoeidackthe to ex @alloe: the object /spaion  e
897 /a> spai class="comment"> argloc: unused /spaionspa
898 /a> spai class="nt"> * @st. /spaion10cline" namlueL949">
997 Generallyai csvexafile otutsecuharmluldioctlf   nryo"convgssnt">ist. /spaion10ckine" namlueL859">
859 /a> stupeingexafile otutprcsv8">ineobvious mealabis fo fromnt"> * @alloc: unused /spaion10cline" namlueL861">
861 SELipnamingenfo"rmle otsted "commor* iecuradsiaShouldioctlf   nryo"convgssnt">ist. /spaion10cline" namlueL952">
952 /a> spe" @inode: the object /spaion10cline" namlueL953">
952 /a> spai clasommede" haseShouldent"> * Returns 0 if">witteai error code otherwise /spaion10cline" namlueL954">
954 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>statahreffcn="eidef="sretscome">i_securntcn="/aturnsssions="sretsioctl>(const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_afiless=",eL958">
958 /a>statunlignedtic int
file_turnssscmless=",eL958">
9cmla>staaion10cline" namlueL876">
8777777	  
 
                   unlignedtlonglasamp; a href="+rgess=",eL958">
9+rga>st/a>,n10cline"="sref">rc /a>	== 0) {n	  
 
  stocketef="+code=inoe=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n	  
 
  int
 a href="+code=rc" class="sref">rc /a>	=
0;n10ckine" naml1eL8591>
859 >);nrc /a>	=/a>C_DIRodt      a href="+cocm0cline"="sref">rc /a>	== 0) {nrc /a>	=/a>F_GETL href="+code=XATF_GETL ass9:cline"="sref">rc /a>	== 0) {nrc /a>	=/a>F_SETL href="+code=XATF_SETL ass9:cline"="sref">rc /a>	== 0) {nrc /a>	=/a>F_SETL Whref="+code=XATF_SETL Wass9:cline"="sref">rc /a>	== 0) {nrc /a>	=/a>F_SETOW="s_code=XATTR_NF_SETOW=ass9:cline"="sref">rc /a>	== 0) {nrc /a>	=/a>F_SETSIG"s_code=XATTR_NF_SETSIGass9:cline"="sref">rc /a>	== 0) {n10cline" namlueL8namlueL904">
904 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  a href="+code=LSM_AUDIT_DAPATHc__" class="srede=LSM_AUDIT_DAPATH">rc /a>;n	  
 
   a href="+code=smk_ad_setfield_u_fs_pnit" class="sref">smk_ad_setfield_u_fs_pnit /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof"fs_pnit" class="sref_fs_pnit  /a>;n
938 /a>	  
 
         1 a hr16/sm>10/sine" namlueL943">
943 /a>	  
 
           a href="+code=rc" class="sref">rc /a>
   a href="+code=sck_curacc" class="sref">smk_curacc /a>( a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_secur>(coa>),  a href="+code=MAY_WRITE" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="srs_pnit  /a>;n10cline" namlueL8breakode=ad" class="srs_pnit  /a>;nrc /a>	== 0) {n  e
947 /a>}n10cline" namlueL945">
945 /a>n  e
947 /a>}n  e
948nspa
853 /a> spai class="comment">/** /spaion  eL956 /a> spmmapsecur :/a> spai class="comment">/** /spaion10cline" namlueL861">
861 CdackEt
file_turs SELinummapexafile ot.  /a> /a> s may*_ref="+, e.gioctlf   nryo"convgssnt">ist. /spaion  e
952 if mappingeanonymous meis,aioctlf   nryo"convgssnt">ist. /spaion  e
953 /a> s contairs notedcome"mld1eure SELidcometo map (may*_ref="+)ioctlf   nryo"convgssnt">ist. /spaionspa
954 /reqprot contairs noteprotec>t SEor* Sis,aTbyai c applit">t Sioctlf   nryo"convgssnt">ist. /spaion
938 /a>	  
7#L955" idu1L875"17ck_>10cline" namlueL895">
895 /prot contairs noteprotec>t SE ngsser: wh wappli,aTbyai c kernelioctlf   nryo"convgssnt">ist. /spaion10cline" namlueL956">
956 /flags contairs notexafile otal flagsioctlf   nryo"convgssnt">ist. /spaion  e
952 /a> spi clas="file_turnis granttsec, soedoememory=isocomedist. /spaion  e
898 /a> spai class="comment"> */ /spaion  e9958 /a>statmmapsecureidef="sretscome">i_smmapsecur/aturnsssions="sretsioctl>(const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_afii class="comment"> */ /spaion10/sine" naml1eL9431>
943 /a	  
 
                   unlireqprotla)mo1eL954eL87eeqprotk_afiless=",eL9                unliprotla)mo1eL954eL87protk_afii class="comment"> */ /spaion10cline" namlueL8431>
943 /a	  
 
                   unliflagsackfileef="+codelagsef="+rgess=",eL958">
9+rga>st/a>,n  e2	== 0) {n	  
{ninodsk>isp c      a hrek="+code=isp" class="sref">isp /a>;n10c4ine" namlueL921">
921 /a>	 a>;ni_sruurk_afiless="sref">inodsr>isp c      a hrer="+code=isp" class="sref">isp /a>;n10c4ine" namlueL921">
921 /a>	 task_a>;n;ninodtf_inodt      a hrtf="+code=isp" class="sref">isp /a>;nisp c      a hre="+code=isp" class="sref">isp /a>;n;n;nisp /a>;n;n;nisp /a>;n10c4ine" namlueL921">
921 /a>	  
 
  struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+code=isp" class="sref">isp /a>;n
921 /a>	 d  er> a href="+cod  er&ck" class="sref">inoddsmack /a> * a hrd="+code=isp" class="sref">isp /a>;n
958 /a>  memcpmef="+codearity" class="sref">i_security /a>;n  memcpmef="+codeearity" class="sref">i_security /a>;n  memcpmef="+codtearity" class="sref">i_security /a>;n	  
 
  int
 a href="+ class="sref">i_security /a>;n10cline" namlueL945">
945 /a>nnsp /a>	!=
 a href="+code=||ode=ad" class="sref">ad /a>,  a href="+coafiless=",eL958">
958 /ad  er> a href="+co/ad  er&k_afi=se" c class="sref">nsp /a>	!=
 a href="+code+rgess=",eL958">
9+rga>st/a>,n  e
9lass="sref">rc /aIuonamlueL947">
91curity/sma1k/smack_lsm.  e#L958" idu1L898"19lass988ine" namldueL8>  e
948n
90dsmack /a> * a hrd="+cocode=rc" class="srref">ad /a>,  a href="+coafiless=",eL958">
958 /ad  er> a href="+co/ad  er&k_af>  e
9lass="sref">rc /aIuonamlueL947">
92curit1057m2ck/sm10ck_lsm1c#L899" id12L899"20ck_>10ckine" naml1eL8591>
859 >);n10cline" naml1eL95111
940 /adsmack /a> * a hrd="+coiless=",eL958">
958 dp /a>-> a href="+cd=smk_inodei=se" c class="sref">nsp /a>	!=
 a href="+code+rgess=",eL958">
9+rga>st/a>,n10cline" namlueL882">
888>  e
9lass="sref">rc /aIuonamlueL947">
92curity/sma2k/smack_lsm.2103L891" id12L893"20ck_>10cline" naml1eL95311
923 /a>n
90e_smack /a> * a href="+code=isp" class="sredsmack /a> * a hrd="+coiless=",eL958">
958 dp /a>-> a href="+cd=smk_inodenode" css="sref">d_inode /a>-> a href="+code=i_security" class="sref">i_security /a>;nispmmap
   a href="+code=smmapnodei=se" c class="sref">nsp /a>	!=
 a href="+code+rgess=",eL958">
9+rga>st/a>,n10cline" namlueL882">
888>  e
9lass="sref">rc /aIuonamlueL947">
92c7rity/sma2kk/sm10ck_lsm.9#L957" idu2L897"207lass988ine" namlueL904">
90ma>;n;nispmmap
   a href="+code=smmapnode>  e
9lass="sref">rc /aIuonamlueL947">
92c8rity/sma2k/smack_lsm.  e#L958" idu2L898"20lass988ine" namldueL8>  e
948n
90tf_inodt      a hrtf="+code=isp" class="sreommede"ode /a>-> a href="+coommede"ode /a>-&/aturcode=ad" class="srs_pnit  /a>;n
90">isp c      a hre="+coile_turnsssf">i_secur>(coc /a>( a href="+code=smk__serommede" class>" class=mk__seromm>(con /a>;n10cline" ess="sref">inodsk>isp c      a hrek="+coile_turnsssf">i_secur>find_  er> a href="+cocur>find_  er&acc" class="sref">sm">isp c      a hre="+cos>" class=mk__seromm>(con /a>;n10cline" 43">
943 /a>	  
 
           a href="+cod8>  e
9lass="sref">rc /aIuonamlueL947">
92curity/sma2k/smack_lsm.11c3L891" id12L913"20ck_>10cline" naml1eL95311
923 /a>n
90rcu_xaeantuper_blohref="+codrcu_xaeantupe class>" class=mk__seromm>(con /a>;nspa
853/a> spai class="comment"> */ /spaion10cline" namlueL956">
9555555555* Fordo" veSion< ruur smaocias,aTwith notesuss=t the to ex @alloe: the object /spaion  e
9555555555* /a> spverifyE ngssnoteCK" c64MMAP also haseShouldthe to ex @alloe: the object /spaion  e
8955555555* es nogssruururs="coass=t  /a> sec, soedoememory=isocomedist. /spaion  e
8555555555* /a> spai class="comment"> */ /spaion
90aTru_for_o" v_  er&_rcur_blohref="+codaTru_for_o" v_  er&_rcuacc" class="sref">sm"r>isp c      a hrer="+co" class="sref">MAY_WRIsk>isp c      a hrek="+code=isp" class="sref">ispruursackfileef="+cod>ispruursnt
file_turnsssf">i_saTrur_blohref="+codaTru"+cosm0cline"="sref">rc /a>	== 0) {n10cline" namlueL8L             poa>;n;ni_secr>isp c      a hrer="+code=isp" class="sref">ispass=t a href="+code=smk__sss=t thde>  e
9lass="sref">rc /aIuonamlueL947">
92curit1058m2ck/sm10ck_lsm.c#L922" idu2L922"22ck_>10cline" naml1eL95line" namleteL8>spa
853/a> spai class="comment"> */ /spaion  e
899999999999999999* Matchinge/a> sseSlwv6">s="cosaShouldioctlf   nryo"convgssnt">ist. /spaionspa
959999999999999999* /a> spai class="comment"> */ /spaion10cline" naml1eL9naml1eL95111
940 /ama>;n;ni_seoa>;n;n
9+rga>st/a>,n10cline" namlueL876">
877continue>  e
9lass="sref">rc /aIuonamlueL947">
92curit10c7m2ck/sm10ck_lsm.c#L927" idu2L927"22class997ine"         5line" namleteL8>spa
853/a> spai class="comment"> */ /spaion  e
895555555599999999* Iviastret>i_sematchinge/ocal ruur tak>witteai error code otherwise /spaion  e
855555555599999999* nogssines Shoou8">is welsec, soedoememory=isocomedist. /spaion  eL959999999999999999* /a> spai class="comment"> */ /spaion10cline" namlueL8L             pa>  memcpmef="+codearity"ile_turnsssf">i_secur>Should_  er> a href="+cocur>Should_  er&acc" class="sref">sm"r>isp c      a hrer="+code=isp" class="sref">ispsuss=t gt; a href="+cocur>suss=t th
file_turnsssf">i_soa>;n;n */ /spaion10cline" naml1eL9999999999999999999999999class="sref">MAY_WRItf_inodt      a hrtf="+code=isp" class="sref">ispruursackfileef="+cod>ispruursnt
fs>" class=mk__seromm>(con /a>;n  memcpmef="+codearity"il= -1eL95111
940 /aENOENT memcpmef="+codENOENTk_af+rgess=",eL958">
9+rga>st/a>,n10cline" naml1eL999999999L             pa>  memcpmef="+codearity"ile_turnsssf">i_secr>isp c      a hrer="+code=isp" class="sref">ispShouldgt; a href="+cocur>Shouldthde>  e
9lass="sref">rc /aIuonamlueL947">
92curit1025m2ck/sm10ck_lsm.c#L935" idu2L935"235k_>10cline" naml1eL9eryo  e
9lass="sref">rc /aIuonamlueL947">
92curit1026m2ck/sm10ck_lsm.c#L936" idu2L936"23ck_>10cline" namlueL876">
877L             pa>  memcpmef="+codearity"iclassle_turnsssf">i_secr>isp c      a hrer="+code=isp" class="sref">ispShouldgt; a href="+cocur>Shouldthde>  e
9lass="sref">rc /aIuonamlueL947">
92curit10c7m2ck/sm10ck_lsm.c#L937" idu2L937"23class997ine"         5line" namleteL8>spa
853/a> spai class="comment"> */ /spaionspa
899999999999999999* Ivimay*>i_zerosnoteCK" c64MMAP suss=t  canurs=" the to ex @alloe: the object /spaion10cline" namlueL949">
999999999999999999* possibly have luldaShouldioctlf   nryo"convgssnt">ist. /spaion10ckine" namlueL859">
859999999999999999* /a> spai class="comment"> */ /spaion10cline" namlueL8naml1eL95111
940 /am>  memcpmef="+codearity"il= 0+rgess=",eL958">
9+rga>st/a>,n10cline" naml1eL999999999continue>  e
9lass="sref">rc /aIuonamlueL947">
92curit1043m2ck/sm10ck_lsm.c#L943" idu2L943"24ck_>10cline" naml1eL95311
923 /a>n10cline" naml1eL95line" namleteL8>spa
853/a> spai class="comment"> */ /spaion10cline" namlueL895">
899999999999999999* FetchsnoteglobaspaTru   er&ioctlf   nryo"convgssnt">ist. /spaion10cline" namlueL956">
955555555599999999* Iviastret>inurs="  t evaeCK" c64MMAP suss=t octlf   nryo"convgssnt">ist. /spaion  e
955555555599999999* canurs="  have is muchsShould is ommede"ioctlf   nryo"convgssnt">ist. /spaionspa
899999999999999999* /a> spai class="comment"> */ /spaionisp c      a hrek="+coile_turnsssf">i_secur>find_  er> a href="+cocur>find_  er&acc" class="sref">smma>;n;n" class=mk__seromm>(con /a>;n10/sine" namlueL943">
943 /a>	  ma>  memcpmef="+codeearity"ile_turnsssf">i_secur>Should_  er> a href="+cocur>Should_  er&acc" class="sref">smma>;n;ni_soa>;n;nMAY_WRIsk>isp c      a hrek="+code=isp" class="sref">ispruursackfileef="+cod>ispruursnt
fs>" class=mk__seromm>(con /a>;n10cline" namlueL8naml1eL95111
940 /ama>  memcpmef="+codeearity"il= -1eL95111
940 /aENOENT memcpmef="+codENOENTk_af+m0cline"="sref">rc /a>	== 0) {n10cline" naml1eL99999999943">
943 /a>	  
 
           a href="+cod-1eL95111
940 /aEACCES memcpmef="+codEACCESthde>  e
9lass="sref">rc /aIuonamlueL947">
92curit10c3m2ck/sm10ck_lsm.c#L953" idu2L953"25class99line" namlueL999999999breakode=ad" class="srs_pnit  /a>;n10cline" naml1eL98line" namldueL8>  e
947 /a>}n10cline" naml1eL95line" namleteL8>spa
853/a> spai class="comment"> */ /spaion10cline" namlueL956">
955555555599999999* Iviastret>ivae/ocal   er& it modif spaast/a> spai class="comment"> */ /spaion  e
955555555599999999* poti aral Shouldentooioctlf   nryo"convgssnt">ist. /spaionspa
899999999999999999* /a> spai class="comment"> */ /spaion  memcpmef="+codtearity"ile_turnsssf">i_secur>Should_  er> a href="+cocur>Should_  er&acc" class="sref">smma>;n;ni_soa>;n;nMAY_WRItf_inodt      a hrtf="+code=isp" class="sref">ispruursackfileef="+cod>ispruursnt
fs>" class=mk__seromm>(con /a>;n
938 /a>	  
 
         2 a hr26/sm>10/sine" namlueL9naml1eL95111
940 /ata>  memcpmef="+codtearity"i!= -1eL95111
940 /aENOENT memcpmef="+codENOENTk_af+rgess=",eL958">
9+rga>st/a>,n10cline" namlueL8amle1eL85910
95        ma>  memcpmef="+codeearity"iclassle_turnsssf">i_seta>  memcpmef="+codtearity" class="sref">i_security /a>;n10cline" namlueL902">
902nspa
853/a> spai class="comment"> */ /spaionspa
959999999999999999* Iviastret>ivanysShould ivailabometo ommede" nogssidthe to ex @alloe: the object /spaion10cline" namlueL895">
899999999999999999* not ivailabometo aeCK" c64MMAP suss=t octlf   nryo"convgssnt">ist. /spaion10cline" namlueL956">
955555555599999999* denysShouldioctlf   nryo"convgssnt">ist. /spaion  e
955555555599999999* /a> spai class="comment"> */ /spaion10cline" namlueL8namll1eL95111
940 /am>  memcpmef="+codearity"i|ode=ad" class="sma>  memcpmef="+codeearity")i!= de=ad" class="sma>  memcpmef="+codeearity")i0cline"="sref">rc /a>	== 0) {n  e
9lass="sref">rc /aIuonamlueL947">
92curit10c9m2ck/sm10ck_lsm.7
         2L870"27/sm>10/sine" naml1eL9431>
943breakode=ad" class="srs_pnit  /a>;n10cline" namlueL88line" namldueL8>  e
947 /a>}n10cline" 8line" namldueL8>  e
947 /a>}n10cline" naml1eL95311
923 /a>n
90rcu_xaeanuntuper_blohref="+codrcu_xaeanuntupe class>" class=mk__seromm>(con /a>;n
938 /a>	  
7#L955" idu2L875"27ck_>10cline" namlueL945">
945 /a>n  e
947 /a>}n  e
948nspa
853 /a> spai class="comment">/** /spaion  eL898 /a> spai clseu_fowner - seu notedcome"mment"> blob valut/a> spai class="comment"> */ /spaion  e
951 /a> spaass=t  in * Sision/a> spai class="comment"> */ /spaion10cline" namlueL952">
952 /a> spe" @inode: the object /spaion10cline" namlueL953">
952 /a> spai  /a> spe" @inode: the object /spaionspa
954 Furastr rcsvarch may*_reor* iecd  ngss>ivoneioctlf   nryo"convgssnt">ist. /spaion10cline" namlueL895">
895 /a> spai class="comment"> */ /spaion
958 /a>statahrefseu_fownerackfileef="+cod>istatahrefseu_fowner clasnsssions="sretsioctl>(const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_af+rgess=",eL958">
9+rga>st/a>,n10cline"="sref">rc /a>	== 0) {n
90k_curacc /a>( a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_secur>(coc /a>( a href="+code=smk__serommede" class>" class=mk__seromm>(con /a>;n10c4ine" 82">
888>  e
9lass="sref">rc /aIuonamlueL947">
92curity/sma2k/smack_lsm.109
         2L890"29class8line" namldueL8>  e
947 /a>}n10cline" namlueL952">
953 /a> spai class="comment">/** /spaion10cline" namlueL953">
952 >istatahrefsend_sigiotaskcoms="sre ngsigio/a> spai class="comment">/** /spaionspa
954 /tsk: /a> targeu nask/a> spai class="comment">/** /spaion10cline" namlueL895">
895 /aownpai class=t  notesigtal eL8tedro fo fromnt"> * @alloc: unused /spaion10cline" namlueL956">
956 /sigtumspai class="comment"> argloc: unused /spaion  e
952ss="comment"> argloc: unused /spaion  e
898 A="co a privhregcd taskcto geu sigtals even8namiu shouldnurs=" the to ex @alloe: the object /spaion10cline" namlueL949">
997the to ex @alloe: the object /spaion  eL898 /a> spai clasa suss=t  with noteass=t urs="coaion< eLuldthe to ex @alloe: the object /spaion  e
951 radsiatosnotetask,>inet"> * Returns 0 if">ioctlf   nryo"convgssnt">ist. /spaion10cline" namlueL952">
952 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>statahrefsend_sigiotaskackfileef="+cod>istatahrefsend_sigiotask clasnsssions="sretsioctl>(task_asssio memcpmef="+codtask_asssiok_afiless="sref">inodtskackfileef="+codts */ /spaion10cline" naml1eL9999999999999999999999nsssions="sretsioctl>(cown_asssio memcpmef="+codcown_asssiok_afiless="sref">inodeowrnsssionef="+codfowrk_af," namlueL958">
958 /aigtumackfileef="+cod>igtumk_af+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n10/line"namld1eL94610
921 /a>	 const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_af>  e
9lass="sref">rc /aIuonamlueL947">
93c7rity/sma3kk/sm10ck_lsm.9#L957" idu3L897"307lass988ine" amld1eL90210
922 /a>	  
 
  int
 a href="+ class="sref">i_security /a>;ni__sertaskacc" class="sref">smtskackfileef="+codts
958 cecdackfileef="+codcecd"+code=isp" class="sref">st/a>-> a href="+co>i_securnt
fs>" class=mk__seromm>(con /a>;n	  
 
  stocketef="+code=inoe=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n10ckine" naml1eL8591>
859 >);n10cline" eline" namleteL8>spa
853/a> spai class="comment"> */ /spaion10cline" namlueL952">
9555555555* amld1eLcown_asssiot>ivnever outsiturnotecontext oasa smld1eLc=smk_> spai class="comment"> */ /spaion  e
89999999992 /a> spai class="comment"> */ /spaion
90const sfileef="+code=smk_afi==isp" class="sreoontairer_seackfileef="+codcontairer_seacc" class="sref">smeowrnsssionef="+codfowrk_af,"amld1eL94610
921 /a>	 const sfileef="+code=smk_afcode=ad" class="sr_ownerackfileef="+codr_ownernt
fs>" class=mk__seromm>(con /a>;n10cline" namlueL945">
945 /a>n10cline" eline" namleteL8>spa
853 we donurs="  log stretas rc can*_reoverritun92 /a> spai class="comment"> */ /spaion
90
 
           a href="+code=rc" class="sref">Shouldgt; a href="+cocur>Shouldthde class="sref">smk_curacc /a>( a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_stf_inodt      a hrtf="+coile_turnsssf">i_secur>(coa>),  a href="+code=MAY_WRITE" e_turnsssf">i_s">nsp /a>	!=
 a href="+code+>" class=mk__seromm>(con /a>;ni_shas_capabil>-> a href="+cohas_capabil>-&acc" class="sref">smtskackfileef="+codtsi_sCAP_MAC_OVERRIDa>),  a href="+cCAP_MAC_OVERRIDacode++rgess=",eL958">
9+rga>st/a>,nrc /aIuonamlueL947">
93curit102sm3ck/sm10ck_lsm.c#L920" idu3L920"32ck_>10ckine" naml1eL8591>
859 >);n10cline" ess="sref">inods /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  aTAS href="+code=XAT_func__ /a>,  aTAS code+>" class=mk__seromm>(con /a>;n10cline" 43">
943 /a>	  eld_u_fs_pnit" clatskackfileef="+codeld_u_fs_pnit" clatskit" class="sref">smk_ad_init /a>(& a href="+code=ad" class="stskackfileef="+codts" class=mk__seromm>(con /a>;n10cline" 43">
943 /a>	  el;nsmk_curacc /a>( a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_stf_inodt      a hrtf="+coile_turnsssf">i_secur>(coa>),  a href="+code=MAY_WRITE" e_turnsssf">i_s
 
           a href="+" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="srs_pnit  /a>;n18line" namldueL8>  e
947 /a>}n1line" namldueL8>  e
947 /a>}n  e
953 /a> spai class="comment">/** /spaion  e
892 >istatahrefreceivecoms="sredcomereceiveccdack/a> spai class="comment">/** /spaion  e
851 /a> spanoteass=t /a> spai class="comment">/** /spaion  eL95 /a> spai class="comment">/** /spaion  e
951 /a> spai clasommede" haseShouldent"> * Returns 0 if">witteai error code otherwise /spaion10cline" namlueL952">
952 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>statahrefreceiveackfileef="+cod>istatahrefreceive clasnsssions="sretsioctl>(const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_af+rgess=",eL958">
9+rga>st/a>,n1"line" namldueL8>  e5	== 0) {n10cline" ess=",eL958">
958 /a>  memcpmef="+codearity"cod8>  e
9lass="sref">rc /aIuonamlueL947">
93curit1026m3ck/sm10ck_lsm.c#L936" idu3L936"33/k_>10/line"namld1eL94610
921 /a>	  
 
  stocketef="+code=inoe=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;nad /a>;n
90s /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+code=__func__" class="sref">__func__ /a>,  aTAS href="+code=XAT_func__ /a>,  aTAS code+>" class=mk__seromm>(con /a>;n
904 /a>	  
 
   a href="+code=smk_ad_setfield_u_fs_pnit" class="sref">smk_ad_setfield_u_fs_pnit /a>(& a href="+code=ad" class="sref">ad /a>,  a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof"fs_pnit" class="sref_fs_pnit  /a>;nspa
853/a> spai class="comment"> */ /spaion  e
9555555555* Ts>ivReturrel spaon bitmaskdioctlf   nryo"convgssnt">ist. /spaion10cline" namlueL952">
9555555555* /a> spai class="comment"> */ /spaion
958 /amo>-> a href="+c/amo>-lass9class e_turnsssf">i_sFMODE_READ> a href="+cFMODE_READk_af+rgess=",eL958">
9+rga>st/a>,n10cline" naml1eL95,eL958">
958 /a>  memcpmef="+codearity"code_turnsssf">i_securREAD> a href="+cecurREADf="+code=ad" class="sref">ad /a>;n
958 /amo>-> a href="+c/amo>-lass9class e_turnsssf">i_sFMODE_>(coa>),  a href="+cFMODE_>(coak_af+rgess=",eL958">
9+rga>st/a>,n10cline" namlueL85,eL958">
958 /a>  memcpmef="+codearity"c|ode_turnsssf">i_secur>(coa>),  a href="+code=MAY_WRITEcode=ad" class="sref">ad /a>;nad /a>;nrc /a>
   a href="+code=sck_curacc" class="sref">smk_curacc /a>( a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_sa>  memcpmef="+codearity"" class="sref">MAY_WRITE /a>, & a href="+code=ad" class="srs_pnit  /a>;n  e
947 /a>}n10ckine" naml1eL8591>
859 >);n  e
953 /a> spai class="comment">/** /spaion  e
952 >istatahrefopencoms="sred  er& opencprooulding/a> spai class="comment">/** /spaion  e
953 /a> spanoteass=t /a> spai class="comment">/** /spaionspa
954 /cecdspai class="comment"> argloc: unused /spaion10cline" namlueL895">
895ss="comment"> argloc: unused /spaion10cline" namlueL956">
95* Seu note"mment"> blob in notedcome"mld1eureioctlf   nryo"convgssnt">ist. /spaion  e
955ss="comment"> argloc: unused /spaionspa
892 /a> spai  /a> spe" @inode: the object /spaion  e
851 /a> spai class="comment"> */ /spaion
938 /a>	  
 
         3 a hr36/sm>10cline" namlueL958">
958 /a>statahrefopenackfileef="+cod>istatahrefopen clasnsssions="sretsioctl>(const sfileef="+code=smk_afiless="sref">inode_smackfileef="+code=smk_af,econstnamld1eL94610
921 /a>	 cecdackfileef="+codcecd"+coiless="sref">inodcecdackfileef="+codcecd"+co+rgess=",eL958">
9+rga>st/a>,n1"line" namldueL8>  e5	== 0) {n10cline" namlueL921">
921 /a>	  
 
  struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+cocode=rc" class="srref">ad /a>,  a href="+coafiless=",eL958">
958 /a>st/a>-> a href="+cof"fs_p.=",eL958">
958 d  er> a href="+cod  er&ck" iless=",eL958">
958 dp /a>-> a href="+cd=smk_inodenode" css="sref">d_inode /a>-> a href="+code=i_security" class="sref">i_security /a>;n10cline" naml1eL95311
923 /a>n
90const sfileef="+code=smk_afiless=",eL958">
958 /a>st/a>-> a href="+cof">i_securnt
file_turnsssf">i_seff_inodt      a href="+code=isp" class="sref">isp /a>-> a href="+c>isp /a>-ity" class="sref">i_security /a>;n10cline" namlueL945">
945 /a>n  e
9lass="sref">rc /aIuonamlueL947">
93curit1012m3ck/sm10ck_lsm.6#L957" idu3L867"36lass98line" namldueL8>  e
947 /a>}n  e
948nspa
853/a> spai class="comment"> */ /spaion  eL898 Taskchookdthe to ex @alloe: the object /spaion  e
951 /a> spai class="comment"> */ /spaion10cline" namlueL902">
902n  e
953 /a> spai class="comment">/** /spaionspa
954 aion cecdi araldthe to ex @alloe: the object /spaion
938 /a>	  
7#L955" idu3L875"37ck_>10cline" namlueL895">
895 /newpanotenew cecdi araldthe to ex @alloe: the object /spaion10cline" namlueL956">
956 /gfppanoteatomict"> oasany memor& s="ccationsthe to ex @alloe: the object /spaion  e
955ss="comment"> argloc: unused /spaionspa
892 Prepareta blankcseu oascecdi arald for modif cation.  Ts>ivmustns="ccatens="ss="comment"> argloc: unused /spaionspa
89* noe memor& noe LSM moduur mighteor* iec suchsnoatscecd_transfer() canss="comment"> argloc: unused /spaion  eL898 eL8pletenwithoutnt"> *ioctlf   nryo"convgssnt">ist. /spaion  e
951 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>statcecd_s="cc_blankackfileef="+cod>istatcecd_s="cc_blank clasnsssions="sretsioctl>(cecdackfileef="+codcecd"+coiless="sref">inodcecdackfileef="+codcecd"+coile_turnsssf">i_sgfp_
   a href="+codgfp_
 class="sref">smk_augfp   a href="+codgfp"+co+rgess=",eL958">
9+rga>st/a>,n1"line" namldueL8>  e5	== 0) {ninodtf_inodt      a hrtf="+co>  e
9lass="sref">rc /aIuonamlueL947">
93curit101sm3ck/sm10ck_lsm.8#L955" idu3L885"38ck_>10cline" namlueL945">
945 /a>n10cline" ess="sref">inodtf_inodt      a hrtf="+coile_turnsssf">i_senew_task_atruct
 a href="+codnew_task_atrucacc" class="sref">sm">nsp /a>	!=
 a href="+code" e_turnsssf">i_s">nsp /a>	!=
 a href="+codeile_turnsssf">i_sgfp   a href="+codgfp"+co+>  e
9lass="sref">rc /aIuonamlueL947">
93curit1012m3k/smack_lsm.  e#L957" idu3L887"387lass988ine" aaml1eL95111
940 /atf_inodt      a hrtf="+coilse" c class="sref">nsp /a>	!=
 a href="+code+rgess=",eL958">
9+rga>st/a>,n10cline" namlueL8a)mo1eL-1eL95111
940 /aENOMEMp /a>	!=
 a hreENOMEM"+co>  e
9lass="sref">rc /aIuonamlueL947">
93curit10c6m3ck/sm10ck_lsm.8srnode_get3L889"389k_>1  e
9lass="sref">rc /aIuonamlueL947">
93curity/sma3k/smack_lsm.109
         3L890"390lass988ine" namlueL904">
90cecdackfileef="+codcecd"+code=isp" class="sref">st/a>-> a href="+co>i_securnt
file_turnsssf">i_setf_inodt      a hrtf="+co>  e
9lass="sref">rc /aIuonamlueL947">
93curit1051m3ck/sm10ck_lsm.9#L951" idu3L891"39lass9"line"="sredueL8>spa
891 /a>n10cline" a)mo1eL8>  e
9lass="sref">rc /aIuonamlueL947">
93curit10c6m3ck/sm10ck_lsm.9#L953" idu3L893"39ck_>18line" namldueL8>  e
947 /a>}n  e
947 /a>}n10cline" namlueL945">
945 /a>n10cline" namlueL956">
953 /a> spai class="comment">/** /spaion  e
952 aion cecdi araldthe to ex @alloe: the object /spaion  e
898 /cecdspnotececdi arald in * Sision/a> spai class="comment"> */ /spaion10cline" namlueL949">
997the to ex @alloe: the object /spaion  eL898 /a> spai class="comment"> */ /spaion
958 /a>statcecd_freeackfileef="+cod>istatcecd_free clasnsssions="sretsioctl>(cecdackfileef="+codcecd"+coiless="sref">inodcecdackfileef="+codcecd"+co+rgess=",eL958">
9+rga>st/a>,n1"line" namldueL8>  e5	== 0) {ninodtf_inodt      a hrtf="+coi==isp" class="sreoecdackfileef="+codcecd"+code=isp" class="sref">st/a>-> a href="+co>i_securnt
f>  e
9lass="sref">rc /aIuonamlueL947">
94curity/sma4k/smack_lsm.6104L891" id14L894"404lass988ine" nsssions="sretsioctl>(namlueruurackfileef="+cod>istatruur"+coiless="sref">inodr>isp c      a hrr="+co>  e
9lass="sref">rc /aIuonamlueL947">
94curity/sma4k/smack_lsm.7105L891" id14L895"405lass988ine" nsssions="sretsioctl>(aTru_heTE /a>, & a haTru_heTE"+coiless="sref">inodl /a>, & a ha"+co>  e
9lass="sref">rc /aIuonamlueL947">
94c6rity/sma4kk/sm10ck_lsm.9#L956" idu4L896"40/k_>10/line"namld1eL94610
921 /a>	 aTru_heTE /a>, & a haTru_heTE"+coiless="sref">inodnackfileef="+codn"+co>  e
9lass="sref">rc /aIuonamlueL947">
94c7rity/sma4kk/sm10ck_lsm.9#L957" idu4L897"40classode=ad" class="sref">ad /a>;nnsp /a>	!=
 a href="+code+rgess=",eL958">
9+rga>st/a>,n  e
9lass="sref">rc /aIuonamlueL947">
94curity/sma4k/smack_lsm.11c#L910" id14L910"410lass988ine" namlueL904">
90cecdackfileef="+codcecd"+code=isp" class="sref">st/a>-> a href="+co>i_securnt
file_turnsssf">i_se">nsp /a>	!=
 a href="+code>  e
9lass="sref">rc /aIuonamlueL947">
94c1rit1057m4k/smack_lsm.11c#L891" id14L911"41lass9"line"="sredueL8>spa
891 /a>n10cline" 43">
943 /a>	  aTru_for_each_safrackfileef="+codaTru_for_each_safracc" class="sref">sml /a>, & a ha"+coile_turnsssf">i_snackfileef="+codn"+coi class="sref">MAY_WRItf_inodt      a hrtf="+code=isp" class="sref">ispruursackfileef="+cod>ispruursnt
fsi0cline"="sref">rc /a>	== 0) {ninodr>isp c      a hrr="+coile_turnsssf">i_seaTru_  er> a href="+coaTru_  er&acc" class="sref">sml /a>, & a ha"+coilnsssions="sretsioctl>(namlueruurackfileef="+cod>istatruur"+coile_turnsssf">i_saTrugt; a href="+coaTru"+co+>  e
9lass="sref">rc /aIuonamlueL947">
94curity/sma4k/sm9ck_lsm.3114L891" id14ref="414k_>10cline" naml1eL95,eL958">
958 /aTru_del /a>, & a haTru_delacc" class="sref">MAY_WRIr>isp c      a hrr="+code=isp" class="sref"aTrugt; a href="+coaTru"+co+>  e
9lass="sref">rc /aIuonamlueL947">
94curity/sma4
898 /ass="srefIOC_DIRodt4     415k_>10cline" naml1eL95" class="sref"kfreeackfileef="+codkfree clas="sref">MAY_WRIr>isp c      a hrr="+co+>  e
9lass="sref">rc /aIuonamlueL947">
94c6rity/sma4ck/sm10ck_lsm.c#L916" idu4L916"416k_>10cline" 8line" namldueL8>  e
947 /a>}n
90kfreeackfileef="+codkfree clas="sref">MAY_WRItf_inodt      a hrtf="+co+>  e
9lass="sref">rc /aIuonamlueL947">
94c8rity/sma4ck/sm10ck_lsm.c#L918" idu4L918"418ass98line" namldueL8>  e
947 /a>}n1  e
9lass="sref">rc /aIuonamlueL947">
94curit102sm4ck/sm10ck_lsm.c#L920" idu4L920"42lass99line" naml  eL8>  eL853 /a> spai class="comment">/** /spaion  e
951 >istatcecd_preparet- preparetnew seu oascecdi arald for modif cation/a> spai class="comment">/** /spaion  e
952 /newpanotenew cecdi araldthe to ex @alloe: the object /spaion  e
953 /oldspnoteorigital eecdi araldthe to ex @alloe: the object /spaionspa
954 /gfppanoteatomict"> oasany memor& s="ccationsthe to ex @alloe: the object /spaion10cline" namlueL895">
895ss="comment"> argloc: unused /spaion10cline" namlueL956">
956 Prepareta new seu oascecdi arald for modif cationioctlf   nryo"convgssnt">ist. /spaion  e
998 /a> spai class="comment"> */ /spaion
958 /a>statcecd_prepareackfileef="+cod>istatcecd_prepare clasnsssions="sretsioctl>(cecdackfileef="+codcecd"+coiless="sref">inodnewt
 a href="+codnew"+coilconstnamld1eL94610
921 /a>	 cecdackfileef="+codcecd"+coiless="sref">inodoldackfileef="+codold"+coii class="comment"> */ /spaion
90gfp_
   a href="+codgfp_
 class="sref">smk_augfp   a href="+codgfp"+co+rgess=",eL958">
9+rga>st/a>,nrc /a>	== 0) {n10cline" nsssions="sretsioctl>(task_atruct
 a href="+codtask_atruc"+coiless="sref">inodold_tf_inodt      a hrold_tf_"+coile_turnsssf">i_seoldackfileef="+codold"+code=isp" class="sref">st/a>-> a href="+co>i_securnt
f>  e
9lass="sref">rc /aIuonamlueL947">
94curit10c2m4ck/sm10ck_lsm.c#L932" idu4L932"43ck_>10cline" namlueL921">
921 /a>	 task_atruct
 a href="+codtask_atruc"+coiless="sref">inodnew_tf_inodt      a hrnew_tf_nt
f>  e
9lass="sref">rc /aIuonamlueL947">
94curity/sma4ck/sm10ck_lsm.c#L933" idu4L933"43class99line" amld1eL90210
922 /a>	  
 
  int
 a href="+ class="sref">i_security /a>;n  e
947 /a>}n10cline" ess="sref">inodnew_tf_inodt      a hrnew_tf_nt
file_turnsssf">i_senew_task_atruct
 a href="+codnew_task_atrucacc" class="sref">smold_tf_inodt      a hrold_tf_"+code=isp" class="sref">isptaskackfileef="+cod>i__taskacc"ile_turnsssf">i_sold_tf_inodt      a hrold_tf_"+code=isp" class="sref">isptaskackfileef="+cod>i__taskacc"ile_turnsssf">i_sgfp   a href="+codgfp"+co+>  e
9lass="sref">rc /aIuonamlueL947">
94curit1026m4ck/sm10ck_lsm.c#L936" idu4L936"43/k_>10/line"nnaml1eL95111
940 /anew_tf_inodt      a hrnew_tf_nt
filse" c class="sref">nsp /a>	!=
 a href="+code+rgess=",eL958">
9+rga>st/a>,n	!=
 a hreENOMEM"+co>  e
9lass="sref">rc /aIuonamlueL947">
94c8rity/sma4ck/sm10ck_lsm.c#L938" idu4L938"43lass988ine" namldueL8>  e
948n
90
 
           a href="+code=rc" class="sref">copypruursackfileef="+cod>ispcopypruursacc" class="sref">MAY_WRInew_tf_inodt      a hrnew_tf_nt
fde=isp" class="sref">ispruursackfileef="+cod>ispruursnt
fi class="sref">MAY_WRIold_tf_inodt      a hrold_tf_"+code=isp" class="sref">ispruursackfileef="+cod>ispruursnt
fi e_turnsssf">i_sgfp   a href="+codgfp"+co+>  e
9lass="sref">rc /aIuonamlueL947">
94curit104sm4ck/sm10ck_lsm.c#L940" idu4L940"440lass988ine" naml1eL95111
940 /a
 
           a href="+c!=i +rgess=",eL958">
9+rga>st/a>,n10cline" namlueL8a)mo1eL954eL87e=inode" cla)mo1eL954eL87eode=inod_x__" class="srefIOC_DIRodt      a hr4curit10c2m4ck/sm10ck_lsm.c#L942" idu4L942"44ck_>10cline" namlueL902">
902n10cline" 43">
943 /a>	  newt
 a href="+codnew"+code=isp" class="sref">st/a>-> a href="+co>i_securnt
file_turnsssf">i_senew_tf_inodt      a hrnew_tf_nt
f>  e
9lass="sref">rc /aIuonamlueL947">
94curit1044m4ck/sm10ck_lsm.c#L944" idu4L944"444k_>10cline" a)mo1eL8>  e
9lass="sref">rc /aIuonamlueL947">
94curit1045m4ck/sm10ck_lsm.c#L945" idu4L945"445k_>18line" namldueL8>  e
947 /a>}n1line" namldueL8>  e
947 /a>}n  e
953 /a> spai class="comment">/** /spaion  e
892 >istatcecd_transfer - Transfer noteoldscecdi arald tosnotenew cecdi araldthe to ex @alloe: the object /spaion  e
851 /newpanotenew cecdi araldthe to ex @alloe: the object /spaion  eL898 /oldspnoteorigital eecdi araldthe to ex @alloe: the object /spaion  e
995ss="comment"> argloc: unused /spaion  e
952 Fill in a seu oasblankccecdi arald from anns 0  seu oascecdi araldioctlf   nryo"convgssnt">ist. /spaion  e
953 /a> spai class="comment"> */ /spaion
958 /a>statcecd_transferackfileef="+cod>istatcecd_transfer clasnsssions="sretsioctl>(cecdackfileef="+codcecd"+coiless="sref">inodnewt
 a href="+codnew"+coilconstnamld1eL94610
921 /a>	 cecdackfileef="+codcecd"+coiless="sref">inodoldackfileef="+codold"+co+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n10/line"namld1eL94610
921 /a>	 task_atruct
 a href="+codtask_atruc"+coiless="sref">inodold_tf_inodt      a hrold_tf_"+coile_turnsssf">i_seoldackfileef="+codold"+code=isp" class="sref">st/a>-> a href="+co>i_securnt
f>  e
9lass="sref">rc /aIuonamlueL947">
94curit10c7m4ck/sm10ck_lsm.c#L957" idu4L957"457k_>10/line"namld1eL94610
921 /a>	 task_atruct
 a href="+codtask_atruc"+coiless="sref">inodnew_tf_inodt      a hrnew_tf_nt
file_turnsssf">i_senewt
 a href="+codnew"+code=isp" class="sref">st/a>-> a href="+co>i_securnt
f>  e
9lass="sref">rc /aIuonamlueL947">
94curit10c8m4ck/sm10ck_lsm.c#L958" idu4L958"45lass988ine" namldueL8>  e
948n
90new_tf_inodt      a hrnew_tf_nt
fde=isp" class="sref">isptaskackfileef="+cod>i__taskacc"ile_turnsssf">i_seold_tf_inodt      a hrold_tf_"+code=isp" class="sref">isptaskackfileef="+cod>i__taskacc">  e
9lass="sref">rc /aIuonamlueL947">
947 /a>}n<934">
938 /a>	  
 
         4 a hr460lass988ine" namlueL904">
90new_tf_inodt      a hrnew_tf_nt
fde=isp" class="sref">ispforkcdackfileef="+cod>ispforkcdacc"ile_turnsssf">i_seold_tf_inodt      a hrold_tf_"+code=isp" class="sref">isptaskackfileef="+cod>i__taskacc">  e
9lass="sref">rc /aIuonamlueL947">
947urit1041m4ck/sm10ck_lsm.6#L951" idu4L861"46ck_>10cline" ess="sref">inodmutex  
 
   a href="+codmutex  
 
acc" class="sref">MAY_WRInew_tf_inodt      a hrnew_tf_nt
fde=isp" class="sref">ispruurs_tuper_blohref="+cod>ispruurs_tupe"+co+>  e
9lass="sref">rc /aIuonamlueL947">
947urit10c2m4k/smack_lsm.spa#L952" idu4L862"46ck_>10cline" 43">
943 /a>	  INIT_LIST_HEAD> a href="+cINIT_LIST_HEADacc" class="sref">MAY_WRInew_tf_inodt      a hrnew_tf_nt
fde=isp" class="sref">ispruursackfileef="+cod>ispruursnt
f+>  e
9lass="sref">rc /aIuonamlueL947">
947urit1043m4k/smack_lsm.spa#L953" idu4L863"46ck_>10cline" naml1eL95311
923 /a>n  e
947 /a>}n10cline" eline" namleteL8>spa
853 cbivRepy ruur aTru53 /a> spai class="comment"> */ /spaion  e
947 /a>}nad /a>;n  e
853 /a> spai class="comment">/** /spaionspa
892 >istatkernel_act_ascomseu note"uss=t iveccontext in a seu oaseecdi araldthe to ex @alloe: the object /spaion  eL898 /newpapointd tosnoteseu oascecdi arald tosbe modif edioctlf   nryo"convgssnt">ist. /spaion  e
951 @gssidspspssif spanote"mment"> ID tosbe seuoctlf   nryo"convgssnt">ist. /spaion  e
952octlf   nryo"convgssnt">ist. /spaion  e
95* Seu note"mment"> data for a kernele"mrviceioctlf   nryo"convgssnt">ist. /spaionspa
954 /a> spai class="comment"> */ /spaion
938 /a>	  
7#L955" idu4L875"47ck_>10cline" namlueL958">
958 /a>statkernel_act_asackfileef="+cod>istatkernel_act_as clasnsssions="sretsioctl>(cecdackfileef="+codcecd"+coiless="sref">inodnewt
 a href="+codnew"+coiless="sref">inoduck/sm10ck_l="+codu3ck_>10p" class="sref">stidackfileef="+cod>stid"+co+rgess=",eL958">
9+rga>st/a>,n1"line" namldueL8>  e5	== 0) {n10/line"namld1eL94610
921 /a>	 task_atruct
 a href="+codtask_atruc"+coiless="sref">inodnew_tf_inodt      a hrnew_tf_nt
file_turnsssf">i_senewt
 a href="+codnew"+code=isp" class="sref">st/a>-> a href="+co>i_securnt
f>  e
9lass="sref">rc /aIuonamlueL947f="s4curit10c6m4ck/sm10ck_lsm.7#L958" idu4L878"478ass98line" nde" clL             patruct
 a href="+codatruc"+coiode=rc" class="srefmluefrom_>stidackfileef="+cod>fmluefrom_>stidacc" class="sref">sm>stidackfileef="+cod>stid"+co+>  e
9lass="sref">rc /aIuonamlueL947f="s4curit10c6m4k/smack_lsm.sp7srnode_get4L879"479k_>1  e
9lass="sref">rc /aIuonamlueL947">
94curit101sm4ck/sm10ck_lsm.8
         4L880"480lass988ine" naml1eL95111
940 /aatruct
 a href="+codatruc"+coiose" c class="sref">nsp /a>	!=
 a href="+code+rgess=",eL958">
9+rga>st/a>,n10cline" namlueL8a)mo1eL-1eL95111
940 /aEINVAsp /a>	!=
 a hreEINVAsnt
f>  e
9lass="sref">rc /aIuonamlueL947f="s4curit1058m4ck/sm10ck_lsm.8#L952" idu4L882"48ck_>10cline" namlueL902">
902n10cline" 43">
943 /a>	  new_tf_inodt      a hrnew_tf_nt
fde=isp" class="sref">isptaskackfileef="+cod>i__taskacc"ile_turnsssf">i_seatruct
 a href="+codatruc"+co>  e
9lass="sref">rc /aIuonamlueL947f="s4curit1044m4ck/sm10ck_lsm.8#L954" idu4L884"484k_>10cline" a)mo1eL8>  e
9lass="sref">rc /aIuonamlueL947">
94curit101sm4ck/sm10ck_lsm.8#L955" idu4L885"485k_>18line" namldueL8>  e
947 /a>}n1line" namldueL8>  e
947 /a>}n  e
953 /a> spai class="comment">/** /spaion  e
892 >istatkernel_cecatetahres_ascomseu notedcomececation label in a seu oaseecddthe to ex @alloe: the object /spaion  e
851 /newpapointd tosnoteseu oascecdi arald tosbe modif edthe to ex @alloe: the object /spaion  eL898 / /a>-papointd tosnote /a>- tosusetas a a)ferenc>witteai error code otherwise /spaion  e
995ss="comment"> argloc: unused /spaion  e
952 seu notedcomececation context in a seu oaseecdi arald tosnotes52"ss="comment"> argloc: unused /spaion  e
95* asanoteass=t iveccontext oasnotespssif sd  /a>-it="comment"> argloc: unused /spaionspa
954 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>statkernel_cecatetahres_asackfileef="+cod>istatkernel_cecatetahres_as clasnsssions="sretsioctl>(cecdackfileef="+codcecd"+coiless="sref">inodnewt
 a href="+codnew"+coii class="comment"> */ /spaion10cline" namlueL8888888888888888888888888namlueL921">
921 /a>	  
 
 t
 a href="+cod /a>-ity"class="sref">inode
 
 t
 a href="+cod /a>-ity"+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n
921 /a>	  
 
  struct
 a href="+code=inode_smack" class="sref">inode_smack /a> * a href="+cocode=rc" class="sre
 
 t
 a href="+cod /a>-ity"node" css="sref">d_inode /a>-> a href="+code=i_security" class="sref">i_security /a>;n
921 /a>	 task_atruct
 a href="+codtask_atruc"+coiless="sref">inodtf_inodt      a hrtf="+coi==isp" class="srenewt
 a href="+codnew"+code=isp" class="sref">st/a>-> a href="+co>i_securnt
f>  e
9lass="sref">rc /aIuonamlueL947f="s5curit1057m5ck/sm10ck_lsm1c#L899" id15L899"50ck_>10ckine" naml1eL8591>
859 >);n10cline" ess="sref">inodtf_inodt      a hrtf="+code=isp" class="sref">ispforkcdackfileef="+cod>ispforkcdacc"ile_turnsssf">i_seff_inodt      a href="+code=isp" class="sref">isp /a>-> a href="+c>isp /a>-ity" class="sref">i_security /a>;n10cline" 43">
943 /a>	  tf_inodt      a hrtf="+code=isp" class="sref">isptaskackfileef="+cod>i__taskacc"ile_turnsssf">i_seff_inodt      a href="+code=isp" class="sref">isp /a>-> a href="+c>isp /a>-ity" class="sref">i_security /a>;n  e
9lass="sref">rc /aIuonamlueL947">
95curity/sma5k/smack_lsm.6104L891" id15L894"504lass8line" namldueL8>  e
947 /a>}n10cline" namlueL945">
945 /a>n10cline" namlueL956">
953 /a> spai class="comment">/** /spaion  e
952 ai=sck_cur_on_taskcomhelper no log taskrrelatedeShould/a> spai class="comment">/** /spaion  e
898 /ppanotetaskrass=t /a> spai class="comment">/** /spaion  e
851 /Shouldpanoteahouldeor* estedthe to ex @alloe: the object /spaion  eL898 /caller:L910" oasnotecalling de=_tion for adit_the to ex @alloe: the object /spaion  e
995ss="comment"> argloc: unused /spaion  e
952 R)mo1eL8 namahouldeis permittedthe to ex @alloe: the object /spaion  e
953 /a> spai class="comment"> */ /spaion
958 /a>=sck_cur_on_task> a href="+c>ispck_cur_on_task clasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+coil namlueL958">
958 /ahouldinodt      a hrShould/acoii class="comment"> */ /spaion10cline" naml1eL99999999999999999constnde" clL             pcallerackfileef="+codcallerity"+rgess=",eL958">
9+rga>st/a>,n1"line" namldueL8>  e5	== 0) {n10/line"namld1eL94610
921 /a>	  
 
  stocketef="+code=inoe=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;n  e
948n
904 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="scallerackfileef="+codcallerity"_" class="sref">__func__ /a>,  aTAS href="+code=XAT_func__ /a>,  aTAS code+>" class=mk__seromm>(con /a>;n
90eld_u_fs_pnit" clatsk> a href="+c>ispu_fs_pnit" clatskit" class="sref">smk_ad_init /a>(& a href="+code=ad" class="s_inodt      a hrp"+co+>" class=mk__seromm>(con /a>;n
958 /a>=sck_cur> a href="+c>ispck_curacc" class="sref">sm>ispof_task> a href="+c>ispof_taskacc" class="sref">smtask_ast/a>-> a href="+cotask_ast/a>-&acc" class="sref">sm_inodt      a hrp"+co+)code=ad" class="sahouldinodt      a hrShould/acoi class="sref">MAY_WRITE /a>, & a href="+code=ad" class="srs_pnit  /a>;n  e
947 /a>}n10cline" naml1eL95311
923 /a>nspa
953 /a> spai class="comment">/** /spaion10cline" namlueL895">
895 >istattask_astpgidcoms="srechesreon astting pgid/a> spai class="comment">/** /spaion10cline" namlueL956">
956 /ppanotetaskrass=t /a> spai class="comment">/** /spaion  e
998 /pgidspai class="comment"> argloc: unused /spaion  e
898ss="comment"> argloc: unused /spaion  e
851 R)mo1eL8 namw unemahouldeis permittedthe to ex @alloe: the object /spaion  eL898 /a> spai class="comment"> */ /spaion
958 /a>stattask_astpgidackfileef="+cod>istattask_astpgid clasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+coiless="sref">inod_id_
   a href="+cod_id_
 class="sref">smk_aupgidackfileef="+codpgid cla+rgess=",eL958">
9+rga>st/a>,n1"line" namldueL8>  e5	== 0) {n
958 /a>=sck_cur_on_task> a href="+c>ispck_cur_on_task clasess="sref">inod_inodt      a hrp"+coiless="sref">inodecur>(coa>),  a href="+code=MAY_WRITEiless="sref">inod__de=___>),  a href="+c__de=___f="+code=ad" class="srs_pnit  /a>;n  e
947 /a>}n10cline" namlueL945">
945 /a>n10cline" namlueL956">
953 /a> spai class="comment">/** /spaion  e
952 aion spai class="comment">/** /spaion  e
898 /ppanoteass=t  task c> spai class="comment">/** /spaion10cline" namlueL949">
997the to ex @alloe: the object /spaion  eL898 /a> spai  namhe r  e can a)adanoteass=t  task,nt"> * >ino ns 0 wis-it="comment"> argloc: unused /spaion  e
951 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>stattask_gstpgidackfileef="+cod>istattask_gstpgid clasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+co+rgess=",eL958">
9+rga>st/a>,n1"line" namldueL8>  e5	== 0) {n10cline" a)mo1eLlueL958">
958 /a>=sck_cur_on_task> a href="+c>ispck_cur_on_task clasess="sref">inod_inodt      a hrp"+coiless="sref">inodecurREAD> a href="+cecurREADRITEiless="sref">inod__de=___>),  a href="+c__de=___f="+code=ad" class="srs_pnit  /a>;n18line" namldueL8>  e
947 /a>}n1line" namldueL8>  e
947 /a>}n  e
953 /a> spai class="comment">/** /spaion  e
892 >istattask_gstsidcoms="sreahouldechesrefor gstsid c> spai class="comment">/** /spaion  e
851 /ppanoteass=t  task c> spai class="comment">/** /spaion  eL898 c> spai class="comment">/** /spaion  e
995 /a> spai  namhe r  e can a)adanoteass=t  task,nt"> * >ino ns 0 wis-it="comment"> argloc: unused /spaion  e
952 /a> spai class="comment"> */ /spaion
958 /a>stattask_gstsidackfileef="+cod>istattask_gstsid clasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+co+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n10cline" a)mo1eLlueL958">
958 /a>=sck_cur_on_task> a href="+c>ispck_cur_on_task clasess="sref">inod_inodt      a hrp"+coiless="sref">inodecurREAD> a href="+cecurREADRITEiless="sref">inod__de=___>),  a href="+c__de=___f="+code=ad" class="srs_pnit  /a {n  e
947 /a>}nad /a>;n  e
853 /a> spai class="comment">/** /spaionspa
892 >istattask_gstsstidcomgeu note"mmidcoasnotetask c> spai class="comment">/** /spaion
938 /a>	  
 
         5 a hr56lass99line" naml  eL8>  eL898 /ppanoteass=t  task c> spai class="comment">/** /spaion  e
951 @gssidspw 0 - tospuu noteresul /a> spai class="comment">/** /spaion  e
952octlf   nryo"convgssnt">ist. /spaion  e
95* Seus note"mmidctoscontain a u32 version oasnotes="srelabelioctlf   nryo"convgssnt">ist. /spaionspa
954 /a> spai class="comment"> */ /spaion10cline"voidmlueL958">
958 /a>stattask_gstsstidackfileef="+cod>istattask_gstsstidacc" nsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+coiless="sref">inoduck/sm10ck_l="+codu3ck_>10lL             pastidackfileef="+cod>stid"+co+rgess=",eL958">
9+rga>st/a>,n1"line" namldueL8>  e5	== 0) {n10/line"nlL             pastidackfileef="+cod>stid"+coiode=rc" class="srefmlueto_>stidackfileef="+cod>fmlueto_>stidacc" class="sref">sm>ispof_task> a href="+c>ispof_taskacc" class="sref">smtask_ast/a>-> a href="+cotask_ast/a>-&acc" class="sref">sm_inodt      a hrp"+co+)code=ad" class="srs_pnit  /a {n  e
947 /a>}n1  e
9lass="sref">rc /aIuonamlueL947">
95curit10c9m5ck/sm10ck_lsm.7
         5L870"57lass99line" naml  eL8>  eL853 /a> spai class="comment">/** /spaion  e
951 >istattask_astnicecoms="srechesreon astting nice/a> spai class="comment">/** /spaion  e
952 /ppanotetaskrass=t /a> spai class="comment">/** /spaion  e
95* @nicespai class="comment"> argloc: unused /spaionspa
954ss="comment"> argloc: unused /spaion
938 /a>	  
7#L955" idu5L875"57ck_>10cline" namlueL895">
895 R)mo1eL8 namw unemahouldeis permittedthe to ex @alloe: the object /spaion10cline" namlueL956">
956 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>stattask_astniceackfileef="+cod>istattask_astnice/alasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+coil namlueL958">
958 /niceackfileef="+codnice/ala+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n	  
 
  int
 a href="+ class="sref">i_security /a>;n10ckine" naml1eL8591>
859 >);n10cline" ess="sref">inod
 
           a href="+code=rc" class="srcapttask_astniceackfileef="+codcapttask_astnice clasess="sref">inod_inodt      a hrp"+coiless="sref">inodniceackfileef="+codnice/ala+ class="sref">i_security /a>;n10cline" naml1eL95111
940 /a
 
           a href="+c==i +rgess=",eL958">
9+rga>st/a>,n10cline" 0cline" ess="sref">inod
 
           a href="+code=rc" class="sra>=sck_cur_on_task> a href="+c>ispck_cur_on_task clasess="sref">inod_inodt      a hrp"+coiless="sref">inodecur>(coa>),  a href="+code=MAY_WRITEiless="sref">inod__de=___>),  a href="+c__de=___f="+code=ad" class="srs_pnit  /a>;n10cline" a)mo1eL1eL90210
922 /a>	  
 
  int
 a href="+ class="sref">i_security /a>;n18line" namldueL8>  e
947 /a>}n1line" namldueL8>  e
947 /a>}n  e
953 /a> spai class="comment">/** /spaion  e
892 >istattask_astiopriocoms="srechesreon astting ioprio/a> spai class="comment">/** /spaion  e
851 /ppanotetaskrass=t /a> spai class="comment">/** /spaion  eL898 / opriospai class="comment"> argloc: unused /spaion  e
995ss="comment"> argloc: unused /spaion  e
952 R)mo1eL8 namw unemahouldeis permittedthe to ex @alloe: the object /spaion  e
95* /a> spai class="comment"> */ /spaion
958 /a>stattask_astioprioackfileef="+cod>istattask_astioprio/alasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+coil namlueL958">
958 /ioprioackfileef="+codioprio/ala+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n10cline" amld1eL90210
922 /a>	  
 
  int
 a href="+ class="sref">i_security /a>;nad /a>;ninod
 
           a href="+code=rc" class="srcapttask_astioprioackfileef="+codcapttask_astioprio clasess="sref">inod_inodt      a hrp"+coiless="sref">inodioprioackfileef="+codioprio/ala+ class="sref">i_security /a>;n
9+rga>st/a>,ninod
 
           a href="+code=rc" class="sra>=sck_cur_on_task> a href="+c>ispck_cur_on_task clasess="sref">inod_inodt      a hrp"+coiless="sref">inodecur>(coa>),  a href="+code=MAY_WRITEiless="sref">inod__de=___>),  a href="+c__de=___/ala+ class="sref">i_security /a>;n
958 />	  
 
  int
 a href="+ class="sref">i_security /a>;n  e
947 /a>}n10cline" naml1eL95311
923 /a>nspa
953 /a> spai class="comment">/** /spaion10cline" namlueL895">
895 >istattask_gstiopriocoms="srechesreon a)ading ioprio/a> spai class="comment">/** /spaion10cline" namlueL956">
951 /ppanotetaskrass=t /a> spai class="comment">/** /spaion  e
952/a> spai class="comment">/** /spaion  e
898 R)mo1eL8 nama)adaahouldeis permittedthe to ex @alloe: the object /spaion  e
851 /a> spai class="comment"> */ /spaion
958 /a>stattask_gstioprioackfileef="+cod>istattask_gstioprio/alasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+co+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n
958 /a>=sck_cur_on_task> a href="+c>ispck_cur_on_task clasess="sref">inod_inodt      a hrp"+coiless="sref">inodecurREAD> a href="+cecurREADRITEiless="sref">inod__de=___>),  a href="+c__de=___f="+code=ad" class="srs_pnit  /a {n  e
947 /a>}n  e
947 /a>}n10cline" namlueL895">
853 /a> spai class="comment">/** /spaion10cline" namlueL956">
951 >istattask_astscheduler - s="srechesreon astting scheduler/a> spai class="comment">/** /spaion  e
998 /ppanotetaskrass=t /a> spai class="comment">/** /spaion  e
898 /policyspai class="comment"> argloc: unused /spaion  e
851 /lpspai class="comment"> argloc: unused /spaion  eL898 c> spai class="comment">/** /spaion  e
995 /a> spL8 nama)adaahouldeis permittedthe to ex @alloe: the object /spaion  e
952 /a> spai class="comment"> */ /spaion
958 /a>stattask_astschedulerackfileef="+cod>istattask_astscheduler/alasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+co+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n10cline" amld1eL90210
922 /a>	  
 
  int
 a href="+ class="sref">i_security /a>;n1line" namldueL8>  e
947 /a>}n10/line"ness="sref">inod
 
           a href="+code=rc" class="srcapttask_astschedulerackfileef="+codcapttask_astscheduleracc" class="sref">sm_inodt      a hrp"+co+ class="sref">i_security /a>;n
9+rga>st/a>,ninod
 
           a href="+code=rc" class="sra>=sck_cur_on_task> a href="+c>ispck_cur_on_task clasess="sref">inod_inodt      a hrp"+coiless="sref">inodecur>(coa>),  a href="+code=MAY_WRITEiless="sref">inod__de=___>),  a href="+c__de=___"+co+ class="sref">i_security /a>;n
958 />	  
 
  int
 a href="+ class="sref">i_security /a>;n  e
947 /a>}n10cline" namlueL902">
902n  e
953 /a> spai class="comment">/** /spaionspa
954 >istattask_gstscheduler - s="srechesreon a)ading scheduler/a> spai class="comment">/** /spaion10cline" namlueL895">
895 /ppanotetaskrass=t /a> spai class="comment">/** /spaion10cline" namlueL956">
998 c> spai class="comment">/** /spaion  e
952 /a> spL8 nama)adaahouldeis permittedthe to ex @alloe: the object /spaion  e
898 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>stattask_gstschedulerackfileef="+cod>istattask_gstscheduler/alasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+co+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n
958 /a>=sck_cur_on_task> a href="+c>ispck_cur_on_task clasess="sref">inod_inodt      a hrp"+coiless="sref">inodecurREAD> a href="+cecurREADRITEiless="sref">inod__de=___>),  a href="+c__de=___f="+code=ad" class="srs_pnit  /a {n  e
947 /a>}n10cline" naml1eL95311
923 /a>nspa
953 /a> spai class="comment">/** /spaion10cline" namlueL895">
895 >istattask_movememory - s="srechesreon moving memory/a> spai class="comment">/** /spaion10cline" namlueL956">
951 /ppanotetaskrass=t /a> spai class="comment">/** /spaion  e
998 c> spai class="comment">/** /spaion  e
892 R)mo1eL8 namw unemahouldeis permittedthe to ex @alloe: the object /spaion  e
851 /a> spai class="comment"> */ /spaion
958 /a>stattask_movememoryackfileef="+cod>istattask_movememory/alasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+co+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n
958 /a>=sck_cur_on_task> a href="+c>ispck_cur_on_task clasess="sref">inod_inodt      a hrp"+coiless="sref">inodecur>(coa>),  a href="+code=MAY_WRITEiless="sref">inod__de=___>),  a href="+c__de=___"+co+ class="sref">i_security /a>;n  e
947 /a>}n  e
947 /a>}n10cline" namlueL895">
853 /a> spai class="comment">/** /spaion10cline" namlueL956">
951 >istattask_kill - s="srechesreon aignal delivery/a> spai class="comment">/** /spaion  e
998 /ppanotetaskrass=t /a> spai class="comment">/** /spaion  e
898 / /fospai class="comment"> argloc: unused /spaionspa
892 @aigspai class="comment"> argloc: unused /spaion
938 /a>	  
 
         6 a hr66lass99line" naml  eL8>  eL898 /gssidspidi arf spanote"="sretosusetin lieu oasee r  e'd/a> spai class="comment">/** /spaion  e
951/a> spai class="comment">/** /spaion  e
952 R)mo1eL8 namw unemahouldeis permittedthe to ex @alloe: the object /spaion  e
95*the to ex @alloe: the object /spaionspa
954 Tote"mmidcbehavioreis ne"ararfact oasne"SELinux hack c> spai class="comment">/** /spaion10cline" namlueL895">
895 in noteUSB >ino. Someday it may go awayioctlf   nryo"convgssnt">ist. /spaion10cline" namlueL956">
956 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>stattask_killackfileef="+cod>istattask_kill/alasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+coilamld1eL94610
921 /a>	  igketef="+code=inoe=smigkete"+coiless="sref">inodketef="+code=inoe=skete"+coii class="comment"> */ /spaion
958 /aigf="+code=inoe=smigRITEiless="sref">inoduck/sm10ck_l="+codu3ck_>10p" class="sref">stidackfileef="+cod>stid"+co+rgess=",eL958">
9+rga>st/a>,n1"line" namldueL8>  e5	== 0) {n	  
 
  stocketef="+code=inoe=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a>;nad /a>;n10cline" 43">
943 /a>	  4 /a>	  
 
   a href="+code=smk_ad_init" class="sref">smk_ad_init /a>(& a href="+code=ad" class="s__de=___>),  a href="+c__de=___"+co_" class="sref">__func__ /a>,  aTAS href="+code=XAT_func__ /a>,  aTAS code+>" class=mk__seromm>(con /a>;n10cline" 43">
943 /a>	  eld_u_fs_pnit" clatsk> a href="+c>ispu_fs_pnit" clatskit" class="sref">smk_ad_init /a>(& a href="+code=ad" class="s_inodt      a hrp"+co+>" class=mk__seromm>(con /a>;n10cline" 0cline" namlueL895">
853/a> spai class="comment"> */ /spaion
938 /a>	  
7#L955" idu6L875"67ck_>10cline" namlueL895">
8999999999* Sending a aignal or* irspanoau note"mnder/a> spai class="comment">/** /spaion10cline" namlueL956">
9599999999* can w unemnotereceiverioctlf   nryo"convgssnt">ist. /spaion  e
9999999999* /a> spai class="comment"> */ /spaion
9+rga>st/a>,n
958 /a>=sck_cur> a href="+c>ispck_curacc" class="sref">sm>ispof_task> a href="+c>ispof_taskacc" class="sref">smtask_ast/a>-> a href="+cotask_ast/a>-&acc" class="sref">sm_inodt      a hrp"+co+)code=ad" class="secur>(coa>),  a href="+code=MAY_WRITEirgess=",eL958">
9+rga>st/a>,nMAY_WRITE /a>, & a href="+code=ad" class="srs_pnit  /a>;n10cline" ecline" namlueL895">
853/a> spai class="comment"> */ /spaion  e
9599999999* If note"mmidcisn'tL8 we're dealing with someeUSB IO/a> spai class="comment"> */ /spaion  e
9599999999* spssif ccbehavior. Toideis not" nean. Foreonemnoing/a> spai class="comment"> */ /spaionspa
9599999999* wtecan'tLtake privilegetintomahoountioctlf   nryo"convgssnt">ist. /spaion10cline" namlueL895">
8999999999* /a> spai class="comment"> */ /spaion10cline" a)mo1eLlueL958">
958 /a>=sahouldinodt      a hra>=sahouldacc" class="sref">sm>ionstidackfileef="+cod>fmluefrom_>stidacc" class="sref">sm>stidackfileef="+cod>stid"+co+irgess=",eL958">
9+rga>st/a>,nsm>ispof_task> a href="+c>ispof_taskacc" class="sref">smtask_ast/a>-> a href="+cotask_ast/a>-&acc" class="sref">sm_inodt      a hrp"+co+)code=ad" class="secur>(coa>),  a href="+code=MAY_WRITEi class="sref">MAY_WRITE /a>, & a href="+code=ad" class="srs_pnit  /a>;n  e
947 /a>}n1  e
9lass="sref">rc /aIuonamlueL947">
96curity/sma6k/smack_lsm.109
         6L890"69lass99line" naml  eL8>  eL853 /a> spai class="comment">/** /spaion  e
995 >istattask_waitcoms="sreahouldechesrefor waiting/a> spai class="comment"> */ /spaion  e
952 /ppanaskrtomwaitcfor/a> spai class="comment"> */ /spaion  e
95*/a> spai class="comment"> */ /spaionspa
954 /a> spai /a> spai class="comment"> */ /spaion10cline" namlueL895">
895 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>stattask_waitackfileef="+cod>istattask_wait/alasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+co+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n
853/a> spai class="comment"> */ /spaionspa
8999999999* Allowanoteaperation tomsuhouedioctlf   nryo"convgssnt">ist. /spaion  eL8999999999* Zomb spaare badioctlf   nryo"convgssnt">ist. /spaion  e
9999999999* Insuserluldeenviron>  es (e.g. phones) programd/a> spai class="comment">/** /spaion  e
9599999999* geu marked with SMACK64EXEC and evennnamnotepar  e/a> spai class="comment">/** /spaion  e
9599999999* and child shouldn'tLbtetalking notepar  e still/a> spai class="comment">/** /spaionspa
9599999999* may exp=t  to knowawhen notechild exitsioctlf   nryo"convgssnt">ist. /spaion10cline" namlueL895">
8999999999* /a> spai class="comment"> */ /spaion10cline" a)mo1eL0ode=ad" class="srs_pnit  /a>;n  e
947 /a>}n  e
948n  e
853 /a> spai class="comment">/** /spaion  eL898 >istattask_to_inino - copyanaskr"="sreintomnoteinino blob/a> spai class="comment">/** /spaion  e
995 /ppanaskrtomcopyafrom/a> spai class="comment">/** /spaion  e
952 @inino:einino tomcopyato/a> spai class="comment">/** /spaion  e
953/a> spai class="comment">/** /spaionspa
954 Seus note"="srepointer in noteinino omment"> blob/a> spai class="comment">/** /spaion10cline" namlueL895">
89* /a> spai class="comment"> */ /spaion10cline"voidmlueL958">
958 /a>stattask_to_ininoackfileef="+cod>istattask_to_inino/alasnsssions="sretsioctl>(task_asssiot
 a href="+codtask_asssio"+coiless="sref">inod_inodt      a hrp"+coilamld1eL94610
921 /a>	 ininoackfileef="+codinino/alailess="sref">inodkeinoackfileef="+codinino/ala+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {n	 inino_) {ninodks_inodt      a hrks_"+coioL94610
921 /a>	 ininoackfileef="+codinino/ala->s="sref">MAY_WRIi_ast/a>-> a href="+coi_ast/a>-&acc"ode=ad" class="srs_pnit  /a>;ninodks_inodt      a hrks_"+co->s="sref">MAY_WRI>ispininoackfileef="+cod>ik_inino/alacode=rc" class="sra>=sof_task> a href="+c>ispof_taskacc" class="sref">smtask_ast/a>-> a href="+cotask_ast/a>-&acc" class="sref">sm_inodt      a hrp"+co+)ode=ad" class="srs_pnit  /a>;n  e
947 /a>}nad /a>;n  e
953/a> spai class="comment"> */ /spaion  e
95* Sockeu hooksioctlf   nryo"convgssnt">ist. /spaionspa
99* /a> spai class="comment"> */ /spaion10cline" namlueL945">
945 /a>n10cline" namlueL956">
953 /a> spai class="comment">/** /spaion  e
998 aion-& - Allocanema sockeu blob/a> spai class="comment">/** /spaion  e
898 @skpanotesockeu/a> spai class="comment">/** /spaion  e
851 @familyspai class="comment"> argloc: unused /spaion  eL898 @gfp_flags: memory allocanion flagsss="comment"> argloc: unused /spaion  e
951/a> spai class="comment">/** /spaion  e
952 Asaignms="srepointers tomce r  e/a> spai class="comment">/** /spaion  e
951/a> spai class="comment">/** /spaionspa
954 /a> spai  on auhould, -ENOMEMeis s 0 e's no memory/a> spai class="comment">/** /spaion10cline" namlueL895">
895 /a> spai class="comment"> */ /spaion10cline" namlueL958">
958 /a>statsk_alloc_ast/a>-&ackfileef="+cod>istatsk_alloc_ast/a>-&/alasnsssions="sretsioctl>(sockackfileef="+cod>oninodsk> a href="+c>k"+coil namlueL958">
958 /family> a href="+cfamilyf="+code=ad" class="sgfp_ot
 a href="+codgfp_o class="sref">smk_augfp_flagst
 a href="+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a>,n  e5	== 0) {ninodcs_inodt      a hrcs_"+coioL94610
921 /a>	 >ispof_ce r  e> a href="+c>ispof_ce r  e/alas)ode=ad" class="srs_pnit  /a>;ninodss_inodt      a hrss_"+coode=ad" class="srs_pnit  /a>;n10ckine" naml1eL8591>
859 >);n10cline" ess="sref">inod"739ass98line" nnsssions=ioL94610
921 /a>	 Tz",eL9e2610
921lloc_aizeof_ast/a>-&/alasnsssions="sretsioctl>(socket_) {nsmk_augfp_flagst
 a href="+codg  a hrss_"+coode=ad" class="srs_pnit  /a>;n10cline" naml1es="sref">inod"739ass98line"" nnsssions=ioL94NULLsref">inod"739aNULL+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a>}n10clck_>10c-nnsssions=ioL94on auhsref">inod"739aon auh      a hrss_"+coode=ad" class="srs_pnit  /a>;n  e
947 /a7on10cline" ess="sref">inod"739ass98lin  a hrks_"+co->s="sref">_WRI>ispininoackfilee8line" nnsssions=ioL94s="sref">inodcs_inodt      a hrss_"+coode=ad" class="srs_pnit  /a>;n10cline" ess="sref">inod"739ass98lin  a hrks_"+co->s="srefou>ispof_ce r  e> a ut8line" nnsssions=ioL94s="sref">inodcs_inodt      a hrss_"+coode=ad" class="srs_pnit  /a>;n10/line"ness="sref">inod"739ass98lin  a hrks_"+co->s="srefpaileeispof_ce r  e> apailee8line" nnsssions=ioL94NULLsref">inod"739aNULL+cod  a hrss_"+coode=ad" class="srs_pnit  /a>;n  e
948inodsk> a h  a hrks_"+co->s="s="sref">smtask_ast/a>->a href="+cotask  a hrcs_"+coioL946="sref">inodss_inodt      a hrss_"+coode=ad" class="srs_pnit  /a>on10ckine" naml1eL8591>
859 >),n  e
947 /a7;n10cline" naml1eL95311
923 /7}nspa
953 /a> spai class="comment">/** /spa7}n10cline" nmldueL8>  e
freeion spai class="comment">/** /spaion10cline" namlueL8>  e
898 @skpanotesockeu/a> spai class="comment">/** /spaion spai class="comment">/** /spaionspa
anem Asaignmkpanotesockeu/a> spai class="comment">/** /spaion
895 /a> spai class="comment"> */ /spaion}n<936">
938 /a>	 7
 
  76" idu6L950"61ck_>10cline"voidmlueL958" e
freeion-&ackfileef="freeion-&/alasnsssions="sretsioctl>(sockackfileef="+cod>oninodsk> a hgfp_flagsssla+rgess=",eL958">
9+rga>st/a>on  e5	== 0)7on10cline" 43kfree /a>	 Tz",eL9e26freetask_ast/a>-&acc" cls="sref">inodsk> a h  a hrks_"+co->s="s="sref">smtask_ast/a>->a href="+cotaskg  a hrss_"+coode=ad" class="srs_pnit  /a>on  e
947 /a7on  e
947 /a7on10cline" nmldueL8>spa
953 /a> spai class="comment">/** /spa7on10cline" nldueL8> host_labeistas="srehost based41lasticmemolocanion flagsss="comment"> argloc: unused /spaion  e/ppano enfamilyspai class="comment"> argloc: unused /spaionspa
953 /a> spai class="comment">/** /spa7on argloc: unused /spai{nspa
953 /a> spai class="comment">/** /spa7;nisonlyshouapprstat/a>-ahoureallysmen>is+cods nesingle labeiueL8>spa
953 /a> spai class="comment">/** /spa7;nie"mmid1lapmolibl>-ahouensi c39;tLl or* iRCU2 /a> locopylocanion flagsss="comment"> argloc: unused /spai{nic39;tLmid a hmemo Sockeu hooksioctlf   nryo"convgssnt">ist. /spai;nspa
953 /a> spai class="comment">/** /spa7;n
938 /a>	 7
7#L975" idu6L875"67ck_>10cline" nldueL8>spar* ilabeisoEC andfaouend houNULL8ck_itOMEMeis ste
9599al Sockeu hooksioctlf   nryo"convgssnt">ist. /spai;n10cline" nllueL895">
895 /a> spai class="comment"> */ /spaion host_labeilloc_ast/a>-&ackfileehost_labeilloc_ast/a>-&/alasnsssions="sreaddrf">_WRI>ispininoacksreaddrf">eef="+cod>oninodss_inoiodt      a hrp"+co+rgess=",eL958">
9+rga>st/a7on  e5	== 0)7,noninodss_inont      a hrss_"+coode=ad" class="srs_pnit  /a>,ninodss_inoia98line" e=MAY_WRITEi class="si"sref">inodss_inoiodt    a hrks_"+co->s="sin_addrispof_ce r  e&gsin_addreef=  a hrss_"+coode=ad" class="srs_pnit  /a>,nad /a>on10cline" naml1esia"sref">inodss_inoia98lin  a hrks_"+co->s="s_addrispof_ce r  e&gs_addreef="cod>stid"+coio=i +rgess=",eL958">
9+rga>st/a7on10clck_>10cline" a)mo1eLluNULLsref">inod"739aNULL+cod  a hrss_"+coode=ad" class="srs_pnit  /a>on  e
947 /a7on10cline" eslist_aho_each_ne"ry_rcusref">inod"739alist_aho_each_ne"ry_rcutask_ast/a>-&acc" clsn"sref">inodss_inont    ode=MAY_WRITEi class="t; anetlbladdr_listispof_ce r  e> anetlbladdr_listref="+cfamilyf="+codelistispof_ce r  e&glistref=stid"+coio=i +rgess=",eL958">
9+rga>st/a7on  e
953/a> spai class="comment"> */ /spai,n  e
953/a> spai class="comment"> */ /spai,n spai class="comment">/** /spa7}n-ahund r* imost 
9599999999tch"SELinux hack c> spai class="comment">/** /spa7mlueL947">796curity/sma6k/smack_lsm.709
  7      5L890"59lass99line" namL886"687L941"74plueL895">
895 /a> spai class="comment"> */ /spaiont" clatskit" class="ssn"sref">inodss_inont      a hrks_"+co->s="srefhostispof_ce r  e> ahost    .rks_"+co->s="sin_addrispof_ce r  e&gsin_addreef=)  a hrks_"+co->s="s_addrispof_ce r  e&gs_addreef="co>
895 /a> spai class="comment"> */ /spaion10cline" naml1esia"sref">inodss_inoia98lin  a hrks_"+co->s="s_addrispof_ce r  e&gs_addreef="" cla t" clatskit" class="ssn"sref">inodss_inont      a hrks_"+co->s="srefms="sra>=sof_task> amf="+c>i)  a hrks_"+co->s="s_addrispof_ce r  e&gs_addreef=)) 5L878"578ass9"line" namldueL8>  e5	== 0)7on10cl7L941"74cL922"72lass99line" namla
95hav>-ahund r* i
9599al CIPSO opmemorplueL895">
895 /a> spai class="comment"> */ /spaion10cl7L941"74ck_>10cline" naml1esn"sref">inodss_inont      a hrks_"+co->s="sreflabeilloc_ast/a>-&ackfk_labeilloce"" nnsssions=ioL94ment">cipso_opmemolloc_ast/a>-&ackfileecipso_opmemoref=stid"+coio=i +rgess=",eL958">
9+rga>st/a7on10cl7L941"7444444444ck_>10cline" a)mo1eLluNULLsref">inod"739aNULL+cod  a hrss_"+coode=ad" class="srs_pnit  /a>on10cline" a)mo1eLlusn"sref">inodss_inont      a hrks_"+co->s="sreflabeilloc_ast/a>-&ackfk_labeilloc  a hrss_"+coode=ad" class="srs_pnit  /a>on  e
947 /a7{n  e
94810cline" a)mo1eLluNULLsref">inod"739aNULL+cod  a hrss_"+coode=ad" class="srs_pnit  /a8on  e
947 /a8onad /a8onspa
953 /a> spai class="comment">/** /spa8on netlabeistaSe or* irscattnot"-& - AlloueL8>spa
953 /a> spai class="comment">/** /spa8o4  e
898 @skpanotesockeu/a> spai class="comment">/** /spa8on10cline" naml@labeied: - AlloclabeisistamedueL8>  e
953/a> spai class="comment"> */ /spa8on10cline" namdueL8>  e
953/a> spai class="comment"> */ /spa8o7  e
953/a> spai class="comment"> */ /spa8o8inonaskr"=- Allo Sockeu hooksioctlf   nryo"convgssnt">ist. /spa8>nist. /spa8onspa
954 /a> spa hou10"errhoucf="+cckeu hooksioctlf   nryo"convgssnt">ist. /spa8on
895 /a> spai class="comment"> */ /spa8on10cline" namlueL958"netlabeilloc_ast/a>-&ackfileenetlabeilloc_ast/a>-&/alasnsssions="sretsioctl>(sockackfileef="+cod>oninodsk> a href="+c>k"+coil namlulabeiedispof_ce r  e&glabeiedref=stid"+coio=i +rgess=",eL958">
9+rga>st/a8on  e5	== 0)8ononinodss_inokt      a hrss_"+coode=ad" class="srs_pnit  /a8oninodss_inodt      a hrcs_"+coioL946="sref">inodsk> a h  a hrks_"+co->s="s="sref">smtask_ast/a>->a href="+cotask  a hrss_"+coode=ad" class="srs_pnit  /a8on10cline" amld1eL90210
922 /a>	  
 
  i  aline" a)mo1eL0ode=ad" class="srs_pnit  /a8,n
853/a> spai class="comment"> */ /spa8;nspaUsuallyskr"=netlabeismld1rw >ish
95l knoang9999 anlueL895">
853/a> spai class="comment"> */ /spa8;n  epaileeclabei9999based4onar* ilabei Sockeu hooksioctlf   nryo"convgssnt">ist. /spa8}n  eueL8cnses ne"esingle labeiuhost is diffe"+c>,shocausedueL8>  e
953/a> spai class="comment"> */ /spa8;n  e"esingle labeiuhost 9* and=nevere
959a labeied pailee8leL8>  e
953/a> spai class="comment"> */ /spa8;n  eCK64Et* aghar* ilabeisis usuallyslasoct/a>99* geua pailee8leL8>  e
953/a> spai class="comment"> */ /spa8;n  elabei Sockeu hooksioctlf   nryo"convgssnt">ist. /spa8}n10cline" namlueL895">
8999999999* /a> spai class="comment"> */ /spa8>n10cline" esgs: l_bh_disable /a>	 Tz",eL9e2gs: l_bh_disablelloc_g  a hrss_"+coode=ad" class="srs_pnit  /a8on10/line"nesbh_loco_kfilenestedispof_ce r  e&gbh_loco_kfilenestedtask_ast/a>-&acc" cls="sref">inodsk> a hg  a hrss_"+coode=ad" class="srs_pnit  /a8o8  e
94810cline" naml1es="sref">inod"739ass98lin  a hrks_"+co->s="srefou>ispof_ce r  e> a ut8line"" nnsssions=ioL94ment">net_a9999 >ispof_ce r  e>nt">net_a9999 >8line||7L898"70lass988ine" namldueL8>  e
948k"+coil namlulabeiedispof_ce r  e&glabeiedref=e"" nnsssions=ioL94 mark_UNLABELED_SOCKETispof_ce r  e&g mark_UNLABELED_SOCKETref=stid"+coio=i +rgess=",eL958">
9+rga>st/a8on-&acc" cls="sref">inodsk> a hg  a hrss_"+coode=ad" class="srs_pnit  /a8on  e5	== 0)8on10clcod>oninodss_inokt      a hrcs_"+coioL94610
fi99_ne"ryispof_ce r  e> afi99_ne"rytask_ast/a>-&acc" cls="sref">inod"739ass98lin  a hrks_"+co->s="srefou>ispof_ce r  e> a ut8ling  a hrss_"+coode=ad" class="srs_pnit  /a8on10cl10cline" amld1eL90210
922 /a>	  
 
  i  annsssions=ioL94netlbl_kfilesetattnispof_ce r  e&gnetlbl_kfilesetattntask_ast/a>-&acc" cls="sref">inodsk> a h"+cfamilyf="+code6="sref">inodsk> a h  a hrks_"+co->s="s="eL958">
958 /family&gs="eL958"    ode=MAY_WRITEi class="t="sref">inodss_inokt      a hrks_"+co->s="srefnetlabeilloc_ast/a>-&ackfeenetlabeillocg  a hrss_"+coode=ad" class="srs_pnit  /a8on  e
947 /a8on  e
947 /a8on10/line"nesbh_unloco_kfilispof_ce r  e&gbh_unloco_kfiltask_ast/a>-&acc" cls="sref">inodsk> a hg  a hrss_"+coode=ad" class="srs_pnit  /a8o810cline" esgs: l_bh_enable /a>	 Tz",eL9e2gs: l_bh_enablelloc_g  a hrss_"+coode=ad" class="srs_pnit  /a8;n1  e
9lass="sref">rc /aIuon8;n10cline" a)mo1eLluL90210
922 /a>	  
 
  i  a hrss_"+coode=ad" class="srs_pnit  /a8;n  e
947 /a8;n  e
947 /a8;nspa
953 /a> spai class="comment">/** /spa8;n argloc: unused /spa8on10cline" naml@eL8>  e
898 @skpanotesockeu/a> spai class="comment">/** /spa8;n10cline" namlueaeL8>  edestin memoraddr  a hanotesockeu/a> spai class="comment">/** /spa8;n spai class="comment">/** /spa8;n spai class="comment">/** /spa8;nist. /spa8onist. /spa8onspa
954 /a> spa hou10"errhoucf="on tomsuhouedioctlf   nryo"convgssnt">ist. /spa8onist. /spa8on
8999999999* /a> spai class="comment"> */ /spa8}n10cline" namlueL958"netlabei_rspalloc_ast/a>-&ackfileenetlabei_rspalloc_ast/a>-&/alasnsssions="sretsioctl>(sockackfileef="+cod>oninodsk> a hreast/a>-&/alasnsssions="sreaddrf">_WRI>ispininoacksreaddrf">eef="+cod>oninodss_inoaodt      a hrp"+co+rgess=",eL958">
9+rga>st/a8}n  e5	== 0)8on10cline" amld1eL90210
922 /a>	  
 
  i  a hrss_"+coode=ad" class="srs_pnit  /a8on10cline" amld1es="lbl>
958 /family&gs="lbl
  i  a hrss_"+coode=ad" class="srs_pnit  /a8oninodss_inhosts"
  i  a hrss_"+coode=ad" class="srs_pnit  /a8oninodss_inodt      a hrcs_"+coioL946="sref">inodsk> a h  a hrks_"+co->s="s="sref">smtask_ast/a>->a href="+cotask  a hrss_"+coode=ad" class="srs_pnit  /a8on}n<936">
938 /a>	 8
 
  86     6L870"670lass988ine" amld1eL94610
921 /a>	  
 
  stocketef="+code=inoe=smk_audit_info" class="sref">smk_audit_info /a>	 a href="+code=ad" class="sref">ad /a8onad /a8on10cline" 43rcu_ /a>_loco0210
922 /a>	  
 u_ /a>_locolloc_g  a hrss_"+coode=ad" class="srs_pnit  /a8on10cline" 43hosts"sref">inodss_inhosts"
  i  a hrcs_"+coioL9461a8> host_labeilloc_ast/a>-&ackfileehost_labeilloc_cod>oninodss_inoaodt     a hrss_"+coode=ad" class="srs_pnit  /a8on10cline" naml1ehosts"sref">inodss_inhosts"
  i !" nnsssions=ioL94NULLsref">inod"739aNULL+codgs5L878"578ass9"line" namldueL8>  e5	== 0)8oninod"739aCONFIG"+code idu7L921"72lass9ode=ad" class="sref">ad /a8onenetworcode=in /a>	 Tz",eL9e2g">enetworcode=ink_audit_info" class=neeispof_ce r  e&gnee8lin  a hrss_"+coode=ad" class="srs_pnit  /a8onsmk_ad_init /a>(& a href="+code__ a h__f">smk_ad_init __ a h__>(& a href="+codeLSM"+code_DATA_NETispof_ce r  e&gLSM"+code_DATA_NET    ode=MAY_WRITEi class="neeispof_ce r  e&gnee8lin   a hrss_"+coode=ad" class="srs_pnit  /a8onsmk_ad_init /a>(&a.rks_"+co->s="af">smk_ad_init />(&a.rks_"+co->s="usref">inod"739au>(&a.rks_"+co->s="neeispof_ce r  e&gnee8lin  a hrks_"+co->s="eL958">
958 /family> a href=  a hrcs_"+coioL946a"sref">inodss_inoaodt    a hrks_"+co->s="sin_eL958">
958 /family&gsin_eL958"8lin  a hrss_"+coode=ad" class="srs_pnit  /a8{nsmk_ad_init /a>(&a.rks_"+co->s="af">smk_ad_init />(&a.rks_"+co->s="usref">inod"739au>(&a.rks_"+co->s="neeispof_ce r  e&gnee8lin  a hrks_"+co->s="dporeispof_ce r  e&gdporeref=  a hrcs_"+coioL946a"sref">inodss_inoaodt    a hrks_"+co->s="sin_poreispof_ce r  e&gsin_pore8lin  a hrss_"+coode=ad" class="srs_pnit  /a8{nsmk_ad_init /a>(&a.rks_"+co->s="af">smk_ad_init />(&a.rks_"+co->s="usref">inod"739au>(&a.rks_"+co->s="neeispof_ce r  e&gnee8lin  a hrks_"+co->s="v4>	  
 
  stocketef=v4>	  >(&a.rks_"+co->s="daddrispof_ce r  e&gdaddreef="ca hrcs_"+coioL946a"sref">inodss_inoaodt    a hrks_"+co->s="sin_addrispof_ce r  e&gsin_addreef=.rks_"+co->s="s_addrispof_ce r  e&gs_addreef=  a hrss_"+coode=ad" class="srs_pnit  /a8{n10clcod>on
958 /family&gs="lbl
  i"ca hrcs_"+coioL94 mark_UNLABELED_SOCKETispof_ce r  e&g mark_UNLABELED_SOCKETref=  a hrss_"+coode=ad" class="srs_pnit  /a8{n10cl10cline" amld1eL90210
922 /a>	  
 
  i  annsssions=ioL94eL958">
958 /a>=sahouldinodt      a hra>=sahouldacc" cla="sref">inod"739ass98lin  a hrks_"+co->s="srefou>ispof_ce r  e> a ut8linmp; a href="+codehosts"sref">inodss_inhosts"
  i  a hrp"+co+)code=ad" class="secur>(coa>),  a href="+code=MAY_WRITEi class="sref">MAY_WRITE /a>, & a href="+code=ad" class="srs_pnit  /a8;n
938 /a>	 8
7#L9875 idu5L883"5878elses5L878"578ass9"line" namldueL8>  e5	== 0)8;non
958 /family&gs="lbl
  i"ca hrcs_"+coioL94 mark_CIPSO_SOCKETispof_ce r  e&g mark_CIPSO_SOCKETref=  a hrss_"+coode=ad" class="srs_pnit  /a8{n	  
 
  i  aline" a)mo1eL0ode=ad" class="srs_pnit  /a8on  e
947 /a8,n_unloco0210
922 /a>	  
 u_ /a>_unlocolloc_g  a hrss_"+coode=ad" class="srs_pnit  /a8,n10cline" naml1eL90210
922 /a>	  
 
  i !od>stid"+coio=i +rgess=",eL958">
9+rga>st/a8,n10cline" a)mo1eLluL90210
922 /a>	  
 
  i  a hrss_"+coode=ad" class="srs_pnit  /a8on  e
947 /a8on10cline" a)mo1eLlusfileenetlabeilloc_ast/a>-&ackfileenetlabeitask_ast/a>-&acc" cls="sref">inodsk> a h"+cfamilyf="+code6="lbl>
958 /family&gs="lbl
  ig  a hrss_"+coode=ad" class="srs_pnit  /a8,n  e
947 /a8on10cline" namlueL945">
945 /8on10cline" namlueL956">
953 /a> spai class="comment">/** /spa8,n spai class="comment">/** /spa8,n  e>  e/ppano hanotesockeu/a> spai class="comment">/** /spa8,n spai class="comment">/** /spa8mlueL947">896curity/sma6k/smack_lsm.809
  8      5L890"59lass99line" namlduvalue:9attributesvalue hanotesockeu/a> spai class="comment">/** /spa8mn spai class="comment">/** /spa8mn argloc: unused /spa8on  e
951/a> spai class="comment">/** /spa8onspa
m10cd9attributes="srepoapprstat/a>-anema sockeu blob/a> spai class="comment">/** /spa8on10cline" nama sockeu blob/a> spai class="comment">/** /spa8on10cline" namlueL8>spa
954 /a> spai hou10"errhoucf="+cckeu hooksioctlf   nryo"convgssnt">ist. /spa8on
8999999999* /a> spai class="comment"> */ /spa8{n10cline" namlueL958"kfileefetspai clalloc_ast/a>-&ackfileekfileefetspai clalloc_ast/a>-&/alasnsssions=610
921 /a>	 ininoackfileef="+codinino/alailess="sref">inodkeinoackfileef=",ucfnst38ass98line" ncharilesack_ispof_ce r  e&gn10c h=",9999* /a> spai class="comment"> */ /spa8{n8line" ncharilesvalue
 
  stocketef=value h h"+cfamilyf="+code6ize" class="sgfp_ot
6ize" k_audit_info" class=6izeclass="sgfp_ot
6ize h h"+f="+c>k"+coil namlue">smk_augfp_flagst
ref="+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a9on  e5	== 0)9oninod"739as"
  i  a hrss_"+coode=ad" class="srs_pnit  /a9on	 inino_) {ninod"739andt      a hrks_"+coioL94610
921 /a>	 ininoackfileef="+codinino/ala->s="sref">MAY_WRIi_ast/a>-> a href="+coi_ast/a>-&acc"ode=ad" class="srs_pnit  /a9on(socket_) {ninodss_inodt      a hrss_"+coode=ad" class="srs_pnit  /a9o410cline" amld1eL90210
922 /a>	  
 
  i  aline" a)mo1eL0ode=ad" class="srs_pnit  /a9on  e
947 /a9o710cline" naml1evalue
 
  stocketef=value h he"" nnsssions=ioL94NULLsref">inod"739aNULL+cod ||dit_info" class=6izeclass="sgfp_ot
6ize h h codia hrcs_"+coioL94 mK_LONGLABELispof_ce r  e&g mK_LONGLABEL+cod ||dit_info" class=6izeclass="sgfp_ot
6ize h h cod>stid"+coio=i +rgess=",eL958">
9+rga>st/a9o810c-nnsssions=ioL94oACCESclass="sgfp_ot
oACCESeef=  a hrss_"+coode=ad" class="srs_pnit  /a9o91  e
9lass="sref">rc /aIuon9oninod"739as"
  i  annsssions=ioL94eL95imporeispof_ce r  e&gsL95imporetask_ast/a>-&acc" clvalue
 
  stocketef=value h h"+cfamilyf="+code6izeclass="sgfp_ot
6ize h hg  a hrss_"+coode=ad" class="srs_pnit  /a9on10cline" naml1eu"sref">inod"739as"
  i  " nnsssions=ioL94NULLsref">inod"739aNULL+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a9on10c-nnsssions=ioL94oINVALsref">inod"739aoINVALeef=  a hrss_"+coode=ad" class="srs_pnit  /a9on10cline" naml1eL95311
923 /9on10cline" naml1e9ascm"sref">inod"739asascm"task_ast/a>-&acc" clack_ispof_ce r  e&gn10c h=", nnsssions=ioL94XATTR_ mark_SUFFIXispof_ce r  e&gXATTR_ mark_SUFFIX+codg cod>ss5L878"578ass9"line" namldueL8>  e5	== 0)9oninod"739andt      a hrks_"+co->s="sref">0
921 /a>	 ininoacsref">0
9
  i  annsssions=ioL94e"sref">inod"739as"
  i  a hrss_"+coode=ad" class="srs_pnit  /a9ononinod"739andt      a hrks_"+co->s="srefe">smk_augfp_flagst
srefe">sm+cod |ca hrcs_"+coioL94 mK_INODE_INSTANTispof_ce r  e&g mK_INODE_INSTANT
  i  a hrss_"+coode=ad" class="srs_pnit  /a9o7  e
947 /a9;n
853/a> spai class="comment"> */ /spa9;n  eueL81lassoEC andSent" xattna aresonlyso4E- Alloson tomsuhouedioctlf   nryo"convgssnt">ist. /spa9}n  >
8999999999* /a> spai class="comment"> */ /spa9;n10cline" naml1e610
921 /a>	 ininoackfileef="+codinino/ala->s="srebWRIi_ast/a>-> ab      a hrks_"+co->s="s_magi90210
922 /a>	  s_magi9
  i !od hrcs_"+coioL94 OCKFS_MAGICispof_ce r  e&g OCKFS_MAGIC+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a9;n10clck_>10c-nnsssions=ioL94oOPNOTSUPPsref">inod"739aoOPNOTSUPP
  i  a hrss_"+coode=ad" class="srs_pnit  /a9;n  e
947 /a9}n10cline" esssretsioctl>(sockackfileef="od hrcs_"+coioL94 OCKET_Iispof_ce r  e&g OCKET_Itask_ast/a>-&acc" cl610
921 /a>	 ininoackfileef="g  a hrss_"+coode=ad" class="srs_pnit  /a9>n10cline" naml1e9sretsioctl>(sockackfileef="o" nnsssions=ioL94NULLsref">inod"739aNULL+cod ||dit_info" class=6sretsioctl>(sockackfileef=  a hrks_"+co->s="s="sref">inodsk> a h  " nnsssions=ioL94NULLsref">inod"739aNULL+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a9oninod"739aoOPNOTSUPP
  i  a hrss_"+coode=ad" class="srs_pnit  /a9;8  e
948inodss_inodt      a hrcs_"+coioL946sretsioctl>(sockackfileef=  a hrks_"+co->s="s="sref">inodsk> a h  a hrks_"+co->s="s="sref">smtask_ast/a>->a href="+cotask  a hrss_"+coode=ad" class="srs_pnit  /a9on10ckine" naml1eL8591>
859 >9on10cline" naml1euascm"sref">inod"739asascm"task_ast/a>-&acc" clack_ispof_ce r  e&gn10c h=", nnsssions=ioL94XATTR_ mark_IPINispof_ce r  e&gXATTR_ mark_IPIN+codg cod>s7L940"74ck_>10ckine" naml1eL8591>
859 >9oninodss_inodt      a hrks_"+co->s="sref">21 /a>	 ininoacsref">
  i  annsssions=ioL94e"sref">inod"739as"
  i  a hrss_"+coode=ad" class="srs_pnit  /a9on10cline" naml1euascm"sref">inod"739asascm"task_ast/a>-&acc" clack_ispof_ce r  e&gn10c h=", nnsssions=ioL94XATTR_ mark_IPOUTispof_ce r  e&gXATTR_ mark_IPOUT+codg cod>ss5L878"578ass9"line" namldueL8>  e5	== 0)9on10cl10cline" amld1es="sref">inod"739ass98lin  a hrks_"+co->s="srefou>ispof_ce r  e> a ut8line"annsssions=ioL94e"sref">inod"739as"
  i  a hrss_"+coode=ad" class="srs_pnit  /a9on10cline" naml1e9sretsioctl>(sockackfileef=  a hrks_"+co->s="s="sref">inodsk> a h  a hrks_"+co->s="s="eL958">
958 /family&gs="eL958"     !od hrcs_"+coioL94PF_UNIXispof_ce r  e&gPF_UNIX+codg 5L878"578ass9"line" namldueL8>  e5	== 0)9on	  
 
  i  a>10cline" namlueL958"netlabeilloc_ast/a>-&ackfileenetlabeitask_ast/a>-&acc" clssretsioctl>(sockackfileef=  a hrks_"+co->s="s="sref">inodsk> a h, nnsssions=ioL94 mark_CIPSO_SOCKETispof_ce r  e&g mark_CIPSO_SOCKETref=g  a hrss_"+coode=ad" class="srs_pnit  /a9on10cline" naml1eL90210
922 /a>	  
 
  i !od>stid"+coio=i +rgess=",eL958">
9+rga>st/a9o8inodsk&gprint=task_ast/a>-&acc" clKERN_WARNING"sref">inodsk&gKERN_WARNING idu7L940"74ck_>10ckine" naml1eL8591>
859 >9on"Sent": \"%s\" netlbl"errhou%d.\n"
899999,9999* /a> spai class="comment"> */ /spa9;nsmk_ad_init __ a h__>(&-nnsssions=ioL94L90210
922 /a>	  
 
  ig  a hrss_"+coode=ad" class="srs_pnit  /a9;n  e
947 /a9;n  e
947 /a9;n10clck_>10c-nnsssions=ioL94oOPNOTSUPPsref">inod"739aoOPNOTSUPP
  i  a hrss_"+coode=ad" class="srs_pnit  /a9;n  e
947 /a9on  e
947 /a9;n
953 /a> spai class="comment">/** /spa9;nkfileefpost_cre/a>--"fi9ishE- AllocslaspueL956">
953 /a> spai class="comment">/** /spa9on  e
898 @skpanotesockeu/a> spai class="comment">/** /spa9on spai class="comment">/** /spa9on argloc: unused /spa9on argloc: unused /spa9on argloc: unused /spa9on10cline" nama sockeu blob/a> spai class="comment">/** /spa9on10cline" namlueL8>spa
metlabeis>	  rm memoronar* i898 @skpanotesockeu/a> spai class="comment">/** /spa9on spai class="comment">/** /spa9onspa
954 /a> spai 
959errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /spa9on
8999999999* /a> spai class="comment"> */ /spa9on}n<936">
938 /a>	 9
 
  96     7L936"73ck_>10cline" namlueL958"kfileefpost_cre/a>lloc_ast/a>-&ackfileekfileefpost_cre/a>task_9ass98line" nnsssions="oileeispof_ce r  e>oilee8lineet_) {n(sockackfileef="+f="+c>k"+coil namlueL958">
958 /family> a href=,9999* /a> spai class="comment"> */ /spa9on
958 /family>ypeeef="+f="+c>k"+coil namluprotocol"sref">inodsk&gprotocoleef="+f="+c>k"+coil namlukern"sref">inodsk&gkern+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a9on  e5	== 0)9on10cline" naml1eeL958">
958 /family> a href= !od hrcs_"+coioL94PF_INETispof_ce r  e&gPF_INET+cod ||dit_info" class=6sretsioctl>(sockackfileef=  a hrks_"+co->s="s="sref">inodsk> a h  " nnsssions=ioL94NULLsref">inod"739aNULL+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a9on10cl1lass99line" a)mo1eL0ode=ad" class="srs_pnit  /a9on
853/a> spai class="comment"> */ /spa9on10cline" naaaaaaaaaldSe or* ioutbhund netlblon tomsuhouedioctlf   nryo"convgssnt">ist. /spa9on
8999999999* /a> spai class="comment"> */ /spa9on10cline" a)mo1eLlusfileenetlabeilloc_ast/a>-&ackfileenetlabeitask_ast/a>-&acc" clssretsioctl>(sockackfileef=  a hrks_"+co->s="s="sref">inodsk> a h, nnsssions=ioL94 mark_CIPSO_SOCKETispof_ce r  e&g mark_CIPSO_SOCKETref=g  a hrss_"+coode=ad" class="srs_pnit  /a9on  e
947 /a9{n10ckine" naml1eL8591>
859 >9{n
953 /a> spai class="comment">/** /spa9{n
953 /a> spai class="comment">/** /spa9{n  e
898 @skpanotesockeu/a> spai class="comment">/** /spa9{n  eor* r spallanotesockeu/a> spai class="comment">/** /spa9{n
938 /a>	 9
7#L997" id16L895"60ck_>10cline" naml@addrlen: aizesoECoaodtanotesockeu/a> spai class="comment">/** /spa9{n10cline" namdueL8>  e
953/a> spai class="comment"> */ /spa9{nspa59a connanoemormay be possiblelleL8>  e
953/a> spai class="comment"> */ /spa9{n  e
953/a> spai class="comment"> */ /spa9{nspa
954 /a> spai 
959errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /spa9,n
8999999999* /a> spai class="comment"> */ /spa9,n10cline" namlueL958"kfileefconnanolloc_ast/a>-&ackfileekfileefconnanotask_9ass98line" nnsssions="oileeispof_ce r  e>oilee8lineet_) {n(sockackfileef="+ast/a>-&/alasnsssions="sreaddrtsioctl>(sockackfiladdreef="et_) {ninodss_inoaodt  ,9999* /a> spai class="comment"> */ /spa9oninodss_inaddrlen+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a9on  e5	== 0)9,n10cline" naml1e9sretsioctl>(sockackfileef=  a hrks_"+co->s="s="sref">inodsk> a h  " nnsssions=ioL94NULLsref">inod"739aNULL+cod ||dit_info" class=6sretsioctl>(sockackfileef=  a hrks_"+co->s="s="sref">inodsk> a h  a hrks_"+co->s="s="eL958">
958 /family&gs="eL958"     !od hrcs_"+coioL94PF_INETispof_ce r  e&gPF_INET+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a9on10cline" naml1eaddrlensref">inodss_inaddrlen+cod < aizeof_9ass98line" nnsssions="oiladdrf">_WRI>ispininoacksreaddrf">eef=)gfp_flagsssla+rgess=",eL958">
9+rga>st/a9oninod"739aoINVALeef=  a hrss_"+coode=ad" class="srs_pnit  /a9,n  e
94810cline" a)mo1eLlusfileenetlabei_rspalloc_ast/a>-&ackfileenetlabei_rspalloc_ast/a>-&acc" clssretsioctl>(sockackfileef=  a hrks_"+co->s="s="sref">inodsk> a h, _9ass98line" nnsssions="oiladdrf">_WRI>ispininoacksreaddrf">eef= *)t_) {ninodss_inoaodt  g  a hrss_"+coode=ad" class="srs_pnit  /a9mlueL947">996curity/sma6k/smack_lsm.909
  9      7L920"72lass98line" namldueL8>  e
947 /a9mnad /a9mn
953 /a> spai class="comment">/** /spa9onsm_to_may - convert S_ to ,  asvaluea hanotesockeu/a> spai class="comment">/** /spa9on spai class="comment">/** /spa9on10cline" nama sockeu blob/a> spai class="comment">/** /spa9on10cline" namlueL8>spa andequivalne" ,  asvaluea sockeu blob/a> spai class="comment">/** /spa9on
8999999999* /a> spai class="comment"> */ /spa9{n10cline" namlueL958"e">sm_to_maylloc_ast/a>-&ackfileee">sm_to_maylloc_f="+c>k"+coil namlue">smk_augfp_flagst
ref="+codgfp_flagsssla+rgess=",eL958">
9+rga>st/a9{n  e5	== 020on20on idu7L941"74c="+c>k"+coil namlumaylloc_ast/a>-&acmaylloc  aline/pre>878"578ass9"line" namldueL8>  e5	== 020o120o" idu7L921"72lass9ode=ad" class="sref">ad /20o220o" idu5L882"58ck_>10cline" naml1ee">smk_augfp_flagst
ref="+codde=MAY nnsssions=ioL94 _IRUGOispof_ce r  e&g _IRUGO+codgfp_flagsssla+rgess=",eL958">
9+rga>st/20o320o" idu5L883"583k_>10clcod>on-&acmaylloc |ca hrcs_"+coioL94,  aREADlloc_ast/a>-&ac,  aREADeef=  a hrss_"+coode=ad" class="srs_pnit  /20o420o4 idu5L883"58ck_>10cline" naml1ee">smk_augfp_flagst
ref="+codde=MAY nnsssions=ioL94 _IWUGOispof_ce r  e&g _IWUGO+codgfp_flagsssla+rgess=",eL958">
9+rga>st/20o520o5 idu5L883"586L870"67line" ncharilesmaylloc_ast/a>-&acmaylloc |ca hrcs_"+coioL94,  a class="secur>(coa>),  a href="+c  a hrss_"+coode=ad" class="srs_pnit  /20o620o6 idu7L941"74ck_>10cline" naml1ee">smk_augfp_flagst
ref="+codde=MAY nnsssions=ioL94 _IXUGOispof_ce r  e&g _IXUGO+codgfp_flagsssla+rgess=",eL958">
9+rga>st/20o720o" idu6L887"687lass98810cline" amld1emaylloc_ast/a>-&acmaylloc |ca hrcs_"+coioL94,  aEXECispof_ce r  e&g,  aEXEC="+c  a hrss_"+coode=ad" class="srs_pnit  /20o820o" idu7L898"70lass988ine" namldueL8>  e
948<20o920oe_get6L879"67ck_>10cline" a)mo1eLlumaylloc_ast/a>-&acmaylloc  a hrss_"+coode=ad" class="srs_pnit  /201n20s7    7L920"72lass98line" namldueL8>  e
947 /20s120s" idu7L921"72lass9ode=ad" class="sref">ad /201220s" id17L912"71lass99line" naamlueL956">
953 /a> spai class="comment">/** /sp20s320s" idu7L933"73lass99line" naml kfileemsgemsgeallochref="+costaSe or* irsc="+cosanemoahoumsgemsgueL956">
953 /a> spai class="comment">/** /sp20s420s" id17ref="71lass964ine" namldumsg e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp20s510cline" nama sockeu blob/a> spai class="comment">/** /sp20s620s" idu6L956"65ck_>10cline" namlueL8>spa
a sockeu blob/a> spai class="comment">/** /sp20s720s" idu5L887"58lass9"line" na6m>
8999999999* /a> spai class="comment"> */ /sp20s820s" idu7L936"73ck_>10cline" namlueL958"msgemsgeallochref="+colloc_ast/a>-&ackfileemsgemsgeallochref="+cotask_9ass98line" nnsssions=msgemsglloc_ast/a>-&acmsgemsguef="et_) {n-&acmsg+codgfp_flagsssla+rgess=",eL958">
9+rga>st/201920se_get5L878"578ass9"line" namldueL8>  e5	== 0202n20s7 idu7L941"74c_) {n-&acmsg+cod  a hrks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotask  annsssions=ioL94eL95of_f="re" nloc_ast/a>-&ackf95of_f="re" task_g  a hrss_"+coode=ad" class="srs_pnit  /20s120s1_get6L879"67ck_>10cline" a)mo1eL0ode=ad" class="srs_pnit  /20s220s2    7L920"72lass98line" namldueL8>  e
947 /202320s" idu6L943"64ck_>10cline" naml1eL95311
923 20s420s" id17ref="71lass964ine" naamlueL956">
953 /a> spai class="comment">/** /sp202520s" id16L895"60ck_>10cline" namlkfileemsgemsgefreehref="+costaClearor* irsc="+cosanemoahoumsgemsgueL956">
953 /a> spai class="comment">/** /sp202620s" idu6L956"65ck_>10cline" namlumsg e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp202720s" idu6L957"65lass9"line" namlkpanotesockeu/a> spai class="comment">/** /sp20s820s" idu5L888"58lass97line" namldClearpa andanemopo3ckerkpanotesockeu/a> spai class="comment">/** /sp20s920s" idu7L929"72lass97line" naml>
8999999999* /a> spai class="comment"> */ /sp203n20s7 idu7L936"71ck_>>10cline" namlueL958"msgemsgefreehref="+colloc_ast/a>-&ackfileemsgemsgefreehref="+cotask_9ass98line" nnsssions=msgemsglloc_ast/a>-&acmsgemsguef="et_) {n-&acmsg+codgfp_flagsssla+rgess=",eL958">
9+rga>st/203120s1_get5L878"578ass9"line" namldueL8>  e5	== 0203220s" idu6L872"67ck_>10cline" 43msglloc_ast/a>-&acmsg+cod  a hrks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotask  annsssions=ioL94NULLsref">inod"739aNULL+codine" a)mo1eL0ode=ad" class="srs_pnit  /203320s3    7L920"72lass98line" namldueL8>  e
947 /203420s" idu6L954"65lass9line" namldueL8>  e
947 /20s520s" id16L895"60ck_>10cline" namlueL956">
953 /a> spai class="comment">/** /sp203620s" idu6L956"65ck_>10cline" namlment">of_shmstar* irent"opo3ckeroahour* irhmueL956">
953 /a> spai class="comment">/** /sp203720s" idu5L887"58lass9"line" na6ml@shp e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp203820s" idu5L888"58lass97line" namllleL8>  e
953/a> spai class="comment"> */ /sp20s920s" idu7L929"72lass97line" namleueL8>spaaopo3ckerotoar* irent"ovaluea sockeu blob/a> spai class="comment">/** /sp204n20s7 idu7L929"72lass97line" naml>
8999999999* /a> spai class="comment"> */ /sp204120s1 idu7L936"78ass98line" ncharilesuent">of_shmlloc_ast/a>-&ackfileeof_shmtask_9ass98line" nnsssions="hmid_kerneilloc_ast/a>-&ackhmid_kerneieef="et_) {ninodss_inohodt      a hrp"+co+rgess=",eL958">
9+rga>st/20s220s" idu5L878"578ass9"line" namldueL8>  e5	== 020s320s" idu5L883"58ck_>10c(8ass98)t_) {ninodss_inohodt    a hrks_"+co->s="shm_permlloc_ast/a>-&ackhm_permdt  .rks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotaskine" a)mo1eL0ode=ad" class="srs_pnit  /204420s" idu7L920"72lass98line" namldueL8>  e
947 /20s520s" idu7L925"72ck_>10cline" namlueL945">
945 20s620s" idu7L926"72ck_>10cline" namlueL956">
953 /a> spai class="comment">/** /sp20s720s" idu5L887"58lass9"line" na6mlkfileekhm_allochref="+costaSe or* irsc="+cosanemoahourhmueL956">
953 /a> spai class="comment">/** /sp204820s" idu5L888"58lass97line" namldushp e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp204920s" idu7L929"72lass97line" naml hanotesockeu/a> spai class="comment">/** /sp205n20s6 idu6L956"65ck_>10cline" namlueL8>spa
a sockeu blob/a> spai class="comment">/** /sp205120s" id17L911"71lass99line" naml>
8999999999* /a> spai class="comment"> */ /sp205220s2 idu7L936"73ck_>10cline" namlueL958"khm_allochref="+colloc_ast/a>-&ackfileekhm_allochref="+cotask_9ass98line" nnsssions="hmid_kerneilloc_ast/a>-&ackhmid_kerneieef="et_) {ninodss_inohodt      a hrp"+co+rgess=",eL958">
9+rga>st/205320s" id15L878"578ass9"line" namldueL8>  e5	== 020s420s4 idu5L883"589ass98line" nnsssions=kern_ipc_permlloc_ast/a>-&ackern_ipc_permeef="et_) {ninod"739aidt      ae=MAY_WRITEi class="sh"sref">inodss_inohodt    a hrks_"+co->s="shm_permlloc_ast/a>-&ackhm_permdt  ine" a)mo1eL0ode=ad" class="srs_pnit  /205520s" idu7L925"72ck_>10cline" namlueL945">
945 205620s6 idu7L941"74t_) {ninod"739aidt      a hrks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotask  annsssions=ioL94eL95of_f="re" nloc_ast/a>-&ackf95of_f="re" task_g  a hrss_"+coode=ad" class="srs_pnit  /205720s7 idu5L883"58ck_>10cline" a)mo1eL0ode=ad" class="srs_pnit  /205820s8 idu7L920"72lass98line" namldueL8>  e
947 /205920se_get6L889"689k_>1  e
9lass="sref">rc /aIuo206n}n<936">
938 /a>	20s67>20s6 idu7L926"72ck_>10cline" namlueL956">
953 /a> spai class="comment">/** /sp206120s" id17L911"71lass99line" namldkfileekhm_freehref="+costaClearor* irsc="+cosanemoahourhmueL956">
953 /a> spai class="comment">/** /sp206220s" idu7L932"73lass99line" naml @shp e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp206320s" idu7L933"73lass99line" namldueL8>  e
951/a> spai class="comment">/** /sp20s420s" id17ref="71lass964ine" namldClearpa andanemopo3ckerkpanotesockeu/a> spai class="comment">/** /sp206520s" id16L895"60ck_>10cline" nam>
8999999999* /a> spai class="comment"> */ /sp206620s6 idu7L936"71ck_>>10cline" namlueL958"khm_freehref="+colloc_ast/a>-&ackfileekhm_freehref="+cotask_9ass98line" nnsssions="hmid_kerneilloc_ast/a>-&ackhmid_kerneieef="et_) {ninodss_inohodt      a hrp"+co+rgess=",eL958">
9+rga>st/206720s7 id15L878"578ass9"line" namldueL8>  e5	== 0206820s8 idu5L883"589ass98line" nnsssions=kern_ipc_permlloc_ast/a>-&ackern_ipc_permeef="et_) {ninod"739aidt      ae=MAY_WRITEi class="sh"sref">inodss_inohodt    a hrks_"+co->s="shm_permlloc_ast/a>-&ackhm_permdt  ine" a)mo1eL0ode=ad" class="srs_pn	== 0206920se_get6L889"689k_>1  e
9lass="sref">rc /aIuo207n20s6 idu7L941"74t_) {ninod"739aidt      a hrks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotask  annsssions=ioL94NULLsref">inod"739aNULL+codine" a)mo1eL0ode=ad" class="srs_pnit  /207120s1 idu7L920"72lass98line" namldueL8>  e
947 /207220s" iduL920"72lass98line" namldueL8>  e
947 /20s320s" idu7L933"73lass99line" naamlueL956">
953 /a> spai class="comment">/** /sp207420s" id17ref="71lass964ine" namldkf95ai acc_shms:ms="sr4ck_f="re"  has waitcom54 /hmueL956">
953 /a> spai class="comment">/** /sp2075
938 /a>	20s6c>20s" id16L895"60ck_>10cline" naml@oho  e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp207620s" idu6L956"65ck_>10cline" namluwaitcom: waitcomrequest@familyspai class="comment"> argloc: unused /sp20s720s" idu6L957"65lass9"line" namlkpanotesockeu/a> spai class="comment">/** /sp207820s" idu5L888"58lass97line" namldueL8>spa
9ck_f="re"  has teL81lquest@f waitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp20s920s" idu7L929"72lass97line" naml>
8999999999* /a> spai class="comment"> */ /sp208n20s6 idu7L936"73ck_>10cline" namlueL95ai acc_shmnloc_ast/a>-&ackf95ai acc_shmtask_9ass98line" nnsssions="hmid_kerneilloc_ast/a>-&ackhmid_kerneieef="et_) {ninodss_inohodt  "+f="+c>k"+coil namluwaitcosref">inodss_inwaitcodt      a hrp"+co+rgess=",eL958">
9+rga>st/208120s1_get5L878"578ass9"line" namldueL8>  e5	== 0208220s" idu6L872"678ass98line" ncharilesu="sref">inodss_inodt      a hrcs_"+coioL946ent">of_shmlloc_ast/a>-&ackfileeof_shmtask_t_) {ninodss_inohodt   ine" a)mo1eL0ode=ad" class="srs_pnit  /208320s3 idu6L872"678ass98line" namld1eL94"f95audit_>	  nloc_ast/a>-&ackf95audit_>	   idu6c>k"+coil namluwalloc_ast/a>-&acad+codine" a)mo1eL0ode=ad" class="srs_pnit  /208420s" idu6L954"65lass9line" namldueL8>  e
947 /208520s" id1#ifdef6c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT idu6L954"65lass9line" namldueL8>  e
947 /208620s6 idu7L941"74t_) {n	i nloc_ast/a>-&ackf95ad_>	i task_e=MAY_WRITEi class="walloc_ast/a>-&acad+cod, nnsssions=ioL94__ a h__f">smk_ad_init __ a h__>(&nnsssions=ioL94LSM_AUDIT_DATA_IPCispof_ce r  e&gLSM_AUDIT_DATA_IPCdt   ine" a)mo1eL0ode=ad" class="srs_pnit  /208720s7 idu7L941"74t_) {n-&acad+cod.rks_"+co->s="alloc_ast/a>-&aca+cod.rks_"+co->s="ulloc_ast/a>-&acu+cod.rks_"+co->s="ipc_ialloc_ast/a>-&acipc_ia      a hrcs_"+coioL946h"sref">inodss_inohodt    a hrks_"+co->s="shm_permlloc_ast/a>-&ackhm_permdt  .rks_"+co->s="ialloc_ast/a>-&acid+codine" a)mo1eL0ode=ad" class="srs_pnit  /208820s" idu#endifne" a)mo1eL0ode=ad" class="srs_pnit  /208920se_get6L879"67ck_>10cline" a)mo1eLlusf95ai accnloc_ast/a>-&ackf95ai acctask_t_) {ninodss_inodt    mpnnsssions=ioL94waitcosref">inodss_inwaitcodt  ,ae=MAY_WRITEi class="walloc_ast/a>-&acad+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /209n2096 idu7L920"72lass98line" namldueL8>  e
947 /2091209" idu7L921"72lass9ode=ad" class="sref">ad /2092209" id17L912"71lass99line" naamlueL956">
953 /a> spai class="comment">/** /sp2093209" idu7L933"73lass99line" naml kfileekhm_associ/a>--"Sent"owaitcoms="sroahourhmueL956">
953 /a> spai class="comment">/** /sp2094209" idu7L894"70lass964ine" nammluehp e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp2095209" id16L895"60ck_>10cline" naml@ohmflg: waitcomrequest@familyspai class="comment"> argloc: unused /sp2096209" idu6L896"60ck_>10cline" namdueL8>  e
953/a> spai class="comment"> */ /sp2097209" idu5L887"58lass9"line" na6mlueL8>spa
9ck_f="re"  has teL81lquest@f waitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp2098209" idu5L888"58lass97line" naml>
8999999999* /a> spai class="comment"> */ /sp20992099 idu7L936"73ck_>10cline" namlueL958"khm_associ/a>lloc_ast/a>-&ackfileekhm_associ/a>task_9ass98line" nnsssions="hmid_kerneilloc_ast/a>-&ackhmid_kerneieef="et_) {ninodss_inohodt  "+f="+c>k"+coil namluohmflglloc_ast/a>-&ackhmflgdt      a hrp"+co+rgess=",eL958">
9+rga>st/21on21on idu5L878"578ass9"line" namldueL8>  e5	== 021o12101 idu6L886"685="+c>k"+coil namlumaylloc_ast/a>-&acmayllocine" a)mo1eL0ode=ad" class="srs_pnit  /21o2210" iduL920"72lass98line" namldueL8>  e
947 /21o321o" idu5L883"58c>k"+coil namlumaylloc_ast/a>-&acmaylloc  a hrcs_"+coioL946ent">e">sm_to_maylloc_ast/a>-&ackfileee">sm_to_maylloc_c>k"+coil namluohmflglloc_ast/a>-&ackhmflgdt   ine" a)mo1eL0ode=ad" class="srs_pnit  /21o421o4 idu5L883"58ck_>10cline" a)mo1eLlusf95ai acc_shmnloc_ast/a>-&ackf95ai acc_shmtask_t_) {ninodss_inohodt  "+c>k"+coil namlumaylloc_ast/a>-&acmaylloc ine" a)mo1eL0ode=ad" class="srs_pnit  /21o521o5 idu7L920"72lass98line" namldueL8>  e
947 /21o621o6 iduL920"72lass98line" namldueL8>  e
947 /21o7210" idu5L887"58lass9"line" naamlueL956">
953 /a> spai class="comment">/** /sp21o8210" idu5L888"58lass97line" namldkfileekhm_khmctl--"Sent"owaitcoms="sroahourhmueL956">
953 /a> spai class="comment">/** /sp21o9210" idu7L929"72lass97line" namleuehp e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp211n211" id17L910"71lass99line" naml @cmd: wpa59it wanL8>so do hanotesockeu/a> spai class="comment">/** /sp2111211" id17L911"71lass99line" naml hanotesockeu/a> spai class="comment">/** /sp211221s" id17L912"71lass99line" na6mlueL8>spa
9ck_f="re"  has teL81lquest@f waitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp21s321s" idu7L933"73lass99line" naml>
8999999999* /a> spai class="comment"> */ /sp21s421s" id17L936"73ck_>10cline" namlueL958"khm_khmctllloc_ast/a>-&ackfileekhm_khmctltask_9ass98line" nnsssions="hmid_kerneilloc_ast/a>-&ackhmid_kerneieef="et_) {ninodss_inohodt  "+f="+c>k"+coil namlucmdsref">inodss_incmddt      a hrp"+co+rgess=",eL958">
9+rga>st/21s5  e5	== 021s62116 idu6L886"685="+c>k"+coil namlumaylloc_ast/a>-&acmayllocine" a)mo1eL0ode=ad" class="srs_pnit  /21s7211" idune" a)mo1eL0ode=ad" class="srs_pnit  /21182118 idu6L886"68switch_>10cline" naml1ecmdsref">inodss_incmddt    5L878"578ass9"line" namldueL8>  e5	== 02119211e_get6L879"67case+c>k"+coil namluIPC_STATispof_ce r  e&gIPC_STAT_get:L878"578ass9"line" namldueL8>  e5	== 0212n21s7 idu7L941"74case+c>k"+coil namluSHM_STATispof_ce r  e&gSHM_STAT_get:L878"578ass9"line" namldueL8>  e5	== 021212121 idu6L886"687L941"74c>k"+coil namlumaylloc_ast/a>-&acmaylloc  a hrcs_"+coioL94,  aREADlloc_ast/a>-&ac,  aREADeef=  a hrss_"+coode=ad" class="srs_pnit  /21s22122 idu6L886"687L941"74break  a hrss_"+coode=ad" class="srs_pnit  /21s3212" idu5L883"58case+c>k"+coil namluIPC_SETispof_ce r  e&gIPC_SET_get:L878"578ass9"line" namldueL8>  e5	== 021242124 idu7L941"74case+c>k"+coil namluSHM_LOCKispof_ce r  e&gSHM_LOCK_get:L878"578ass9"line" namldueL8>  e5	== 021252125 idu7L941"74case+c>k"+coil namluSHM_UNLOCKispof_ce r  e&gSHM_UNLOCK_get:L878"578ass9"line" namldueL8>  e5	== 021262126 idu7L941"74case+c>k"+coil namluIPC_RMIDlloc_ast/a>-&acIPC_RMID_get:L878"578ass9"line" namldueL8>  e5	== 02127212" idu6L887"687lass988c>k"+coil namlumaylloc_ast/a>-&acmaylloc  a hrcs_"+coioL94,  aREAD class="secur>(coa>),  aREAD claseef=  a hrss_"+coode=ad" class="srs_pnit  /21s82128 idu6L886"687L941"74break  a hrss_"+coode=ad" class="srs_pnit  /21s9212e_get6L879"67case+c>k"+coil namluIPC_INFOispof_ce r  e&gIPC_INFO_get:L878"578ass9"line" namldueL8>  e5	== 0213n2137 idu7L941"74case+c>k"+coil namluSHM_INFOispof_ce r  e&gSHM_INFO_get:L878"578ass9"line" namldueL8>  e5	== 021312131 idu6L886"687L941"74cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2132213" id17L912"71lass99line" na66666666666666666* Syst@m leveis>	  rm memoon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2133213" idu7L933"73lass99line" nam6666666666666666*>
8999999999* /a> spai class="comment"> */ /sp21342134 idu5L883"583k_>10clck_>10cline" a)mo1eL0ode=ad" class="srs_pnit  /21s52135 idu5L883"58default:L878"578ass9"line" namldueL8>  e5	== 02136213" idu6L886"687L941"741lass99-nnsssions=ioL94oINVALsref">inod"739aoINVALeef=  a hrss_"+coode=ad" class="srs_pnit  /2137213" idu6L887"687L920"72lass98line" namldueL8>  e
947 /21382138 idu6L886"68ck_>10cline" a)mo1eLlusf95ai acc_shmnloc_ast/a>-&ackf95ai acc_shmtask_t_) {ninodss_inohodt  "+c>k"+coil namlumaylloc_ast/a>-&acmaylloc ine" a)mo1eL0ode=ad" class="srs_pnit  /21s9213e_get7L920"72lass98line" namldueL8>  e
947 /214n214" idu7L940"74ck_>10ckine" naml1eL8591>
859 2141214" id17L911"71lass99line" naamlueL956">
953 /a> spai class="comment">/** /sp2142214" idu7L932"73lass99line" naml kfileekhm_khmat--"Sent"owaitcomahourhmao hanotesockeu/a> spai class="comment">/** /sp21s3214" idu7L893"70lass99line" naml @-hp e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp2144214" idu7L894"70lass964ine" nammluehmaddr98851 @familyspai class="comment"> argloc: unused /sp2145214" id16L895"60ck_>10cline" naml@ohmflg: waitcomrequest@familyspai class="comment"> argloc: unused /sp21s621s" idu7L926"72ck_>10cline" nml hanotesockeu/a> spai class="comment">/** /sp21s721s" idu5L887"58lass9"line" na6mlueL8>spa
9ck_f="re"  has teL81lquest@f waitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp214821s" idu5L888"58lass97line" naml>
8999999999* /a> spai class="comment"> */ /sp21492149 idu7L936"73ck_>10cline" namlueL958"khm_rhmaolloc_ast/a>-&ackfileekhm_khmaotask_9ass98line" nnsssions="hmid_kerneilloc_ast/a>-&ackhmid_kerneieef="et_) {ninodss_inohodt  "+8ass9nnsssions=ioL94__1 @rtsioctl>(sockac__1 @reef="et_) {n(sockackhmaddrdt  "9999* /a> spai class="comment"> */ /sp215n2150 idu6L886"687L941"7444444444444f="+c>k"+coil namluohmflglloc_ast/a>-&ackhmflgdt      a hrp"+co+rgess=",eL958">
9+rga>st/21512151_get5L878"578ass9"line" namldueL8>  e5	== 02152215" idu5L882"58c="+c>k"+coil namlumaylloc_ast/a>-&acmayllocine" a)mo1eL0ode=ad" class="srs_pnit  /2153215" idu6L943"64ck_>10cline" naml1eL95311
923 21s421s4 idu5L883"58c>k"+coil namlumaylloc_ast/a>-&acmaylloc  a hrcs_"+coioL946ent">e">sm_to_maylloc_ast/a>-&ackfileee">sm_to_maylloc_c>k"+coil namluohmflglloc_ast/a>-&ackhmflgdt   ine" a)mo1eL0ode=ad" class="srs_pnit  /21552155 idu6L886"68ck_>10cline" a)mo1eLlusf95ai acc_shmnloc_ast/a>-&ackf95ai acc_shmtask_t_) {ninodss_inohodt  "+c>k"+coil namlumaylloc_ast/a>-&acmaylloc ine" a)mo1eL0ode=ad" class="srs_pnit  /215621s6 idu7L920"72lass98line" namldueL8>  e
947 /2157215" idune" a)mo1eL0ode=ad" class="srs_pnit  /2158215" idu5L888"58lass97line" naamlueL956">
953 /a> spai class="comment">/** /sp2159215" idu7L929"72lass97line" namllment">of_semstar* irent"opo3ckeroahour* iremueL956">
953 /a> spai class="comment">/** /sp216n}n<936">
938 /a>	21s67>21s6 idu7L926"72ck_>10cline" naml@oma e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp216121s" id17L911"71lass99line" naml hanotesockeu/a> spai class="comment">/** /sp216221s" idu7L932"73lass99line" naml ueL8>spaaopo3ckerotoar* irent"ovaluea sockeu blob/a> spai class="comment">/** /sp216321s" idu7L933"73lass99line" naml>
8999999999* /a> spai class="comment"> */ /sp21s4216" id17L936"78ass98line" ncharilesuent">of_semlloc_ast/a>-&ackfileeof_semtask_9ass98line" nnsssions="em_arraylloc_ast/a>-&ackem_arrayeef="et_) {n-&acsmadt      a hrp"+co+rgess=",eL958">
9+rga>st/2165216" id15L878"578ass9"line" namldueL8>  e5	== 021662166 idu6L886"68ck_>10c(8ass98)t_) {n-&acsmadt    a hrks_"+co->s="sem_permlloc_ast/a>-&ackem_permdt  .rks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotaskine" a)mo1eL0ode=ad" class="srs_pnit  /216721s7 id17L920"72lass98line" namldueL8>  e
947 /2168216" idu7L898"70lass988ine" namldueL8>  e
948<2169216" idu7L929"72lass97line" naamlueL956">
953 /a> spai class="comment">/** /sp217n2176 idu7L926"72ck_>10cline" namlkfileekem_allochref="+costaSe or* irsc="+cosanemoahouremueL956">
953 /a> spai class="comment">/** /sp2171217" id17L911"71lass99line" naaml@oma e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp2172217" idu7L932"73lass99line" naml hanotesockeu/a> spai class="comment">/** /sp2173217" idu7L893"70lass99line" naml ueL8>spa
a sockeu blob/a> spai class="comment">/** /sp217421s" id17ref="71lass964ine" naml>
8999999999* /a> spai class="comment"> */ /sp2175
938 /a>	21s6c>21s" id17L936"73ck_>10cline" namlueL958"kem_allochref="+colloc_ast/a>-&ackfileekem_allochref="+cotask_9ass98line" nnsssions="em_arraylloc_ast/a>-&ackem_arrayeef="et_) {n-&acsmadt      a hrp"+co+rgess=",eL958">
9+rga>st/217621s" idu5L878"578ass9"line" namldueL8>  e5	== 021s7217" idu6L887"689ass98line" nnsssions=kern_ipc_permlloc_ast/a>-&ackern_ipc_permeef="et_) {ninod"739aidt      ae=MAY_WRITEi class="smalloc_ast/a>-&acsmadt    a hrks_"+co->s="sem_permlloc_ast/a>-&ackem_permdt  ine" a)mo1eL0ode=ad" class="srs_pnit  /2178217" idu7L898"70lass988ine" namldueL8>  e
948<21s9217e_get6L879"67t_) {ninod"739aidt      a hrks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotask  annsssions=ioL94eL95of_f="re" nloc_ast/a>-&ackf95of_f="re" task_g  a hrss_"+coode=ad" class="srs_pnit  /218n2180 idu6L886"68ck_>10cline" a)mo1eL0ode=ad" class="srs_pnit  /21812181 idu7L920"72lass98line" namldueL8>  e
947 /2182218" iduL920"72lass98line" namldueL8>  e
947 /2183218" idu7L933"73lass99line" naamlueL956">
953 /a> spai class="comment">/** /sp2184218" id17ref="71lass964ine" namldkfileekem_freehref="+costaClearor* irsc="+cosanemoahouremueL956">
953 /a> spai class="comment">/** /sp2185218" id16L895"60ck_>10cline" naml@oma e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp2186218" idu7L926"72ck_>10cline" nml hanotesockeu/a> spai class="comment">/** /sp2187218" idu5L887"58lass9"line" na6mlClearpa andanemopo3ckerkpanotesockeu/a> spai class="comment">/** /sp2188218" idu5L888"58lass97line" naml>
8999999999* /a> spai class="comment"> */ /sp21892189 idu7L936"71ck_>>10cline" namlueL958"kem_freehref="+colloc_ast/a>-&ackfileekem_freehref="+cotask_9ass98line" nnsssions="em_arraylloc_ast/a>-&ackem_arrayeef="et_) {n-&acsmadt      a hrp"+co+rgess=",eL958">
9+rga>st/219n219n idu5L878"578ass9"line" namldueL8>  e5	== 021912191 idu6L887"689ass98line" nnsssions=kern_ipc_permlloc_ast/a>-&ackern_ipc_permeef="et_) {ninod"739aidt      ae=MAY_WRITEi class="smalloc_ast/a>-&acsmadt    a hrks_"+co->s="sem_permlloc_ast/a>-&ackem_permdt  ine" a)mo1eL0ode=ad" class="srs_pn	== 02192219" iduL920"72lass98line" namldueL8>  e
947 /2193219" idu5L883"58c>k"+coil namluie"sref">inod"739aidt      a hrks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotask  annsssions=ioL94NULLsref">inod"739aNULL+codine" a)mo1eL0ode=ad" class="srs_pnit  /2194219" idu7L920"72lass98line" namldueL8>  e
947 /2195219" idu7L925"72ck_>10cline" namlueL945">
945 2196219" idu6L896"60ck_>10cline" namlueL956">
953 /a> spai class="comment">/** /sp2197219" idu5L887"58lass9"line" na6mlkf95ai acc_sems:ms="sr4ck_f="re"  has waitcom54 /emueL956">
953 /a> spai class="comment">/** /sp2198219" idu5L888"58lass97line" namll@oma  e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp2199219" idu7L929"72lass97line" namleuwaitcom: waitcomrequest@familyspai class="comment"> argloc: unused /sp22on2206 idu7L926"72ck_>10cline" namamilyspai class="comment"> argloc: unused /sp22o1220" id17L911"71lass99line" naamlueL8>spa
9ck_f="re"  has teL81lquest@f waitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp22o2220" idu7L932"73lass99line" naml>
8999999999* /a> spai class="comment"> */ /sp22o322o" idu7L936"73ck_>10cline" namlueL95ai acc_semlloc_ast/a>-&ackf95ai acc_semtask_9ass98line" nnsssions="em_arraylloc_ast/a>-&ackem_arrayeef="et_) {n-&acsmadt  "+f="+c>k"+coil namluwaitcosref">inodss_inwaitcodt      a hrp"+co+rgess=",eL958">
9+rga>st/22o422o4 idu5L878"578ass9"line" namldueL8>  e5	== 022o522o5 idu5L883"588ass98line" ncharilesu="sref">inodss_inodt      a hrcs_"+coioL946ent">of_semlloc_ast/a>-&ackfileeof_semtask_t_) {n-&acsmadt   ine" a)mo1eL0ode=ad" class="srs_pnit  /22o622o6 idu7L941"748ass98line" namld1eL94"f95audit_>	  nloc_ast/a>-&ackf95audit_>	   idu6c>k"+coil namluwalloc_ast/a>-&acad+codine" a)mo1eL0ode=ad" class="srs_pnit  /22o7220" idune" a)mo1eL0ode=ad" class="srs_pnit  /22o8220" idu#ifdef6c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT idu6L954"65lass9line" namldueL8>  e
947 /22o9220e_get6L879"67t_) {n	i nloc_ast/a>-&ackf95ad_>	i task_e=MAY_WRITEi class="walloc_ast/a>-&acad+cod, nnsssions=ioL94__ a h__f">smk_ad_init __ a h__>(&nnsssions=ioL94LSM_AUDIT_DATA_IPCispof_ce r  e&gLSM_AUDIT_DATA_IPCdt   ine" a)mo1eL0ode=ad" class="srs_pnit  /221n2216 idu7L941"74t_) {n-&acad+cod.rks_"+co->s="alloc_ast/a>-&aca+cod.rks_"+co->s="ulloc_ast/a>-&acu+cod.rks_"+co->s="ipc_ialloc_ast/a>-&acipc_ia      a hrcs_"+coioL946malloc_ast/a>-&acsmadt    a hrks_"+co->s="sem_permlloc_ast/a>-&ackem_permdt  .rks_"+co->s="ialloc_ast/a>-&acid+codine" a)mo1eL0ode=ad" class="srs_pnit  /2211221" id1#endifne" a)mo1eL0ode=ad" class="srs_pnit  /2212221" idu5L882"58ck_>10cline" a)mo1eLlusf95ai accnloc_ast/a>-&ackf95ai acctask_t_) {ninodss_inodt    mpnnsssions=ioL94waitcosref">inodss_inwaitcodt  ,ae=MAY_WRITEi class="walloc_ast/a>-&acad+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /22s32213    7L920"72lass98line" namldueL8>  e
947 /22s4221" idu6L954"65lass9line" namldueL8>  e
947 /22s510cline" namlueL956">
953 /a> spai class="comment">/** /sp22s622s" idu6L956"65ck_>10cline" namlkfileekem_associ/a>--"Sent"owaitcoms="sroahouremueL956">
953 /a> spai class="comment">/** /sp22s722s" idu5L887"58lass9"line" na6ml@oma e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp2218221" idu5L888"58lass97line" namll@oemflg: waitcomrequest@familyspai class="comment"> argloc: unused /sp2219221" idu7L929"72lass97line" naml hanotesockeu/a> spai class="comment">/** /sp222n2226 idu6L956"65ck_>10cline" namlueL8>spa
9ck_f="re"  has teL81lquest@f waitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp2221222" id17L911"71lass99line" naml>
8999999999* /a> spai class="comment"> */ /sp22s22222 idu7L936"73ck_>10cline" namlueL958"kem_associ/a>lloc_ast/a>-&ackfileekem_associ/a>task_9ass98line" nnsssions="em_arraylloc_ast/a>-&ackem_arrayeef="et_) {n-&acsmadt  "+f="+c>k"+coil namluoemflglloc_ast/a>-&ackemflgdt      a hrp"+co+rgess=",eL958">
9+rga>st/22s3222" id15L878"578ass9"line" namldueL8>  e5	== 022242224 idu7L941"74c="+c>k"+coil namlumaylloc_ast/a>-&acmayllocine" a)mo1eL0ode=ad" class="srs_pnit  /2225222" idu7L925"72ck_>10cline" namlueL945">
945 22262226 idu7L941"74t_) {n-&acmaylloc  a hrcs_"+coioL946ent">e">sm_to_maylloc_ast/a>-&ackfileee">sm_to_maylloc_c>k"+coil namluoemflglloc_ast/a>-&ackemflgdt   ine" a)mo1eL0ode=ad" class="srs_pnit  /22272227 idu5L883"58ck_>10c>10cline" namlueL95ai acc_semlloc_ast/a>-&ackf95ai acc_semtask_t_) {n-&acsmadt  "+t_) {n-&acmaylloc ine" a)mo1eL0ode=ad" class="srs_pnit  /22282228 idu7L920"72lass98line" namldueL8>  e
947 /22s9222e_get6L889"689k_>1  e
9lass="sref">rc /aIuo223n2236 idu7L926"72ck_>10cline" namlueL956">
953 /a> spai class="comment">/** /sp2231223" id17L911"71lass99line" namldkfileekem_khmctl--"Sent"owaitcoms="sroahouremueL956">
953 /a> spai class="comment">/** /sp2232223" id17L912"71lass99line" na6ml@oma e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp2233223" idu7L933"73lass99line" naml @cmd: wpa59it wanL8>so do hanotesockeu/a> spai class="comment">/** /sp2234223" id17ref="71lass964ine" naml hanotesockeu/a> spai class="comment">/** /sp223522s" id16L895"60ck_>10cline" namlueL8>spa
9ck_f="re"  has teL81lquest@f waitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp223622s" idu6L956"65ck_>10cline" nam>
8999999999* /a> spai class="comment"> */ /sp2237223" idu7L936"73ck_>10cline" namlueL958"kem_kemctllloc_ast/a>-&ackfileekem_kemctltask_9ass98line" nnsssions="em_arraylloc_ast/a>-&ackem_arrayeef="et_) {n-&acsmadt  "+f="+c>k"+coil namlucmdsref">inodss_incmddt      a hrp"+co+rgess=",eL958">
9+rga>st/22382238 idu5L878"578ass9"line" namldueL8>  e5	== 022s92239 idu7L941"74c="+c>k"+coil namlumaylloc_ast/a>-&acmayllocine" a)mo1eL0ode=ad" class="srs_pnit  /224n224" idu7L940"74ck_>10ckine" naml1eL8591>
859 22412241 idu6L887"689witch_>10cline" naml1ecmdsref">inodss_incmddt    5L878"578ass9"line" namldueL8>  e5	== 02242224" idu6L872"678ase+c>k"+coil namluGETPIDlloc_ast/a>-&acGETPID idu:L878"578ass9"line" namldueL8>  e5	== 022s3224" idu5L883"58case+c>k"+coil namluGETNCNTispof_ce r  e&gGETNCNT idu:L878"578ass9"line" namldueL8>  e5	== 022s42244 idu7L941"74case+c>k"+coil namluGETZCNTispof_ce r  e&gGETZCNT idu:L878"578ass9"line" namldueL8>  e5	== 022s52245 idu7L941"74case+c>k"+coil namluGETVALsref">inod"739aGETVAL idu:L878"578ass9"line" namldueL8>  e5	== 022s62246 idu7L941"74case+c>k"+coil namluGETALLsref">inod"739aGETALL idu:L878"578ass9"line" namldueL8>  e5	== 022s72247 idu7L941"74case+c>k"+coil namluIPC_STATispof_ce r  e&gIPC_STAT_get:L878"578ass9"line" namldueL8>  e5	== 022482248 idu7L941"74case+c>k"+coil namluSEM_STATispof_ce r  e&gSEM_STAT_get:L878"578ass9"line" namldueL8>  e5	== 022492249 idu7L941"747L941"74t_) {n-&acmaylloc  a hrcs_"+coioL94,  aREADlloc_ast/a>-&ac,  aREADeef=  a hrss_"+coode=ad" class="srs_pnit  /225n2250 idu6L886"687L941"74break  a hrss_"+coode=ad" class="srs_pnit  /22512251 idu7L941"74case+c>k"+coil namluSETVALsref">inod"739aSETVAL idu:L878"578ass9"line" namldueL8>  e5	== 02252225" idu6L872"678ase+c>k"+coil namluSETALLsref">inod"739aSETALL idu:L878"578ass9"line" namldueL8>  e5	== 02253225" idu5L883"58case+c>k"+coil namluIPC_RMIDlloc_ast/a>-&acIPC_RMID_get:L878"578ass9"line" namldueL8>  e5	== 022s42254 idu7L941"74case+c>k"+coil namluIPC_SETispof_ce r  e&gIPC_SET_get:L878"578ass9"line" namldueL8>  e5	== 022552255 idu6L886"687L941"74t_) {n-&acmaylloc  a hrcs_"+coioL94,  aREAD class="secur>(coa>),  aREAD claseef=  a hrss_"+coode=ad" class="srs_pnit  /2256225" idu6L886"687L941"74break  a hrss_"+coode=ad" class="srs_pnit  /22572257 idu7L941"74case+c>k"+coil namluIPC_INFOispof_ce r  e&gIPC_INFO_get:L878"578ass9"line" namldueL8>  e5	== 022582258 idu7L941"74case+c>k"+coil namluSEM_INFOispof_ce r  e&gSEM_INFO_get:L878"578ass9"line" namldueL8>  e5	== 022592259 idu7L941"747L941"74tL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp226n}n<936">
938 /a>	22s67>22s6 idu7L926"72ck_>10cline" naaaaaaaaaaaaaaaaa* Syst@m leveis>	  rm memo
8999999999* /a> spai class="comment"> */ /sp226122s" id17L911"71lass99line" namaaaaaaaaaaaaaaaa*>
8999999999* /a> spai class="comment"> */ /sp22622262 idu6L886"687L941"74ck_>10cline" a)mo1eL0ode=ad" class="srs_pnit  /2263226" idu5L883"58default:L878"578ass9"line" namldueL8>  e5	== 022s42264 idu5L883"583k_>10clck_>10c-nnsssions=ioL94oINVALsref">inod"739aoINVALeef=  a hrss_"+coode=ad" class="srs_pnit  /22652265 idu6L886"687L920"72lass98line" namldueL8>  e
947 /22662266 iduL920"72lass98line" namldueL8>  e
947 /22672267 idu5L883"58ck_>10c>10cline" namlueL95ai acc_semlloc_ast/a>-&ackf95ai acc_semtask_t_) {n-&acsmadt  "+t_) {n-&acmaylloc ine" a)mo1eL0ode=ad" class="srs_pnit  /22682268 idu7L920"72lass98line" namldueL8>  e
947 /226922se_get6L889"689k_>1  e
9lass="sref">rc /aIuo227n2276 idu7L926"72ck_>10cline" namlueL956">
953 /a> spai class="comment">/** /sp2271227" id17L911"71lass99line" naamlkfileekem_kemop--"Sent"os="srs ofuremaphore oper memosueL956">
953 /a> spai class="comment">/** /sp2272227" idu7L932"73lass99line" namll@oma e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp2273227" idu7L893"70lass99line" naml @sops98851 @familyspai class="comment"> argloc: unused /sp227422s" id17ref="71lass964ine" namld@nsops98851 @familyspai class="comment"> argloc: unused /sp2275
938 /a>	22s6c>22s" id16L895"60ck_>10cline" naml@alter98851 @familyspai class="comment"> argloc: unused /sp227622s" idu6L956"65ck_>10cline" namamilyspai class="comment"> argloc: unused /sp227722s" idu6L957"65lass9"line" naml Treat@f womreaf wnd wentes>	 all4caseson tomsuhouedioctlf   nryo"convgssnt">ist. /sp227822s" idu5L888"58lass97line" namln tomsuhouedioctlf   nryo"convgssnt">ist. /sp227922s" idu7L929"72lass97line" namllueL8>spa
9ck_waitcomis allowed,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp228n2286 idu6L956"65ck_>10cline" nam>
8999999999* /a> spai class="comment"> */ /sp22812281 idu7L936"73ck_>10cline" namlueL958"kem_kemo"sref">inodss_inoL958"kem_kemo"task_9ass98line" nnsssions="em_arraylloc_ast/a>-&ackem_arrayeef="et_) {n-&acsmadt  "+9ass98line" nnsssions="embuflloc_ast/a>-&ackembufeef="et_) {n-&ackopsdt  "9999* /a> spai class="comment"> */ /sp22822282 idu6L886"687L941"7444444444444unsigne_>>10cline" namlunsopslloc_ast/a>-&acnkopsdt  "+f="+c>k"+coil namluwlterlloc_ast/a>-&acalt@reef=    a hrp"+co+rgess=",eL958">
9+rga>st/2283228" id15L878"578ass9"line" namldueL8>  e5	== 022842284 idu5L883"58ck_>10cline" a)mo1eLlusf95ai acc_semlloc_ast/a>-&ackf95ai acc_semtask_t_) {n-&acsmadt  "+t_) {n  e
947 /22862286 iduL920"72lass98line" namldueL8>  e
947 /2287228" idu5L887"58lass9"line" naamlueL956">
953 /a> spai class="comment">/** /sp2288228" idu5L888"58lass97line" namllkfileemsg_allochref="+costaSe or* irsc="+cosanemoahoumsgueL956">
953 /a> spai class="comment">/** /sp2289228" idu7L929"72lass97line" namleumsq e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp229n2296 idu7L926"72ck_>10cline" namamilyspai class="comment"> argloc: unused /sp2291229" id17L911"71lass99line" naamlueL8>spa
amilyspai class="comment"> argloc: unused /sp2292229" id17L912"71lass99line" naam>
8999999999* /a> spai class="comment"> */ /sp2293229" idu7L936"73ck_>10cline" namlueLileemsg_queue_allochref="+colloc_ast/a>-&ackfileemsg_queue_allochref="+cotask_9ass98line" nnsssions=msg_queuelloc_ast/a>-&acmsg_queueeef="et_) {n-&acmsqeef=    a hrp"+co+rgess=",eL958">
9+rga>st/22942294 idu5L878"578ass9"line" namldueL8>  e5	== 022952295 idu6L886"689ass98line" nnsssions=kern_ipc_permlloc_ast/a>-&ackern_ipc_permeef="et_) {ninod"739akidt      ae=MAY_WRITEi class="msqlloc_ast/a>-&acmsqeef=  a hrks_"+co->s="q_permlloc_ast/a>-&acq_permdt  ine" a)mo1eL0ode=ad" class="srs_pn	== 022962296 iduL920"72lass98line" namldueL8>  e
947 /22972297 idu5L883"58t_) {ninod"739akidt      a hrks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotask  annsssions=ioL94eL95of_f="re" nloc_ast/a>-&ackf95of_f="re" task_g  a hrss_"+coode=ad" class="srs_pnit  /22982298 idu6L886"68ck_>10cline" a)mo1eL0ode=ad" class="srs_pnit  /2299229e_get7L920"72lass98line" namldueL8>  e
947 /23on230" idu7L940"74ck_>10ckine" naml1eL8591>
859 23o1230" id17L911"71lass99line" naamlueL956">
953 /a> spai class="comment">/** /sp23o2230" idu7L932"73lass99line" namllkfileemsg_freehref="+costaClearor* irsc="+cosanemoahoumsgueL956">
953 /a> spai class="comment">/** /sp23o3230" idu7L893"70lass99line" naml @msq e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp23o4230" id17ref="71lass964ine" naml hanotesockeu/a> spai class="comment">/** /sp23o5230" id16L895"60ck_>10cline" namlClearpa andanemopo3ckerkpanotesockeu/a> spai class="comment">/** /sp23o6230" idu6L956"65ck_>10cline" nam>
8999999999* /a> spai class="comment"> */ /sp23o7230" idu7L936"71ck_>>10cline" namlueL958"msg_queue_freehref="+colloc_ast/a>-&ackfileemsg_queue_freehref="+cotask_9ass98line" nnsssions=msg_queuelloc_ast/a>-&acmsg_queueeef="et_) {n-&acmsqeef=    a hrp"+co+rgess=",eL958">
9+rga>st/23o82308 idu5L878"578ass9"line" namldueL8>  e5	== 023o9230e_get6L879"679ass98line" nnsssions=kern_ipc_permlloc_ast/a>-&ackern_ipc_permeef="et_) {ninod"739akidt      ae=MAY_WRITEi class="msqlloc_ast/a>-&acmsqeef=  a hrks_"+co->s="q_permlloc_ast/a>-&acq_permdt  ine" a)mo1eL0ode=ad" class="srs_pn	== 0231n231" idu7L940"74ck_>10ckine" naml1eL8591>
859 23112311 idu5L883"58t_) {ninod"739akidt      a hrks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotask  annsssions=ioL94NULLsref">inod"739aNULL+codine" a)mo1eL0ode=ad" class="srs_pnit  /2312231" idu7L920"72lass98line" namldueL8>  e
947 /23s3231" idu6L943"64ck_>10cline" naml1eL95311
923 23s4231" id17ref="71lass964ine" naamlueL956">
953 /a> spai class="comment">/** /sp23s510cline" nmllment">of_msqstar* irent"opo3ckeroahour* imsqeeL956">
953 /a> spai class="comment">/** /sp23s623s" idu6L956"65ck_>10cline" naml@msq e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp23s723s" idu5L887"58lass9"line" na6m hanotesockeu/a> spai class="comment">/** /sp23s8231" idu5L888"58lass97line" namllueL8>spaaopo3ckerotoar* irent"ovaluea sockeu blob/a> spai class="comment">/** /sp2319231" idu7L929"72lass97line" naml>
8999999999* /a> spai class="comment"> */ /sp232n2326 idu7L936"78ass98line" ncharilesuent">of_msqlloc_ast/a>-&acuent">of_msqtask_9ass98line" nnsssions=msg_queuelloc_ast/a>-&acmsg_queueeef="et_) {n-&acmsqeef=    a hrp"+co+rgess=",eL958">
9+rga>st/23212321_get5L878"578ass9"line" namldueL8>  e5	== 023s2232" idu5L882"58ck_>10c(8ass98)t_) {n-&acmsqeef=  a hrks_"+co->s="q_permlloc_ast/a>-&acq_permdt  .rks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotaskine" a)mo1eL0ode=ad" class="srs_pnit  /23s32323    7L920"72lass98line" namldueL8>  e
947 /2324232" idu6L954"65lass9line" namldueL8>  e
947 /2325232" id16L895"60ck_>10cline" namlueL956">
953 /a> spai class="comment">/** /sp2326232" idu6L956"65ck_>10cline" namlkf95ai acc_msqs: helperotoas="sr4ck_f="re"  has waitcom54 msqeeL956">
953 /a> spai class="comment">/** /sp2327232" idu5L887"58lass9"line" na6ml@msqs: r* imsqeeL956">
953 /a> spai class="comment">/** /sp2328232" idu5L888"58lass97line" namll@waitcom: waitcomrequest@familyspai class="comment"> argloc: unused /sp23s9232" idu7L929"72lass97line" naml hanotesockeu/a> spai class="comment">/** /sp233n2336 idu7L926"72ck_>10cline" nmllck_>10cl4ck_f="re"  has waitco,9errhouor* rwisedueL8>  e
953/a> spai class="comment"> */ /sp2331233" id17L911"71lass99line" naml>
8999999999* /a> spai class="comment"> */ /sp23322332 idu7L936"73ck_>10cline" namlueL95ai acc_msqlloc_ast/a>-&ackf95ai acc_msqtask_9ass98line" nnsssions=msg_queuelloc_ast/a>-&acmsg_queueeef="et_) {n-&acmsqeef="+f="+c>k"+coil namluwaitcosref">inodss_inwaitcodt      a hrp"+co+rgess=",eL958">
9+rga>st/2333233" id15L878"578ass9"line" namldueL8>  e5	== 023342334 idu5L883"588ass98line" ncharilesme"sref">inod"739amdt      a hrcs_"+coioL946ent">of_msqlloc_ast/a>-&acuent">of_msqtask_t_) {n-&acmsqeef= ine" a)mo1eL0ode=ad" class="srs_pnit  /23352335 idu6L886"689ass98line" nnsssions="f95audit_>	  nloc_ast/a>-&ackf95audit_>	   idu6c>k"+coil namluwalloc_ast/a>-&acad+codine" a)mo1eL0ode=ad" class="srs_pnit  /23362336 iduL920"72lass98line" namldueL8>  e
947 /2337233" idu#ifdef6c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT idu6L954"65lass9line" namldueL8>  e
947 /23382338 idu6L886"68ine" nnsssions="f95ad_>	i nloc_ast/a>-&ackf95ad_>	i task_e=MAY_WRITEi class="walloc_ast/a>-&acad+cod, nnsssions=ioL94__ a h__f">smk_ad_init __ a h__>(&nnsssions=ioL94LSM_AUDIT_DATA_IPCispof_ce r  e&gLSM_AUDIT_DATA_IPCdt   ine" a)mo1eL0ode=ad" class="srs_pnit  /23s9233e_get6L879"67t_) {n-&acad+cod.rks_"+co->s="alloc_ast/a>-&aca+cod.rks_"+co->s="ulloc_ast/a>-&acu+cod.rks_"+co->s="ipc_ialloc_ast/a>-&acipc_ia      a hrcs_"+coioL94msqlloc_ast/a>-&acmsqeef=  a hrks_"+co->s="q_permlloc_ast/a>-&acq_permdt  .rks_"+co->s="ialloc_ast/a>-&acid+codine" a)mo1eL0ode=ad" class="srs_pnit  /234n234" idu#endifne" a)mo1eL0ode=ad" class="srs_pnit  /23412341 idu6L887"68ck_>10cline" a)mo1eLlusf95ai accnloc_ast/a>-&ackf95ai acctask_t_) {ninod"739amdt    mpnnsssions=ioL94waitcosref">inodss_inwaitcodt  ,ae=MAY_WRITEi class="walloc_ast/a>-&acad+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /2342234" idu7L920"72lass98line" namldueL8>  e
947 /23s3234" idu6L943"64ck_>10cline" naml1eL95311
923 23s4234" idu7L894"70lass964ine" naamlueL956">
953 /a> spai class="comment">/** /sp23s5234" id16L895"60ck_>10cline" namlkfileemsg_queue_associ/a>--"Sent"owaitcoms="sroahoumsg_queueeeL956">
953 /a> spai class="comment">/** /sp23s623s" idu7L926"72ck_>10cline" nmll@msq e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp23s723s" idu5L887"58lass9"line" na6ml@msqflg: waitcomrequest@familyspai class="comment"> argloc: unused /sp234823s" idu5L888"58lass97line" namlamilyspai class="comment"> argloc: unused /sp2349234" idu7L929"72lass97line" namllueL8>spa
9ck_c="re"  has teL81lquest@f waitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp235n2356 idu6L956"65ck_>10cline" nam>
8999999999* /a> spai class="comment"> */ /sp23512351 idu7L936"73ck_>10cline" namlueL958"msg_queue_associ/a>lloc_ast/a>-&ackfileemsg_queue_associ/a>task_9ass98line" nnsssions=msg_queuelloc_ast/a>-&acmsg_queueeef="et_) {n-&acmsqeef="+f="+c>k"+coil namlumsqflglloc_ast/a>-&acmsqflgdt      a hrp"+co+rgess=",eL958">
9+rga>st/2352235" idu5L878"578ass9"line" namldueL8>  e5	== 02353235" idu5L883"58c="+c>k"+coil namlumaylloc_ast/a>-&acmayllocine" a)mo1eL0ode=ad" class="srs_pnit  /23s4235" idu6L954"65lass9line" namldueL8>  e
947 /23552355 idu6L886"68c>k"+coil namlumaylloc_ast/a>-&acmaylloc  a hrcs_"+coioL946ent">e">sm_to_maylloc_ast/a>-&ackfileee">sm_to_maylloc_c>k"+coil namlumsqflglloc_ast/a>-&acmsqflgdt   ine" a)mo1eL0ode=ad" class="srs_pnit  /23s62356 idu6L886"68ck_>10c>10cline" namlueL95ai acc_msqlloc_ast/a>-&ackf95ai acc_msqtask_t_) {n-&acmsqeef="+c>k"+coil namlumaylloc_ast/a>-&acmaylloc ine" a)mo1eL0ode=ad" class="srs_pnit  /23s72357 id17L920"72lass98line" namldueL8>  e
947 /2358235" idu7L898"70lass988ine" namldueL8>  e
948<2359235" idu7L929"72lass97line" naamlueL956">
953 /a> spai class="comment">/** /sp236n}n<936">
938 /a>	23s67>23s6 idu7L926"72ck_>10cline" namlkfileemsg_queue_msgctl--"Sent"owaitcoms="sroahoumsg_queueeeL956">
953 /a> spai class="comment">/** /sp236123s" id17L911"71lass99line" namll@msq e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp236223s" idu7L932"73lass99line" naml @cmd: wpa59it wanL8>so do hanotesockeu/a> spai class="comment">/** /sp236323s" idu7L933"73lass99line" naml hanotesockeu/a> spai class="comment">/** /sp2364236" id17ref="71lass964ine" namldueL8>spa
9ck_c="re"  has teL81lquest@f waitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp2365236" id16L895"60ck_>10cline" nam>
8999999999* /a> spai class="comment"> */ /sp23662366 idu7L936"73ck_>10cline" namlueL958"msg_queue_msgctllloc_ast/a>-&ackfileemsg_queue_msgctltask_9ass98line" nnsssions=msg_queuelloc_ast/a>-&acmsg_queueeef="et_) {n-&acmsqeef="+f="+c>k"+coil namlucmdsref">inodss_incmddt      a hrp"+co+rgess=",eL958">
9+rga>st/23672367 idu5L878"578ass9"line" namldueL8>  e5	== 023682368 idu5L883"58c="+c>k"+coil namlumaylloc_ast/a>-&acmayllocine" a)mo1eL0ode=ad" class="srs_pnit  /236923se_get6L889"689k_>1  e
9lass="sref">rc /aIuo237n2370 idu6L886"689witch_>10cline" naml1ecmdsref">inodss_incmddt    5L878"578ass9"line" namldueL8>  e5	== 023712371 idu7L941"74case+c>k"+coil namluIPC_STATispof_ce r  e&gIPC_STAT_get:L878"578ass9"line" namldueL8>  e5	== 02372237" idu6L872"678ase+c>k"+coil namluMSG_STATispof_ce r  e&gMSG_STAT_get:L878"578ass9"line" namldueL8>  e5	== 02373237" idu5L883"586L886"68c>k"+coil namlumaylloc_ast/a>-&acmaylloc  a hrcs_"+coioL94,  aREADlloc_ast/a>-&ac,  aREADeef=  a hrss_"+coode=ad" class="srs_pnit  /23742374 idu5L883"583k_>10clbreak  a hrss_"+coode=ad" class="srs_pnit  /2375
938 /a>	23s6c>2375 idu7L941"74case+c>k"+coil namluIPC_SETispof_ce r  e&gIPC_SET_get:L878"578ass9"line" namldueL8>  e5	== 023762376 idu7L941"74case+c>k"+coil namluIPC_RMIDlloc_ast/a>-&acIPC_RMID_get:L878"578ass9"line" namldueL8>  e5	== 02377237" idu6L887"686L886"68c>k"+coil namlumaylloc_ast/a>-&acmaylloc  a hrcs_"+coioL94,  aREAD class="secur>(coa>),  aREAD claseef=  a hrss_"+coode=ad" class="srs_pnit  /23782378 idu5L883"583k_>10clbreak  a hrss_"+coode=ad" class="srs_pnit  /2379237e_get6L879"67case+c>k"+coil namluIPC_INFOispof_ce r  e&gIPC_INFO_get:L878"578ass9"line" namldueL8>  e5	== 0238n2380 idu6L886"688ase+c>k"+coil namluMSG_INFOispof_ce r  e&gMSG_INFO_get:L878"578ass9"line" namldueL8>  e5	== 023812381 idu6L887"686L886"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2382238" idu7L932"73lass99line" nammmmmmmmmmmmmmmmm* Syst@m leveis>	  rm memo
8999999999* /a> spai class="comment"> */ /sp2383238" idu7L933"73lass99line" nammmmmmmmmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp23842384 idu5L883"583k_>10clck_>10cline" a)mo1eL0ode=ad" class="srs_pnit  /23852385 idu7L941"74default:L878"578ass9"line" namldueL8>  e5	== 02386238" idu6L886"687L941"74ck_>10c-nnsssions=ioL94oINVALsref">inod"739aoINVALeef=  a hrss_"+coode=ad" class="srs_pnit  /2387238" idu6L887"687L920"72lass98line" namldueL8>  e
947 /2388238" idu7L898"70lass988ine" namldueL8>  e
948<2389238e_get6L879"67ck_>10c>10cline" namlueL95ai acc_msqlloc_ast/a>-&ackf95ai acc_msqtask_t_) {n-&acmsqeef="+c>k"+coil namlumaylloc_ast/a>-&acmaylloc ine" a)mo1eL0ode=ad" class="srs_pnit  /239n2396 idu7L920"72lass98line" namldueL8>  e
947 /2391239" id1L920"72lass98line" namldueL8>  e
947 /2392239" id17L912"71lass99line" naamlueL956">
953 /a> spai class="comment">/** /sp2393239" idu7L893"70lass99line" naml kfileemsg_queue_msgsnd--"Sent"owaitcoms="sroahoumsg_queueeeL956">
953 /a> spai class="comment">/** /sp2394239" id17ref="71lass964ine" namld@msq e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp2395239" id16L895"60ck_>10cline" naml@msg98851 @familyspai class="comment"> argloc: unused /sp2396239" idu6L896"60ck_>10cline" n6ml@msqflg: waitcomrequest@familyspai class="comment"> argloc: unused /sp2397239" idu5L887"58lass9"line" na6mamilyspai class="comment"> argloc: unused /sp2398239" idu5L888"58lass97line" namllueL8>spa
9ck_c="re"  has teL81lquest@f waitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp2399239" idu7L929"72lass97line" naml>
8999999999* /a> spai class="comment"> */ /sp24on2406 idu7L936"73ck_>10cline" namlueL958"msg_queue_msgsndlloc_ast/a>-&ackfileemsg_queue_msgsndtask_9ass98line" nnsssions=msg_queuelloc_ast/a>-&acmsg_queueeef="et_) {n-&acmsqeef="+9ass98line" nnsssions=msg_msglloc_ast/a>-&acmsg_msguef="et_) {n-&acmsgeef="9999* /a> spai class="comment"> */ /sp24o12401 idu6L887"686L886"68888888888888888888f="+c>k"+coil namlumsqflglloc_ast/a>-&acmsqflgdt      a hrp"+co+rgess=",eL958">
9+rga>st/24o2240" idu5L878"578ass9"line" namldueL8>  e5	== 024o3240" idu5L883"58c="+c>k"+coil namlumaylloc_ast/a>-&acmayllocine" a)mo1eL0ode=ad" class="srs_pnit  /24o4240" idu6L954"65lass9line" namldueL8>  e
947 /24o52405 idu6L886"68c>k"+coil namlumaylloc_ast/a>-&acmaylloc  a hrcs_"+coioL946ent">e">sm_to_maylloc_ast/a>-&ackfileee">sm_to_maylloc_c>k"+coil namlumsqflglloc_ast/a>-&acmsqflgdt   ine" a)mo1eL0ode=ad" class="srs_pnit  /24o62406 idu6L886"68ck_>10c>10cline" namlueL95ai acc_msqlloc_ast/a>-&ackf95ai acc_msqtask_t_) {n-&acmsqeef="+c>k"+coil namlumaylloc_ast/a>-&acmaylloc ine" a)mo1eL0ode=ad" class="srs_pnit  /24o72407 id17L920"72lass98line" namldueL8>  e
947 /24o8240" idu7L898"70lass988ine" namldueL8>  e
948<24o9240" idu7L929"72lass97line" naamlueL956">
953 /a> spai class="comment">/** /sp241n2416 idu7L926"72ck_>10cline" namlkfileemsg_queue_msgsnd--"Sent"owaitcoms="sroahoumsg_queueeeL956">
953 /a> spai class="comment">/** /sp2411241" id17L911"71lass99line" namll@msq e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp2412241" idu7L932"73lass99line" naml @msg98851 @familyspai class="comment"> argloc: unused /sp24s3241" idu7L893"70lass99line" naml @target98851 @familyspai class="comment"> argloc: unused /sp24s4241" id17ref="71lass964ine" naml @type98851 @familyspai class="comment"> argloc: unused /sp24s510cline" nmll@maml98851 @familyspai class="comment"> argloc: unused /sp24s624s" idu6L956"65ck_>10cline" namamilyspai class="comment"> argloc: unused /sp24s724s" idu5L887"58lass9"line" na6mlueL8>spa
9ck_c="re"  has reaf wnd wenteswaitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp24s8241" idu5L888"58lass97line" naml>
8999999999* /a> spai class="comment"> */ /sp2419241" idu7L936"73ck_>10cline" namlueL958"msg_queue_msgrcvlloc_ast/a>-&ackfileemsg_queue_msgrcvtask_9ass98line" nnsssions=msg_queuelloc_ast/a>-&acmsg_queueeef="et_) {n-&acmsqeef="+9ass98line" nnsssions=msg_msglloc_ast/a>-&acmsg_msguef="et_) {n-&acmsgeef="9999* /a> spai class="comment"> */ /sp242n2420 idu6L886"687L941"74444444449ass98line" nnsssions=task_9ass98lloc_ast/a>-&actask_9ass98uef="et_) {n-&actargeteef="+longline" nnsssions=typelloc_ast/a>-&actypeeef="+f="+c>k"+coil namlumamllloc_ast/a>-&acmamldt      a hrp"+co+rgess=",eL958">
9+rga>st/24212421_get5L878"578ass9"line" namldueL8>  e5	== 024s2242" idu5L882"58ck_>10c>10cline" namlueL95ai acc_msqlloc_ast/a>-&ackf95ai acc_msqtask_t_) {n-&acmsqeef="+c>k"+coil namlu,  aREAD class="secur>(coa>),  aREAD claseef= ine" a)mo1eL0ode=ad" class="srs_pnit  /24s32423    7L920"72lass98line" namldueL8>  e
947 /2424242" idu6L954"65lass9line" namldueL8>  e
947 /2425242" id16L895"60ck_>10cline" namlueL956">
953 /a> spai class="comment">/** /sp2426242" idu6L956"65ck_>10cline" namlkfnt">ipc_permission--"Sent"owaitcomahouipc_permission()ueL956">
953 /a> spai class="comment">/** /sp2427242" idu5L887"58lass9"line" na6ml@ipp e>  e/ppano permissionsueL956">
953 /a> spai class="comment">/** /sp2428242" idu5L888"58lass97line" namll@e">s: waitcomrequest@familyspai class="comment"> argloc: unused /sp24s9242" idu7L929"72lass97line" naml hanotesockeu/a> spai class="comment">/** /sp243n2436 idu7L926"72ck_>10cline" nmllueL8>spa
9ck_c="re"  has reaf wnd wenteswaitco,9errhoucf=" or* rwisedueL8>  e
953/a> spai class="comment"> */ /sp2431243" id17L911"71lass99line" naml>
8999999999* /a> spai class="comment"> */ /sp24322432 idu7L936"73ck_>10cline" namlueLnt">ipc_permissionlloc_ast/a>-&ackfileeipc_permissiontask_9ass98line" nnsssions=kern_ipc_permlloc_ast/a>-&ackern_ipc_permeef="et_) {n-&acippeef="+9hor8line" nnsssions=e">slloc_ast/a>-&ace">sdt      a hrp"+co+rgess=",eL958">
9+rga>st/2433243" id15L878"578ass9"line" namldueL8>  e5	== 024342434 idu5L883"588ass98line" ncharilesie"sref">inod"739aidt      a hrcs_"+coioL94ipplloc_ast/a>-&acippeef=  a hrks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotaskine" a)mo1eL0ode=ad" class="srs_pnit  /24352435 idu6L886"68c="+c>k"+coil namlumaylloc_ast/a>-&acmaylloc  a hrcs_"+coioL946ent">e">sm_to_maylloc_ast/a>-&ackfileee">sm_to_maylloc_c>k"+coil namlue">slloc_ast/a>-&ace">sdt   ine" a)mo1eL0ode=ad" class="srs_pnit  /24362436 idu6L886"689ass98line" nnsssions="f95audit_>	  nloc_ast/a>-&ackf95audit_>	   idu6c>k"+coil namluwalloc_ast/a>-&acad+codine" a)mo1eL0ode=ad" class="srs_pnit  /2437243" idune" a)mo1eL0ode=ad" class="srs_pnit  /24382438 idu#ifdef6c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT idu6L954"65lass9line" namldueL8>  e
947 /24s9243e_get6L879"67t_) {n	i nloc_ast/a>-&ackf95ad_>	i task_e=MAY_WRITEi class="walloc_ast/a>-&acad+cod, nnsssions=ioL94__ a h__f">smk_ad_init __ a h__>(&nnsssions=ioL94LSM_AUDIT_DATA_IPCispof_ce r  e&gLSM_AUDIT_DATA_IPCdt   ine" a)mo1eL0ode=ad" class="srs_pnit  /244n2440_get6L879"67t_) {n-&acad+cod.rks_"+co->s="alloc_ast/a>-&aca+cod.rks_"+co->s="ulloc_ast/a>-&acu+cod.rks_"+co->s="ipc_ialloc_ast/a>-&acipc_ia      a hrcs_"+coioL94ipplloc_ast/a>-&acippeef=  a hrks_"+co->s="ialloc_ast/a>-&acid+codine" a)mo1eL0ode=ad" class="srs_pnit  /24412441 idu#endifne" a)mo1eL0ode=ad" class="srs_pnit  /2442244" idu5L882"58ck_>10c>10cline" namlueL95ai acclloc_ast/a>-&ackf95ai acclloc_c>k"+coil namluie"sref">inod"739aidt    "+c>k"+coil namlumaylloc_ast/a>-&acmaylloc,ae=MAY_WRITEi class="walloc_ast/a>-&acad+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /24s32443    7L920"72lass98line" namldueL8>  e
947 /24s4244" idu6L954"65lass9line" namldueL8>  e
947 /24s5244" id16L895"60ck_>10cline" namlueL956">
953 /a> spai class="comment">/** /sp24s624s" idu7L926"72ck_>10cline" nmllkfileeipc_getspaid--"Ext actirent"ospai cla ifamilyspai class="comment"> argloc: unused /sp24s724s" idu5L887"58lass9"line" na6ml@ipp e>  e/ppano permissionsueL956">
953 /a> spai class="comment">/** /sp244824s" idu5L888"58lass97line" naml @spaid: wperL81lsult will be sav@familyspai class="comment"> argloc: unused /sp2449244" idu7L929"72lass97line" naml>
8999999999* /a> spai class="comment"> */ /sp245n2456 idu7L936"71ck_>>10cline" namlueL958"ipc_getspaidlloc_ast/a>-&ackfileeipc_getspaidtask_9ass98line" nnsssions=kern_ipc_permlloc_ast/a>-&ackern_ipc_permeef="et_) {n-&acippeef="+rks_"+co->s="us7curit10c2a>-&acu32 idu98line" ncharilesupaidlloc_ast/a>-&ackpaidtask    a hrp"+co+rgess=",eL958">
9+rga>st/24512451_get5L878"578ass9"line" namldueL8>  e5	== 02452245" idu6L872"678ass98line" ncharilesuent"lloc_ast/a>-&ackfile      a hrcs_"+coioL94ipplloc_ast/a>-&acippeef=  a hrks_"+co->s="sef="+colloc_ast/a>-&ackef="+cotaskine" a)mo1eL0ode=ad" class="srs_pnit  /2453245" idu6L943"64ck_>10cline" naml1eL95311
923 24s42454 idu7L941"748line" ncharilesupaidlloc_ast/a>-&ackpaidtask  a hrcs_"+coioL946ent">to_spaidlloc_ast/a>-&ackfileeto_spaidlloc_c>k"+coil namluuent"lloc_ast/a>-&ackfile     ine" a)mo1eL0ode=ad" class="srs_pnit  /24552455 idu7L920"72lass98line" namldueL8>  e
947 /24s62456 iduL920"72lass98line" namldueL8>  e
947 /24s7245" idu5L887"58lass9"line" naamlueL956">
953 /a> spai class="comment">/** /sp2458245" idu5L888"58lass97line" namllkfileed_>	7L9nti/a>--"Make surL8 andanemois corrano on 88"inamldtL956">
953 /a> spai class="comment">/** /sp2459245" idu7L929"72lass97line" naml @opt_de" ry: de" ry wperL8inaml will be attach@familyspai class="comment"> argloc: unused /sp246n}n<936">
938 /a>	24s67>24s6 idu7L926"72ck_>10cline" naml@inaml e>  e/ppano hanotesockeu/a> spai class="comment">/** /sp246124s" id17L911"71lass99line" naml hanotesockeu/a> spai class="comment">/** /sp246224s" idu7L932"73lass99line" naml Se or* iinaml'sirsc="+cosanemoif9it hasn't been done alreafyon tomsuhouedioctlf   nryo"convgssnt">ist. /sp246324s" idu7L933"73lass99line" naml>
8999999999* /a> spai class="comment"> */ /sp2464246" id17L936"71ck_>>10cline" namlueL958"d_>	7L9nti/a>lloc_ast/a>-&ackfileed_>	7L9nti/a>task_9ass98line" nnsssions=de" rylloc_ast/a>-&acde" ry idu98line" ncharilesopt_de" rylloc_ast/a>-&acopt_de" ryeef="+9ass98line" nnsssions=inamllloc_ast/a>-&acinamldt  "et_) {n-&acinamldt      a hrp"+co+rgess=",eL958">
9+rga>st/2465246" id15L878"578ass9"line" namldueL8>  e5	== 024662466 idu6L886"689ass98line" nnsssions="uper_anet"lloc_ast/a>-&ackuper_anet" idu98line" ncharilesub"sref">inodss_inobptaskine" a)mo1eL0ode=ad" class="srs_pnit  /24672467 idu5L883"589ass98line" nnsssions="uperanet"_uent"lloc_ast/a>-&ackuperanet"_uent" idu98line" ncharilesube"sref">inod"739aube"taskine" a)mo1eL0ode=ad" class="srs_pnit  /24682468 idu5L883"589ass98line" nnsssions=inaml_uent"lloc_ast/a>-&acinaml_uent"dt  "et_) {ninod"739aidt    ine" a)mo1eL0ode=ad" class="srs_pnit  /2469246e_get6L879"67cass98line" ncharilesce"sref">inod"739acdt      a hrcs_"+coioL946e95of_f="re" nloc_ast/a>-&ackf95of_f="re" task_g  a hrss_"+coode=ad" class="srs_pnit  /247n2470 idu6L886"68cass98line" ncharilesfetch@flloc_ast/a>-&aceetch@f    ine" a)mo1eL0ode=ad" class="srs_pnit  /24712471 idu7L941"74cass98line" ncharilesfinallloc_ast/a>-&acfinal    ine" a)mo1eL0ode=ad" class="srs_pnit  /2472247" idu6L872"678ass9ine" nnsssions=trattrlloc_ast/a>-&actrattr idu[ine" nnsssions=TRANS_TRUE_SIZss="secur>(coa>)TRANS_TRUE_SIZs idu]ine" a)mo1eL0ode=ad" class="srs_pnit  /2473247" idu5L883"58c="+c>k"+coil namlutranse">slloc_ast/a>-&actranse">s      aline" a)mo1eL0ode=ad" class="srs_pnit  /24742474 idu5L883"58c="+c>k"+coil namlurclloc_ast/a>-&acrc    ine" a)mo1eL0ode=ad" class="srs_pnit  /2475
938 /a>	24s6c>2475 idu7L941"749ass98line" nnsssions=de" rylloc_ast/a>-&acde" ry idu98line" ncharilesd"sref">inod"739adt    ine" a)mo1eL0ode=ad" class="srs_pnit  /24762476 iduL920"72lass98line" namldueL8>  e
947 /2477247" idu6L887"68if9_c>k"+coil namluinamllloc_ast/a>-&acinamldt  "= annsssions=ioL94NULLsref">inod"739aNULL+cod    a hrp"+co+rgess=",eL958">
9+rga>st/24782478 idu5L883"583k_>10clck_>10ine" a)mo1eL0ode=ad" class="srs_pnit  /2479247e_get6L889"689k_>1  e
9lass="sref">rc /aIuo248n2480_get6L879"67t_) {ninod"739aidt      a hrcs_"+coioL94inamllloc_ast/a>-&acinamldt    a hrks_"+co->s="ihref="+colloc_ast/a>-&acihref="+cotaskine" a)mo1eL0ode=ad" class="srs_pnit  /2481248" id1L920"72lass98line" namldueL8>  e
947 /24822482 idu6L886"68c>k"+coil namlumutex_net"lloc_ast/a>-&acmutex_net"task_e=MAY_WRITEi class="ie"sref">inod"739aidt      a hrks_"+co->s="sf95net"lloc_ast/a>-&ackf95net"     ine" a)mo1eL0ode=ad" class="srs_pnit  /2483248" idu5L883"58cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2484248" id17ref="71lass964ine" nam7L941"748 Ifor* iinamlois alreafy >	7L9nti/a>familyspai class="comment"> argloc: unused /sp2485248" id16L895"60ck_>10cline" nm7L941"748 take r* iquick way ouo hanotesockeu/a> spai class="comment">/** /sp2486248" idu7L926"72ck_>10cline" nm7L941"748>
8999999999* /a> spai class="comment"> */ /sp2487248" idu6L887"68if9_c>k"+coil namluie"sref">inod"739aidt      a hrks_"+co->s="sf95e">smlloc_ast/a>-&ackf95e">sm idu6e=MAY8c>k"+coil namluSMK_INODE_INSTANTispof_ce r  e&gSMK_INODE_INSTANT+cod    a hrp"+co+rgess=",eL958">
9+rga>st/24882488 idu5L883"583k_>10clgoto+rks_"+co->s="unnet"andouocurit10c2a>-&acunnet"andouotaskine" a)mo1eL0ode=ad" class="srs_pnit  /2489248e_get6L889"689k_>1  e
9lass="sref">rc /aIuo249n2490_get6L879"67t_) {ninodss_inobptask  a hrcs_"+coioL94inamllloc_ast/a>-&acinamldt    a hrks_"+co->s="ihrblloc_ast/a>-&acihrbtaskine" a)mo1eL0ode=ad" class="srs_pnit  /24912491 idu5L883"58t_) {ninod"739aube"task  a hrcs_"+coioL946b"sref">inodss_inobptask  a hrks_"+co->s="shref="+colloc_ast/a>-&ackhref="+cotaskine" a)mo1eL0ode=ad" class="srs_pnit  /24922492 idu5L883"58cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2493249" idu7L893"70lass99line" nam7L941"748 Wl'relgoing>so use r* ikuperanet"4default label
8999999999* /a> spai class="comment"> */ /sp2494249" id17ref="71lass964ine" nam7L941"748 ifor* rl'sino label on r* ifileon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2495249" id16L895"60ck_>10cline" na7L941"748>
8999999999* /a> spai class="comment"> */ /sp24962496 idu5L883"58t_) {n-&acfinal      a hrcs_"+coioL946be"sref">inod"739aube"task  a hrks_"+co->s="sf95defaultlloc_ast/a>-&ackf95defaulttaskine" a)mo1eL0ode=ad" class="srs_pnit  /2497249" idune" a)mo1eL0ode=ad" class="srs_pnit  /24982498 idu6L886"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2499249" idu7L929"72lass97line" nam7L941"748 Ifor*is is teL81ootiinamlor* ikuperanet"
8999999999* /a> spai class="comment"> */ /sp25on2506 idu7L926"72ck_>10cline" na7L941"748 may b iinor* iproitcom5f >	i ializ memoon tomsuhouedioctlf   nryo"convgssnt">ist. /sp25o1250" id17L911"71lass99line" nam7L941"748 Ifor*a59is teL88ase+use r* i1ootivalue ouo hanotesockeu/a> spai class="comment">/** /sp25o2250" idu7L932"73lass99line" nammmmmmmmm*m5f r* ikuperanet"on tomsuhouedioctlf   nryo"convgssnt">ist. /sp25o3250" idu7L893"70lass99line" nam7L941"748>
8999999999* /a> spai class="comment"> */ /sp25o42504 idu6L887"68if9_c>k"+coil namluopt_de" rylloc_ast/a>-&acopt_de" ryeef=  a hrks_"+co->s="d_pare" nloc_ast/a>-&acd_pare" dt  "= annsssions=ioL94opt_de" rylloc_ast/a>-&acopt_de" ryeef=  5L878"578ass9"line" namldueL8>  e5	== 025o52505 idu6L886"685L883"58t_) {ninod"739aidt      a hrks_"+co->s="sf95inamllloc_ast/a>-&acsf95inaml      a hrcs_"+coioL946be"sref">inod"739aube"task  a hrks_"+co->s="sf951ootlloc_ast/a>-&acsf951oottaskine" a)mo1eL0ode=ad" class="srs_pnit  /25o6250" idu6L886"687L941"74c>k"+coil namluie"sref">inod"739aidt      a hrks_"+co->s="sf95e">smlloc_ast/a>-&ackf95e">sm idu6| a hrcs_"+coioL94SMK_INODE_INSTANTispof_ce r  e&gSMK_INODE_INSTANT+codine" a)mo1eL0ode=ad" class="srs_pnit  /25o7250" idu6L887"686L886"68goto+rks_"+co->s="unnet"andouocurit10c2a>-&acunnet"andouotaskine" a)mo1eL0ode=ad" class="srs_pnit  /25o82508 idu6L886"687L920"72lass98line" namldueL8>  e
947 /25o9250e_get6L889"689k_>1  e
9lass="sref">rc /aIuo251n2510 idu6L886"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2511251" id17L911"71lass99line" nammmmmmmmm*mT*is is pretty hnt"ishon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2512251" idu7L932"73lass99line" nammmmmmmmm*mCasey saysor*a59we+9houldn't have>so do hanotesockeu/a> spai class="comment">/** /sp25s3251" idu7L893"70lass99line" nammmmmmmmm*mfile syst@m specif6"78ts=, bu59it does help hanotesockeu/a> spai class="comment">/** /sp25s4251" id17ref="71lass964ine" nammmmmmmmm*mwith keeping>it simpleon tomsuhouedioctlf   nryo"convgssnt">ist. /sp25s510cline" nm7L941"748>
8999999999* /a> spai class="comment"> */ /sp25s62516 idu6L886"689witch_>10cline" naml1e6b"sref">inodss_inobptask  a hrks_"+co->s="shmagiclloc_ast/a>-&ackhmagiceef=  5L878"578ass9"line" namldueL8>  e5	== 025s7251" idu6L887"688ase+c>k"+coil namluSMACK_MAGICispof_ce r  e&gSMACK_MAGIC idu:L878"578ass9"line" namldueL8>  e5	== 025s82518 idu5L883"583k_>10clcL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2519251" idu7L929"72lass97line" nam7L941"74mmmmmmmm*mCasey saysor*a59it'sia little embarrlasing
8999999999* /a> spai class="comment"> */ /sp252n2526 idu7L926"72ck_>10cline" na7L941"74mmmmmmmm*mr*a59r* ikent"mfile syst@m doesn't do hanotesockeu/a> spai class="comment">/** /sp2521252" id17L911"71lass99line" nammmmmmmmmmmmmmmmm*mextend@f wttribu5eson tomsuhouedioctlf   nryo"convgssnt">ist. /sp25s2252" idu7L932"73lass99line" nammmmmmmmmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp25s3252" idu5L883"586L886"68c>k"+coil namlufinallloc_ast/a>-&acfinal      a hrcs_"+coioL946ent">known_starlloc_ast/a>-&ac6ent">known_star    .rks_"+co->s="kf95knownlloc_ast/a>-&ackf95knowntaskine" a)mo1eL0ode=ad" class="srs_pnit  /25242524 idu5L883"583k_>10clbreak  a hrss_"+coode=ad" class="srs_pnit  /25252525 idu7L941"74case+c>k"+coil namluPIPEFS_MAGICispof_ce r  e&gPIPEFS_MAGIC idu:L878"578ass9"line" namldueL8>  e5	== 02526252" idu6L886"687L941"74cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2527252" idu5L887"58lass9"line" na67L941"74mmmmmmmm*mCasey saysopipes are easy (?)ueL956">
953 /a> spai class="comment">/** /sp2528252" idu5L888"58lass97line" nammmmmmmmmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp25s92529 idu5L883"586L886"68c>k"+coil namlufinallloc_ast/a>-&acfinal      a hrcs_"+coioL946ent">known_starlloc_ast/a>-&ac6ent">known_star    .rks_"+co->s="kf95knownlloc_ast/a>-&ackf95knowntaskine" a)mo1eL0ode=ad" class="srs_pnit  /253n2530 idu6L886"687L941"74break  a hrss_"+coode=ad" class="srs_pnit  /25312531 idu7L941"74case+c>k"+coil namluDEVPTS_SUPER_MAGICispof_ce r  e&gDEVPTS_SUPER_MAGIC idu:L878"578ass9"line" namldueL8>  e5	== 025322532 idu6L886"687L941"74cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2533253" idu7L933"73lass99line" nammmmmmmmmmmmmmmmm* devptsirsems conte"  with r* ilabel of r* itaskon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2534253" id17ref="71lass964ine" nammmmmmmmmmmmmmmmm* Programsor*a59chang ikent"mhave>so trea59r* n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2535253" id16L895"60ck_>10cline" nm7L941"74mmmmmmmm* pty with respecton tomsuhouedioctlf   nryo"convgssnt">ist. /sp2536253" idu7L926"72ck_>10cline" nm7L941"74mmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp2537253" idu6L887"686L886"68c>k"+coil namlufinallloc_ast/a>-&acfinal      a hrcs_"+coioL94ce"sref">inod"739acdt      a hrss_"+coode=ad" class="srs_pnit  /25382538 idu5L883"583k_>10clbreak  a hrss_"+coode=ad" class="srs_pnit  /25s9253e_get6L879"678ase+c>k"+coil namluSOCKFS_MAGICispof_ce r  e&gSOCKFS_MAGIC idu:L878"578ass9"line" namldueL8>  e5	== 0254n2540 idu6L886"687L941"74cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2541254" id17L911"71lass99line" nammmmmmmmmmmmmmmmm*mSocket waitcomis controll@f by9r* ikocket
8999999999* /a> spai class="comment"> */ /sp2542254" idu7L932"73lass99line" nammmmmmmmmmmmmmmmm* 9ass98ures associ/a>d with r* itask involvedon tomsuhouedioctlf   nryo"convgssnt">ist. /sp25s3254" idu7L933"73lass99line" nammmmmmmmmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp25s42544 idu5L883"583k_>10clc>k"+coil namlufinallloc_ast/a>-&acfinal      a hrcs_"+coioL946ent">known_starlloc_ast/a>-&ac6ent">known_star    .rks_"+co->s="kf95knownlloc_ast/a>-&ackf95knowntaskine" a)mo1eL0ode=ad" class="srs_pnit  /25s52545 idu6L886"685L883"58break  a hrss_"+coode=ad" class="srs_pnit  /25s62546 idu7L941"74case+c>k"+coil namluPROC_SUPER_MAGICispof_ce r  e&gPROC_SUPER_MAGIC idu:L878"578ass9"line" namldueL8>  e5	== 02547254" idu6L887"686L886"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp254825s" idu5L888"58lass97line" nammmmmmmmmmmmmmmmm* Casey saysoprocfs appearsinot>so careon tomsuhouedioctlf   nryo"convgssnt">ist. /sp25s9254" idu7L929"72lass97line" nammmmmmmmmmmmmmmmm* T* ikuperanet"4default sufficeson tomsuhouedioctlf   nryo"convgssnt">ist. /sp255n2556 idu7L926"72ck_>10cline" na7L941"74mmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp25512551 idu6L887"686L886"68break  a hrss_"+coode=ad" class="srs_pnit  /2552255" idu6L872"678ase+c>k"+coil namluTMPFS_MAGICispof_ce r  e&gTMPFS_MAGIC idu:L878"578ass9"line" namldueL8>  e5	== 02553255" idu5L883"586L886"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp25s4255" id17ref="71lass964ine" nammmmmmmmmmmmmmmmm* Deviceilabels+9hould come from r* ifilesyst@m,
8999999999* /a> spai class="comment"> */ /sp25s5255" id16L895"60ck_>10cline" nm7L941"74mmmmmmmm* bu59watch_out, because r* y'relvolitile,
8999999999* /a> spai class="comment"> */ /sp25s6255" idu7L926"72ck_>10cline" nm7L941"74mmmmmmmm* getting>recrea5>d on every>rebooton tomsuhouedioctlf   nryo"convgssnt">ist. /sp25s7255" idu5L887"58lass9"line" naa7L941"74mmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp25582558 idu5L883"583k_>10clc>k"+coil namlufinallloc_ast/a>-&acfinal      a hrcs_"+coioL946ent">known_starlloc_ast/a>-&ac6ent">known_star    .rks_"+co->s="kf95knownlloc_ast/a>-&ackf95knowntaskine" a)mo1eL0ode=ad" class="srs_pnit  /25592559 idu5L883"586L886"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp256n}n<936">
938 /a>	25s67>25s6 idu7L926"72ck_>10cline" na7L941"74mmmmmmmm* No8breakon tomsuhouedioctlf   nryo"convgssnt">ist. /sp256125s" id17L911"71lass99line" nam7L941"74mmmmmmmm*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp256225s" idu7L932"73lass99line" nam7L941"74mmmmmmmm* If aikent"mvalue has been se59we+want>so use it,
8999999999* /a> spai class="comment"> */ /sp256325s" idu7L933"73lass99line" nam7L941"74mmmmmmmm* bu59sinceitmpfomisn't giving>us teL8opportun+cota999999999* /a> spai class="comment"> */ /sp2564256" id17ref="71lass964ine" nammmmmmmmmmmmmmmmm* so se59mount>opmemos simul/a>-setting>r* n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2565256" id16L895"60ck_>10cline" nm7L941"74mmmmmmmm* kuperanet"4defaulton tomsuhouedioctlf   nryo"convgssnt">ist. /sp2566256" idu7L926"72ck_>10cline" nm7L941"74mmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp25672567 idu5L883"58default:L878"578ass9"line" namldueL8>  e5	== 025682568 idu5L883"583k_>10clcL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2569256" idu7L929"72lass97line" nammmmmmmmmmmmmmmmm* T*iomisn't 29"understood special78aseon tomsuhouedioctlf   nryo"convgssnt">ist. /sp257n2576 idu7L926"72ck_>10cline" na7L941"74mmmmmmmm* Ge or* ivalue from r* ixwttron tomsuhouedioctlf   nryo"convgssnt">ist. /sp2571257" id17L911"71lass99line" nam7L941"74mmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp2572257" idu9999* /a> spai class="comment"> */ /sp2573257" idu5L883"586L886"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2574257" id17ref="71lass964ine" nammmmmmmmmmmmmmmmm* UNIX domainikockets use lower leveiskocket dataon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2575
938 /a>	25s6c>257" id16L895"60ck_>10cline" nm7L941"74mmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp2576257" idu6L886"687L941"74if9_c>k"+coil namluS_ISSOCKispof_ce r  e&gS_ISSOCK idu_c>k"+coil namluinamllloc_ast/a>-&acinamldt    a hrks_"+co->s="ihmamllloc_ast/a>-&acihmamleef=   5L878"578ass9"line" namldueL8>  e5	== 02577257" idu6L887"686L886"686L886"68c>k"+coil namlufinallloc_ast/a>-&acfinal      a hrcs_"+coioL946ent">known_starlloc_ast/a>-&ac6ent">known_star    .rks_"+co->s="kf95knownlloc_ast/a>-&ackf95knowntaskine" a)mo1eL0ode=ad" class="srs_pnit  /25782578 idu5L883"583k_>10clllllllllbreak  a hrss_"+coode=ad" class="srs_pnit  /25792579 idu5L883"586L886"687L920"72lass98line" namldueL8>  e
947 /258n2580 idu6L886"687L941"74cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2581258" id17L911"71lass99line" nammmmmmmmmmmmmmmmm*mNo8xwttr kupport means, a1la,ino SMACKilabelon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2582258" idu7L932"73lass99line" nam7L941"74mmmmmmmm* Use r* iaforeapplied4defaulton tomsuhouedioctlf   nryo"convgssnt">ist. /sp2583258" idu7L933"73lass99line" nam7L941"74mmmmmmmm* I59would be_c="ious ifor* ilabel of r* itaskn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2584258" id17ref="71lass964ine" nam7L941"74mmmmmmmm* does not>match_r*a59lasignedon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2585258" id16L895"60ck_>10cline" nm7L941"74mmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp2586258" idu6L886"687L941"74if9_c>k"+coil namluinamllloc_ast/a>-&acinamldt    a hrks_"+co->s="iho"sref">inod"739aiho"dt    a hrks_"+co->s="getxattrlloc_ast/a>-&acgetxattrdt  "= annsssions=ioL94NULLsref">inod"739aNULL+cod    a hrp"+co+rgess=",eL958">
9+rga>st/2587258" idu6L887"686L886"686L886"68break  a hrss_"+coode=ad" class="srs_pnit  /25882588 idu5L883"583k_>10clcL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2589258" idu7L929"72lass97line" nammmmmmmmmmmmmmmmm* Ge or* ide" ry ahouxwttron tomsuhouedioctlf   nryo"convgssnt">ist. /sp259n2596 idu7L926"72ck_>10cline" na7L941"74mmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp25912591 idu6L887"686L886"68nnsssions=ioL94d"sref">inod"739adt      a hrcs_"+coioL94dgetlloc_ast/a>-&acdgeteef=_c>k"+coil namluopt_de" rylloc_ast/a>-&acopt_de" ryeef= ine" a)mo1eL0ode=ad" class="srs_pnit  /25922592 idu6L886"687L941"74c>k"+coil namlufetch@flloc_ast/a>-&aceetch@f      a hrcs_"+coioL946e95eetchlloc_ast/a>-&ackf95eetcheef=_c>k"+coil namluXATTR_NAME_SMACKlloc_ast/a>-&acXATTR_NAME_SMACKeef="+rks_"+co->s="inamllloc_ast/a>-&acinamldt  "+rks_"+co->s="d"sref">inod"739adt     ine" a)mo1eL0ode=ad" class="srs_pnit  /2593259" idu5L883"586L886"68if9_c>k"+coil namlufetch@flloc_ast/a>-&aceetch@f     ! annsssions=ioL94NULLsref">inod"739aNULL+cod    a hrp"+co+rgess=",eL958">
9+rga>st/25942594 idu5L883"583k_>10cl7L941"74c>k"+coil namlufinallloc_ast/a>-&acfinal      a hrcs_"+coioL94fetch@flloc_ast/a>-&aceetch@f    ine" a)mo1eL0ode=ad" class="srs_pnit  /2595259" id1ne" a)mo1eL0ode=ad" class="srs_pnit  /2596259" idu6L886"687L941"74cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2597259" idu5L887"58lass9"line" na67L941"74mmmmmmmm*mTransmuting>diranoorota999999999* /a> spai class="comment"> */ /sp2598259" idu5L888"58lass97line" nammmmmmmmmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp25992599 idu5L883"586L886"68if9_c>k"+coil namluS_ISDIRispof_ce r  e&gS_ISDIR idu_c>k"+coil namluinamllloc_ast/a>-&acinamldt    a hrks_"+co->s="ihmamllloc_ast/a>-&acihmamleef=   5L878"578ass9"line" namldueL8>  e5	== 026on2600 idu6L886"687L941"7444444444cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp26o1260" id17L911"71lass99line" nam7L941"747L941"74mmmmmmmm*mIfor*is is a new>diranooro wnd r* ilabel wasueL956">
953 /a> spai class="comment">/** /sp26o2260" idu7L932"73lass99line" nammmmmmmmm7L941"74mmmmmmmm*mtransmut>d whenor* iinamlowas >	i ializ>familyspai class="comment"> argloc: unused /sp26o3260" idu7L893"70lass99line" nam7L941"747L941"74mmmmmmmm*mse or* itransmut> wttribu5e on r* idiranoorota999999999* /a> spai class="comment"> */ /sp26o4260" id17ref="71lass964ine" nam7L941"74mmmmmmmmmmmmmmmm*mwnd markor* iinamlon tomsuhouedioctlf   nryo"convgssnt">ist. /sp26o5260" id16L895"60ck_>10cline" nm7L941"74mmmmmmmmmmmmmmmm*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp26o6260" idu7L926"72ck_>10cline" nm7L941"74mmmmmmmmmmmmmmmm*mIfor*erL8is a transmut> wttribu5e on r* n tomsuhouedioctlf   nryo"convgssnt">ist. /sp26o7260" idu5L887"58lass9"line" na67L941"74mmmmmmmmmmmmmmmm*mdiranooro markor* iinamlon tomsuhouedioctlf   nryo"convgssnt">ist. /sp26o8260" idu5L888"58lass97line" nammmmmmmmmmmmmmmmmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp26o92609 idu5L883"586L886"6888888888if9_c>k"+coil namluie"sref">inod"739aidt      a hrks_"+co->s="sf95e">smlloc_ast/a>-&ackf95e">sm idu6e=MAY8c>k"+coil namluSMK_INODE_CHANGEDispof_ce r  e&gSMK_INODE_CHANGEDeef=  5L878"578ass9"line" namldueL8>  e5	== 0261n2610 idu6L886"687L941"744444444444444444c>k"+coil namluie"sref">inod"739aidt      a hrks_"+co->s="sf95e">smlloc_ast/a>-&ackf95e">sm idu6e=MAY= ~c>k"+coil namluSMK_INODE_CHANGEDispof_ce r  e&gSMK_INODE_CHANGEDeef=ine" a)mo1eL0ode=ad" class="srs_pnit  /26112611 idu6L887"686L886"684444444444444444c>k"+coil namlurclloc_ast/a>-&acrc      a hrcs_"+coioL94inamllloc_ast/a>-&acinamldt    a hrks_"+co->s="iho"sref">inod"739aiho"dt    a hrks_"+co->s="setxattrlloc_ast/a>-&acsetxattrdt  _c>k"+coil namlud"sref">inod"739adt    ,ne" a)mo1eL0ode=ad" class="srs_pnit  /26122612 idu6L886"687L941"746L886"684444444444444444c>k"+coil namluXATTR_NAME_SMACKTRANSMUass="secur>(coa>)XATTR_NAME_SMACKTRANSMUas    ,ne" a)mo1eL0ode=ad" class="srs_pnit  /2613261" idu5L883"586L886"686L886"684444444444444444c>k"+coil namluTRANS_TRUEispof_ce r  e&gTRANS_TRUEdt  "+rks_"+co->s="TRANS_TRUE_SIZss="secur>(coa>)TRANS_TRUE_SIZs idu,ne" a)mo1eL0ode=ad" class="srs_pnit  /26142614 idu5L883"583k_>10cl7L941"7444444444444444440 ine" a)mo1eL0ode=ad" class="srs_pnit  /26s5  e5	== 02616261" idu6L886"687L941"744444444444444444c>k"+coil namlurclloc_ast/a>-&acrc      a hrcs_"+coioL94inamllloc_ast/a>-&acinamldt    a hrks_"+co->s="iho"sref">inod"739aiho"dt    a hrks_"+co->s="getxattrlloc_ast/a>-&acgetxattrdt  _c>k"+coil namlud"sref">inod"739adt    ,ne" a)mo1eL0ode=ad" class="srs_pnit  /2617261" idu6L887"686L886"686L886"684444444444444444c>k"+coil namluXATTR_NAME_SMACKTRANSMUass="secur>(coa>)XATTR_NAME_SMACKTRANSMUas    ,9ine" nnsssions=trattrlloc_ast/a>-&actrattr idu,ne" a)mo1eL0ode=ad" class="srs_pnit  /26182618 idu5L883"583k_>10cl6L886"684444444444444444c>k"+coil namluTRANS_TRUE_SIZss="secur>(coa>)TRANS_TRUE_SIZs idu ine" a)mo1eL0ode=ad" class="srs_pnit  /26s92619 idu5L883"586L886"688888888888888888if9_c>k"+coil namlurclloc_ast/a>-&acrc      a h= 06e=MAYe=MAY8c>k"+coil namlustrncm"sref">inodss_inotrncm"dt  _c>k"+coil namlutrattrlloc_ast/a>-&actrattr idu,4c>k"+coil namluTRANS_TRUEispof_ce r  e&gTRANS_TRUEdt  "ne" a)mo1eL0ode=ad" class="srs_pnit  /262n2620 idu6L886"687L941"744444444444444444L886"684444444444444444c>k"+coil namluTRANS_TRUE_SIZss="secur>(coa>)TRANS_TRUE_SIZs idu  ! a0    a hrp"+co+rgess=",eL958">
9+rga>st/26212621 idu6L887"686L886"68444444444444444444444444c>k"+coil namlurclloc_ast/a>-&acrc      a-c>k"+coil namluEINVALsref">inod"739aEINVALeef=ine" a)mo1eL0ode=ad" class="srs_pnit  /26s22622 idu6L886"687L941"746L886"687L920"72lass98line" namldueL8>  e
947 /26s3262" idu5L883"586L886"6888888888if9_c>k"+coil namlurclloc_ast/a>-&acrc      a h= 0    a hrp"+co+rgess=",eL958">
9+rga>st/26242624 idu5L883"583k_>10cl4444444444444444c>k"+coil namlutranse">slloc_ast/a>-&actranse">s      ac>k"+coil namluSMK_INODE_TRANSMUass="secur>(coa>)SMK_INODE_TRANSMUaseef=ine" a)mo1eL0ode=ad" class="srs_pnit  /26s52625 idu6L886"685L883"587L920"72lass98line" namldueL8>  e
947 /26s6262" idu6L886"687L941"74c>k"+coil namluie"sref">inod"739aidt      a hrks_"+co->s="sf95tasklloc_ast/a>-&ackf95taskn     a hrcs_"+coioL946e95eetchlloc_ast/a>-&ackf95eetcheef=_c>k"+coil namluXATTR_NAME_SMACKEXECispof_ce r  e&gXATTR_NAME_SMACKEXECeef="+rks_"+co->s="inamllloc_ast/a>-&acinamldt  "+rks_"+co->s="d"sref">inod"739adt     ine" a)mo1eL0ode=ad" class="srs_pnit  /2627262" idu6L887"686L886"68c>k"+coil namluie"sref">inod"739aidt      a hrks_"+co->s="sf95mma"sref">inodss_inof95mma"n     a hrcs_"+coioL946e95eetchlloc_ast/a>-&ackf95eetcheef=_c>k"+coil namluXATTR_NAME_SMACKMMAPispof_ce r  e&gXATTR_NAME_SMACKMMAPeef="+rks_"+co->s="inamllloc_ast/a>-&acinamldt  "+rks_"+co->s="d"sref">inod"739adt     ine" a)mo1eL0ode=ad" class="srs_pnit  /2628262" idune" a)mo1eL0ode=ad" class="srs_pnit  /26292629 idu5L883"586L886"68c>k"+coil namludpuocurit10c2a>-&acdpuodt  _c>k"+coil namlud"sref">inod"739adt     ine" a)mo1eL0ode=ad" class="srs_pnit  /263n2630 idu6L886"687L941"74break  a hrss_"+coode=ad" class="srs_pnit  /26312631 idu7L941"747L920"72lass98line" namldueL8>  e
947 /2632263" idu9999* /a> spai class="comment"> */ /sp2633263" idu5L883"58cf9_c>k"+coil namlufinallloc_ast/a>-&acfinal       annsssions=ioL94NULLsref">inod"739aNULL+cod    a hrp"+co+rgess=",eL958">
9+rga>st/26342634 idu5L883"583k_>10clc>k"+coil namluie"sref">inod"739aidt      a hrks_"+co->s="sf95inamllloc_ast/a>-&acsf95inaml      a hrcs_"+coioL94ce"sref">inod"739acdt      a hrss_"+coode=ad" class="srs_pnit  /26352635 idu6L886"68else a hrss_"+coode=ad" class="srs_pnit  /2636263" idu6L886"687L941"74c>k"+coil namluie"sref">inod"739aidt      a hrks_"+co->s="sf95inamllloc_ast/a>-&acsf95inaml      a hrcs_"+coioL94finallloc_ast/a>-&acfinal    ine" a)mo1eL0ode=ad" class="srs_pnit  /2637263" idune" a)mo1eL0ode=ad" class="srs_pnit  /26382638 idu5L883"58c>k"+coil namluie"sref">inod"739aidt      a hrks_"+co->s="sf95e">smlloc_ast/a>-&ackf95e">sm idu6|=9_c>k"+coil namluSMK_INODE_INSTANTispof_ce r  e&gSMK_INODE_INSTANT+cod |4c>k"+coil namlutranse">slloc_ast/a>-&actranse">s     ine" a)mo1eL0ode=ad" class="srs_pnit  /2639263e_get6L889"689k_>1  e
9lass="sref">rc /aIuo264n2640 iduc>k"+coil namluunnet"andouocurit10c2a>-&acunnet"andouotask:L878"578ass9"line" namldueL8>  e5	== 026412641 idu5L883"58t_) {n-&acmutex_unnet"dt  _e=MAY_WRITEi class="ie"sref">inod"739aidt      a hrks_"+co->s="sf95net"lloc_ast/a>-&ackf95net"     ine" a)mo1eL0ode=ad" class="srs_pnit  /26422642 idu6L886"68ck_>10ine" a)mo1eL0ode=ad" class="srs_pnit  /26s3264" idu7L920"72lass98line" namldueL8>  e
947 /26s42644 iduL920"72lass98line" namldueL8>  e
947 /26s5264" id16L895"60ck_>10cline" n/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp26s6264" idu7L926"72ck_>10cline" nm*ikent"_getprocwttr - Sent"iproitcomwttribu5e waitcon tomsuhouedioctlf   nryo"convgssnt">ist. /sp26s7264" idu5L887"58lass9"line" na6* @p: teL8objectitaskn tomsuhouedioctlf   nryo"convgssnt">ist. /sp264826s" idu5L888"58lass97line" nam* @m10c: teL8m10c of r* iwttribu5e in /proi/.../attr itomsuhouedioctlf   nryo"convgssnt">ist. /sp2649264" idu7L929"72lass97line" nam* @value: where>so puo r* i1esulttatomsuhouedioctlf   nryo"convgssnt">ist. /sp265n2656 idu7L926"72ck_>10cline" na*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2651265" id17L911"71lass99line" nam* Places a copy of r* itask Sent"iinso valuen tomsuhouedioctlf   nryo"convgssnt">ist. /sp2652265" idu7L932"73lass99line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2653265" idu7L893"70lass99line" nam* Rk_>10s teL8lengthm5f r* ikent"ilabel or 29"error caml  tomsuhouedioctlf   nryo"convgssnt">ist. /sp2654265" id17ref="71lass964ine" nam*>
8999999999* /a> spai class="comment"> */ /sp26s5265" id1static8c="+c>k"+coil namlukent"_getprocwttrlloc_ast/a>-&ackfnt"_getprocwttrdt  _9ass98line" nnsssions=task_9ass98lloc_ast/a>-&actask_9ass98 idu6*ine" nnsssions="sref">inod"739at    ,4cass98line" ncharilesm10csref">inod"739am10c    ,4cass988line" ncharilesvaluesref">inod"739avaluen od    a hrp"+co+rgess=",eL958">
9+rga>st/26s6265" idu5L878"578ass9"line" namldueL8>  e5	== 026s7265" idu6L887"688ass98line" ncharilesc"sref">inod"739act      a hrss_"+coode=ad" class="srs_pnit  /26582658 idu5L883"58c="+c>k"+coil namluklenlloc_ast/a>-&acklen      a hrss_"+coode=ad" class="srs_pnit  /2659265e_get6L889"689k_>1  e
9lass="sref">rc /aIuo266n}n<936">
938 /a>	26s67>2660 idu6L886"68cf9_c>k"+coil namlu9ascm"sref">inodss_inotrcm"dt  _c>k"+coil namlum10csref">inod"739am10c    ,47ref="71lass9otring">"1  re" "
899999  ! a0    a hrp"+co+rgess=",eL958">
9+rga>st/26612661 idu6L887"686L886"68ck_>10a-c>k"+coil namluEINVALsref">inod"739aEINVALeef=ine" a)mo1eL0ode=ad" class="srs_pnit  /2662266" idu9999* /a> spai class="comment"> */ /sp2663266" idu5L883"58cine" ncharilesc"sref">inod"739act      a hrcs_"+coioL94kotrdu"sref">inod"739akotrdu"dt  _c>k"+coil namlukf95of5tasklloc_ast/a>-&ackf95of5taskdt  _c>k"+coil namlutask_9pai clalloc_ast/a>-&actask_9pai cladt  _c>k"+coil namlu"sref">inod"739at    ))"+rks_"+co->s="GFP_KERNELsref">inod"739aGFP_KERNEL     ine" a)mo1eL0ode=ad" class="srs_pnit  /26642664 idu6L887"68if9_c>k"+coil namluc"sref">inod"739act       annsssions=ioL94NULLsref">inod"739aNULL+cod    a hrp"+co+rgess=",eL958">
9+rga>st/26652665 idu6L886"685L883"58ck_>10a-c>k"+coil namluENOMEMsref">inod"739aENOMEMeef=ine" a)mo1eL0ode=ad" class="srs_pnit  /2666266" idune" a)mo1eL0ode=ad" class="srs_pnit  /26672667 idu5L883"58c>k"+coil namluklenlloc_ast/a>-&acklen      a hrcs_"+coioL946trlenlloc_ast/a>-&acktrlendt  _c>k"+coil namluc"sref">inod"739act     ine" a)mo1eL0ode=ad" class="srs_pnit  /26682668 idu5L883"588line" ncharilesvaluesref">inod"739avaluen od  a hrcs_"+coioL94c"sref">inod"739act      a hrss_"+coode=ad" class="srs_pnit  /26692669 idu5L883"58ck_>10ac>k"+coil namluklenlloc_ast/a>-&acklen      a hrss_"+coode=ad" class="srs_pnit  /267n2676 idu7L920"72lass98line" namldueL8>  e
947 /2671267" id1L920"72lass98line" namldueL8>  e
947 /2672267" idu7L932"73lass99line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2673267" idu7L893"70lass99line" nam* snt">isetprocwttr - Sent"iproitcomwttribu5e settingn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2674267" id17ref="71lass964ine" nam* @p: teL8objectitaskn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2675
938 /a>	26s6c>267" id16L895"60ck_>10cline" nm* @m10c: teL8m10c of r* iwttribu5e in /proi/.../attr itomsuhouedioctlf   nryo"convgssnt">ist. /sp2676267" idu7L926"72ck_>10cline" nm*i@value: r* ivalue so se5 itomsuhouedioctlf   nryo"convgssnt">ist. /sp2677267" idu5L887"58lass9"line" na6* @size: r* isize of r* ivaluen tomsuhouedioctlf   nryo"convgssnt">ist. /sp2678267" idu5L888"58lass97line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2679267" idu7L929"72lass97line" nam* Sets r* iSent"ivalue of r* itasko Only-setting>selfn tomsuhouedioctlf   nryo"convgssnt">ist. /sp268n2686 idu7L926"72ck_>10cline" na* is permitt>d wnd only-with privilegen tomsuhouedioctlf   nryo"convgssnt">ist. /sp2681268" id17L911"71lass99line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2682268" idu7L932"73lass99line" nam* Rk_>10s teL8lengthm5f r* ikent"ilabel or 29"error caml  tomsuhouedioctlf   nryo"convgssnt">ist. /sp2683268" idu7L933"73lass99line" nam*>
8999999999* /a> spai class="comment"> */ /sp2684268" id1static8c="+c>k"+coil namlukent"_setprocwttrlloc_ast/a>-&ackfnt"_setprocwttrdt  _9ass98line" nnsssions=task_9ass98lloc_ast/a>-&actask_9ass98 idu6*ine" nnsssions="sref">inod"739at    ,4cass98line" ncharilesm10csref">inod"739am10c    ,9999* /a> spai class="comment"> */ /sp26852685 idu6L886"685L883"588888888888888void88line" ncharilesvaluesref">inod"739avaluen od"+rks_"+co->s="size_tlloc_ast/a>-&acsize_t idu6rks_"+co->s="sizelloc_ast/a>-&acsize+cod    a hrp"+co+rgess=",eL958">
9+rga>st/2686268" idu5L878"578ass9"line" namldueL8>  e5	== 02687268" idu6L887"689ass98line" nnsssions=task_9L8> lloc_ast/a>-&actask_9L8>  idu6*ine" nnsssions=te"sref">inod"739atdt      a hrss_"+coode=ad" class="srs_pnit  /26882688 idu5L883"589ass98line" nnsssions=cr@flloc_ast/a>-&accr@f idu6*ine" nnsssions=newsref">inod"739amew      a hrss_"+coode=ad" class="srs_pnit  /2689268e_get6L879"678ass98line" ncharilesmew9L8> lloc_ast/a>-&acmew9L8>       a hrss_"+coode=ad" class="srs_pnit  /269n2696 idu a hrss_"+coode=ad" class="srs_pnit  /26912691 idu6L887"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2692269" idu7L932"73lass99line" nammmmmmmmm*mChanging>anor*eriproitco'iSent"ivalue is too dang rouon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2693269" idu7L893"70lass99line" nammmmmmmmm*mwnd kupports no sane use 8aseon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2694269" id17ref="71lass964ine" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp26952695 idu6L886"68if9_c>k"+coil namlu"sref">inod"739at     ! annsssions=ioL941  re" lloc_ast/a>-&acc  re" +cod    a hrp"+co+rgess=",eL958">
9+rga>st/2696269" idu6L886"687L941"74ck_>10a-c>k"+coil namluEPERMsref">inod"739aEPERM      a hrss_"+coode=ad" class="srs_pnit  /2697269" idune" a)mo1eL0ode=ad" class="srs_pnit  /26982698 idu6L886"68if9_!c>k"+coil namlukent"_privilegeflloc_ast/a>-&ackent"_privilegefdt  _c>k"+coil namluCAP_MAC_ADMINlloc_ast/a>-&acCAP_MAC_ADMIN    ))ne" a)mo1eL0ode=ad" class="srs_pnit  /26992699 idu5L883"586L886"68ck_>10a-c>k"+coil namluEPERMsref">inod"739aEPERM      a hrss_"+coode=ad" class="srs_pnit  /27on2706 idu a hrss_"+coode=ad" class="srs_pnit  /27o12701 idu6L886"68if9_c>k"+coil namluvaluesref">inod"739avaluen od   annsssions=ioL94NULLsref">inod"739aNULL+cod ||4c>k"+coil namlusizelloc_ast/a>-&acsize+cod   a0 ||4c>k"+coil namlusizelloc_ast/a>-&acsize+cod  a h= c>k"+coil namluSMK_LONGLABELsref">inod"739aSMK_LONGLABEL+cod    a hrp"+co+rgess=",eL958">
9+rga>st/27o22702 idu6L886"687L941"74ck_>10a-c>k"+coil namluEINVALsref">inod"739aEINVALeef=ine" a)mo1eL0ode=ad" class="srs_pnit  /27o3270" idune" a)mo1eL0ode=ad" class="srs_pnit  /27o42704 idu6L887"68if9_c>k"+coil namlu9ascm"sref">inodss_inotrcm"dt  _c>k"+coil namlum10csref">inod"739am10c    ,47ref="71lass9otring">"1  re" "
899999  ! a0    a hrp"+co+rgess=",eL958">
9+rga>st/27o52705 idu6L886"685L883"58ck_>10a-c>k"+coil namluEINVALsref">inod"739aEINVALeef=ine" a)mo1eL0ode=ad" class="srs_pnit  /27o6270" idune" a)mo1eL0ode=ad" class="srs_pnit  /27o72707 idu5L883"58c>k"+coil namlumew9L8> lloc_ast/a>-&acmew9L8>       a hrcs_"+coioL946e95importlloc_ast/a>-&ackf95importdt  _c>k"+coil namluvaluesref">inod"739avaluen od"+rks_"+co->s="sizelloc_ast/a>-&acsize+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /27o82708 idu6L886"68if9_c>k"+coil namlumew9L8> lloc_ast/a>-&acmew9L8>        annsssions=ioL94NULLsref">inod"739aNULL+cod    a hrp"+co+rgess=",eL958">
9+rga>st/27o92709 idu5L883"586L886"68ck_>10a-c>k"+coil namluEINVALsref">inod"739aEINVALeef=ine" a)mo1eL0ode=ad" class="srs_pnit  /271n2716 idu a hrss_"+coode=ad" class="srs_pnit  /27112711 idu6L887"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2712271" idu7L932"73lass99line" nammmmmmmmm*mNoiproitcomis ever allowed r* iweb ("@")ilabelon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2713271" idu7L893"70lass99line" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp27142714 idu6L887"68if9_c>k"+coil namlumew9L8> lloc_ast/a>-&acmew9L8>        annsssions=ioL94ment">known_weblloc_ast/a>-&ackent"_known_web    .rks_"+co->s="kf95knownlloc_ast/a>-&ackf95knowntask    a hrp"+co+rgess=",eL958">
9+rga>st/27s510a-c>k"+coil namluEPERMsref">inod"739aEPERM      a hrss_"+coode=ad" class="srs_pnit  /2716271" idune" a)mo1eL0ode=ad" class="srs_pnit  /27172717 idu5L883"58c>k"+coil namlumewsref">inod"739amew      a hrcs_"+coioL94prepare_cr@fmlloc_ast/a>-&acprepare_cr@fmdt  _ ine" a)mo1eL0ode=ad" class="srs_pnit  /27182718 idu6L886"68if9_c>k"+coil namlumewsref">inod"739amew       annsssions=ioL94NULLsref">inod"739aNULL+cod    a hrp"+co+rgess=",eL958">
9+rga>st/27s92719 idu5L883"586L886"68ck_>10a-c>k"+coil namluENOMEMsref">inod"739aENOMEMeef=ine" a)mo1eL0ode=ad" class="srs_pnit  /272n2726 idu a hrss_"+coode=ad" class="srs_pnit  /27212721 idu5L883"58t_) {ninod"739atdt      a hrcs_"+coioL94mewsref">inod"739amew      a hrks_"+co->s="seai clalloc_ast/a>-&ac9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /27222722 idu6L886"68t_) {ninod"739atdt      a hrks_"+co->s="sf95tasklloc_ast/a>-&ackf95taskn     a hrcs_"+coioL94mew9L8> lloc_ast/a>-&acmew9L8>       a hrss_"+coode=ad" class="srs_pnit  /27s3272" idune" a)mo1eL0ode=ad" class="srs_pnit  /27242724 idu5L883"58nnsssions=ioL941linit_cr@fmlloc_ast/a>-&ac1linit_cr@fmdt  _c>k"+coil namlumewsref">inod"739amew     ine" a)mo1eL0ode=ad" class="srs_pnit  /27s52725 idu6L886"68ck_>10ac>k"+coil namlukizelloc_ast/a>-&acsize+codine" a)mo1eL0ode=ad" class="srs_pnit  /27s6272" idu7L920"72lass98line" namldueL8>  e
947 /2727272" idune" a)mo1eL0ode=ad" class="srs_pnit  /2728272" idu5L888"58lass97line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2729272" idu7L929"72lass97line" nam* snt">iunix_9aseam_connecti- Sent"iwaitcomon UDSn tomsuhouedioctlf   nryo"convgssnt">ist. /sp273n2736 idu7L926"72ck_>10cline" na* @kock:mon ikockn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2731273" id17L911"71lass99line" nam* @or*er: teL8or*erikockn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2732273" idu7L932"73lass99line" nam* @mew9k:munus>familyspai class="comment"> argloc: unused /sp2733273" idu7L933"73lass99line" nam*amilyspai class="comment"> argloc: unused /sp2734273" id17ref="71lass964ine" nam* Rk_>10 08if9a subjectiwith r* ikent"iofikock could waitcon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2735273" id16L895"60ck_>10cline" nm* 95"objectiwith r* ikent"iofior*er,ior*erwise 29"error caml  tomsuhouedioctlf   nryo"convgssnt">ist. /sp2736273" idu7L926"72ck_>10cline" nm*>
8999999999* /a> spai class="comment"> */ /sp2737273" idustatic8c="+c>k"+coil namlukent"_unix_9aseam_connectlloc_ast/a>-&ackent"_unix_9aseam_connectdt  _9ass98line" nnsssions=set"lloc_ast/a>-&acko>  idu6*ine" nnsssions=set"lloc_ast/a>-&acko>  idu,9999* /a> spai class="comment"> */ /sp27382738 idu5L883"583k_>10cl6L886"6844444444444449ass98line" nnsssions=set"lloc_ast/a>-&acko>  idu6*ine" nnsssions=or*erlloc_ast/a>-&acor*ern od"+9ass98line" nnsssions=set"lloc_ast/a>-&acko>  idu6*ine" nnsssions=mew9klloc_ast/a>-&acmew9k+cod    a hrp"+co+rgess=",eL958">
9+rga>st/2739273e_get5L878"578ass9"line" namldueL8>  e5	== 0274n2740 idu6L886"689ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=se"sref">inod"739asdt      a hrcs_"+coioL94set"lloc_ast/a>-&acko>  idu  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /27412741 idu5L883"589ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=oe"sref">inod"739aodt      a hrcs_"+coioL94or*erlloc_ast/a>-&acor*ern od  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /27422742 idu6L886"689ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=ne"sref">inod"739andt      a hrcs_"+coioL94mew9klloc_ast/a>-&acmew9k+cod  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /27432743 idu6L886"689ass98line" nnsssions=sf95audit_infolloc_ast/a>-&ackf95audit_info idu6rks_"+co->s="aflloc_ast/a>-&acaf    ine" a)mo1eL0ode=ad" class="srs_pnit  /27s42744 idu6L887"68i="+c>k"+coil namlurclloc_ast/a>-&acrc      a0ine" a)mo1eL0ode=ad" class="srs_pnit  /27s5274" id1ne" a)mo1eL0ode=ad" class="srs_pnit  /27s6274" idu#ifdef+c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT id1ne" a)mo1eL0ode=ad" class="srs_pnit  /27s7274" idu6L887"689ass98line" nnsssions=pni_networ95auditispof_ce r  e&gpni_networ95audit idu6rks_"+co->s="netlloc_ast/a>-&acneteef=ine" a)mo1eL0ode=ad" class="srs_pnit  /27s8274" idune" a)mo1eL0ode=ad" class="srs_pnit  /27492749 idu5L883"58ine" nnsssions=sf95ad_>	i _netlloc_ast/a>-&acsf95ad_>	i _netdt  _e=MAY_WRITEi class="aflloc_ast/a>-&acaf    "+rks_"+co->s="__func__lloc_ast/a>-&ac__func__    "+rks_"+co->s="LSM_AUDIT_DATA_NETispof_ce r  e&gLSM_AUDIT_DATA_NET    "+e=MAY_WRITEi class="netlloc_ast/a>-&acneteef= ine" a)mo1eL0ode=ad" class="srs_pnit  /275n2750 idu5L883"58ine" nnsssions=sf95ad_setfield_u_net_sklloc_ast/a>-&ackf95ad_setfield_u_net_skdt  _e=MAY_WRITEi class="aflloc_ast/a>-&acaf    "+rks_"+co->s="or*erlloc_ast/a>-&acor*ern od ine" a)mo1eL0ode=ad" class="srs_pnit  /2751275" id1#endifne" a)mo1eL0ode=ad" class="srs_pnit  /2752275" idu9999* /a> spai class="comment"> */ /sp2753275" idu5L883"58cf9_!c>k"+coil namlukent"_privilegeflloc_ast/a>-&ackent"_privilegefdt  _c>k"+coil namluCAP_MAC_OVERRIDElloc_ast/a>-&acCAP_MAC_OVERRIDE    ))ne" a)mo1eL0ode=ad" class="srs_pnit  /27542754 idu5L883"583k_>10clc>k"+coil namlurclloc_ast/a>-&acrc      a hrcs_"+coioL94kf95aaitcolloc_ast/a>-&ackf95aaitcon   _c>k"+coil namluke"sref">inod"739asdt      a hrks_"+co->s="sf95ouocurit10c2a>-&acsf95ouo    "+rks_"+co->s="oe"sref">inod"739aodt      a hrks_"+co->s="sf95inlloc_ast/a>-&ackf95in    "+rks_"+co->s="MAY_WRIass="secur>(coa>)MAY_WRIas    "+e=MAY_WRITEi class="aflloc_ast/a>-&acaf     ine" a)mo1eL0ode=ad" class="srs_pnit  /2755275" id1ne" a)mo1eL0ode=ad" class="srs_pnit  /27s6275" idu6L886"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp27s7275" idu5L887"58lass9"line" na67L941"74* Cross  /aerence r* ipeerilabels ahouSO_PEERSECon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2758275" idu5L888"58lass97line" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp27592759 idu5L883"58cf9_c>k"+coil namlurclloc_ast/a>-&acrc       a0  5L878"578ass9"line" namldueL8>  e5	== 0276n}n<936">
938 /a>	27s67>2760 idu6L886"683k_>10clc>k"+coil namlune"sref">inod"739andt      a hrks_"+co->s="sf95pat"etlloc_ast/a>-&ackf95pat"et      a hrcs_"+coioL94ke"sref">inod"739asdt      a hrks_"+co->s="sf95ouocurit10c2a>-&acsf95ouo    ine" a)mo1eL0ode=ad" class="srs_pnit  /27612761 idu6L887"686L886"68 hrcs_"+coioL94ke"sref">inod"739asdt      a hrks_"+co->s="sf95pat"etlloc_ast/a>-&ackf95pat"et      a hrcs_"+coioL94oe"sref">inod"739aodt      a hrks_"+co->s="sf95ouocurit10c2a>-&acsf95ouo    ine" a)mo1eL0ode=ad" class="srs_pnit  /27622762 idu6L886"687L920"72lass98line" namldueL8>  e
947 /2763276" idune" a)mo1eL0ode=ad" class="srs_pnit  /27642764 idu6L887"68ck_>10ac>k"+coil namlurclloc_ast/a>-&acrc    ine" a)mo1eL0ode=ad" class="srs_pnit  /27652765 idu7L920"72lass98line" namldueL8>  e
947 /2766276" idune" a)mo1eL0ode=ad" class="srs_pnit  /2767276" idu5L887"58lass9"line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2768276" idu5L888"58lass97line" nam* kent"_unix_may_sendi- Sent"iwaitcomon UDSn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2769276" idu7L929"72lass97line" nam* @kock:mon ikocke5 itomsuhouedioctlf   nryo"convgssnt">ist. /sp277n2776 idu7L926"72ck_>10cline" na* @or*er: teL8or*erikocke5 itomsuhouedioctlf   nryo"convgssnt">ist. /sp2771277" id17L911"71lass99line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2772277" idu7L932"73lass99line" nam* Rk_>10 08if9a subjectiwith r* ikent"iofikock could waitcon tomsuhouedioctlf   nryo"convgssnt">ist. /sp2773277" idu7L893"70lass99line" nam* 95"objectiwith r* ikent"iofior*er,ior*erwise 29"error caml  tomsuhouedioctlf   nryo"convgssnt">ist. /sp2774277" id17ref="71lass964ine" nam*>
8999999999* /a> spai class="comment"> */ /sp2775
938 /a>	27s6c>277" id1static8c="+c>k"+coil namlukent"_unix_may_sendlloc_ast/a>-&ackent"_unix_may_senddt  _9ass98line" nnsssions=set"etlloc_ast/a>-&ackot"et     *ine" nnsssions=set"lloc_ast/a>-&acko>  idu,89ass98line" nnsssions=set"etlloc_ast/a>-&ackot"et     *ine" nnsssions=or*erlloc_ast/a>-&acor*ern od 9999* /a> spai class="comment"> */ /sp2776277" idu5L878"578ass9"line" namldueL8>  e5	== 02777277" idu6L887"689ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=se"sref">inod"739asdt      a hrcs_"+coioL94set"lloc_ast/a>-&acko>  idu  a hrks_"+co->s="sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /27782778 idu5L883"589ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=oe"sref">inod"739aodt      a hrcs_"+coioL94or*erlloc_ast/a>-&acor*ern od  a hrks_"+co->s="sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /27792779 idu5L883"589ass98line" nnsssions=sf95audit_infolloc_ast/a>-&ackf95audit_info idu6rks_"+co->s="aflloc_ast/a>-&acaf    ine" a)mo1eL0ode=ad" class="srs_pnit  /278n2780 idu6L886"68c="+c>k"+coil namlurclloc_ast/a>-&acrc      a0ine" a)mo1eL0ode=ad" class="srs_pnit  /2781278" id1L920"72lass98line" namldueL8>  e
947 /2782278" idu#ifdef+c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT id1ne" a)mo1eL0ode=ad" class="srs_pnit  /27832783 idu6L886"689ass98line" nnsssions=pni_networ95auditispof_ce r  e&gpni_networ95audit idu6rks_"+co->s="netlloc_ast/a>-&acneteef=ine" a)mo1eL0ode=ad" class="srs_pnit  /27842784 iduL920"72lass98line" namldueL8>  e
947 /27852785 idu6L886"68ine" nnsssions=sf95ad_>	i _netlloc_ast/a>-&acsf95ad_>	i _netdt  _e=MAY_WRITEi class="aflloc_ast/a>-&acaf    "+rks_"+co->s="__func__lloc_ast/a>-&ac__func__    "+rks_"+co->s="LSM_AUDIT_DATA_NETispof_ce r  e&gLSM_AUDIT_DATA_NET    "+e=MAY_WRITEi class="netlloc_ast/a>-&acneteef= ine" a)mo1eL0ode=ad" class="srs_pnit  /27862786 idu6L886"68ine" nnsssions=sf95ad_setfield_u_net_sklloc_ast/a>-&ackf95ad_setfield_u_net_skdt  _e=MAY_WRITEi class="aflloc_ast/a>-&acaf    "+rks_"+co->s="or*erlloc_ast/a>-&acor*ern od  a hrks_"+co->s="sklloc_ast/a>-&acsk+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /2787278" idu#endifne" a)mo1eL0ode=ad" class="srs_pnit  /2788278" idune" a)mo1eL0ode=ad" class="srs_pnit  /27892789 idu5L883"58cf9_!c>k"+coil namlukent"_privilegeflloc_ast/a>-&ackent"_privilegefdt  _c>k"+coil namluCAP_MAC_OVERRIDElloc_ast/a>-&acCAP_MAC_OVERRIDE    ))ne" a)mo1eL0ode=ad" class="srs_pnit  /279n2790 idu6L886"683k_>10clc>k"+coil namlurclloc_ast/a>-&acrc      a hrcs_"+coioL94kf95aaitcolloc_ast/a>-&ackf95aaitcon   _c>k"+coil namluke"sref">inod"739asdt      a hrks_"+co->s="sf95ouocurit10c2a>-&acsf95ouo    "+rks_"+co->s="oe"sref">inod"739aodt      a hrks_"+co->s="sf95inlloc_ast/a>-&ackf95in    "+rks_"+co->s="MAY_WRIass="secur>(coa>)MAY_WRIas    "+e=MAY_WRITEi class="aflloc_ast/a>-&acaf     ine" a)mo1eL0ode=ad" class="srs_pnit  /2791279" id1L920"72lass98line" namldueL8>  e
947 /27922792 idu6L886"68ck_>10ac>k"+coil namlurclloc_ast/a>-&acrc    ine" a)mo1eL0ode=ad" class="srs_pnit  /2793279" idu7L920"72lass98line" namldueL8>  e
947 /27942794 iduL920"72lass98line" namldueL8>  e
947 /2795279" id16L895"60ck_>10cline" n/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2796279" idu7L926"72ck_>10cline" nm*ikent"_set"et_9endmsgi- Sent"ichet"ibased on destination hos5 itomsuhouedioctlf   nryo"convgssnt">ist. /sp2797279" idu5L887"58lass9"line" na6* @sock:mr* ikocke5 itomsuhouedioctlf   nryo"convgssnt">ist. /sp2798279" idu5L888"58lass97line" nam* @msg:mr* imtcoagen tomsuhouedioctlf   nryo"convgssnt">ist. /sp2799279" idu7L929"72lass97line" nam* @kize: r* isize of r* imtcoagen tomsuhouedioctlf   nryo"convgssnt">ist. /sp28on2806 idu7L926"72ck_>10cline" na*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp28o1280" id17L911"71lass99line" nam* Rk_>10 08if9r* i1  re"  subjectic11"wnrye so r* idestinationn tomsuhouedioctlf   nryo"convgssnt">ist. /sp28o2280" idu7L932"73lass99line" nam* hos5. Thiomis only-a question if9r* idestination is a singlen tomsuhouedioctlf   nryo"convgssnt">ist. /sp28o3280" idu7L893"70lass99line" nam* label hos5.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp28o4280" id17ref="71lass964ine" nam*>
8999999999* /a> spai class="comment"> */ /sp28o5280" id1static8c="+c>k"+coil namlukent"_set"et_9endmsglloc_ast/a>-&ackent"_set"et_9endmsgdt  _9ass98line" nnsssions=set"etlloc_ast/a>-&ackot"et     *ine" nnsssions=set"lloc_ast/a>-&acko>  idu,89ass98line" nnsssions=msghdrlloc_ast/a>-&acmsghdr     *ine" nnsssions=msglloc_ast/a>-&acmsgdt  ,9999* /a> spai class="comment"> */ /sp28o6280" idu6L886"687L941"744444444444444444c="+c>k"+coil namlukizelloc_ast/a>-&acsize+cod    a hrp"+co+rgess=",eL958">
9+rga>st/28o72807 idu5L878"578ass9"line" namldueL8>  e5	== 028o82808 idu5L883"589ass98line" nnsssions=set"addr5inlloc_ast/a>-&acket"addr5in     *ine" nnsssions=si"sref">inod"739asit      a_9ass98line" nnsssions=set"addr5inlloc_ast/a>-&acket"addr5in     *)line" nnsssions=msglloc_ast/a>-&acmsgdt    a hrks_"+co->s="msg_m10csref">inod"739amsg_m10c    ine" a)mo1eL0ode=ad" class="srs_pnit  /28o9280e_get6L889"689k_>1  e
9lass="sref">rc /aIuo281n2810 idu5L883"58iL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2811281" id17L911"71lass99line" nammmmmmmmm* Perfectly-reasonable ahouthis to be NULL+c999999999* /a> spai class="comment"> */ /sp2812281" idu7L932"73lass99line" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp2813281" idu5L883"58cf9_c>k"+coil namlusi"sref">inod"739asit       annsssions=ioL94NULLsref">inod"739aNULL+cod ||4c>k"+coil namlusi"sref">inod"739asit      a hrks_"+co->s="sin_familalloc_ast/a>-&acsin_famila+cod ! annsssions=ioL94AF_INETispof_ce r  e&gAF_INET+cod    a hrp"+co+rgess=",eL958">
9+rga>st/28142814 idu6L887"686L886"68ck_>10a0ine" a)mo1eL0ode=ad" class="srs_pnit  /28s510ac>k"+coil namluk"srs_netlabel_sendlloc_ast/a>-&ackent"_netlabel_sendn   _c>k"+coil namluket"lloc_ast/a>-&acko>  idu  a hrks_"+co->s="sklloc_ast/a>-&acsk+cod"+rks_"+co->s="si"sref">inod"739asit     ine" a)mo1eL0ode=ad" class="srs_pnit  /28172817 idu7L920"72lass98line" namldueL8>  e
947 /2818281" idune" a)mo1eL0ode=ad" class="srs_pnit  /28s9281" idu7L929"72lass97line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp282n2826 idu7L926"72ck_>10cline" na* snt">ifrom_9pawttr - Convert a netlabeliwttr.mls.lvl/wttr.mls.awt pair so sL8>  itomsuhouedioctlf   nryo"convgssnt">ist. /sp2821282" id17L911"71lass99line" nam* @sap: netlabeli9pawttr itomsuhouedioctlf   nryo"convgssnt">ist. /sp2822282" idu7L932"73lass99line" nam* @ssp: kot"et f   nryo informationn tomsuhouedioctlf   nryo"convgssnt">ist. /sp28s3282" idu7L933"73lass99line" nam*amilyspai class="comment"> argloc: unused /sp2824282" id17ref="71lass964ine" nam* Rk_>10s a poc="er so a Sent"ilabelifound on teL8labelilis5.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp28s5282" id16L895"60ck_>10cline" nm*>
8999999999* /a> spai class="comment"> */ /sp28s6282" idustatic88ass98line" ncharilessnt">ifrom_9pawttrlloc_ast/a>-&ackent"_from_9pawttrdt  _9ass98line" nnsssions=netlbl> */_9pawttrlloc_ast/a>-&acnetlbl> */_9pawttr     *ine" nnsssions=sa"sref">inod"739asapdt  ,9999* /a> spai class="comment"> */ /sp28272827 idu6L887"686L886"6888888888888888889ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=se"sref">inod"739asdt        a hrp"+co+rgess=",eL958">
9+rga>st/2828282" idu5L878"578ass9"line" namldueL8>  e5	== 028292829 idu5L883"589ass98line" nnsssions=sf8>  knownlloc_ast/a>-&ackf8>  known idu6*ine" nnsssions=k"sref">inod"739akt      a hrss_"+coode=ad" class="srs_pnit  /283n2830 idu5L883"588ass98line" nchariless"sref">inod"739ast      a hrss_"+coode=ad" class="srs_pnit  /28312831 idu6L886"68i="+c>k"+coil namlufoundsref">inod"739afound      a0ine" a)mo1eL0ode=ad" class="srs_pnit  /2832283" idu9999* /a> spai class="comment"> */ /sp2833283" idu5L883"58cf9__c>k"+coil namluka"sref">inod"739asapdt    a hrks_"+co->s="flagolloc_ast/a>-&acflago idu5e=MAYannsssions=ioL94NETLBL_SECATTR_MLS_LVLsref">inod"739aNETLBL_SECATTR_MLS_LVL      ! a0  5L878"578ass9"line" namldueL8>  e5	== 028342834 idu5L883"583k_>10clcL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2835283" id16L895"60ck_>10cline" nmmmmmmmmmmmmmmmmm* Looksilike a CIPSO pat"et.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2836283" idu7L926"72ck_>10cline" nmmmmmmmmmmmmmmmmm* If9r* re are flago but no levelinetlabeliisn'5 itomsuhouedioctlf   nryo"convgssnt">ist. /sp2837283" idu5L887"58lass9"line" na67L941"74mmmmmmmm* behaving>r* iway we expectiit so.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2838283" idu5L888"58lass97line" nammmmmmmmmmmmmmmmm*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2839283" idu7L929"72lass97line" nammmmmmmmmmmmmmmmm* Lookiit up in teL8labelitablen tomsuhouedioctlf   nryo"convgssnt">ist. /sp284n2846 idu7L926"72ck_>10cline" nammmmmmmmmmmmmmmm* Without guidance regarding>r* isnt">ivaluen tomsuhouedioctlf   nryo"convgssnt">ist. /sp2841284" id17L911"71lass99line" nammmmmmmmmmmmmmmmm* ahouthe pat"et fall bt">ion teL8networ9n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2842284" idu7L932"73lass99line" nammmmmmmmmmmmmmmmm* ambie"  value.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2843284" idu7L893"70lass99line" nammmmmmmmmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp28s42844 idu5L883"583k_>10clc>k"+coil namlurcu_read_let"lloc_ast/a>-&acrcu_read_let"dt  _ ine" a)mo1eL0ode=ad" class="srs_pnit  /28s52845 idu6L886"685L883"58ine" nnsssions=pis5_aho_each_e" ralloc_ast/a>-&acpis5_aho_each_e" ran   _c>k"+coil namluk"sref">inod"739akt    "+e=MAY_WRITEi class="kf8>  known_pis5lloc_ast/a>-&ackf8>  known_pis5+cod"+rks_"+co->s="pis5lloc_ast/a>-&acpis5+cod  5L878"578ass9"line" namldueL8>  e5	== 028s6284" idu6L886"687L941"7444444444cf9_c>k"+coil namlusa"sref">inod"739asapdt    a hrks_"+co->s="wttrlloc_ast/a>-&acwttr    .rks_"+co->s="mlolloc_ast/a>-&acmlo    .rks_"+co->s="lvllloc_ast/a>-&acpvl+cod ! annsssions=ioL94k"sref">inod"739akt      a hrks_"+co->s="sf95netlabellloc_ast/a>-&ackf95netlabel    .rks_"+co->s="wttrlloc_ast/a>-&acwttr    .rks_"+co->s="mlolloc_ast/a>-&acmlo    .rks_"+co->s="lvllloc_ast/a>-&acpvl+cod    a hrp"+co+rgess=",eL958">
9+rga>st/28s72847 idu6L887"686L886"688888888888888888continueine" a)mo1eL0ode=ad" class="srs_pnit  /28s82848 idu5L883"583k_>10cl6L886"68cf9_c>k"+coil namlumemcm"sref">inodss_inmemcm"n   _c>k"+coil namluka"sref">inod"739asapdt    a hrks_"+co->s="wttrlloc_ast/a>-&acwttr    .rks_"+co->s="mlolloc_ast/a>-&acmlo    .rks_"+co->s="ca lloc_ast/a>-&accatdt  ,9999* /a> spai class="comment"> */ /sp28492849 idu5L883"586L886"686L886"685L883"58ine" nnsssions=k"sref">inod"739akt      a hrks_"+co->s="sf95netlabellloc_ast/a>-&ackf95netlabel    .rks_"+co->s="wttrlloc_ast/a>-&acwttr    .rks_"+co->s="mlolloc_ast/a>-&acmlo    .rks_"+co->s="ca lloc_ast/a>-&accatdt  ,9999* /a> spai class="comment"> */ /sp285n2850 idu6L886"683k_>10cl6L886"685L883"58ine" nnsssions=SMK_CIPSOLENlloc_ast/a>-&acSMK_CIPSOLEN      ! a0 9999* /a> spai class="comment"> */ /sp28512851 idu6L887"686L886"688888888888888888continueine" a)mo1eL0ode=ad" class="srs_pnit  /28522852 idu6L886"687L941"745L883"58ine" nnsssions=foundsref">inod"739afound      a1ine" a)mo1eL0ode=ad" class="srs_pnit  /2853285" idu5L883"588888888888888888breakine" a)mo1eL0ode=ad" class="srs_pnit  /28542854 idu5L883"583k_>10cl7L920"72lass98line" namldueL8>  e
947 /28552855 idu6L886"685L883"58ine" nnsssions=rcu_read_unlet"lloc_ast/a>-&acrcu_read_unlet"dt  _ ine" a)mo1eL0ode=ad" class="srs_pnit  /28s6285" idune" a)mo1eL0ode=ad" class="srs_pnit  /28s72857 idu6L887"686L886"68cf9_c>k"+coil namlufoundsref">inod"739afound     9999* /a> spai class="comment"> */ /sp28582858 idu5L883"583k_>10cl6L886"68ck_>10ac>k"+coil namluk"sref">inod"739akt      a hrks_"+co->s="sf95knownlloc_ast/a>-&ackf95knowntaskine" a)mo1eL0ode=ad" class="srs_pnit  /28s9285e_get6L889"689k_>1  e
9lass="sref">rc /aIuo286n}n<936">
938 /a>	28s67>2860 idu6L886"683k_>10clcf9_c>k"+coil namluse"sref">inod"739asdt     ! annsssions=ioL94NULLsref">inod"739aNULL+cod e=MAYe=MAYannsssions=ioL94ke"sref">inod"739asdt      a hrks_"+co->s="sf95inlloc_ast/a>-&ackf95in       annsssions=ioL94ment">known_starlloc_ast/a>-&ackent"_known_star    .rks_"+co->s="kf95knownlloc_ast/a>-&ackf95knowntask    a hrp"+co+rgess=",eL958">
9+rga>st/28612861 idu6L887"686L886"686L886"68ck_>10ac>k"+coil namlukent"_known_weblloc_ast/a>-&ackent"_known_web    .rks_"+co->s="kf95knownlloc_ast/a>-&ackf95knowntaskine" a)mo1eL0ode=ad" class="srs_pnit  /28622862 idu6L886"687L941"74ck_>10ac>k"+coil namlukent"_known_starlloc_ast/a>-&ackent"_known_star    .rks_"+co->s="kf95knownlloc_ast/a>-&ackf95knowntaskine" a)mo1eL0ode=ad" class="srs_pnit  /2863286" idu5L883"587L920"72lass98line" namldueL8>  e
947 /28642864 idu6L887"68cf9__c>k"+coil namluka"sref">inod"739asapdt    a hrks_"+co->s="flagolloc_ast/a>-&acflago idu5e=MAYannsssions=ioL94NETLBL_SECATTR_SECIDsref">inod"739aNETLBL_SECATTR_SECID      ! a0  5L878"578ass9"line" namldueL8>  e5	== 028652865 idu6L886"685L883"58iL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2866286" idu7L926"72ck_>10cline" nmmmmmmmmmmmmmmmmm* Looksilike a fallbt">, which gives us a secid.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2867286" idu5L887"58lass9"line" nammmmmmmmmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp28682868 idu5L883"583k_>10clline" nchariless"sref">inod"739ast      a hrcs_"+coioL94kfnt"_from_9paidlloc_ast/a>-&ackent"_from_9paidn   _c>k"+coil namluka"sref">inod"739asapdt    a hrks_"+co->s="wttrlloc_ast/a>-&acwttr    .rks_"+co->s="9paidlloc_ast/a>-&ackpaidn    ine" a)mo1eL0ode=ad" class="srs_pnit  /28692869 idu5L883"586L886"68iL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp287n2876 idu7L926"72ck_>10cline" nammmmmmmmmmmmmmmm* Thiomhas got to be a bug because it ion tomsuhouedioctlf   nryo"convgssnt">ist. /sp2871287" id17L911"71lass99line" nammmmmmmmmmmmmmmmm* impossible so sppaify a fallbt">iwithouo  tomsuhouedioctlf   nryo"convgssnt">ist. /sp2872287" idu7L932"73lass99line" nammmmmmmmmmmmmmmmm* sppaifying>r* ilabel, which will ensuren tomsuhouedioctlf   nryo"convgssnt">ist. /sp2873287" idu7L893"70lass99line" nammmmmmmmmmmmmmmmm* itmhas a secid, wnd teL8only-way so get an tomsuhouedioctlf   nryo"convgssnt">ist. /sp2874287" id17ref="71lass964ine" nammmmmmmmmmmmmmmmm* secid is from a fallbt">.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2875
938 /a>	28s6c>287" id16L895"60ck_>10cline" nmmmmmmmmmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp2876287" idu6L886"687L941"74rks_"+co->s="BUG_ONlloc_ast/a>-&acBUG_ONn   _c>k"+coil namluk"sref">inod"739ast       annsssions=ioL94NULLsref">inod"739aNULL+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /28772877 idu6L887"686L886"68ck_>10ac>k"+coil namluk"sref">inod"739ast      a hrss_"+coode=ad" class="srs_pnit  /28782878 idu5L883"587L920"72lass98line" namldueL8>  e
947 /28792879 idu5L883"58iL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp288n2886 idu7L926"72ck_>10cline" nammmmmmmm* Without guidance regarding>r* isnt">ivaluen tomsuhouedioctlf   nryo"convgssnt">ist. /sp2881288" id17L911"71lass99line" nammmmmmmmm* ahouthe pat"et fall bt">ion teL8networ9n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2882288" idu7L932"73lass99line" nammmmmmmmm*mambie"  value.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2883288" idu7L893"70lass99line" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp28842884 idu6L887"68ck_>10ac>k"+coil namlument">net_ambie" lloc_ast/a>-&ackent"_net_ambie"       a hrss_"+coode=ad" class="srs_pnit  /28852885 idu7L920"72lass98line" namldueL8>  e
947 /2886288" idune" a)mo1eL0ode=ad" class="srs_pnit  /2887288" idu5L887"58lass9"line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2888288" idu5L888"58lass97line" nam* kent"_set"et_9et"_rcv_skbi- Sent"ipat"et deliveryiwaitcomchet"n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2889288" idu7L929"72lass97line" nam* @kk:ikocke5 itomsuhouedioctlf   nryo"convgssnt">ist. /sp289n2896 idu7L926"72ck_>10cline" na* @kkb: pat"et  tomsuhouedioctlf   nryo"convgssnt">ist. /sp2891289" id17L911"71lass99line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2892289" idu7L932"73lass99line" nam* Rk_>10s 08if9r* ipat"et should be delivered, wn"error camlior*erwisen tomsuhouedioctlf   nryo"convgssnt">ist. /sp2893289" idu7L933"73lass99line" nam*>
8999999999* /a> spai class="comment"> */ /sp28942894 idustatic8c="+c>k"+coil namlukent"_set"et_9et"_rcv_skblloc_ast/a>-&ackent"_set"et_9et"_rcv_skbn   _9ass98line" nnsssions=set"lloc_ast/a>-&acko>  idu6*ine" nnsssions=sklloc_ast/a>-&acsk+cod"+9ass98line" nnsssions=sk_bufflloc_ast/a>-&acsk_buff idu6*ine" nnsssions=skblloc_ast/a>-&ackkbn       a hrp"+co+rgess=",eL958">
9+rga>st/2895289" id15L878"578ass9"line" namldueL8>  e5	== 02896289" idu6L886"689ass98line" nnsssions=netlbl> */_9pawttrlloc_ast/a>-&acnetlbl> */_9pawttr     rks_"+co->s="9pawttrlloc_ast/a>-&ackpawttr      a hrss_"+coode=ad" class="srs_pnit  /2897289" idu6L887"689ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=se"sref">inod"739asdt      a hrcs_"+coioL94sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /28982898 idu5L883"588ass98line" ncharilesce"sref">inod"739acst      a hrss_"+coode=ad" class="srs_pnit  /28992899 idu5L883"58c="+c>k"+coil namlurclloc_ast/a>-&acrc      a hrss_"+coode=ad" class="srs_pnit  /29on2900 idu6L886"689ass98line" nnsssions=sf95audit_infolloc_ast/a>-&ackf95audit_info idu6rks_"+co->s="aflloc_ast/a>-&acaf    ine" a)mo1eL0ode=ad" class="srs_pnit  /29o1290" id1#ifdef+c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT id1ne" a)mo1eL0ode=ad" class="srs_pnit  /29o22902 idu6L886"689ass98line" nnsssions=pni_networ95auditispof_ce r  e&gpni_networ95audit idu6rks_"+co->s="netlloc_ast/a>-&acneteef=ine" a)mo1eL0ode=ad" class="srs_pnit  /29o3290" idu#endifne" a)mo1eL0ode=ad" class="srs_pnit  /29o42904 idu6L887"68cf9_ hrcs_"+coioL94sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_familalloc_ast/a>-&acsk_famila+cod ! annsssions=ioL94PF_INETispof_ce r  e&gPF_INET+cod e=MAYe=MAYannsssions=ioL94kklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_familalloc_ast/a>-&acsk_famila+cod ! annsssions=ioL94PF_INET6ispof_ce r  e&gPF_INET6n       a hrp"+co+rgess=",eL958">
9+rga>st/29o52905 idu6L886"685L883"58ck_>10a0ine" a)mo1eL0ode=ad" class="srs_pnit  /29o6290" idune" a)mo1eL0ode=ad" class="srs_pnit  /29o7290" idu6L887"68iL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp29o8290" idu5L888"58lass97line" nammmmmmmmm* Translate whatinetlabeligave us.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp29o9290" idu7L929"72lass97line" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp291n2910 idu5L883"58ine" nnsssions=netlbl>kpawttr_>	i lloc_ast/a>-&acnetlbl>kpawttr_>	i n   _e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr     ine" a)mo1eL0ode=ad" class="srs_pnit  /2911291" id1L920"72lass98line" namldueL8>  e
947 /29122912 idu5L883"58ine" nnsssions=rclloc_ast/a>-&acrc      a hrcs_"+coioL94netlbl>kkbuff_getwttrlloc_ast/a>-&acnetlbl>kkbuff_getwttrn   _c>k"+coil namlukkblloc_ast/a>-&ackkbn   "+rks_"+co->s="sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_familalloc_ast/a>-&acsk_famila+cod"+e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr     ine" a)mo1eL0ode=ad" class="srs_pnit  /2913291" idu5L883"58cf9_c>k"+coil namlurclloc_ast/a>-&acrc       a0 ne" a)mo1eL0ode=ad" class="srs_pnit  /29142914 idu6L887"686L886"68line" ncharilesce"sref">inod"739acst      a hrcs_"+coioL94kfnt"_from_9pawttrlloc_ast/a>-&ackent"_from_9pawttrdt  _e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr    "+rks_"+co->s="se"sref">inod"739asdt     ine" a)mo1eL0ode=ad" class="srs_pnit  /2915inod"739acst      a hrcs_"+coioL94kfnt"_net_ambie" lloc_ast/a>-&ackent"_net_ambie"       a hrss_"+coode=ad" class="srs_pnit  /29172917 idu a hrss_"+coode=ad" class="srs_pnit  /29182918 idu5L883"58ine" nnsssions=netlbl>kpawttr_destroalloc_ast/a>-&acnetlbl>kpawttr_destroan   _e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr     ine" a)mo1eL0ode=ad" class="srs_pnit  /2919291e_get6L889"689k_>1  e
9lass="sref">rc /aIuo292n2926 idu#ifdef+c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT id1ne" a)mo1eL0ode=ad" class="srs_pnit  /29212921 idu5L883"58ine" nnsssions=sf95ad_>	i _netlloc_ast/a>-&acsf95ad_>	i _netdt  _e=MAY_WRITEi class="aflloc_ast/a>-&acaf    "+rks_"+co->s="__func__lloc_ast/a>-&ac__func__    "+rks_"+co->s="LSM_AUDIT_DATA_NETispof_ce r  e&gLSM_AUDIT_DATA_NET    "+e=MAY_WRITEi class="netlloc_ast/a>-&acneteef= ine" a)mo1eL0ode=ad" class="srs_pnit  /29222922 idu5L883"58ine" nnsssions=aflloc_ast/a>-&acaf    .rks_"+co->s="wlloc_ast/a>-&aca    .rks_"+co->s="ulloc_ast/a>-&acu    .rks_"+co->s="netlloc_ast/a>-&acneteef=  a hrks_"+co->s="familalloc_ast/a>-&acfamila+cod  a hrcs_"+coioL94sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_familalloc_ast/a>-&acsk_famila+codine" a)mo1eL0ode=ad" class="srs_pnit  /29232923 idu5L883"58ine" nnsssions=aflloc_ast/a>-&acaf    .rks_"+co->s="wlloc_ast/a>-&aca    .rks_"+co->s="ulloc_ast/a>-&acu    .rks_"+co->s="netlloc_ast/a>-&acneteef=  a hrks_"+co->s="netiflloc_ast/a>-&acnetif+cod  a hrcs_"+coioL94skblloc_ast/a>-&ackkbn     a hrks_"+co->s="skb_iiflloc_ast/a>-&acskb_iif+codine" a)mo1eL0ode=ad" class="srs_pnit  /29242924 idu5L883"58ine" nnsssions=ipv4>kkb_to5auditdatwlloc_ast/a>-&acipv4>kkb_to5auditdatwn   _c>k"+coil namlukkblloc_ast/a>-&ackkbn   "+e=MAY_WRITEi class="aflloc_ast/a>-&acaf    .rks_"+co->s="wlloc_ast/a>-&aca    "+rks_"+co->s="NULLsref">inod"739aNULL+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /29s5292" id1#endifne" a)mo1eL0ode=ad" class="srs_pnit  /29s6292" idu6L886"68cL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp2927292" idu5L887"58lass9"line" na67L941"74* Receiving>aipat"et requires thatiteL8or*eriendn 999999999* /a> spai class="comment"> */ /sp2928292" idu5L888"58lass97line" nammmmmmmmm* be able so wnrye * re. Read waitco is not required.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2929292" idu7L929"72lass97line" nammmmmmmmm* Thiomis r* isimppis5 possible f   nryo mts=ln tomsuhouedioctlf   nryo"convgssnt">ist. /sp293n2936 idu7L926"72ck_>10cline" nammmmmmmm* ahounetwor9ing.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2931293" id17L911"71lass99line" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp29322932 idu5L883"58ine" nnsssions=rclloc_ast/a>-&acrc      a hrcs_"+coioL94kf95aaitcolloc_ast/a>-&ackf95aaitcon   _c>k"+coil namluce"sref">inod"739acst    "+rks_"+co->s="se"sref">inod"739asdt      a hrks_"+co->s="sf95inlloc_ast/a>-&ackf95in    "+rks_"+co->s="MAY_WRIass="secur>(coa>)MAY_WRIas    "+e=MAY_WRITEi class="aflloc_ast/a>-&acaf     ine" a)mo1eL0ode=ad" class="srs_pnit  /2933293" idu5L883"58cf9_ine" nnsssions=rclloc_ast/a>-&acrc     ! a0 9999* /a> spai class="comment"> */ /sp29342934 idu5L883"583k_>10clchrcs_"+coioL94netlbl>kkbuff_errlloc_ast/a>-&acnetlbl>kkbuff_errn   _c>k"+coil namlukkblloc_ast/a>-&ackkbn   "+rks_"+co->s="rclloc_ast/a>-&acrc    ,a0 ine" a)mo1eL0ode=ad" class="srs_pnit  /29352935 idu6L886"68ck_>10ac>k"+coil namlurclloc_ast/a>-&acrc    ine" a)mo1eL0ode=ad" class="srs_pnit  /2936293" idu7L920"72lass98line" namldueL8>  e
947 /29372937 idu a hrss_"+coode=ad" class="srs_pnit  /2938293" idu5L888"58lass97line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2939293" idu7L929"72lass97line" nam* kent"_set"et_getpeerf  _stream - pull in pat"et label  tomsuhouedioctlf   nryo"convgssnt">ist. /sp294n2946 idu7L926"72ck_>10cline" na* @sock:mr* ikocke5 itomsuhouedioctlf   nryo"convgssnt">ist. /sp2941294" id17L911"71lass99line" nam* @optval: user'sidestinationn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2942294" idu7L932"73lass99line" nam* @optlen:isize r* reofn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2943294" idu7L893"70lass99line" nam* @len:imax r* reofn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2944294" id17ref="71lass964ine" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2945294" id16L895"60ck_>10cline" nm*8ck_>10s zeroion suaitco, wn"error camlior*erwisen tomsuhouedioctlf   nryo"convgssnt">ist. /sp29s6294" idu7L926"72ck_>10cline" nm*>
8999999999* /a> spai class="comment"> */ /sp29s72947 idustatic8c="+c>k"+coil namlukent"_set"et_getpeerf  _streamlloc_ast/a>-&ackent"_set"et_getpeerf  _streamn   _9ass98line" nnsssions=set"etlloc_ast/a>-&ackot"et     *ine" nnsssions=set"lloc_ast/a>-&acko>  idu,9999* /a> spai class="comment"> */ /sp29s82948 idu5L883"583k_>10cl6L886"688888888888888888888ass9rks_"+co->s="__userlloc_ast/a>-&ac__user     *ine" nnsssions=optvallloc_ast/a>-&acoptval idu,9999* /a> spai class="comment"> */ /sp29s92949 idu5L883"586L886"686L886"685L883"588888888888c="+c>k"+coil namlu__userlloc_ast/a>-&ac__user     *ine" nnsssions=optlenlloc_ast/a>-&acoptlen    ,aunsignedline" nnsssions=penlloc_ast/a>-&aclen     9999* /a> spai class="comment"> */ /sp295n2950 idu5L878"578ass9"line" namldueL8>  e5	== 029512951 idu6L887"689ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=se"sref">inod"739asdt    ine" a)mo1eL0ode=ad" class="srs_pnit  /29522952 idu6L886"688ass98line" ncharilesrc"sref">inod"739arc"      a L926"72ck_>19asing">""
899999ine" a)mo1eL0ode=ad" class="srs_pnit  /2953295" idu5L883"58c="+c>k"+coil namlukpenlloc_ast/a>-&acslen      a1ine" a)mo1eL0ode=ad" class="srs_pnit  /29542954 idu5L883"58c="+c>k"+coil namlurclloc_ast/a>-&acrc      a0ine" a)mo1eL0ode=ad" class="srs_pnit  /2955295" id1ne" a)mo1eL0ode=ad" class="srs_pnit  /29s62956 idu6L886"68ine" nnsssions=se"sref">inod"739asdt      a hrcs_"+coioL94set"lloc_ast/a>-&acko>  idu  a hrks_"+co->s="sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /29s72957 idu6L887"68cf9_c>k"+coil namluse"sref">inod"739asdt      a hrks_"+co->s="sf95pat"etlloc_ast/a>-&ackf95pat"et     ! annsssions=ioL94NULLsref">inod"739aNULL+cod  5L878"578ass9"line" namldueL8>  e5	== 029582958 idu5L883"583k_>10clline" ncharilesrc"sref">inod"739arc"      a >k"+coil namluse"sref">inod"739asdt      a hrks_"+co->s="sf95pat"etlloc_ast/a>-&ackf95pat"et    ine" a)mo1eL0ode=ad" class="srs_pnit  /29s92959 idu5L883"586L886"68i>k"+coil namlukpenlloc_ast/a>-&acslen      ai>k"+coil namluktrpenlloc_ast/a>-&acstrpenn   _c>k"+coil namlurc"sref">inod"739arc"    ) +a1ine" a)mo1eL0ode=ad" class="srs_pnit  /296n}n<936">
938 /a>	29s67>2960 idu6L886"687L920"72lass98line" namldueL8>  e
947 /2961296" id1L920"72lass98line" namldueL8>  e
947 /29622962 idu6L886"68cf9_c>k"+coil namluspenlloc_ast/a>-&acslen      a hline" nnsssions=penlloc_ast/a>-&aclen     9999* /a> spai class="comment"> */ /sp2963296" idu5L883"5888888888c>k"+coil namlurclloc_ast/a>-&acrc      a-c>k"+coil namluERANGss="secur>(coa>)ERANGs    ine" a)mo1eL0ode=ad" class="srs_pnit  /29642964 idu6L887"68else8cf9_c>k"+coil namlucopy_to5userlloc_ast/a>-&accopy_to5usern   _c>k"+coil namluoptvallloc_ast/a>-&acoptval idu,lline" ncharilesrc"sref">inod"739arc"    "+rks_"+co->s="spenlloc_ast/a>-&acslen      ! a0 9999* /a> spai class="comment"> */ /sp29652965 idu6L886"685L883"58i>k"+coil namlurclloc_ast/a>-&acrc      a-c>k"+coil namluEFAULTispof_ce r  e&gEFAULT    ine" a)mo1eL0ode=ad" class="srs_pnit  /2966296" idune" a)mo1eL0ode=ad" class="srs_pnit  /29672967 idu6L887"68cf9_c>k"+coil namluput5userlloc_ast/a>-&acput5usern   _c>k"+coil namlukpenlloc_ast/a>-&acslen    "+rks_"+co->s="optlenlloc_ast/a>-&acoptlen      ! a0 9999* /a> spai class="comment"> */ /sp29682968 idu5L883"583k_>10clline" ncharilesrclloc_ast/a>-&acrc      a-c>k"+coil namluEFAULTispof_ce r  e&gEFAULT    ine" a)mo1eL0ode=ad" class="srs_pnit  /2969296e_get6L889"689k_>1  e
9lass="sref">rc /aIuo297n2970 idu6L886"68ck_>10ac>k"+coil namlurclloc_ast/a>-&acrc    ine" a)mo1eL0ode=ad" class="srs_pnit  /2971297" id17L920"72lass98line" namldueL8>  e
947 /2972297" idu9999* /a> spai class="comment"> */ /sp2973297" idu9999* /a> spai class="comment"> */ /sp2974297" id17ref="71lass964ine" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp2975
938 /a>	29s6c>297" id16L895"60ck_>10cline" nm* kent"_set"et_getpeerf  _dgram - pull in pat"et label  tomsuhouedioctlf   nryo"convgssnt">ist. /sp2976297" idu7L926"72ck_>10cline" nm*i@sock:mr* ipeerikocke5 itomsuhouedioctlf   nryo"convgssnt">ist. /sp2977297" idu5L887"58lass9"line" na6* @skb: pat"et datwn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2978297" idu5L888"58lass97line" nam* @secid: poc="er so w* re so putmr* ikecid of9r* ipat"etn tomsuhouedioctlf   nryo"convgssnt">ist. /sp2979297" idu7L929"72lass97line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp298n2986 idu7L926"72ck_>10cline" na* Sets teL8netlabeli9ot"et ftate on sk from pare"   tomsuhouedioctlf   nryo"convgssnt">ist. /sp2981298" id17L911"71lass99line" nam*>
8999999999* /a> spai class="comment"> */ /sp2982298" idustatic8c="+c>k"+coil namlukent"_set"et_getpeerf  _dgramlloc_ast/a>-&ackent"_set"et_getpeerf  _dgramn   _9ass98line" nnsssions=set"etlloc_ast/a>-&ackot"et     *ine" nnsssions=set"lloc_ast/a>-&acko>  idu,9999* /a> spai class="comment"> */ /sp2983298" idu5L883"588888888888888888888888888888888889ass98line" nnsssions=sk_bufflloc_ast/a>-&acsk_buff idu6*ine" nnsssions=skblloc_ast/a>-&ackkbn   "+rks_"+co->s="us7curit10c2a>-&acu32 idu5*ine" nnsssions=spaidlloc_ast/a>-&ackpaidn    9999* /a> spai class="comment"> */ /sp29842984 idu9999* /a> spai class="comment"> */ /sp2985298" id15L878"578ass9"line" namldueL8>  e5	== 02986298" idu6L886"689ass98line" nnsssions=netlbl> */_9pawttrlloc_ast/a>-&acnetlbl> */_9pawttr     rks_"+co->s="9pawttrlloc_ast/a>-&ackpawttr      a hrss_"+coode=ad" class="srs_pnit  /2987298" idu6L887"689ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=se"sref">inod"739asdt      a hrcs_"+coioL94NULLsref">inod"739aNULL+cod  a hrss_"+coode=ad" class="srs_pnit  /29882988 idu5L883"588ass98line" ncharilesk"sref">inod"739ast      a hrss_"+coode=ad" class="srs_pnit  /29892989 idu5L883"58c="+c>k"+coil namlufamilalloc_ast/a>-&acfamila+cod  a hrcs_"+coioL94PF_UNSPEClloc_ast/a>-&acPF_UNSPEC      a hrss_"+coode=ad" class="srs_pnit  /299n2990 idu5L883"58ine" nnsssions=us7curit10c2a>-&acu32 idu5line" ncharilesksref">inod"739as      a0i883"58iref="71lass964ine" na/* 08is teL8invalid kecid *>
8999999999* /a> spai class="comment"> */ /sp29912991 idu6L886"68i="+c>k"+coil namlurclloc_ast/a>-&acrc    ine" a)mo1eL0ode=ad" class="srs_pnit  /2992299" idu9999* /a> spai class="comment"> */ /sp2993299" idu5L883"58cf9_c>k"+coil namluskblloc_ast/a>-&ackkbn    ! annsssions=ioL94NULLsref">inod"739aNULL+cod  5L878"578ass9"line" namldueL8>  e5	== 029942994 idu5L883"583k_>10clcf9_c>k"+coil namluskblloc_ast/a>-&ackkbn     a hrks_"+co->s="protocollloc_ast/a>-&acprotocol       annsssions=ioL94htonksref">inod"739ahtonkn   _c>k"+coil namluETH_P_IPispof_ce r  e&gETH_P_IP+cod  9999* /a> spai class="comment"> */ /sp29952995 idu6L886"685L883"585L883"58ine" nnsssions=familalloc_ast/a>-&acfamila+cod  a hrcs_"+coioL94PF_INETispof_ce r  e&gPF_INET+codine" a)mo1eL0ode=ad" class="srs_pnit  /2996299" idu6L886"687L941"74else8cf9_c>k"+coil namluskblloc_ast/a>-&ackkbn     a hrks_"+co->s="protocollloc_ast/a>-&acprotocol       annsssions=ioL94htonksref">inod"739ahtonkn   _c>k"+coil namluETH_P_IPV6ispof_ce r  e&gETH_P_IPV6+cod  9999* /a> spai class="comment"> */ /sp29972997 idu6L887"686L886"6888888888ine" nnsssions=familalloc_ast/a>-&acfamila+cod  a hrcs_"+coioL94PF_INET6ispof_ce r  e&gPF_INET6n   ine" a)mo1eL0ode=ad" class="srs_pnit  /29982998 idu5L883"587L920"72lass98line" namldueL8>  e
947 /29992999 idu5L883"58cf9_c>k"+coil namlufamilalloc_ast/a>-&acfamila+cod   a hrcs_"+coioL94PF_UNSPEClloc_ast/a>-&acPF_UNSPEC     e=MAYe=MAYannsssions=ioL94ket"lloc_ast/a>-&acko>  idu6! annsssions=ioL94NULLsref">inod"739aNULL+cod L920"72lass98line" namldueL8>  e
947 /30on30on idu5L883"583k_>10clline" ncharilesfamilalloc_ast/a>-&acfamila+cod  a hrcs_"+coioL94set"lloc_ast/a>-&acko>  idu  a hrks_"+co->s="sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_familalloc_ast/a>-&acsk_famila+codine/pre>920"72lass98line" namldueL8>  e
947 /30o130o" id1L920"72lass98line" namldueL8>  e
947 /30o230o2 idu6L886"68cf9_c>k"+coil namlufamilalloc_ast/a>-&acfamila+cod   a hrcs_"+coioL94PF_UNIXlloc_ast/a>-&acPF_UNIX+cod  5L878"578ass9"line" namldueL8>  e5	== 030o330o" idu5L883"5888888888c>k"+coil namluse"sref">inod"739asdt      a hrcs_"+coioL94set"lloc_ast/a>-&acko>  idu  a hrks_"+co->s="sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /30o430o4 idu5L883"583k_>10clchrcs_"+coioL94ksref">inod"739as      ac>k"+coil namlukent"_to_9paidlloc_ast/a>-&ackent"_to_9paidn   _c>k"+coil namluke"sref">inod"739asdt      a hrks_"+co->s="sf95outlloc_ast/a>-&ackf95ouo     ine" a)mo1eL0ode=ad" class="srs_pnit  /30o530o5 idu6L886"68}4else8cf9_c>k"+coil namlufamilalloc_ast/a>-&acfamila+cod   a hrcs_"+coioL94PF_INETispof_ce r  e&gPF_INET+cod ||lline" ncharilesfamilalloc_ast/a>-&acfamila+cod   annsssions=ioL94PF_INET6ispof_ce r  e&gPF_INET6n     5L878"578ass9"line" namldueL8>  e5	== 030o630o" idu6L886"687L941"74rL887"58lass9"line" naam
8999999999* /a> spai class="comment"> */ /sp30o730o" idu5L887"58lass9"line" na67L941"74mmmmmmmm* Translate whatinetlabeligave us.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp30o830o" idu5L888"58lass97line" nammmmmmmmmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp30o930o9 idu5L883"586L886"68cf9_c>k"+coil namluset"lloc_ast/a>-&acko>  idu6! annsssions=ioL94NULLsref">inod"739aNULL+cod e=MAYe=MAYannsssions=ioL94ket"lloc_ast/a>-&acko>  idu  a hrks_"+co->s="sklloc_ast/a>-&acsk+cod6! annsssions=ioL94NULLsref">inod"739aNULL+cod L920"72lass98line" namldueL8>  e
947 /301n30s7 idu6L887"686L886"6888888888ine" nnsssions=se"sref">inod"739asdt      a hrcs_"+coioL94set"lloc_ast/a>-&acko>  idu  a hrks_"+co->s="sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /301130s1 idu6L887"686L886"68ine" nnsssions=netlbl>spawttr_>	i lloc_ast/a>-&acnetlbl>kpawttr_>	i n   _e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr     ine" a)mo1eL0ode=ad" class="srs_pnit  /30s230s2 idu6L886"687L941"74line" ncharilesrclloc_ast/a>-&acrc      aine" nnsssions=netlbl>skbuff_getwttrlloc_ast/a>-&acnetlbl>kkbuff_getwttrn   _c>k"+coil namlukkblloc_ast/a>-&ackkbn   "+rks_"+co->s="familalloc_ast/a>-&acfamila+cod"+e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr     ine" a)mo1eL0ode=ad" class="srs_pnit  /30s330s" idu5L883"5888888888cf9_c>k"+coil namlurclloc_ast/a>-&acrc       a0  5L878"578ass9"line" namldueL8>  e5	== 0301430s4 idu5L883"583k_>10cl88888888ine" nnsssions=s"sref">inod"739ast      a hrcs_"+coioL94kfnt"_from_9pawttrlloc_ast/a>-&ackent"_from_9pawttrdt  _e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr    "+rks_"+co->s="se"sref">inod"739asdt     ine" a)mo1eL0ode=ad" class="srs_pnit  /30s5inod"739as      ac>k"+coil namlukent"_to_9paidlloc_ast/a>-&ackent"_to_9paidn   _c>k"+coil namluk"sref">inod"739ast     ine" a)mo1eL0ode=ad" class="srs_pnit  /30s630s" idu6L886"687L941"747L920"72lass98line" namldueL8>  e
947 /30s730s7 idu6L887"686L886"68ine" nnsssions=netlbl>spawttr_destroalloc_ast/a>-&acnetlbl>kpawttr_destroan   _e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr     ine" a)mo1eL0ode=ad" class="srs_pnit  /30s830s8 idu5L883"587L920"72lass98line" namldueL8>  e
947 /30s930s9 idu5L883"58*ine" nnsssions=spaidlloc_ast/a>-&ackpaidn     ac>k"+coil namluksref">inod"739as    ine" a)mo1eL0ode=ad" class="srs_pnit  /302n30s7 idu5L883"58cf9_c>k"+coil namlussref">inod"739as       a0 9999* /a> spai class="comment"> */ /sp30s130s1 idu6L887"686L886"68ck_>10a-c>k"+coil namluEINVALsref">inod"739aEINVAL    ine" a)mo1eL0ode=ad" class="srs_pnit  /302230s2 idu6L886"68ck_>10a0ine" a)mo1eL0ode=ad" class="srs_pnit  /30s330s" idu7L920"72lass98line" namldueL8>  e
947 /302430s4 idu9999* /a> spai class="comment"> */ /sp30s530s" id16L895"60ck_>10cline" n/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp30s630s" idu7L926"72ck_>10cline" nm*ikent"_set"_graft - I	i ialize ainewly createdi9ot"et with wn"existing ko>  itomsuhouedioctlf   nryo"convgssnt">ist. /sp30s730s" idu5L887"58lass9"line" na6* @sk: child ko>  itomsuhouedioctlf   nryo"convgssnt">ist. /sp30s830s" idu5L888"58lass97line" nam* @pare" : pare" ikocke5 itomsuhouedioctlf   nryo"convgssnt">ist. /sp30s930s" idu7L929"72lass97line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp303n30s7 idu5L888"58lass97line" nam* Setmr* ikmk_{in,out} ftate of wn"existing ko>  basedion teL8proitco thatn tomsuhouedioctlf   nryo"convgssnt">ist. /sp303130s" id17L911"71lass99line" nam* is creating>r* inewikocke5.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp303230s" idu7L932"73lass99line" nam*>
8999999999* /a> spai class="comment"> */ /sp303330s" idustatic8voidline" nnsssions=kent"_set"_graftlloc_ast/a>-&ackent"_set"_graftn   _9ass98line" nnsssions=set"lloc_ast/a>-&acko>  idu6*ine" nnsssions=sklloc_ast/a>-&acsk+cod"+9ass98line" nnsssions=set"etlloc_ast/a>-&ackot"et     *ine" nnsssions=pare" lloc_ast/a>-&acpare"   od L920"72lass98line" namldueL8>  e
947 /303430s4 idu5L878"578ass9"line" namldueL8>  e5	== 0303530s5 idu6L886"689ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=se"sref">inod"739asdt    ine" a)mo1eL0ode=ad" class="srs_pnit  /30s630s" idune" a)mo1eL0ode=ad" class="srs_pnit  /30s730s7 idu6L887"68cf9_c>k"+coil namlusklloc_ast/a>-&acsk+cod6  annsssions=ioL94NULLsref">inod"739aNULL+cod ||ne" a)mo1eL0ode=ad" class="srs_pnit  /30s830s8 idu5L883"583k_>_ hrcs_"+coioL94sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_familalloc_ast/a>-&acsk_famila+cod ! annsssions=ioL94PF_INETispof_ce r  e&gPF_INET+cod e=MAYe=MAYannsssions=ioL94kklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_familalloc_ast/a>-&acsk_famila+cod ! annsssions=ioL94PF_INET6ispof_ce r  e&gPF_INET6n     L920"72lass98line" namldueL8>  e
947 /303930s9 idu5L883"586L886"68ck_>10ine" a)mo1eL0ode=ad" class="srs_pnit  /304n30s7 idune" a)mo1eL0ode=ad" class="srs_pnit  /304130s1 idu5L883"58ine" nnsssions=se"sref">inod"739asdt      a hrcs_"+coioL94sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /30s230s2 idu5L883"58ine" nnsssions=se"sref">inod"739asdt      a hrks_"+co->s="sf95inlloc_ast/a>-&ackf95in      a >k"+coil namluse"sref">inod"739asdt      a hrks_"+co->s="sf95outlloc_ast/a>-&ackf95ouo      a hrcs_"+coioL94kf95of_odere" lloc_ast/a>-&ackf95of_odere" n   _ ine" a)mo1eL0ode=ad" class="srs_pnit  /304330s3 idu5L883"58iref="71lass964ine" na/* csdt  a hkf95pat"et is already set inikent"_inet_csk_clone()m*>
8999999999* /a> spai class="comment"> */ /sp304430s4 idu7L920"72lass98line" namldueL8>  e
947 /304530s" id1ne" a)mo1eL0ode=ad" class="srs_pnit  /30s630s" idu7L926"72ck_>10cline" n/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp304730s" idu5L887"58lass9"line" na6* kent"_inet_conn_requesti- Sent"iwaitcomchet"ion connectn tomsuhouedioctlf   nryo"convgssnt">ist. /sp304830s" idu5L888"58lass97line" nam* @sk:ikocke58involvedn 999999999* /a> spai class="comment"> */ /sp30s930s" idu7L929"72lass97line" nam* @kkb: pat"et  tomsuhouedioctlf   nryo"convgssnt">ist. /sp305n30s6 idu7L929"72lass97line" nam* @req: unusedn 999999999* /a> spai class="comment"> */ /sp305130s" id17L911"71lass99line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp30s230s" idu7L932"73lass99line" nam* Rk_>10s 08if9a task with r* ipat"et labelicould wnrye ton tomsuhouedioctlf   nryo"convgssnt">ist. /sp30s330s" idu7L893"70lass99line" nam* r* ikocke5,ior*erwise wn"error camln tomsuhouedioctlf   nryo"convgssnt">ist. /sp30s430s" id17ref="71lass964ine" nam*>
8999999999* /a> spai class="comment"> */ /sp305530s5 idustatic8c="+c>k"+coil namlukent"_inet_conn_requestlloc_ast/a>-&ackent"_inet_conn_requestn   _9ass98line" nnsssions=set"lloc_ast/a>-&acko>  idu6*ine" nnsssions=sklloc_ast/a>-&acsk+cod"+9ass98line" nnsssions=sk_bufflloc_ast/a>-&acsk_buff idu6*ine" nnsssions=skblloc_ast/a>-&ackkbn   "9999* /a> spai class="comment"> */ /sp305630s" idu6L886"687L941"7444444444444444444449ass98line" nnsssions=request_set"lloc_ast/a>-&acrequest_set" idu6*ine" nnsssions=reqlloc_ast/a>-&acreq  od L920"72lass98line" namldueL8>  e
947 /305730s7 idu5L878"578ass9"line" namldueL8>  e5	== 0305830s8 idu5L883"58ine" nnsssions=u16ispof_ce r  e&gus" idu6line" ncharilesfamilalloc_ast/a>-&acfamila+cod  a hrcs_"+coioL94sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_familalloc_ast/a>-&acsk_famila+codine" a)mo1eL0ode=ad" class="srs_pnit  /30s930s9 idu5L883"589ass98line" nnsssions=sfsrs_knownlloc_ast/a>-&ackfsrs_known idu6*ine" nnsssions=sk"sref">inod"739askt    ine" a)mo1eL0ode=ad" class="srs_pnit  /306n}n<936">
938 /a>	30s67>30s6 idu6L886"689ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=se"sref">inod"739asdt      a hrcs_"+coioL94sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /306130s1 idu6L887"689ass98line" nnsssions=netlbl> */_9pawttrlloc_ast/a>-&acnetlbl> */_9pawttr     rks_"+co->s="9pawttrlloc_ast/a>-&ackpawttr      a hrss_"+coode=ad" class="srs_pnit  /30s230s2 idu6L886"689ass98line" nnsssions=set"addr5inlloc_ast/a>-&acket"addr5in     rks_"+co->s="addrlloc_ast/a>-&acaddr      a hrss_"+coode=ad" class="srs_pnit  /30s330s3 idu6L886"689ass98line" nnsssions=iphdrlloc_ast/a>-&aciphdr idu6*ine" nnsssions=hdrlloc_ast/a>-&achdr      a hrss_"+coode=ad" class="srs_pnit  /30s430s4 idu5L883"588ass98line" ncharilesk"sref">inod"739ast      a hrss_"+coode=ad" class="srs_pnit  /30s530s5 idu5L883"588ass98line" ncharileshk"sref">inod"739ahst      a hrss_"+coode=ad" class="srs_pnit  /30s630s" idu6L886"68i="+c>k"+coil namlurclloc_ast/a>-&acrc    ine" a)mo1eL0ode=ad" class="srs_pnit  /30s730s" idu6L887"689ass98line" nnsssions=sf95audit_infolloc_ast/a>-&ackf95audit_info idu6rks_"+co->s="aflloc_ast/a>-&acaf    ine" a)mo1eL0ode=ad" class="srs_pnit  /30s830s8 idu#ifdef+c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT id1ne" a)mo1eL0ode=ad" class="srs_pnit  /30s930s9 idu5L883"589ass98line" nnsssions=lni_networ95auditispof_ce r  e&gpni_networ95audit idu6rks_"+co->s="netlloc_ast/a>-&acneteef=ine" a)mo1eL0ode=ad" class="srs_pnit  /307n30s6 idu#endifne" a)mo1eL0ode=ad" class="srs_pnit  /30s130s" id1L920"72lass98line" namldueL8>  e
947 /307230s2 idu5L883"58iref="71lass964ine" na/* handle mapped IPv4ipat"ets arriving>via IPv6ikocke5sm*>
8999999999* /a> spai class="comment"> */ /sp307330s" idu5L883"58cf9_c>k"+coil namlufamilalloc_ast/a>-&acfamila+cod   annsssions=ioL94PF_INET6ispof_ce r  e&gPF_INET6n    e=MAYe=MAYannsssions=ioL94kkblloc_ast/a>-&ackkbn     a hrks_"+co->s="protocollloc_ast/a>-&acprotocol       annsssions=ioL94htonksref">inod"739ahtonkn   _c>k"+coil namluETH_P_IPsref">inod"739aETH_P_IP+cod  9999* /a> spai class="comment"> */ /sp30s430s4 idu5L883"583k_>10clchrcs_"+coioL94familalloc_ast/a>-&acfamila+cod  a hrcs_"+coioL94PF_INETispof_ce r  e&gPF_INET+codine" a)mo1eL0ode=ad" class="srs_pnit  /30s5
938 /a>	30s6c>30s" id1ne" a)mo1eL0ode=ad" class="srs_pnit  /307630s6 idu6L886"68ine" nnsssions=netlbl>spawttr_>	i lloc_ast/a>-&acnetlbl>kpawttr_>	i n   _e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr     ine" a)mo1eL0ode=ad" class="srs_pnit  /307730s7 idu6L886"68ine" nnsssions=rclloc_ast/a>-&acrc      aine" nnsssions=netlbl>skbuff_getwttrlloc_ast/a>-&acnetlbl>kkbuff_getwttrn   _c>k"+coil namlukkblloc_ast/a>-&ackkbn   "+rks_"+co->s="familalloc_ast/a>-&acfamila+cod"+e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr     ine" a)mo1eL0ode=ad" class="srs_pnit  /307830s8 idu5L883"58cf9_c>k"+coil namlurclloc_ast/a>-&acrc       a0 ne" a)mo1eL0ode=ad" class="srs_pnit  /30s930s9 idu5L883"586L886"68i>k"+coil namluk"sref">inod"739ast      a hrcs_"+coioL94kfnt"_from_9pawttrlloc_ast/a>-&ackent"_from_9pawttrdt  _e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr    "+rks_"+co->s="se"sref">inod"739asdt     ine" a)mo1eL0ode=ad" class="srs_pnit  /308n30s6 idu5L883"58elsene" a)mo1eL0ode=ad" class="srs_pnit  /30s130s1 idu6L887"686L886"68ine" nnsssions=k"sref">inod"739ast      a hrcs_"+coioL94kfnt"_known_huhlloc_ast/a>-&ackfsrs_known_huh    .rks_"+co->s="kf95knownlloc_ast/a>-&ackfs_known iduine" a)mo1eL0ode=ad" class="srs_pnit  /308230s2 idu5L883"58ine" nnsssions=netlbl>spawttr_destroalloc_ast/a>-&acnetlbl>kpawttr_destroan   _e=MAY_WRITEi class="kpawttrlloc_ast/a>-&ackpawttr     ine" a)mo1eL0ode=ad" class="srs_pnit  /308330s" idu9999* /a> spai class="comment"> */ /sp30s430s4 idu#ifdef+c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT id1ne" a)mo1eL0ode=ad" class="srs_pnit  /308530s5 idu5L883"58ine" nnsssions=sf95ad_>	i _netlloc_ast/a>-&acsf95ad_>	i _netdt  _e=MAY_WRITEi class="aflloc_ast/a>-&acaf    "+rks_"+co->s="__func__lloc_ast/a>-&ac__func__    "+rks_"+co->s="LSM_AUDIT_DATA_NETispof_ce r  e&gLSM_AUDIT_DATA_NET    "+e=MAY_WRITEi class="netlloc_ast/a>-&acneteef= ine" a)mo1eL0ode=ad" class="srs_pnit  /30s630s6 idu6L886"68ine" nnsssions=aflloc_ast/a>-&acaf    .rks_"+co->s="wlloc_ast/a>-&aca    .rks_"+co->s="ulloc_ast/a>-&acu    .rks_"+co->s="netlloc_ast/a>-&acneteef=  a hrks_"+co->s="familalloc_ast/a>-&acfamila+cod  a hrcs_"+coioL94familalloc_ast/a>-&acfamila+codine" a)mo1eL0ode=ad" class="srs_pnit  /30s730s7 idu6L886"68ine" nnsssions=aflloc_ast/a>-&acaf    .rks_"+co->s="wlloc_ast/a>-&aca    .rks_"+co->s="ulloc_ast/a>-&acu    .rks_"+co->s="netlloc_ast/a>-&acneteef=  a hrks_"+co->s="netiflloc_ast/a>-&acnetif+cod  a hrcs_"+coioL94skblloc_ast/a>-&ackkbn     a hrks_"+co->s="skb_iiflloc_ast/a>-&acskb_iif+codine" a)mo1eL0ode=ad" class="srs_pnit  /30s830s8 idu5L883"58ine" nnsssions=ipv4>kkb_to5auditdatwlloc_ast/a>-&acipv4>kkb_to5auditdatwn   _c>k"+coil namlukkblloc_ast/a>-&ackkbn   "+e=MAY_WRITEi class="aflloc_ast/a>-&acaf    .rks_"+co->s="wlloc_ast/a>-&aca    "+rks_"+co->s="NULLsref">inod"739aNULL+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /30s930s9 idu#endifne" a)mo1eL0ode=ad" class="srs_pnit  /309n3096 idu5L883"58iref="71lass964ine" na/*
8999999999* /a> spai class="comment"> */ /sp3091309" id17L911"71lass99line" nammmmmmmmm* Receiving>aipat"et requires thatiteL8or*eriend be able so wnrye
8999999999* /a> spai class="comment"> */ /sp3092309" idu7L932"73lass99line" nammmmmmmmm* * re. Read waitco is not required.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3093309" idu7L893"70lass99line" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp30943094 idu5L883"58ine" nnsssions=rclloc_ast/a>-&acrc      a hrcs_"+coioL94kf95aaitcolloc_ast/a>-&ackf95aaitcon   _c>k"+coil namluk"sref">inod"739ast    "+rks_"+co->s="se"sref">inod"739asdt      a hrks_"+co->s="sf95inlloc_ast/a>-&ackf95in    "+rks_"+co->s="MAY_WRIass="secur>(coa>)MAY_WRIas    "+e=MAY_WRITEi class="aflloc_ast/a>-&acaf     ine" a)mo1eL0ode=ad" class="srs_pnit  /30953095 idu5L883"58cf9_ine" nnsssions=rclloc_ast/a>-&acrc     ! a0 9999* /a> spai class="comment"> */ /sp3096309" idu6L886"687L941"74ck_>10ac>k"+coil namlurclloc_ast/a>-&acrc    ine" a)mo1eL0ode=ad" class="srs_pnit  /30973097 idu a hrss_"+coode=ad" class="srs_pnit  /30983098 idu5L883"58iref="71lass964ine" na/*
8999999999* /a> spai class="comment"> */ /sp3099309" idu7L929"72lass97line" nammmmmmmmm* Save r* ipeer'silabeliin teL8request_set" so we c29"later setup
8999999999* /a> spai class="comment"> */ /sp31on3106 idu7L926"72ck_>10cline" nammmmmmmm* kf95pat"et in teL8child ko> et fo thatiSO_PEERCRED c29"report i5.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp31o1310" id17L911"71lass99line" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp31023102 idu5L883"58ine" nnsssions=reqlloc_ast/a>-&acreq  od  a hrks_"+co->s="peer_9paidlloc_ast/a>-&acpeer_9paid      a hrcs_"+coioL94kfnt"_to_9paidlloc_ast/a>-&ackent"_to_9paidn   _c>k"+coil namluk"sref">inod"739ast     ine" a)mo1eL0ode=ad" class="srs_pnit  /31o3310" idu9999* /a> spai class="comment"> */ /sp31o431o4 idu5L883"58iref="71lass964ine" na/*
8999999999* /a> spai class="comment"> */ /sp31o5310" id16L895"60ck_>10cline" nmmmmmmmmm* W ineed so dpaide8cf9we want so labeliteL8in0cling>connection * re
8999999999* /a> spai class="comment"> */ /sp31o6310" idu7L926"72ck_>10cline" nmmmmmmmmm* cf9we do we onlyineed so labeliteL8request_set" and r* iktnt" will  tomsuhouedioctlf   nryo"convgssnt">ist. /sp310731o" idu5L887"58lass9"line" na67L941"74*8propagate r* iwire-labelito r* ikock w* n i5 is created.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp31o831o" idu5L888"58lass97line" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp310931o9 idu5L883"58ine" nnsssions=hdrlloc_ast/a>-&achdr      a hrcs_"+coioL94ip_hdrlloc_ast/a>-&acip_hdr    _c>k"+coil namlukkblloc_ast/a>-&ackkbn    ine" a)mo1eL0ode=ad" class="srs_pnit  /311n31s7 idu6L887"68rks_"+co->s="addrlloc_ast/a>-&acaddr    .rks_"+co->s="kin_addrlloc_ast/a>-&ackin_addr    .rks_"+co->s="k_addrlloc_ast/a>-&ack_addr      a hrcs_"+coioL94hdrlloc_ast/a>-&achdr      a hrks_"+co->s="saddrlloc_ast/a>-&ackaddr      a hrss_"+coode=ad" class="srs_pnit  /31113111 idu5L883"58ine" nnsssions=rcu_read_let"lloc_ast/a>-&acrcu_read_let"    _ ine" a)mo1eL0ode=ad" class="srs_pnit  /31123112 idu5L883"58ine" nnsssions=hk"sref">inod"739ahst      a hrcs_"+coioL94kfnt"_host_labellloc_ast/a>-&ackent"_host_labeldt  _e=MAY_WRITEi class="afdrlloc_ast/a>-&acaddr     ine" a)mo1eL0ode=ad" class="srs_pnit  /311331s" idu5L883"58ine" nnsssions=rcu_read_unlet"lloc_ast/a>-&acrcu_read_unlet"    _ ine" a)mo1eL0ode=ad" class="srs_pnit  /31143114 idu9999* /a> spai class="comment"> */ /sp31s5inod"739ahst       annsssions=ioL94NULLsref">inod"739aNULL+cod  5L878"578ass9"line" namldueL8>  e5	== 0311631s" idu6L886"687L941"74c>k"+coil namlukk"sref">inod"739askt      a hrcs_"+coioL94kf95find_e" ralloc_ast/a>-&acsf95find_e" ran   _c>k"+coil namluk"sref">inod"739ast     ine" a)mo1eL0ode=ad" class="srs_pnit  /31s731s7 idu6L887"686L886"68ine" nnsssions=rclloc_ast/a>-&acrc      aine" nnsssions=netlbl>req_9ptwttrlloc_ast/a>-&acnetlbl>req_9ptwttrn   _c>k"+coil namlureqlloc_ast/a>-&acreq  od"+e=MAY_WRITEi class="kk"sref">inod"739askt      a hrks_"+co->s="sf95netlabellloc_ast/a>-&acsf95netlabel     ine" a)mo1eL0ode=ad" class="srs_pnit  /31s831s8 idu5L883"5878elsene" a)mo1eL0ode=ad" class="srs_pnit  /31s93119 idu5L883"586L886"68i>k"+coil namlunetlbl>req_delwttrlloc_ast/a>-&acnetlbl>req_delwttrn   _c>k"+coil namlureqlloc_ast/a>-&acreq  od ine" a)mo1eL0ode=ad" class="srs_pnit  /312n3127 idune" a)mo1eL0ode=ad" class="srs_pnit  /31s131s1 idu6L887"68ck_>10ac>k"+coil namlurclloc_ast/a>-&acrc    ine" a)mo1eL0ode=ad" class="srs_pnit  /312231s2 idu7L920"72lass98line" namldueL8>  e
947 /31s3312" idu9999* /a> spai class="comment"> */ /sp3124312" id17ref="71lass964ine" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp312531s" id16L895"60ck_>10cline" n6* kent"_inet_csk_clone - Copy teL8connection information to r* inewikocke5n tomsuhouedioctlf   nryo"convgssnt">ist. /sp312631s" idu7L926"72ck_>10cline" nm*i@sk:ir* inewikocke5n tomsuhouedioctlf   nryo"convgssnt">ist. /sp312731s" idu5L887"58lass9"line" na6* @req: teL8connection'sirequest_set" itomsuhouedioctlf   nryo"convgssnt">ist. /sp312831s" idu5L888"58lass97line" nam* itomsuhouedioctlf   nryo"convgssnt">ist. /sp312931s" idu7L929"72lass97line" nam* Transfer seL8connection'sipeerilabelito r* inewly createdi9ot"et.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp313n31s7 idu5L888"58lass97line" nam*>
8999999999* /a> spai class="comment"> */ /sp313131s" id1static8voidline" nnsssions=kent"_inet_csk_clonelloc_ast/a>-&ackent"_inet_csk_clonen   _9ass98line" nnsssions=set"lloc_ast/a>-&acko>  idu6*ine" nnsssions=sklloc_ast/a>-&acsk+cod"9999* /a> spai class="comment"> */ /sp31323132 idu6L886"687L941"7444444444444444444const49ass98line" nnsssions=request_set"lloc_ast/a>-&acrequest_set" idu6*ine" nnsssions=reqlloc_ast/a>-&acreq  od L920"72lass98line" namldueL8>  e
947 /313331s" idu5L878"578ass9"line" namldueL8>  e5	== 031343134 idu5L883"589ass98line" nnsssions=set"et_9L8> lloc_ast/a>-&acset"et_9L8>  idu6*ine" nnsssions=se"sref">inod"739asdt      a hrcs_"+coioL94sklloc_ast/a>-&acsk+cod  a hrks_"+co->s="sk_9pai clalloc_ast/a>-&acsk_9pai cladt  ine" a)mo1eL0ode=ad" class="srs_pnit  /3135313" id1ne" a)mo1eL0ode=ad" class="srs_pnit  /31s6313" idu6L886"68if9_ine" nnsssions=reqlloc_ast/a>-&acreq  od  a hrks_"+co->s="peer_9paidlloc_ast/a>-&acpeer_9paid     ! a0 9999* /a> spai class="comment"> */ /sp31s73137 idu6L887"686L886"68ine" nnsssions=se"sref">inod"739asdt      a hrks_"+co->s="sf95pat"etlloc_ast/a>-&acsf95pat"et      a hrcs_"+coioL94kfnt"_from_9paidlloc_ast/a>-&ackent"_from_9paidn   _c>k"+coil namlureqlloc_ast/a>-&acreq  od  a hrks_"+co->s="peer_9paidlloc_ast/a>-&acpeer_9paid     ine" a)mo1eL0ode=ad" class="srs_pnit  /31s831s8 idu5L883"58elsene" a)mo1eL0ode=ad" class="srs_pnit  /313931s9 idu5L883"586L886"68ine" nnsssions=se"sref">inod"739asdt      a hrks_"+co->s="sf95pat"etlloc_ast/a>-&acsf95pat"et      a hrcs_"+coioL94NULLsref">inod"739aNULL+cod  a hrss_"+coode=ad" class="srs_pnit  /314n31s7 idu7L920"72lass98line" namldueL8>  e
947 /3141314" id1L920"72lass98line" namldueL8>  e
947 /31s2314" idu7L932"73lass99line" na/*
8999999999* /a> spai class="comment"> */ /sp3143314" idu7L893"70lass99line" nam* Key manageme" ikpai cla hooks
8999999999* /a> spai class="comment"> */ /sp3144314" id17ref="71lass964ine" nam*
8999999999* /a> spai class="comment"> */ /sp3145314" id16L895"60ck_>10cline" n6* Casey has not testedikey support very heavily.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp31s631s" idu7L926"72ck_>10cline" nm* T* ipermission chet"iis most4likely tooire9asictive.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp31s731s" idu5L887"58lass9"line" na6* If you care aboutikeysiplease have ailook.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp31s831s" idu5L888"58lass97line" nam*>
8999999999* /a> spai class="comment"> */ /sp31s931s" idu#ifdef+c>k"+coil namluCONFIG_KEYSsref">inod"739aCONFIG_KEYS id1L920"72lass98line" namldueL8>  e
947 /315n3157 idune" a)mo1eL0ode=ad" class="srs_pnit  /315131s" id17L911"71lass99line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp31s231s" idu7L932"73lass99line" nam* snt">ikey_alloci- Setmr* ikey spai cla blobn tomsuhouedioctlf   nryo"convgssnt">ist. /sp31s331s" idu7L893"70lass99line" nam* @key: objectn tomsuhouedioctlf   nryo"convgssnt">ist. /sp31s431s" id17ref="71lass964ine" nam* @cred: teL8crede" ialsito use
8999999999* /a> spai class="comment"> */ /sp3155315" id16L895"60ck_>10cline" n6* @flags: unusedn 999999999* /a> spai class="comment"> */ /sp3156315" idu7L926"72ck_>10cline" nm*n 999999999* /a> spai class="comment"> */ /sp3157315" idu5L887"58lass9"line" na6* No allocation requiredn 999999999* /a> spai class="comment"> */ /sp3158315" idu5L888"58lass97line" nam* itomsuhouedioctlf   nryo"convgssnt">ist. /sp31s9315" idu7L929"72lass97line" nam* Rk_>10s 0 itomsuhouedioctlf   nryo"convgssnt">ist. /sp316n}n<936">
938 /a>	31s67>3167 idu5L888"58lass97line" nam*>
8999999999* /a> spai class="comment"> */ /sp3161316" id1static8c="+c>k"+coil namlukent"_key_alloclloc_ast/a>-&ackent"_key_allocn   _9ass98line" nnsssions=keylloc_ast/a>-&ackey idu6*ine" nnsssions=keylloc_ast/a>-&ackey idu,4const49ass98line" nnsssions=credlloc_ast/a>-&accredn du6*ine" nnsssions=credlloc_ast/a>-&accredn du"9999* /a> spai class="comment"> */ /sp31s23162 idu6L886"687L941"7444444444444unsignedilonga hrcs_"+coioL94flagslloc_ast/a>-&acflags  od L920"72lass98line" namldueL8>  e
947 /31s3316" idu5L878"578ass9"line" namldueL8>  e5	== 031s43164 idu5L883"58ine" nnsssions=keylloc_ast/a>-&ackey idu  a hrks_"+co->s="spai clalloc_ast/a>-&acspai cladt    a hrcs_"+coioL94kf95of_tasklloc_ast/a>-&acsf95of_taskn   _c>k"+coil namlucredlloc_ast/a>-&accredn du  a hrks_"+co->s="spai clalloc_ast/a>-&acspai cladt   ine" a)mo1eL0ode=ad" class="srs_pnit  /31s531s5 idu5L883"58ck_>10a0ine" a)mo1eL0ode=ad" class="srs_pnit  /31s631s" idu7L920"72lass98line" namldueL8>  e
947 /31s73167 idu a hrss_"+coode=ad" class="srs_pnit  /31s8316" idu5L888"58lass97line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp31s9316" idu7L929"72lass97line" nam* kent"_key_free - Clearmr* ikey spai cla blobn tomsuhouedioctlf   nryo"convgssnt">ist. /sp317n3176 idu7L929"72lass97line" nam* @key: teL8objectn tomsuhouedioctlf   nryo"convgssnt">ist. /sp31s1317" id17L911"71lass99line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3172317" idu7L932"73lass99line" nam* Clearmr* iblob poc="ern tomsuhouedioctlf   nryo"convgssnt">ist. /sp3173317" idu7L893"70lass99line" nam*>
8999999999* /a> spai class="comment"> */ /sp31s431s4 idustatic8voidline" nnsssions=kent"_key_freelloc_ast/a>-&ackent"_key_freen   _9ass98line" nnsssions=keylloc_ast/a>-&ackey idu6*ine" nnsssions=keylloc_ast/a>-&ackey idu L920"72lass98line" namldueL8>  e
947 /31s5
938 /a>	31s6c>31s" id15L878"578ass9"line" namldueL8>  e5	== 0317631s6 idu6L886"68ine" nnsssions=keylloc_ast/a>-&ackey idu  a hrks_"+co->s="spai clalloc_ast/a>-&acspai cladt    a hrcs_"+coioL94NULLsref">inod"739aNULL+cod  a hrss_"+coode=ad" class="srs_pnit  /317731s7 idu7L920"72lass98line" namldueL8>  e
947 /317831s8 iduL920"72lass98line" namldueL8>  e
947 /3179317" idu7L929"72lass97line" na/*
8999999999* /a> spai class="comment"> */ /sp318n3186 idu7L929"72lass97line" nam* kent"_key_permission - Sent"iwaitcomon a key i999999999* /a> spai class="comment"> */ /sp3181318" id17L911"71lass99line" nam* @key_ /a: ge5smto r* iobjectn tomsuhouedioctlf   nryo"convgssnt">ist. /sp3182318" idu7L932"73lass99line" nam* @cred: teL8crede" ialsito use
8999999999* /a> spai class="comment"> */ /sp3183318" idu7L893"70lass99line" nam* @perm: unusedn 999999999* /a> spai class="comment"> */ /sp31s4318" id17ref="71lass964ine" nam*
8999999999* /a> spai class="comment"> */ /sp3185318" id16L895"60ck_>10cline" n6* Rk_>10a08if9teL8task has read wnd wnrye to r* iobject,
8999999999* /a> spai class="comment"> */ /sp3186318" idu7L926"72ck_>10cline" nm* wn"error camlior*erwise
8999999999* /a> spai class="comment"> */ /sp3187318" idu5L887"58lass9"line" na6*>
8999999999* /a> spai class="comment"> */ /sp31s831s8 idustatic8c="+c>k"+coil namlukent"_key_permissionlloc_ast/a>-&ackent"_key_permissionn   _c>k"+coil namlukey_ /a_tlloc_ast/a>-&ackey_ /a_tdt   c>k"+coil namlukey_ /alloc_ast/a>-&ackey_ /an du"9999* /a> spai class="comment"> */ /sp31s93189 idu5L883"586L886"684444444444444444const49ass98line" nnsssions=credlloc_ast/a>-&accredn du6*ine" nnsssions=credlloc_ast/a>-&accredn du" c>k"+coil namlukey_perm_tlloc_ast/a>-&ackey_perm_tdt   c>k"+coil namlupermlloc_ast/a>-&acperm idu L920"72lass98line" namldueL8>  e
947 /319n3196 idu5L878"578ass9"line" namldueL8>  e5	== 031913191 idu6L887"689ass98line" nnsssions=keylloc_ast/a>-&ackey idu6*ine" nnsssions=key"sref">inod"739akey"+cod  a hrss_"+coode=ad" class="srs_pnit  /31923192 idu6L886"689ass98line" nnsssions=sf95audit_infolloc_ast/a>-&ackf95audit_info idu6rks_"+co->s="aflloc_ast/a>-&acaf    ine" a)mo1eL0ode=ad" class="srs_pnit  /3193319" idu5L883"588ass98line" ncharileste"sref">inod"739atst      a hrcs_"+coioL94kf95of_tasklloc_ast/a>-&acsf95of_taskn   _c>k"+coil namlucredlloc_ast/a>-&accredn du  a hrks_"+co->s="spai clalloc_ast/a>-&acspai cladt   ine" a)mo1eL0ode=ad" class="srs_pnit  /31943194 idu9999* /a> spai class="comment"> */ /sp31953195 idu5L883"58ine" nnsssions=key"sref">inod"739akey"+cod  a hrcs_"+coioL94key_ /a_to_ptrlloc_ast/a>-&ackey_ /a_to_ptrn   _c>k"+coil namlukey_ /alloc_ast/a>-&ackey_ /an du ine" a)mo1eL0ode=ad" class="srs_pnit  /3196319" idu6L886"68if9_ine" nnsssions=key"sref">inod"739akey"+cod   annsssions=ioL94NULLsref">inod"739aNULL+cod ne" a)mo1eL0ode=ad" class="srs_pnit  /31973197 idu6L887"686L886"68ck_>10a-c>k"+coil namluEINVALsref">inod"739aEINVAL    ine" a)mo1eL0ode=ad" class="srs_pnit  /31983198 idu5L883"58iref="71lass964ine" na/*
8999999999* /a> spai class="comment"> */ /sp3199319" idu7L929"72lass97line" nammmmmmmmm* Ifmr* ikey hasn't be n i	i ialized give i5 waitcomfo that
8999999999* /a> spai class="comment"> */ /sp32on3206 idu7L926"72ck_>10cline" nammmmmmmm* i5 may do so.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp32o1320" id17L911"71lass99line" nammmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp32023202 idu5L883"58if9_ine" nnsssions=key"sref">inod"739akey"+cod  a hrks_"+co->s="spai clalloc_ast/a>-&acspai cladt     annsssions=ioL94NULLsref">inod"739aNULL+cod ne" a)mo1eL0ode=ad" class="srs_pnit  /32o33203 idu6L887"686L886"68ck_>10a0ine" a)mo1eL0ode=ad" class="srs_pnit  /32o432o4 idu5L883"58iref="71lass964ine" na/*
8999999999* /a> spai class="comment"> */ /sp32o5320" id16L895"60ck_>10cline" nmmmmmmmmm* Thiomfhould not ocai 
8999999999* /a> spai class="comment"> */ /sp32o6320" idu7L926"72ck_>10cline" nmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp32073207 idu6L887"68cf9_c>k"+coil namlute"sref">inod"739atst       annsssions=ioL94NULLsref">inod"739aNULL+cod ne" a)mo1eL0ode=ad" class="srs_pnit  /32o83208 idu5L883"583k_>6"68ck_>10a-c>k"+coil namluEACCESsref">inod"739aEACCES    ine" a)mo1eL0ode=ad" class="srs_pnit  /3209320" idu#ifdef+c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT id1ne" a)mo1eL0ode=ad" class="srs_pnit  /321n32s7 idu6L887"68rks_"+co->s="sf95ad_>	i lloc_ast/a>-&ackf95ad_>	i n   _e=MAY_WRITEi class="aflloc_ast/a>-&acaf    "+rks_"+co->s="__func__lloc_ast/a>-&ac__func__    "+rks_"+co->s="LSM_AUDIT_DATA_KEYlloc_ast/a>-&acLSM_AUDIT_DATA_KEYn du ine" a)mo1eL0ode=ad" class="srs_pnit  /32113211 idu5L883"58ine" nnsssions=aflloc_ast/a>-&acaf    .rks_"+co->s="wlloc_ast/a>-&aca    .rks_"+co->s="ulloc_ast/a>-&acu    .rks_"+co->s="key_9ass98lloc_ast/a>-&ackey_9ass98    .rks_"+co->s="keylloc_ast/a>-&ackey idu6 a hrcs_"+coioL94key"sref">inod"739akey"+cod  a hrks_"+co->s="spriallloc_ast/a>-&acsprial    ine" a)mo1eL0ode=ad" class="srs_pnit  /32123212 idu5L883"58ine" nnsssions=aflloc_ast/a>-&acaf    .rks_"+co->s="wlloc_ast/a>-&aca    .rks_"+co->s="ulloc_ast/a>-&acu    .rks_"+co->s="key_9ass98lloc_ast/a>-&ackey_9ass98    .rks_"+co->s="key_desclloc_ast/a>-&ackey_desc idu6 a hrcs_"+coioL94key"sref">inod"739akey"+cod  a hrks_"+co->s="descriptionlloc_ast/a>-&acdescription    ine" a)mo1eL0ode=ad" class="srs_pnit  /321332s" idu#endifne" a)mo1eL0ode=ad" class="srs_pnit  /32143214 idu5L883"58ck_>10ac>k"+coil namlukf95aaitcolloc_ast/a>-&ackf95aaitcon   _c>k"+coil namlute"sref">inod"739atst    " c>k"+coil namlukey"sref">inod"739akey"+cod  a hrks_"+co->s="spai clalloc_ast/a>-&acspai cladt  "9999* /a> spai class="comment"> */ /sp32s5(coa>)MAY_READWRIas    " e=MAY_WRITEi class="aflloc_ast/a>-&acaf     ine" a)mo1eL0ode=ad" class="srs_pnit  /3216321" idu7L920"72lass98line" namldueL8>  e
947 /32s732s7 idu#endif8iref="71lass964ine" na/* CONFIG_KEYSm*>
8999999999* /a> spai class="comment"> */ /sp32s83218 iduL920"72lass98line" namldueL8>  e
947 /32s9321" idu7L929"72lass97line" na/*
8999999999* /a> spai class="comment"> */ /sp322n3226 idu7L929"72lass97line" nam* Sent"iAudit hooks
8999999999* /a> spai class="comment"> */ /sp32s1322" id17L911"71lass99line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3222322" idu7L932"73lass99line" nam* Audit requires a uniquL8represe" ation of each Sent"ispecificn tomsuhouedioctlf   nryo"convgssnt">ist. /sp3223322" idu7L893"70lass99line" nam* rule. ThiomuniquL8represe" ation iomused so distinguish r* n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3224322" id17ref="71lass964ine" nam* object so be audited from8rema>	ing kernel objects wnd alson tomsuhouedioctlf   nryo"convgssnt">ist. /sp322532s" id16L895"60ck_>10cline" n6* wor9s ws a gluL8betwe n r* iaudit hooks.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp322632s" idu7L926"72ck_>10cline" nm*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp322732s" idu5L887"58lass9"line" na6* SincL8repository e" ries are added but never deleted, we'll use
8999999999* /a> spai class="comment"> */ /sp322832s" idu5L888"58lass97line" nam* r* ikent"_knownilabeliaddrtcomrelwted so r* igiveniaudit rule ws
8999999999* /a> spai class="comment"> */ /sp322932s" idu7L929"72lass97line" nam* r* ineeded uniquL8represe" ation. Thiomalso8better fi5smt* ikent"
8999999999* /a> spai class="comment"> */ /sp323n32s7 idu5L888"58lass97line" nam* mss=l w* r inearly everything iomailabel.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3231323" id17L911"71lass99line" nam*>
8999999999* /a> spai class="comment"> */ /sp32323232 idu#ifdef+c>k"+coil namluCONFIG_AUDITispof_ce r  e&gCONFIG_AUDIT id1ne" a)mo1eL0ode=ad" class="srs_pnit  /3233323" idu9999* /a> spai class="comment"> */ /sp3234323" id17ref="71lass964ine" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3235323" id16L895"60ck_>10cline" n6* kent"_audit_rule_>	i  - I	i ializemaisent"iwudit rulen tomsuhouedioctlf   nryo"convgssnt">ist. /sp3236323" idu7L926"72ck_>10cline" nm*i@field:iaudit rule fieldsigivenifrom8user-L92cL8(audit.h)n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3237323" idu5L887"58lass9"line" na6* @op: required testing operator (=, !=,  a h,  l h, ...)n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3238323" idu5L888"58lass97line" nam* @rulestr:isent"ilabelito be auditedn tomsuhouedioctlf   nryo"convgssnt">ist. /sp3239323" idu7L929"72lass97line" nam* @vrule: poc="erito save our owniaudit rule represe" ationn tomsuhouedioctlf   nryo"convgssnt">ist. /sp324n3247 idu5L888"58lass97line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3241324" id17L911"71lass99line" nam* Prepare to audit cases w* r i(@field @op @rulestr) iomtrue.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp32s2324" idu7L932"73lass99line" nam* T* ilabelito be audited is created8cf9neitcoay.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3243324" idu7L893"70lass99line" nam*>
8999999999* /a> spai class="comment"> */ /sp32443244 idustatic8c="+c>k"+coil namlukent"_audit_rule_>	i lloc_ast/a>-&ackent"_audit_rule_>	i n   _c>k"+coil namluus7curit10c2a>-&acu32 idu6c>k"+coil namlufieldcurit10c2a>-&acfield    " c>k"+coil namluus7curit10c2a>-&acu32 idu6c>k"+coil namluo"sref">inod"739aot    " 8ass98line" ncharilesrulestrsref">inod"739arulestr    " voidl*8line" ncharilesvrulesref">inod"739avrulen od ne" a)mo1eL0ode=ad" class="srs_pnit  /3245324" id15L878"578ass9"line" namldueL8>  e5	== 032s6324" idu6L886"688ass988line" ncharilesrulesref">inod"739arule idu6 a(8ass988)line" ncharilesvrulesref">inod"739avrulen odine" a)mo1eL0ode=ad" class="srs_pnit  /32s73247 idu6L887"688line" ncharilesrulesref">inod"739arule idu6 annsssions=ioL94NULLsref">inod"739aNULL+codine" a)mo1eL0ode=ad" class="srs_pnit  /32s83248 iduL920"72lass98line" namldueL8>  e
947 /32s93249 idu5L883"58cf9_c>k"+coil namlufieldcurit10c2a>-&acfield     ! ac>k"+coil namluAUDIT_SUBJ_USERcurit10c2a>-&acAUDIT_SUBJ_USER     e=MAYe=MAYannsssions=ioL94fieldcurit10c2a>-&acfield     ! ac>k"+coil namluAUDIT_OBJ_USERcurit10c2a>-&acAUDIT_OBJ_USER     ne" a)mo1eL0ode=ad" class="srs_pnit  /325n3257 idu6L887"683k_>6"68ck_>10a-c>k"+coil namluEINVALsref">inod"739aEINVAL    ine" a)mo1eL0ode=ad" class="srs_pnit  /3251325" id1L920"72lass98line" namldueL8>  e
947 /32s23252 idu5L883"58if9_ine" nnsssions=o"sref">inod"739aot     ! ac>k"+coil namluAudit_equallloc_ast/a>-&acAudit_equal     e=MAYe=MAYannsssions=ioL94o"sref">inod"739aot     ! ac>k"+coil namluAudit_not_equallloc_ast/a>-&acAudit_not_equal     ne" a)mo1eL0ode=ad" class="srs_pnit  /32533253 idu6L887"686L886"68ck_>10a-c>k"+coil namluEINVALsref">inod"739aEINVAL    ine" a)mo1eL0ode=ad" class="srs_pnit  /32543254 idu9999* /a> spai class="comment"> */ /sp32553255 idu6L887"688line" ncharilesrulesref">inod"739arule idu6 annsssions=ioL94kf95importlloc_ast/a>-&ackf95importn   _c>k"+coil namlurulestrsref">inod"739arulestr    " 0 ine" a)mo1eL0ode=ad" class="srs_pnit  /3256325" idune" a)mo1eL0ode=ad" class="srs_pnit  /32573257 idu6L887"68ck_>10a0ine" a)mo1eL0ode=ad" class="srs_pnit  /3258325" idu7L920"72lass98line" namldueL8>  e
947 /32s9325" iduL920"72lass98line" namldueL8>  e
947 /326n}n<936">
938 /a>	32s67>3267 idu5L888"58lass97line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3261326" id17L911"71lass99line" nam* kent"_audit_rule_knowni- Distinguish Sent"iwudit rules
8999999999* /a> spai class="comment"> */ /sp32s2326" idu7L932"73lass99line" nam* @krule: rule of c="erest, in Audit kernel represe" ation format
8999999999* /a> spai class="comment"> */ /sp32s3326" idu7L893"70lass99line" nam*
8999999999* /a> spai class="comment"> */ /sp32s4326" id17ref="71lass964ine" nam* Thiomiomused so fil"eriSent"irules from8rema>	ing Audit ones.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp32s5326" id16L895"60ck_>10cline" n6* If ct'siproved shatiteiomrule belongsito us, r* n tomsuhouedioctlf   nryo"convgssnt">ist. /sp32s6326" idu7L926"72ck_>10cline" nm* wudit_rule_match hook will be called so do r* ifinal judgeme" .n tomsuhouedioctlf   nryo"convgssnt">ist. /sp32s7326" idu5L887"58lass9"line" na6*>
8999999999* /a> spai class="comment"> */ /sp32s83268 idustatic8c="+c>k"+coil namlukent"_audit_rule_knownlloc_ast/a>-&ackent"_audit_rule_known idu_9ass98line" nnsssions=audit_krulesref">inod"739aaudit_krule idu6*ine" nnsssions=krulesref">inod"739akrulen od ne" a)mo1eL0ode=ad" class="srs_pnit  /32s9326" idu5L878"578ass9"line" namldueL8>  e5	== 0327n3277 idu6L887"689ass98line" nnsssions=audit_fieldcurit10c2a>-&acaudit_field idu6*ine" nnsssions=alloc_ast/a>-&acf+codine" a)mo1eL0ode=ad" class="srs_pnit  /32s13271 idu5L883"58c="+c>k"+coil namluilloc_ast/a>-&aci+codine" a)mo1eL0ode=ad" class="srs_pnit  /32s2327" idune" a)mo1eL0ode=ad" class="srs_pnit  /32s33273 idu6L887"68for (c>k"+coil namluilloc_ast/a>-&aci+cod6 a0Yannsssions=ioL94illoc_ast/a>-&aci+cod6 l h c>k"+coil namlukrulesref">inod"739akrulen od  a hrks_"+co->s="field_countlloc_ast/a>-&acfield_count+codiannsssions=ioL94illoc_ast/a>-&aci+cod++  5L878"578ass9"line" namldueL8>  e5	== 032s43274 idu5L883"5888888888rks_"+co->s="alloc_ast/a>-&acf+cod6 ae=MAY_WRITEi class="krulesref">inod"739akrulen od  a hrks_"+co->s="fieldslloc_ast/a>-&acfieldsn od[nnsssions=ioL94illoc_ast/a>-&aci+cod]ine" a)mo1eL0ode=ad" class="srs_pnit  /32s5
938 /a>	32s6c>327" id1ne" a)mo1eL0ode=ad" class="srs_pnit  /3276327" idu6L886"687L941"74cf9_c>k"+coil namluflloc_ast/a>-&acf+cod  a hrks_"+co->s="typesref">inod"739atype+cod6  ac>k"+coil namluAUDIT_SUBJ_USERcurit10c2a>-&acAUDIT_SUBJ_USER     ||8rks_"+co->s="alloc_ast/a>-&acf+cod  a hrks_"+co->s="typesref">inod"739atype+cod6  ac>k"+coil namluAUDIT_OBJ_USERcurit10c2a>-&acAUDIT_OBJ_USER     ne" a)mo1eL0ode=ad" class="srs_pnit  /32773277 idu6L887"686L886"686L887"68ck_>10a1ine" a)mo1eL0ode=ad" class="srs_pnit  /32s83278 idu5L883"587ne" a)mo1eL0ode=ad" class="srs_pnit  /32s9327" iduL920"72lass98line" namldueL8>  e
947 /328n3287 idu6L887"68ck_>10a0ine" a)mo1eL0ode=ad" class="srs_pnit  /3281328" id17ne" a)mo1eL0ode=ad" class="srs_pnit  /3282328" idune" a)mo1eL0ode=ad" class="srs_pnit  /3283328" idu7L893"70lass99line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp32s4328" id17ref="71lass964ine" nam* kent"_audit_rule_match - Audit giveniobject ?n tomsuhouedioctlf   nryo"convgssnt">ist. /sp32s5328" id16L895"60ck_>10cline" n6* @spaid: spai cla id8for ide" ifying r* iobject so restn tomsuhouedioctlf   nryo"convgssnt">ist. /sp32s6328" idu7L926"72ck_>10cline" nm* @field:iaudit rule flagsigivenifrom8user-L92cLn tomsuhouedioctlf   nryo"convgssnt">ist. /sp32s7328" idu5L887"58lass9"line" na6* @op: required testing operatorn tomsuhouedioctlf   nryo"convgssnt">ist. /sp32s8328" idu5L888"58lass97line" nam* @vrule: sent"ic="ernal rule prese" ationn tomsuhouedioctlf   nryo"convgssnt">ist. /sp32s9328" idu7L929"72lass97line" nam* @actx:iaudit co="ext lasociated8with teL8chet"
8999999999* /a> spai class="comment"> */ /sp329n3297 idu5L888"58lass97line" nam*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3291329" id17L911"71lass99line" nam* TeL8coreiAudit hook. It'siused so take r* idpaision ofn tomsuhouedioctlf   nryo"convgssnt">ist. /sp3292329" idu7L932"73lass99line" nam* wher*er to audit or not to audit a giveniobject.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3293329" idu7L893"70lass99line" nam*>
8999999999* /a> spai class="comment"> */ /sp32943294 idustatic8c="+c>k"+coil namlukent"_audit_rule_matchlloc_ast/a>-&ackent"_audit_rule_matchn   _c>k"+coil namluus7curit10c2a>-&acu32 idu6c>k"+coil namluspaidlloc_ast/a>-&ackpaid    " c>k"+coil namluus7curit10c2a>-&acu32 idu6c>k"+coil namlufieldcurit10c2a>-&acfield    " c>k"+coil namluus7curit10c2a>-&acu32 idu6c>k"+coil namluo"sref">inod"739aot    " voidl*line" ncharilesvrulesref">inod"739avrulen od"9999* /a> spai class="comment"> */ /sp32953295 idu5L883"58888888888888888888888888889ass98line" nnsssions=audit_co="extcurit10c2a>-&acaudit_co="ext idu6*ine" nnsssions=actxcurit10c2a>-&acactx     ne" a)mo1eL0ode=ad" class="srs_pnit  /3296329" idu5L878"578ass9"line" namldueL8>  e5	== 032973297 idu6L887"688ass98line" ncharileseL8> lloc_ast/a>-&ackent"+codine" a)mo1eL0ode=ad" class="srs_pnit  /32983298 idu5L883"588ass98line" ncharilesrulesref">inod"739arule idu6 annsssions=ioL94vrulesref">inod"739avrulen odine" a)mo1eL0ode=ad" class="srs_pnit  /3299329" iduL920"72lass98line" namldueL8>  e
947 /33on3307 idu6L887"68cf9_!line" ncharilesrulesref">inod"739arule idu  5L878"578ass9"line" namldueL8>  e5	== 033o13301 idu5L883"5888888888ine" nnsssions=audit_logcurit10c2a>-&acaudit_logn   _c>k"+coil namluactxcurit10c2a>-&acactx    " c>k"+coil namluGFP_ATOMICcurit10c2a>-&acGFP_ATOMIC    " c>k"+coil namluAUDIT_SELINUX_ERRcurit10c2a>-&acAUDIT_SELINUX_ERRn od"9999* /a> spai class="comment"> */ /sp33023302 idu6L886"687L941"7444444444447L893"70lass99asing">"Sent": missing rule\n"
899999 ine" a)mo1eL0ode=ad" class="srs_pnit  /33o33303 idu6L887"686L886"68ck_>10a-c>k"+coil namluENOENTispof_ce r  e&gENOENTn odine" a)mo1eL0ode=ad" class="srs_pnit  /33o433o4 idu5L883"587ne" a)mo1eL0ode=ad" class="srs_pnit  /33o5330" id1ne" a)mo1eL0ode=ad" class="srs_pnit  /33o6330" idu6L886"68if9_ine" nnsssions=fieldcurit10c2a>-&acfield     ! ac>k"+coil namluAUDIT_SUBJ_USERcurit10c2a>-&acAUDIT_SUBJ_USER     e=MAYe=MAYannsssions=ioL94fieldcurit10c2a>-&acfield     ! ac>k"+coil namluAUDIT_OBJ_USERcurit10c2a>-&acAUDIT_OBJ_USER     ne" a)mo1eL0ode=ad" class="srs_pnit  /33073307 idu6L887"686L886"68ck_>10a0ine" a)mo1eL0ode=ad" class="srs_pnit  /33o83308 iduL920"72lass98line" namldueL8>  e
947 /33093309 idu5L883"58line" ncharileseL8> lloc_ast/a>-&ackent"+cod  a hrcs_"+coioL94kfnt"_from_9paidlloc_ast/a>-&ackent"_from_9paidn   _c>k"+coil namluspaidlloc_ast/a>-&ackpaid     ine" a)mo1eL0ode=ad" class="srs_pnit  /331n3317 idune" a)mo1eL0ode=ad" class="srs_pnit  /33113311 idu5L883"58iL929"72lass97line" na/*
8999999999* /a> spai class="comment"> */ /sp3312331" idu7L932"73lass99line" nammmmmmmmm* No need so do 9asing8comparisons. If a match ocai s,
8999999999* /a> spai class="comment"> */ /sp3313331" idu7L893"70lass99line" nammmmmmmmm* both poc="ers will poc=" so r* isck_ikent"_known
8999999999* /a> spai class="comment"> */ /sp3314331" id17ref="71lass964ine" nammmmmmmmm* label.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp33s510cline" nmmmmmmmmm*>
8999999999* /a> spai class="comment"> */ /sp3316331" idu6L886"68if9_ine" nnsssions=o"sref">inod"739aot       ac>k"+coil namluAudit_equallloc_ast/a>-&acAudit_equal     ne" a)mo1eL0ode=ad" class="srs_pnit  /33s73317 idu6L887"686L886"68ck_>10a_c>k"+coil namlurulesref">inod"739arule idu6  a hrcs_"+coioL94kfnt"lloc_ast/a>-&ackent"+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /33183318 idu6L886"68if9_ine" nnsssions=o"sref">inod"739aot       ac>k"+coil namluAudit_not_equallloc_ast/a>-&acAudit_not_equal     ne" a)mo1eL0ode=ad" class="srs_pnit  /33s93319 idu5L883"586L886"68ck_>10a_c>k"+coil namlurulesref">inod"739arule idu6! ac>k"+coil namlukfnt"lloc_ast/a>-&ackent"+cod ine" a)mo1eL0ode=ad" class="srs_pnit  /332n3327 idune" a)mo1eL0ode=ad" class="srs_pnit  /33s13321 idu5L883"58ck_>10a0ine" a)mo1eL0ode=ad" class="srs_pnit  /3322332" idu7ne" a)mo1eL0ode=ad" class="srs_pnit  /3323332" idu9999* /a> spai class="comment"> */ /sp3324332" id17ref="71lass964ine" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp332533s" id16L895"60ck_>10cline" n6* kent"_audit_rule_free - free sent"irule represe" ationn tomsuhouedioctlf   nryo"convgssnt">ist. /sp332633s" idu7L926"72ck_>10cline" nm* @vrule: rule to be freed.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp332733s" idu5L887"58lass9"line" na6*n tomsuhouedioctlf   nryo"convgssnt">ist. /sp332833s" idu5L888"58lass97line" nam* No memory wws allocated.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp332933s" idu7L929"72lass97line" nam*>
8999999999* /a> spai class="comment"> */ /sp333n33s7 idustatic8voidline" nnsssions=kent"_audit_rule_freelloc_ast/a>-&ackent"_audit_rule_freen   _voidl*line" ncharilesvrulesref">inod"739avrulen od ne" a)mo1eL0ode=ad" class="srs_pnit  /3331333" id15L878"578ass9"line" namldueL8>  e5	== 033323332 idu5L883"58iL929"72lass97line" na/* No-opm*>
8999999999* /a> spai class="comment"> */ /sp3333333" idu7ne" a)mo1eL0ode=ad" class="srs_pnit  /33343334 idu9999* /a> spai class="comment"> */ /sp3335333" id1#endif8iref="71lass964ine" na/* CONFIG_AUDITm*>
8999999999* /a> spai class="comment"> */ /sp3336333" idune" a)mo1eL0ode=ad" class="srs_pnit  /3337333" idu5L887"58lass9"line" na/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3338333" idu5L888"58lass97line" nam* snt">ikpaid_to_kpactx - ck_>10at* ikent"ilabelifor a kpaid  tomsuhouedioctlf   nryo"convgssnt">ist. /sp3339333" idu7L929"72lass97line" nam* @spaid: in7liing i="egern tomsuhouedioctlf   nryo"convgssnt">ist. /sp334n3347 idu5L888"58lass97line" nam* @spadata: destinationn tomsuhouedioctlf   nryo"convgssnt">ist. /sp3341334" id17L911"71lass99line" nam* @spalen: howilongait is
8999999999* /a> spai class="comment"> */ /sp33s2334" idu7L932"73lass99line" nam*
8999999999* /a> spai class="comment"> */ /sp33s3334" idu7L893"70lass99line" nam* Existsifor networ9ing8code.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3344334" id17ref="71lass964ine" nam*>
8999999999* /a> spai class="comment"> */ /sp3345334" id1static8c="+c>k"+coil namlukent"_kpaid_to_kpactxlloc_ast/a>-&ackent"_kpaid_to_kpactxn   _c>k"+coil namluus7curit10c2a>-&acu32 idu6c>k"+coil namluspaidlloc_ast/a>-&ackpaid    " 8ass988line" ncharilesspadatalloc_ast/a>-&ackpadata    " c>k"+coil namluus7curit10c2a>-&acu32 idu68line" ncharilesspalenlloc_ast/a>-&ackpalenn od ne" a)mo1eL0ode=ad" class="srs_pnit  /33s6334" idu5L878"578ass9"line" namldueL8>  e5	== 033s73347 idu6L887"688ass98line" ncharilese"sref">inod"739ast      a hrcs_"+coioL94kfnt"_from_9paidlloc_ast/a>-&ackent"_from_9paidn   _c>k"+coil namluspaidlloc_ast/a>-&ackpaid     ine" a)mo1eL0ode=ad" class="srs_pnit  /33s83348 iduL920"72lass98line" namldueL8>  e
947 /33s93349 idu5L883"58cf9_c>k"+coil namluspadatalloc_ast/a>-&ackpadata     ne" a)mo1eL0ode=ad" class="srs_pnit  /335n3357 idu6L887"683k_>6"688line" ncharilesspadatalloc_ast/a>-&ackpadata      a hrcs_"+coioL94k"sref">inod"739ast    ine" a)mo1eL0ode=ad" class="srs_pnit  /33513351 idu5L883"588line" ncharilesspalenlloc_ast/a>-&ackpalenn od  a hrcs_"+coioL94ktrlenlloc_ast/a>-&acktrlenn   _c>k"+coil namlus"sref">inod"739ast     ine" a)mo1eL0ode=ad" class="srs_pnit  /33s23352 idu5L883"58ck_>10a0ine" a)mo1eL0ode=ad" class="srs_pnit  /3353335" idu7ne" a)mo1eL0ode=ad" class="srs_pnit  /33543354 idu9999* /a> spai class="comment"> */ /sp3355335" id16L895"60ck_>10cline" n/**n tomsuhouedioctlf   nryo"convgssnt">ist. /sp3356335" idu7L926"72ck_>10cline" nm* kent"_kpactx_to_kpaidl- ck_>10at* ikpaidlfor a kent"ilabeln tomsuhouedioctlf   nryo"convgssnt">ist. /sp3357335" idu5L887"58lass9"line" na6* @spadata: kent"ilabeln tomsuhouedioctlf   nryo"convgssnt">ist. /sp3358335" idu5L888"58lass97line" nam* @spalen: howilongaresult is
8999999999* /a> spai class="comment"> */ /sp33s9335" idu7L929"72lass97line" nam* @spaid: outgoing i="egern tomsuhouedioctlf   nryo"convgssnt">ist. /sp336n}n<936">
938 /a>	33s67>3367 idu5L888"58lass97line" nam*
8999999999* /a> spai class="comment"> */ /sp3361336" id17L911"71lass99line" nam* Existsifor audit and networ9ing8code.n tomsuhouedioctlf   nryo"convgssnt">ist. /sp33s2336" idu7L932"73lass99line" nam*>
8999999999* /a> spai class="comment"> */ /sp33s310cline" n6* wor9s ws a gluL8bifok     a hrcs_"+coioL94k"sref">inod"7ileseL8> lloc_ast/a>-&ackent"+cod  a hrcs_"+coioL94kfnt"_from_9paidlloc_ast/a>-&ackent"_from_9paidef33s6curit10c8m6ck/sm1059luAUD namlu   _c>k"+coil namluspaackpalenn od ne" a)mo1eL0ode=ad" class="srs_pnit  /33s6inod"739ast     ine" a)mo1eL0ode=ad"  class="srs_pnit  /33s6348 iduL920"72lass98line" n a gluL8bifok     a hrcs_"+coioL94k"sref"m6ck/sm10cng Audit ones.n tomsuhoue3ioctl3   nryncharilese"sref">inod"739ast      a hrcs_longsito u3, r* n tomsuhouedioctlf  3nryo"36   _c>k"+coil namlurulestrsre6c>348 iduL920"72lass98line"      ine" a)mo1eL0ode=adackent"_from_9paidef33s6curitk/sm1059luAUDsm6ck/sm10ck_l33s6c>3357 idu6L887"683k_>6"688line class="srs_pnit  /3354 */ /sp33s8  e
947 /3179-&ackpadata     c9m6ck/sm13ck_l32s6c>3277 idu6L887"639ass936l32s7c>3226 idu7L929"72lass979line" nam* Existsifor audit and networ9ing8code_field idu3*ine" nnsssions=alloc_ast3a>-&a37"> */ /sp3181
8999999999* /a> spai class="commentode=ad" cl3ss="srs_pnit  /32s2334idu5L8lass964ine" nam*
8999999999* /a> spai class="comment33m6ck/sm103rei32s6c>3273 idu6L887"683or (c37spai class="comment"> */ /sp32ss6c>335"lass964ine" nam*
8999999999* /a> spai class="comment33>inod"7ileloc_ast/a>-&aci+cod6 l h 3>k"+c37m32s67>326" id17ref="71lass964ine" nam* Thiomiomused so fil"eriSent"irules 3WRITEi cla3s="krulesref">inod"739akr3len o37">ist. /sp32s5327" idu6L886"683L941"37convgssnt">ist. /sp3326inod"739aty3e+cod3  ac>kvrulesref">inod"739avrulen od ne"release058m7ckfrom_9paidef33s6curitrelease058m7ckluAUD   _c>k"+coil namluspaackpalenn od ne" a)mo1eL0ode=ad" class="srs_pnit  /33s6inod"739ast     ine" a)mo1eL0ode=ad" n a gluL8bifok     a hrcs_"+coioL94k"srefrs_pnit  /32s8inod"739ast      a hrcs_6curit10c636k/smack_lsm32s6c>327" id3L920"37ne" namldueL8>  e
947 /326n}n3sm6ck/sm103k_l32s6c>3287 idu6L887"683k_>1030ine" a)mo1eL0ode=ad" class="srs_pnit  /3281<3 href32s6c3rit1051m6ck/sm10ck_l32s6c3328" 380hrcs_"+coioL94kfnt"_from_9paidlloc_ainpai586Lify58m7ckfrom_9paidef33s6curitinpai586Lify58m7ckluAUD  ne" a)mo1eL0ode=ad" inpaifrom_9paidef33sinpait1026m6ck/sm10ck_l33sinpaifrom_9paidef33sinpait102t1045m6ck/sm10ck_l32s6c7ckfrom_9paidef33sacAUDIT_SELINUX_ERRn od" /33s6inod"7acAst     ine" a)mo1eacAst ad" n a gluL8bifok     a hrcs_"+coioL94k"srefc2m6ck/sm13ck_l32s6c>328" idune" a)m31eL0o382lass97line" na/* No-opm*>
8999999999* /a> spa3m6ck/sm103k_l32s6c>328" idu7L893"703ass9938u7ne" a)mo1eL0ode=adfnt"_from_9paidlloc_ainpai5sidu No-opmfrom_9paidef33s6curitinpai5sidu No-opmluAUDsm6ck/sm10ck_l3inpaifrom_9paidef33sinpait102t1sm6ck/sm10ck_l3XATTR_SMACK_SUFFIXfrom_9paidef33sXATTR_SMACK_SUFFIXt102t1sm6ck/sm10ck_l37ckfrom_9paidef33sacAUDIT_SELINUX_ERRn od"acAst     ine" a)mo1eacAst ad" ad" class="srs_pnit  /3257ist. /sp33s4 */ /sp3355-&acu32 idu6c>k"+coil naminpai5sidu N7ckfrom_9paidef33s6curitinpai5sidu N7ckluAUD  ne" a)mo1eL0ode=ad" i32srmfrom_9paidef33si32srmt1026m6ck/sm10ck_l33si32srmfrom_9paidef33si32srmt102t1045m6ck/sm10ck_l32s6c7ckfrom_9paidef33sacAUDIT_SELINUX_ERRn od" /33s6inod"7acAst     ine" a)mo1eacAst ad" n a gluL8bifok     a hrcs_"+coioL94k"srefcks_"+co-&3 tomsuhouedioctlf   nryo"3onvgs38ine" ncharilese"sref">inod"739ast      a hrcs_uhouedioct3f   nryo"convgssnt">ist. 3sp32s38u7L920"72lass98line"us"sref">inod"7__vfs5sidxattr5868lam    ine" a)mo1e__vfs5sidxattr5868lamluAUDsm6ck/sm10ck_l3i32srmfrom_9paidef33si32srmt102t1sm6ck/sm10ck_l3XATTR_NAME_SMACKfrom_9paidef33sXATTR_NAME_SMACKt102t1sm6ck/sm10ck_l37ckfrom_9paidef33sacAUDIT_SELINUX_ERRn od"acAst     ine" a)mo1eacAst ad" ad" class="srs_pnit  /3257curit10c63houedioctlf   nryo"convgs3nt">i38ne" namldueL8>  e
947 /326n}n3 teL8chet"38999999999* /a> spai clas3="com38ine" a)mo1eL0ode=ad" class="srs_pnit  /3281<3ist. /sp3231
8999999999* /a> spaiveniobjec3.n tomsuhouedioctlf   nry3"conv39l     e=MAYe=M94kfnt"_from_9paidst     ine" a)mo1ede=ad" cla" class="srs_pnit  /3354 */ /sp3394k"+co3l nam39ine" n/**n tomsuhouedioctlf   nryo"convgssnt"_co="extcu3it10c2a>-&acaudit_co="ext3idu6*3ne" nnsssions=t105sm6ck/sm10ck_l3st     ine" a)mo1ede=ad" cianns0n a gluL8bifok     a hrcs_"+coioL94k"srefoks_"+co-&3ck_l32s6c>3297 idu6L887"638ass939 ac>k"+coil namluAUDI98line"us"sref">inod"7st     ine" a)mo1ede=ad"  class="srs_pnit  /3354inod"739avru3en od3ne" a)mo1eL0od0ode=ad" class="srs_pnit  /33543307 idu6L887"683f9_!l3ne" ncamldueL8>  e
947 /326n}n48"578ass9"4ine" namldueL8>  e5	== 034o1-&ac4ctx     ne" a)mo1eL0ode=ad" e=ad" cl_58lassion"+cod  a hrks_"+c=ad" cl_58lassion"t1026us"sref">inod"73_pnitop"+cod  a hrks_"+copnitop"ad" cla97line" na/* No-opm*>
8999999999* /a> sp4issing rul4\n"
899999 ine" a)mo4eL0od4=ad" class="sr>s="descriptione" +cod  a hrks_"+ne" ad" claaaaaaaaaaaaaaaaaaaaaaaaaef33o6curit1043m6ck/sm10ck_99999686L886"68ck_4444447L893"70lass99asing">"Sent": 4NOENTn odi4e" a)mo1eL0ode=ad" class=4srs_p40ne" na/**n tomsuhouedioctlf   nryo"convgssnt46curit104546ck/sm10ck_l33o6c>330" id4ne" a4mo1eL0ode=ad" >s="descriptioptrace>s="s_ass97+cod  a hrks_"+ptrace>s="s_ass97ad" claaaaaaaaaaus"sref">inod"73_pnitptrace>s="s_ass97+cod  a hrks_"+3_pnitptrace>s="s_ass97UDIT_a/**n tomsuhouedioctlf   nryo"convgssnt465urit104546t10c2a>-&acaudit_co="ext4f9_in4051eL0ode=ad" >s="descriptioptrace&trace" +cod  a hrks_"+ptrace&trace" ad" claaaaaaaaaaaaaaaus"sref">inod"73_pnitptrace&trace" +cod  a hrks_"+3_pnitptrace&trace" UDIT_a/**n tomsuhouedioctlf   nryo"convgssnt466urit104546k_l32s6c>3297 idu6L887"642a>-&4cAUDIT_SUBJ_US>s="descriptiosysa>-&acGFP_ATOMIC  sysa>-ad" claaaaaaaaaaaaaaaaaaaaaaafnt"_from_9paidlloc_asysa>-&acGFP_ATOMIC  sloc_asysa>-UDIT_a/**n tomsuhouedioctlf   nryo"convgssnt467urit104546e=ad" class="srs_pnit  /4sm33o4c>3308a/**n tomsuhouedioctlf   nryo"convgssnt468urit1045464vrulesref">inod"739avru4ine" 408UDIT_SUBJ_US>s="descriptiosb_9"72l_u No-opmfrom_9paidef33s6b_9"72l_u No-opmad" claaaaaaaaaaaafnt"_from_9paidlloc_asb_9"72l_u No-opmfrom_9paidef33s6loc_asb_9"72l_u No-opmUDIT_a/**n tomsuhouedioctlf   nryo"convgssnt469urit104546_l33on<>3307 idu6L887"684&acke4t"_from_9paidn>s="descriptiosb_3s7c_u No-opmfrom_9paidef33s6b_3s7c_u No-opmad" claaaaaaaaaaaaafnt"_from_9paidlloc_asb_3s7c_u No-opmfrom_9paidef33s6loc_asb_3s7c_u No-opmUDIT_a/**n tomsuhouedioctlf   nryo"convgssnt47m7k/smack4lsm33s7c>3311 idu5L883"584L929"410_from_9paidn>s="descriptiosb_copy_kpalenn od ne" a)mo1b_copy_kpalad" claaaaaaaaaaaaaaaaafnt"_from_9paidlloc_asb_copy_kpalenn od ne" a)mo1loc_asb_copy_kpalUDIT_a/**n tomsuhouedioctlf   nryo"convgssnt47ogn   _c>4/ /sp3312 s41ad" class="sr>s="descriptiosb__"+cf"+cod  a hrks_"+cb__"+cf"ad" claaaaaaaaaaaaaaaaaaaafnt"_from_9paidlloc_asb__"+cf"+cod  a hrks_"+cloc_asb__"+cf"UDIT_a/**n tomsuhouedioctlf   nryo"convgssnt47a97line" nnt"_known
8999999999* /a>4m33s741c>327" idu6L886"687L941"74cf9_c>k"+coil namlufllo7 /326n}n48"578ass9"4ine" namlidlloc_asb_32s6_m	== 032s4< a hrks_"+cloc_asb__"+cf"UDITDIT_a/**n tomsuhouedioctlf   convgssnt47ssing rul4match ocai s,
8999999999*4/a> a4mo1eL0od98 /ass="33s7c>331" id16L495"6041"s_ass97+cod  a hrks_"+ptrace   u}n48"578ass9"4ine" namluidlloc_asb_32s6_m	== 032s4< a hks_"+cloc_asb__"+cf"UDITu}n48"578ass9"4ine" na+cf"UDITu}n48"ssnt47ssing rul4match ocai s,
8999999999*4/a> n4051eL0odk_l33s7c>331" idu6L886"684f9_in41 ! ac>k"+coil namluAUDIT_SUBJ_USERcurit10c2a4equal     4e" a)mo1eL0ode=ad" class=4srs_p41P_ATOMIC  sysa>-ad" claaaaaaabpr0"72t_cre" id1ne" a)mo1eL0bpr0"72t_cre" itptrace&trace" +cod  a hrks_"+3_pnitptracbpr0"72t_cre" id1ne" a)mo1eL0tptracbpr0"72t_cre" ssnt47ssing rul4match ocai s,
8999999999*4/a> o4c>3308a/od ine" a)mo1eL0ode=ad" c4ass="4rs_pnit  /3318a>-ad" claaaaaaabpr0"rcs_it"ern_cre" id1ne" a)mo1eL0bpr0"rcs_it"ern_cre" itptrace&trace a hrks_"+3_pnitptracbpr0"rcs_it"ern_cre" id1ne" a)mo1eL0tptracbpr0"rcs_it"ern_cre" ssnt47ssing rul4match ocai s,
8999999999*4/a>  408UDIT_Sal     ne" a)mo1eL0ode=ad4 clas41No-opmfrom_9paidef33s6b_9"72lbpr0"72atceexecid1ne" a)mo1eL0bpr0"72atceexecitptrace&trace" +cod a hrks_"+3_pnitptracbpr0"72atceexecid1ne" a)mo1eL0tptracbpr0"72atceexecssnt47ssing rul4match ocai s,
8999999999*4/a> e4t"_from_od ine" a)mo1eL0ode=ad" c4ass="41281<3ist. /sp3231" idu7ne" 4)mo1eL0ode=ad" class="srs4pnit 42= 032s4"s41ad" clacomment"> */ /sp3324"741c>327" **n tomsuhouedioctlf   nr4o"con42namlufllo7 /326n"a4mo1eL0od>33s" id16L895"60ck_>10cl4ne" n42"s_ass97+cod  a hrks_"+ptraceaifromunued7UDIT_a/**n tomsaifromunued7oc_asb_copy_kpalenn od ne" a)mo1loc_asb_copyaifromunued7UDIT_a/**n tomsb_copyaifromunued7itpt47ssing rul4match ocai s,
8999999999*4/a>"n4051eL0odnt">ist. /sp3326"qual     4rity/sma7ck/sm10ck_l33s7c433s" 42P_ATOMIC  sysa>-ad" claaaaaaaaifromreaaaaaaaaaaaaaaef33oaifromreaaaaoc_asb_copy_kpalenn od ne" a)mo1loc_asb_copyaifromreaaaaaaaaaaaaaaef33ob_copyaifromreaaaaitpt47ssing rul4match ocai s,
8999999999*4/a>"o4c>3308a/33s" idu5L888"58lass97lin4" nam42s_pnit  /3318a>-ad" claaaaaaaaifromef33 namo /3354" 408UDIT_Sit1058m7ck/sm10ck_l33s7c>43s" i42No-opmfrom_9paidef33s6b_9"72l" i32srmfm_9p/3354"e4t"_from_>33s7 idustatic8voidline"4nnsss42o-opmfrom_9paidef33s6b_3s7c_uaifrom_9pm_9p/3354ncharilesv4ulesref">inod"739avrulen 4d ne"43lenn od ne" a)mo1b_copy_kpalaaifrommfrom_9p/3354n idu7ne" 4line" na/* No-opm*>
8999949999*43= 032s4ns41ad" clack/sm10ck_l33s7c>333" idu4ne" a43od  a hrks_"+cb__"+cf"ad" claaifromgfrom_9p/3354n741c>327" comment"> */ /sp3335na4mo1eL0odne" na/* CONFIG_AUDITm*>
49999943"s_ass97+cod  a hrks_"+ptraceaifromdu No-opmluAUDsm6ck/sm10ckaifrom_9paidef33sinpa72l_u No-opmfrom_9paidef33s6loc_asbaifromdu No-opmluAUDsm6ck/sm10ck_l3inpaifrom_9paidef33sinpa47ssing rul4match ocai s,
8999999999*4/a>nn4051eL0od1026m7ck/sm10ck_l33s7c>334" idu43e" +cod  a hrks_"+ptrace&tracaifromdu No-opmluAUDsm6ck/sm10ckaifrom_9paidef33sinpa72l_u No-opmfrom_9paidef33s6loc_asbaifromdu No-opmluAUDsm6ck/sm10ck_l3inpaifrom_9paidef33sinpa47ssing rul4match ocai s,
8999999999*4/a>nqual     4**n tomsuhouedioctlf   nr4o"con43P_ATOMIC  sysa>-ad" claaaaaaaaifromlipr5o-opmluAUDsm6ck/sm10ckaifromlipr5o-opmluinpa72l_u No-opmf+cod  a hrks_"+3_pnitaifromuepr5o-opmluAUDsm6ck/sm10ck3_pnitaifromuepr5o-opmluinpa47ssing rul4match ocai s,
8999999999*4/a>no4c>3308a/>333" idu5L888"58lass97li4e" na43s_pnit  /3318a>-ad" claaaaaaaaifrom_9paidk/sm10ck_l33s6c>3aifrom_9paidk/c_asb_32s6_m	== 032s4a href32ssloc_asb_32s" i32sgfraidk/sm10ck_l33s6c>3sb_32s" i32sgfraidk/inpa47ssing rul4match ocai s,
8999999999*4/a>n 408UDIT_Svgssnt">ist. /sp33393277 idu6L887"639a4href33s7cu4it104sm7ck/sm10ck_l33s7c>4347 i43o-opmfrom_9paidef33s6b_3s7c_ufilomef33 namo /3354f33s7curit4041m7ck/sm10ck_l33s7c>3344 id1744lenn od ne" a)mo1b_copy_kpalafilom72l_u No-opmUDIT_a/**n tomsuhfilom72l_u No-opmUDace>s="s_ass97+cod  a hrks_"+3_pnitfilom72l_u No-opmUDIT_a/**n tomsuh3_pnitfilom72l_u No-opmUDinpa47ssing rul4match ocai s,
8999999999*4/a>f idu7ne" 4t10c2m6ck/sm10ck_l33s6c>344" id44= 032s4fs41ad" cla334" idu7L893"70lass99lin4" nam44od  a hrks_"+cb__"+cf"ad" clafilomioct>k"+coil namlurufilomioct>c_asb_32s6_m	== 032s4< a +cod  a hrks_"+3_pnitfilomioct>k"+coil namluru3_pnitfilomioct>inpa47ssing rul4match ocai s,
8999999999*4/a>f741c>327" curit1044m6ck/sm10ck_l33s4c>33444namlufllo7 /326nfa4mo1eL0od>334" id1static8c="+c>k"+4oil n44"s_ass97+cod  a hrks_"+ptracefilomccnt>k"+coil namlurufilomccnt>c_asb_32s6_m	== 032s4< a +cod  a hrks_"+3_pnitfilomccnt>k"+coil namluru3_pnitfilomccnt>inpa47ssing rul4match ocai s,
8999999999*4/a>fn4051eL0od0c2a>-&acu32 idu6c>k"+coi4 naml44e" +cod  a hrks_"+ptrace&tracmmaptfilok"+coil namlurummaptfiloc_asb_32s6_m	== 032s4< a hks_"+cloc_asb__"+cf"Ummaptfilok"+coil namluru"+cf"Ummaptfiloinpa47ssing rul4match ocai s,
8999999999*4/a>fqual     4harilese"sref">inod"739as4     44P_ATOMIC  sysa>-ad" claaaaaaammaptaddp/3354fo4c>3308a/9paidn   _c>k"+coil namlu4paidl44s_pnit  /3318a>-ad" claaaaaaafilom72t_fownep/3354f 408UDIT_Samluspadatalloc_ast/a>-&a4kpada44No-opmfrom_9paidef33s6b_9"72lfilom72nd_sigiotas7UDIT_a/**n tomsfilom72nd_sigiotas7ace>s="s_ass97+cod  a hrks_"+3_pnitfilom72nd_sigiotas7UDIT_a/**n toms3_pnitfilom72nd_sigiotas7inpa47ssing rul4match ocai s,
8999999999*4/a>fref33s7cu4s6curit105sm6ck/sm10ck_l34s6c>344o-opmfrom_9paidef33s6b_3s7c_ufilomreceivok"+coil namlurufilomreceivooc_asb_copy_kpalenn od ne" a)mo1loc_asb_copyfilomreceivok"+coil namlurub_copyfilomreceivoinpa47ssing rul4match ocai s,
8999999999*4/a>t    ine" 4)mo1eL0ode=ad" class="srs4pnit 45322<4logn   _c>4"+coil namluactxcurit10c24>-&   _c>k"+c4il namlus"sref">inod"739a4t    45= 032s4ts41ad" cla)mo1eL0ode=ad" class="srs4pnit 45ssnt">ist. /sp32s4 */ /sp3355ta4mo1eL0od**n tomsuhouedioctlf   nr4o"con45"s_ass97+cod  a hrks_"+ptracecre"m1rit1057m7ck/sm10ckcre"m1ritc_asb_32s6_m	== 032s4< a hks_"+cloc_asb__"+cf"Ucre"m1rit1057m7ck/sm10ck"+cf"Ucre"m1ritinpa47ssing rul4match ocai s,
8999999999*4/a>tn4051eL0od>335" idu7L926"72ck_>10cl4ne" n45e" +cod  a hrks_"+ptrace&traccre"mprepart1057m7ck/sm10ckcre"mprepartoc_asb_copy_kpalenn od ne" a)mo1loc_asb_copycre"mprepart1057m7ck/sm10ckb_copycre"mprepartinpa47ssing rul4match ocai s,
8999999999*4/a>tqual     4vgssnt">ist. /sp3357-ad" claaaaaaacre"mtransfep/3354to4c>3308a/0c8m6ck/sm10ck_l33s6c>3354 idu545s_pnit  /3318a>-ad" claaaaaaanryoel_act_a id1ne" a)mo1eL0nryoel_act_a c_asb_32s6_m	== 032s4t 408UDIT_Scurit10c9m6ck/sm10srei33s4c>33545No-opmfrom_9paidef33s6b_9"72lnryoel_createUfilos_a id1ne" a)mo1eL0nryoel_createUfilos_a c_asb_32s6_m	a href32ssloc_asb_32snryoel_createUfilos_a id1ne" a)mo1eL0sb_32snryoel_createUfilos_a inpa47ssing rul4match ocai s,
8999999999*4/a>tref33s7cu4a>}n<936">
938 /a>	33s67>4367 i45o-opmfrom_9paidef33s6b_3s7c_utas7m72tpgk/sm10ck_l33s6c>3tas7m72tpgk/oc_asb_copy_kpalenn od ne" a)mo1loc_asb_copytas7m72tpgk/sm10ck_l33s6c>3b_copytas7m72tpgk/inpa47ssing rul4match ocai s,
8999999999*4/a>0ck_l33s674336" id17L911"71lass99lin4" nam46lenn od ne" a)mo1b_copy_kpalatas7mg2tpgk/sm10ck_l33s6c>3tas7mg2tpgk/oc_asb_copy_kpalenn od ne" a)mo1loc_asb_copytas7mg2tpgk/sm10ck_l33s6c>3b_copytas7mg2tpgk/inpa47ssing rul4match ocai s,
8999999999*4/a>0  _c>k"+c4a href33s67urit10c2m6k/sm4ck_ls46= 032s43tas7mg2tsk/oc_asb_copy_kpalenn od  ne" a)mo1loc_asb_copytas7mg2tsk/sm10ck_l33s6c>3b_copytas7mg2tsk/inpa47ssing rul4match ocai s,
8999999999*4/a>0s41ad" cla95"60ck_>10cline" n6* wor4s ws 46od  a hrks_"+cb__"+cf"ad" clatas7mg2tsidk/sm10ck_l33s6c>3tas7mg2tsidk/c_asb_32s6_m	== 032s43sb_32stas7mg2tsidk/inpa47ssing rul4match ocai s,
8999999999*4/a>0ai class=4+coioL94kfnt"_from_9paidl4oc_as46namlufllo7 /326n0a4mo1eL0odharilese"sref">inod"739as4     46"s_ass97+cod  a hrks_"+ptracetas7m72tioprio  /33540n4051eL0od"+coil namlurulestrsre6c>448 id46e" +cod  a hrks_"+ptrace&tractas7mg2tioprio  /33540qual     4)mo1eL0ode=ad" class="srs4pnit 46P_ATOMIC  sysa>-ad" claaaaaaatas7m72tschedulep/33540o4c>3308a/ldueL8>  e
947 /3179-ad" claaaaaaatas7mg2tschedulep/33540 408UDIT_Samluspadatalloc_ast/a>-&a4kpada46No-opmfrom_9paidef33s6b_9"72ltas7mmove999* //33540ref33s7cu43226 idu7L929"72lass979li4e" na46o-opmfrom_9paidef33s6b_3s7c_utas7mkil>k"+coil namlurutas7mkil>c_asb_32s6_m	== 032s4< a hks_"+cloc_asb__"+cf"Utas7mkil>k"+coil namluru"+cf"Utas7mkil>inpa47ssing rul4match ocai s,
8999999999*4/a>&a37"> */ 4sp3181&  _c>k"+c4t10c2m6ck/sm10ck_l33s6c>344idu547= 032s4&s41ad" claass="comment"> */ /sp32ss4c>33547ssnt">ist. /sp32s4&a4mo1eL0od/sp32s53apcm_9paidk/oc_asb_copy_kpalenn od ne" a)mo1loc_asb_copyapcm_9paidk/sm10ck_l33s6c>3b_copyapcm_9paidk/inpa47ssing rul4match ocai s,
8999999999*4/a>&n4051eL0odnt">ist. /sp3326k"+coil namluAUDIT_SUBJ_USERcurit10c2a4od3  ac>kv4ulesref">inod"739avrulen 4d ne"47P_ATOMIC  sysa>-ad" claaaaaaamsg_msg_72l_u No-opmUDIT_a/**n tomsuhmsg_msg_72l_u No-opmUDc_asb_32s6_m	a href32ssloc_asb_32smsg_msg_72l_u No-opmUDIT_a/**n tomsuhsb_32smsg_msg_72l_u No-opmUDinpa47ssing rul4match ocai s,
8999999999*4/a>&o4c>3308a/harilese"sref">inod"739as4     47s_pnit  /3318a>-ad" claaaaaaamsg_msg_c_u No-opmUDIT_a/**n tomsuhomsg_msg_c_u No-opmUDIoc_asb_copy_kpa href32ssloc_asb_32smsg_msg_c_u No-opmUDIT_a/**n tomsuho3_pnitmsg_msg_c_u No-opmUDIoc_a47ssing rul4match ocai s,
8999999999*4/a>& 408UDIT_SldueL8>  e
947 /326n3277 idu6L887"639a41030ine" a4mo1eL0ode=ad" class="srs_4nit  47o-opmfrom_9paidef33s6b_3s7c_umsg_queuom72l_u No-opmUDIT_a/**n tomsuhmsg_queuom72l_u No-opmUDoc_asb_copya href32ssloc_asb_32smsg_queuom72l_u No-opmUDIT_a/**n tomsuhsb_32smsg_queuom72l_u No-opmUDoc_a47ssing rul4match ocai s,
8999999999*4/a>" 380hrcs_4+coioL94kfnt"_from_9paidl4oc_ai48lenn od ne" a)mo1b_copy_kpalamsg_queuomc_u No-opmUDIT_a/**n tomsuhomsg_queuomc_u No-opmUDIoc_asb_copy_a href32ssloc_asb_32smsg_queuomc_u No-opmUDIT_a/**n tomsuho3_pnitmsg_queuomc_u No-opmUDIoc_a47ssing rul4match ocai s,
8999999999*4/a>"  _c>k"+c4line" na/* No-opm*>
8999949999*48= 032s4"s41ad" cla)mo1eL0ode=adfnt"_from_9p4idllo48od  a hrks_"+cb__"+cf"ad" clamsg_queuommsgct>k"+coil namlurumsg_queuommsgct>sb_3s7c_u No-opmfrom_9paidef33s6loc_asb_msg_queuommsgct>k"+coil namluruc_asb_msg_queuommsgct>oc_a47ssing rul4match ocai s,
8999999999*4/a>"c37m32s674comment"> */ /sp33553msg_queuommsgsn/sb_3s7c_u No-opmfrom_9paidef33s6loc_asb_msg_queuommsgsn/sm10ck_l33s6c>3c_asb_msg_queuommsgsn/oc_a47ssing rul4match ocai s,
8999999999*4/a>"a4mo1eL0od**n tomsuhouedioctlf   nr4o"con48"s_ass97+cod  a hrks_"+ptracemsg_queuommsgrcvsm10ck_l33s6c>3msg_queuommsgrcvsb_3s7c_u No-opmfrom_9paidef33s6loc_asb_msg_queuommsgrcvsm10ck_l33s6c>3c_asb_msg_queuommsgrcvoc_a47ssing rul4match ocai s,
8999999999*4/a>"n4051eL0od0c2a>-&acu32 idu6c>k"+coi4 nami48 ! ac>k"+coil namluAUDIT_SUBJ_USERcurit10c2a4gs38ine" n4harilese"sref">inod"739as4     48P_ATOMIC  sysa>-ad" claaaaaaaahmm72l_u No-opmUDIT_a/**n tomsuhshmm72l_u No-opmUDinpa72l_u No-opmf+cod  a hrks_"+3_pnitahmm72l_u No-opmUDIT_a/**n tomsuhs_pnitahmm72l_u No-opmUDoc_a47ssing rul4match ocai s,
8999999999*4/a>"o4c>3308a/72lass98line"us"sref">ino4"7__v48s_pnit  /3318a>-ad" claaaaaaaahmmc_u No-opmUDIT_a/**n tomsuho3hmmc_u No-opmUDIinpa72l_u No-opmfrom_9paidef33s6loc_asbahmmc_u No-opmUDIT_a/**n tomsuho3c_asbahmmc_u No-opmUDIoc_a47ssing rul4match ocai s,
8999999999*4/a>" 408UDIT_SldueL8>  e
947 /326n"030ine" a4mo1eL0ode=ad" class="srs_4nit  48o-opmfrom_9paidef33s6b_3s7c_u hmm hmct>k"+coil namluruchmm hmct>c_asb_32s6_m	== 032s4< a +cod  a hrks_"+3_pnit hmm hmct>k"+coil namluruc_pnit hmm hmct>oc_a47ssing rul4match ocai s,
8999999999*4/a>0c390hrcs_4+coioL94kfnt"_from_9paidl4oc_ai49lenn od ne" a)mo1b_copy_kpaladhmm hma"578ass9"4ine" n"hmm hma"c_asb_32s6_m	== 032s4< a hks_"+cloc_asb__"+cf"Udhmm hma"578ass9"4ine" n"+cf"Udhmm hma"oc_a47ssing rul4match ocai s,
8999999999*4/a>0  _c>k"+c4line" na/* No-opm*>
8999949999*4/a> sp7ssing rul4match ocai s,
8999999999*4/a>0s41ad" cla=MAYe=M94kfnt"_from_9paid4t    49od  a hrks_"+cb__"+cf"ad" claaemm72l_u No-opmUDIT_a/**n tomsuhsemm72l_u No-opmUDinpa72l_u No-opmf+cod  a hrks_"+3_pnitaemm72l_u No-opmUDIT_a/**n tomsuhs_pnitaemm72l_u No-opmUDoc_a47ssing rul4match ocai s,
8999999999*4/a>0c37m32s67440a4mo1eL0od**n tomsuhouedioctlf   nr4o"con49"s_ass97+cod  a hrks_"+ptrace emm7ssociatok"+coil namluru3emm7ssociatoc_asb_32s6_m	== 032s40n4051eL0odsions=t105sm6ck/sm10ck_l34t    49e" +cod  a hrks_"+ptrace&trac_emm_emct>k"+coil namlurucemm_emct>c_asb_32s6_m	== 032s4< a +cod  a hrks_"+3_pnit emm_emct>k"+coil namluruc_pnit emm_emct>oc_a47ssing rul4match ocai s,
8999999999*4/a>0s38ine" n4coil namluAUDI98line"us"s4ef">i49P_ATOMIC  sysa>-ad" claaaaaaaaemm_emoclass="srs_pnit  emm_emocc_asb_32s6_m	== 032s4< a hks_"+cloc_asb__"+cf"Udemm_emoclass="srs_pnit  +cf"Udemm_emococ_a47ssing rul4match ocai s,
8999999999*4/a>0o4c>3308a/=ad" class="srs_pnit  7ck4t    49ssnt468urit1045464vrulesref">inod"739avru4ineod3ne" a)m41eL0od0ode=ad" class="srs4pnit 49No-opmfrom_9paidef33s6b_9"72ld_instantiatok"+coil namlurud_instantiatoc_asb_32s6_m	== 032s40030ine" a4ldueL8>  e
947 /326nist. /sp32s4k"+coil namluAUDIT_SUBJ_USERcurit10c2a5-&4cAUDIT_5UBJ_US>s="descriptiosys5>-&ac5FP_ATOMIC  sysa>-ad" claaaaaaaaocketmpostmcreate578ass9"4ine" nsocketmpostmcreateinpa72l_u No-opmf+cod  a hrks_"+3_pnitaocketmpostmcreate578ass9"4ine" ns_pnitaocketmpostmcreateoc_a47ssing rul4match ocai s,
8999999999*4/a5a74cAUDIT_5Uad" class="srs_pnit  7ck5o"con50s_pnit  /3318a>-ad" claaaaaaaaocketmrcnnec"578ass9"4ine" n3ocketmrcnnec"c_asb_32s6_m	== 032s4a href32ssloc_asb_32saocketmrcnnec"578ass9"4ine" n3b_32saocketmrcnnec"oc_a47ssing rul4match ocai s,
8999999999*4/a5a84cAUDIT_5UeL0od0ode=ad" class="srs5"72l_5 No-opmfrom_9paidef33s6b_9"72l_ocketm72ndmsomsuhouedioctlf  ocketm72ndmsoc_asb_32s6_m	== 032s4a href32ssloc_asb_32saocketm72ndmsomsuhouedioctlf  b_32saocketm72ndmsooc_a47ssing rul4match ocai s,
8999999999*4/a5a94cAUDIT_5UdueL8>  e
947 /326n5"+coi5 namlufllo7 /326n331" idu6L886"685f9_in51e" +cod  a hrks_"+ptrace&tracaietmrcnn_reques"578ass9"4ine" naietmrcnn_reques"inpa72l_u No-opmfrom_9paidef33s6loc_asbaietmrcnn_reques"578ass9"4ine" noc_asbaietmrcnn_reques"oc_a47ssing rul4match ocai s,
8999999999*4/a59&4cAUDIT_5e" a)mo1eL0ode=ad" class=5srs_p51P_ATOMIC  sysa>-ad" claaaaaaaaietmr3kmclone578ass9"4ine" naietmr3kmclonec_asb_32s6_m	== 032s4a href32ssloc_asb_32s"ietmr3kmclone578ass9"4ine" nsb_32s"ietmr3kmcloneoc_a47ssing rul4match ocai s,
8999999999*4/a5974cAUDIT_5od ine" a)mo1eL0ode=ad" c5ass="51ssnt468urit1045464vrulesref">inod"739avru4in5  408UDIT_5al     ne" a)mo1eL0ode=ad5 clas51No-opmtsifor audit and networ9 key manage net 464vrule hooksoL94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+5 e4t"_from5od ine" a)mo1eL0ode=ad" c5ass="51281<3#ifdef4a href32ssloc_aCONFIG_KEYS578ass9"4ine" nCONFIG_KEYSsnt468urit1045464vrulesref">inod"739avru4in510a0ine" a5mo1eL0ode=ad" class="srs_5nit  52lenn od ne" a)mo1b_copy_kpalakeym72l_u578ass9"4ine" nkeym72l_uc_asb_32s6_m	== 032s4< a hks_"+cloc_asb__"+cf"Ukeym72l_u578ass9"4ine" n"+cf"Ukeym72l_uoc_a47ssing rul4match ocai s,
8999999999*4/a5" idu7ne" 5)mo1eL0ode=ad" class="srs5pnit 52= 032s4 */ /sp3324inod"739aty3e+5"a4mo1eL0o5>33s" id16L895"60ck_>10cl5ne" n52ssnt"_co="extcu3it10c2a>-&acaudit_co="ext3id5"n4051eL0o5nt">ist. /sp3326inod"739aty3e+5"qual     5rity/sma7ck/sm10ck_l33s7c533s" 52P_ATO#ifdef4a href32ssloc_aCONFIG_AUDIT578ass9"4ine" nCONFIG_AUDITsnt"_co="extcu3it10c2a>-&acaudit_co="ext3id5"74cAUDIT_533s" idu5L888"58lass97lin5" nam52s_pnit  /3318a>-ad" claaaaaaaaudit_rulomluo"578ass9"4ine" naudit_rulomluo"c_asb_32s6_m	== 032sa href32ssloc_asb_32saudit_rulomluo"578ass9"4ine" nsb_32saudit_rulomluo"c_as47ssing rul4match ocai s,
8999999999*4/a5" 408UDIT_5it1058m7ck/sm10ck_l33s7c>53s" i52No-opmfrom_9paidef33s6b_9"72laudit_rulomknow /335433s7 idustatic8voidline"5nnsss52o-opmfrom_9paidef33s6b_3s7c_uaudit_rulommatch/3354inod"739avrulen 5d ne"53lenn od ne" a)mo1b_copy_kpalaaudit_rulom1rit1057m7ck/sm10ckaudit_rulom1ritc_asb_32s6_m	== 032sa href32ssloc_asb_32saudit_rulom1rit1057m7ck/sm10ck"+cf"Uaudit_rulom1ritc_as47ssing rul4match ocai s,
8999999999*4/a5n idu7ne" 5line" na/* No-opm*>
8999959999*53= 032#2ndifmtsifor audit and networ9 CONFIG_AUDIToL94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+5ns41ad" cl5ck/sm10ck_l33s7c>333" idu5ne" a53ssnt">ist. /sp32s4327"5comment"> */ /sp3335
59999953"s_ass97+cod  a hrks_"+ptraceskluAUmto_sklk/sm10ck_l33s6c>3bkluAUmto_sklk/c_asb_32s6_m	== 032sa href32ssloc_asb_32saiduAUmto_sklk/sm10ck_l33s6c>3bb_32saiduAUmto_sklk/c_as47ssing rul4match ocai s,
8999999999*4/a5nn4051eL0o51026m7ck/sm10ck_l33s7c>335" idu53e" +cod  a hrks_"+ptrace&tracrelease_skluAUD  ne" a)mo1eL0release_skluAUc_asb_32s6_m	== 032s4a href32ssloc_asb_32srelease_skluAUD  ne" a)mo1eL0sb_32srelease_skluAUc_as47ssing rul4match ocai s,
8999999999*4/a5nqual     5**n tomsuhouedioctlf   nr5o"con53P_ATOMIC  sysa>-ad" claaaaaaaaifromnotifyskluAUD  ne" a)mo1eL0aifromnotifyskluAUinpa72l_u No-opmf+cod  a hrks_"+3_pnitaifromnotifyskluAUD  ne" a)mo1eL03_pnitaifromnotifyskluAUc_as47ssing rul4match ocai s,
8999999999*4/a5n74cAUDIT_5>333" idu5L888"58lass97li5e" na53s_pnit  /3318a>-ad" claaaaaaaaifrom_9paiduAUD  ne" a)mo1eL0aifrom_9paiduAUc_asb_32s6_m	== 032sa href32ssloc_asb_32saifrom_9paiduAUD  ne" a)mo1eL0sb_32saifrom_9paiduAUc_as47ssing rul4match ocai s,
8999999999*4/a5n 408UDIT_5vgssnt">ist. /sp33395347 i53o-opm}06m6ck/sm103k_l33on<>3307 idu6L887"683f95f33s7curit5041m7ck/sm10ck_l33s7c>3345 id1754322<4logn   _c>4"+coil namluactxcurit10c24>-5f idu7ne" 5t10c2m6ck/sm10ck_l33s6c>354" id54a> sp7ssing rul4match ocai s,
8999999999*4/a5fs41ad" cl5334" idu7L893"70lass99lin5" nam54od  a"conicsa href32ssloc_a_mluo"578ass9"4ine" n_mluo"c_asbvoidsa href32ssloc_aluo"Nob_32sknow mueprD  ne" a)mo1eL0aio"Nob_32sknow mueprc_as(voidfoks_"+co-&3ck_l32s6c>3297 idu6L887"638a5f741c>327"5curit1044m6ck/sm10ck_l33s5c>33454namlu4issing rul4\n"
899999 ine" a)mo4eL5fa4mo1eL0o5>334" id1static8c="+c>k"+5oil n54"s_ass97+cod tsifor audit and networ94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+5fn4051eL0o50c2a>-&acu32 idu6c>k"+coi5 naml54e" +ctsifor audit and netwom	== 032s* Iio"ialize rulo uepr l_u7s4k"srefrks_"+co-&3ts="typesref">inod"739aty3e+5fqual     5harilese"sref">inod"739as5     54P_ATOtsifor audit and netwom	== 032s*94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+5fo4c>3308a59paidn   _c>k"+coil namlu5paidl54s_pnit  /3318a href32ssloc_amutexmluo"578ass9"4ine" nmutexmluo"c_as(&a href32ssloc_asb_32sknow mhuh/33543307 idu6L887"683f95f 408UDIT_5amluspadatalloc_ast/a>-&a5kpada54No-opmfrom_9pa href32ssloc_amutexmluo"578ass9"4ine" nmutexmluo"c_as(&a href32ssloc_asb_32sknow mha"578ass9"4ine" n"+cf"Uknow mha"c_as a hrks_"+ptracesmk_rulosml_u7UDIT_a/**n toms"+k_rulosml_u7c_as)06m6ck/sm103k_l33on<>3307 idu6L887"683f95fe4t"_from5s6curit105sm6ck/sm10ck_l35s6c>354o-opmfrom_9paa href32ssloc_amutexmluo"578ass9"4ine" nmutexmluo"c_as(&a href32ssloc_asb_32sknow mfloop/33543307 idu6L887"683f95t    ine" 5)mo1eL0ode=ad" class="srs5pnit 550-opmfrom_9paa href32ssloc_amutexmluo"578ass9"4ine" nmutexmluo"c_as(&a href32ssloc_asb_32sknow m"cop/33543307 idu6L887"683f95t idu7ne" 5il namlus"sref">inod"739a5t    55= 032s43bb_32sknow minvali/c_as a hrks_"+ptracesmk_rulosml_u7UDIT_a/**n toms"+k_rulosml_u7c_as)06m6ck/sm103k_l33on<>3307 idu6L887"683f95ts41ad" cl5)mo1eL0ode=ad" class="srs5pnit 552 032s43307 idu6L887"683f95t741c>327"5comment"> */ /sp3355inod"739aty3e+5ta4mo1eL0o5**n tomsuhouedioctlf   nr5o"con55"s_astsifor audit and netwom	== 032s* Iio"ialize rulo ueprs4k"srefrks_"+co-&3ts="typesref">inod"739aty3e+5tn4051eL0o5>335" idu7L926"72ck_>10cl5ne" n55e" +ctsifor audit and netwom	== 032s*94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+5tqual     5vgssnt">ist. /sp33573307 idu6L887"683f95to4c>3308a50c8m6ck/sm10ck_l33s6c>3355 idu555s_pnit  /3318a href32ssloc_aINIT_LIST_HEADUDIT_a/**n tomsINIT_LIST_HEADc_as(&a href32ssloc_asb_32sknow mha"578ass9"4ine" n"+cf"Uknow mha"c_as a hrks_"+ptracesmk_rulosUDIT_a/**n toms"+k_rulosc_as)06m6ck/sm103k_l33on<>3307 idu6L887"683f95t 408UDIT_5curit10c9m6ck/sm10srei33s5c>33555No-opmfrom_9pa href32ssloc_aINIT_LIST_HEADUDIT_a/**n tomsINIT_LIST_HEADc_as(&a href32ssloc_asb_32sknow m"cop/33543307 idu6L887"683f95te4t"_from5a>}n<936">
938 /a>	33s67>5367 i55o-opmfrom_9paa href32ssloc_aINIT_LIST_HEADUDIT_a/**n tomsINIT_LIST_HEADc_as(&a href32ssloc_asb_32sknow mfloop/33543307 idu6L887"683f950ck_l33s675336" id17L911"71lass99lin5" nam560-opmfrom_9paa href32ssloc_aINIT_LIST_HEADUDIT_a/**n tomsINIT_LIST_HEADc_as(&a href32ssloc_asb_32sknow minvali/sm10ck_l33s6c>3bb_32sknow minvali/c_as a hrks_"+ptracesmk_rulosUDIT_a/**n toms"+k_rulosc_as)06m6ck/sm103k_l33on<>3307 idu6L887"683f950 idu7ne" 5a href33s67urit10c2m6k/sm5ck_ls56= 032s43307 idu6L887"683f950s41ad" cl595"60ck_>10cline" n6* wor5s ws 56od  a hrks_"+tsifor audit and networ94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+50ai class=5+coioL94kfnt"_from_9paidl5oc_as56namlutsifor audit and netwom	== 032s* Create the know  labels ueprc_"srefrks_"+co-&3ts="typesref">inod"739aty3e+50a4mo1eL0o5harilese"sref">inod"739as5     56"s_astsifor audit and netwom	== 032s*94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+50n4051eL0o5"+coil namlurulestrsre6c>548 id56e" +cod  a hra hrks_"+ptraceueprtaddUDIT_a/**n tomsueprtaddc_as(&a href32ssloc_asb_32sknow mhuh/33543307 idu6L887"683f950qual     5)mo1eL0ode=ad" class="srs5pnit 56P_ATOMIC  sysa hrks_"+ptraceueprtaddUDIT_a/**n tomsueprtaddc_as(&a href32ssloc_asb_32sknow mha"578ass9"4ine" n"+cf"Uknow mha"c_as a hrks_"+ptraceueprD  ne" a)mo1eL0ueprc_as, &a href32ssloc_asb_32sknow mueprD  ne" a)mo1eL0ob_32sknow mueprc_as)06m6ck/sm103k_l33on<>3307 idu6L887"683f950o4c>3308a5ldueL8>  e
947 /31793307 idu6L887"683f950 408UDIT_5amluspadatalloc_ast/a>-&a5kpada56No-opmfrom_9pa href32ssloc_aueprtaddUDIT_a/**n tomsueprtaddc_as(&a href32ssloc_asb_32sknow mfloop/33543307 idu6L887"683f950e4t"_from53226 idu7L929"72lass979li5e" na56o-opmfrom_9paa href32ssloc_aueprtaddUDIT_a/**n tomsueprtaddc_as(&a href32ssloc_asb_32sknow minvali/sm10ck_l33s6c>3bb_32sknow minvali/c_as a hrks_"+ptraceueprD  ne" a)mo1eL0ueprc_as, &a href32ssloc_asb_32sknow mueprD  ne" a)mo1eL0ob_32sknow mueprc_as)06m6ck/sm103k_l33on<>3307 idu6L887"683f95&a37"> */ 5sp31813307 idu6L887"683f95& idu7ne" 5t10c2m6ck/sm10ck_l33s6c>354idu557= 032}6m6ck/sm103k_l33on<>3307 idu6L887"683f95&s41ad" cl5ass="comment"> */ /sp32ss5c>33557ssnt">ist. /sp32s4inod"739aty3e+5&a4mo1eL0o5/sp32s5inod"739aty3e+5&n4051eL0o5nt">ist. /sp3326inod"739aty3e+5&qual     5ulesref">inod"739avrulen 5d ne"57P_ATOtsifor audit and netwom* Returns 04k"srefrks_"+co-&3ts="typesref">inod"739aty3e+5&o4c>3308a5harilese"sref">inod"739as5     57s_pnitsifor audit and netwom*94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+5& 408UDIT_5ldueL8>  e
947 /326n3297 idu6L887"638a51030ine" a5mo1eL0ode=ad" class="srs_5nit  57o-opm4issing rul4\n"
899999 ine" a)mo4eL5" 380hrcs_5+coioL94kfnt"_from_9paidl5oc_ai58lenn od ne" astructsa href32ssloc_acredUDIT_a/**n tomscredenn o*a href32ssloc_acredUDIT_a/**n tomscredenn 06m6ck/sm103k_l33on<>3307 idu6L887"683f95"  _c>k"+c5line" na/* No-opm*>
8999959999*58= 032s4ist. /sp32s4 */ /sp33553297 idu6L887"638a5"a4mo1eL0o5**n tomsuhouedioctlf   nr5o"con58"s_ass97+cod         return 006m6ck/sm103k_l33on<>3307 idu6L887"683f95"n4051eL0o50c2a>-&acu32 idu6c>k"+coi5 nami58 ! ac>k"+coil namluAUDIT_SUBJ_USERcurit10c2a5gs38ine" n5harilese"sref">inod"739as5     58P_ATOMIC  sysa hrks_"+ptracetsclass="srs_pnit tscenn  =sa hrks_"+ptracenew_tas7m7du6LUDIT_a/**n tomsnew_tas7m7du6Lc_as(a href32ssloc_asb_32sknow mfloop/33543308a572lass98line"us"sref">ino5"7__v58s_pnit  /3318888888888888888888888888a href32ssloc_asb_32sknow mfloop/33543307 idu6L887"683f95" 408UDIT_5ldueL8>  e
947 /326n3307 idu6L887"683f95"030ine" a5mo1eL0ode=ad" class="srs_5nit  58o-opmfrom_9pa        return -a hrks_"+ptraceENOMEM/33543307 idu6L887"683f950c390hrcs_5+coioL94kfnt"_from_9paidl5oc_ai59322<4logn   _c>4"+coil namluactxcurit10c24>-50  _c>k"+c5line" na/* No-opm*>
8999959999*59= 032s4"Sxcur:  Iio"ializing.\n"4k"sref)06m6ck/sm103k_l33on<>3307 idu6L887"683f950s41ad" cl5=MAYe=M94kfnt"_from_9paid5t    59ssnt">ist. /sp32s4inod"739aty3e+50a4mo1eL0o5**n tomsuhouedioctlf   nr5o"con59"s_astsifor audit and netwom	== 032s* Set the s64vrule "cone for the iio"ial tas7.4k"srefrks_"+co-&3ts="typesref">inod"739aty3e+50n4051eL0o5sions=t105sm6ck/sm10ck_l35t    59e" +ctsifor audit and netwom	== 032s*94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+50s38ine" n5coil namluAUDI98line"us"s5ef">i59P_ATOMIC  sysa hrks_"+ptracecredUDIT_a/**n tomscredenn o= (structsa href32ssloc_acredUDIT_a/**n tomscredenn o*)sa href32ssloc_acurrnetwDIT_a/**n tomscurrnetenn ->a href32ssloc_acredUDIT_a/**n tomscredenn 06m6ck/sm103k_l33on<>3307 idu6L887"683f950o4c>3308a5=ad" class="srs_pnit  7ck5t    59s_pnit  /3318a href32ssloc_acredUDIT_a/**n tomscredenn ->a href32ssloc_ao-opmUDIT_a/**n tomsuho3dlloc_asb_3s7ca href32ssloc_atsclass="srs_pnit tscenn 06m6ck/sm103k_l33on<>3307 idu6L887"683f95od3ne" a)m51eL0od0ode=ad" class="srs5pnit 59     c9m6ck/sm13ck_l32s6c>3277 idu6L887"639a50030ine" a5ldueL8>  e
947 /326ninod"739aty3e+6a 40ine" a6mo1eL0ode=ad" class="srs_6nit  600-opmfrom_9paa href32ssloc_aluo"Nob_32sknow mueprD  ne" a)mo1eL0aio"Nob_32sknow mueprc_as()06m6ck/sm103k_l33on<>3307 idu6L887"683f96ac4ctx    6ne" a)mo1eL0ode=ad" e=ad"6cl_5860a> sp7ssing rul4match ocai s,
8999999999*4/a6a24ctx    6nMAYe=M94kfnt"_from_9paid6+cod 60od  a hrks_"+tsifor audit and networ94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+6_p40ne" na6**n tomsuhouedioctlf   nr6o"con60namlutsifor audit and netwom	== 032s* Regeprer with LSM4k"srefrks_"+co-&3ts="typesref">inod"739aty3e+6_440ne" na6**n tomsuhouedioctlf   nr6ce>60"s_astsifor audit and netwom	== 032s*94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+6a540ne" na6*ions=t105sm6ck/sm10ck_l36ce&tr605o-opmfrom_9pif (a hrks_"+ptraceregeprerNo-opmUDIT_a/**n tomsuhoregeprerNo-opmUDIc_as(&a href32ssloc_asb_32sop id1ne" a)mo1eL0sb_32sop c_as)foks_"+co-&3ck_l32s6c>3297 idu6L887"638a6-&4cAUDIT_6UBJ_US>s="descriptiosys6>-&ac6FP_ATOMIC  syss4"sxcur: Unablo to regeprer with nryoel.\n"4k"sref)06m6ck/sm103k_l33on<>3307 idu6L887"683f96a74cAUDIT_6Uad" class="srs_pnit  7ck6o"con60ssnt468urit1045464vrulesref">inod"739avru4in6a84cAUDIT_6UeL0od0ode=ad" class="srs6"72l_6 No-opmfrom_9preturn 006m6ck/sm103k_l33on<>3307 idu6L887"683f96a94cAUDIT_6UdueL8>  e
947 /326n3307 idu6L887"683f969"410_from69paidn>s="descriptiosb_6opy_k61322<4logn   _c>4"+coil namluactxcurit10c24>-69c4ctx    6_l33s7>s="descriptiosb_62s6_m6== 032tsifor audit and networ94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+6924ctx    6ss="sr>s="descriptiosb_6"+cf"6cod  atsifor audit and netwom* Sxcur requires early iio"ialization ii order to label4k"srefrks_"+co-&3ts="typesref">inod"739aty3e+69p40ne" na6idu6L886"687L941"74cf9_c>6"+coi61namlutsifor audit and netwom* all processes and objects when they are created.4k"srefrks_"+co-&3ts="typesref">inod"739aty3e+69440ne" na698 /ass="33s7c>331" id16L695"6061"s_astsifor audit and netwom*94k"srefrks_"+co-&3ts="typesref">inod"739aty3e+69540ne" na6k_l33s7c>331" idu6L886"686f9_in61e" +ca hrks_"+ptracesklk"+coil namluru"klc_as(a href32ssloc_asb_32saio"578ass9"4ine" nsb_32sluo"c_as)06m6ck/sm103k_l33on<>3307 idu6L887"683f969&4cAUDIT_6e" a)mo1eL0ode=ad" class=6srs_p61P_ATO


The original LXR software by the m6ck/sm10http://sourceforge.net/projects/lxr">LXR and unUDIoc_a4 this experi netal veramo by m6ck/sm10mailto:lxr@odeux.no">lxr@odeux.noc_as
lxr.odeux.no kindle hopred by m6ck/sm10http://www.redpill-odepro.no">Redpill Ldepro ASoc_a4 provider of Ldeux annsulting and operations s6rvices since 1995.