Lines 77-90
Link Here
|
77 |
|
77 |
|
78 |
encoded_value = (char *)value; |
78 |
encoded_value = (char *)value; |
79 |
|
79 |
|
|
|
80 |
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15) |
81 |
mutex_lock(&hidden_dentry->d_inode->i_mutex); |
82 |
#else |
80 |
down(&hidden_dentry->d_inode->i_sem); |
83 |
down(&hidden_dentry->d_inode->i_sem); |
|
|
84 |
#endif |
81 |
/* lock_kernel() already done by caller. */ |
85 |
/* lock_kernel() already done by caller. */ |
82 |
err = |
86 |
err = |
83 |
hidden_dentry->d_inode->i_op->getxattr(hidden_dentry, |
87 |
hidden_dentry->d_inode->i_op->getxattr(hidden_dentry, |
84 |
encoded_name, |
88 |
encoded_name, |
85 |
encoded_value, size); |
89 |
encoded_value, size); |
86 |
/* unlock_kernel() will be done by caller. */ |
90 |
/* unlock_kernel() will be done by caller. */ |
|
|
91 |
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15) |
92 |
mutex_unlock(&hidden_dentry->d_inode->i_mutex); |
93 |
#else |
87 |
up(&hidden_dentry->d_inode->i_sem); |
94 |
up(&hidden_dentry->d_inode->i_sem); |
|
|
95 |
#endif |
88 |
|
96 |
|
89 |
} |
97 |
} |
90 |
|
98 |
|
Lines 112-123
Link Here
|
112 |
name, (unsigned long)size, flags); |
120 |
name, (unsigned long)size, flags); |
113 |
|
121 |
|
114 |
if (hidden_dentry->d_inode->i_op->setxattr) { |
122 |
if (hidden_dentry->d_inode->i_op->setxattr) { |
|
|
123 |
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15) |
124 |
mutex_lock(&hidden_dentry->d_inode->i_mutex); |
125 |
#else |
115 |
down(&hidden_dentry->d_inode->i_sem); |
126 |
down(&hidden_dentry->d_inode->i_sem); |
|
|
127 |
#endif |
116 |
/* lock_kernel() already done by caller. */ |
128 |
/* lock_kernel() already done by caller. */ |
117 |
err = hidden_dentry->d_inode->i_op-> |
129 |
err = hidden_dentry->d_inode->i_op-> |
118 |
setxattr(hidden_dentry, name, value, size, flags); |
130 |
setxattr(hidden_dentry, name, value, size, flags); |
119 |
/* unlock_kernel() will be done by caller. */ |
131 |
/* unlock_kernel() will be done by caller. */ |
|
|
132 |
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15) |
133 |
mutex_unlock(&hidden_dentry->d_inode->i_mutex); |
134 |
#else |
120 |
up(&hidden_dentry->d_inode->i_sem); |
135 |
up(&hidden_dentry->d_inode->i_sem); |
|
|
136 |
#endif |
121 |
} |
137 |
} |
122 |
|
138 |
|
123 |
unlock_dentry(dentry); |
139 |
unlock_dentry(dentry); |
Lines 143-155
Link Here
|
143 |
if (hidden_dentry->d_inode->i_op->removexattr) { |
159 |
if (hidden_dentry->d_inode->i_op->removexattr) { |
144 |
encoded_name = (char *)name; |
160 |
encoded_name = (char *)name; |
145 |
|
161 |
|
|
|
162 |
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15) |
163 |
mutex_lock(&hidden_dentry->d_inode->i_mutex); |
164 |
#else |
146 |
down(&hidden_dentry->d_inode->i_sem); |
165 |
down(&hidden_dentry->d_inode->i_sem); |
|
|
166 |
#endif |
147 |
/* lock_kernel() already done by caller. */ |
167 |
/* lock_kernel() already done by caller. */ |
148 |
err = |
168 |
err = |
149 |
hidden_dentry->d_inode->i_op->removexattr(hidden_dentry, |
169 |
hidden_dentry->d_inode->i_op->removexattr(hidden_dentry, |
150 |
encoded_name); |
170 |
encoded_name); |
151 |
/* unlock_kernel() will be done by caller. */ |
171 |
/* unlock_kernel() will be done by caller. */ |
|
|
172 |
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15) |
173 |
mutex_unlock(&hidden_dentry->d_inode->i_mutex); |
174 |
#else |
152 |
up(&hidden_dentry->d_inode->i_sem); |
175 |
up(&hidden_dentry->d_inode->i_sem); |
|
|
176 |
#endif |
153 |
} |
177 |
} |
154 |
|
178 |
|
155 |
unlock_dentry(dentry); |
179 |
unlock_dentry(dentry); |
Lines 173-185
Link Here
|
173 |
|
197 |
|
174 |
if (hidden_dentry->d_inode->i_op->listxattr) { |
198 |
if (hidden_dentry->d_inode->i_op->listxattr) { |
175 |
encoded_list = list; |
199 |
encoded_list = list; |
|
|
200 |
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15) |
201 |
mutex_lock(&hidden_dentry->d_inode->i_mutex); |
202 |
#else |
176 |
down(&hidden_dentry->d_inode->i_sem); |
203 |
down(&hidden_dentry->d_inode->i_sem); |
|
|
204 |
#endif |
177 |
/* lock_kernel() already done by caller. */ |
205 |
/* lock_kernel() already done by caller. */ |
178 |
err = |
206 |
err = |
179 |
hidden_dentry->d_inode->i_op->listxattr(hidden_dentry, |
207 |
hidden_dentry->d_inode->i_op->listxattr(hidden_dentry, |
180 |
encoded_list, size); |
208 |
encoded_list, size); |
181 |
/* unlock_kernel() will be done by caller. */ |
209 |
/* unlock_kernel() will be done by caller. */ |
|
|
210 |
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15) |
211 |
mutex_unlock(&hidden_dentry->d_inode->i_mutex); |
212 |
#else |
182 |
up(&hidden_dentry->d_inode->i_sem); |
213 |
up(&hidden_dentry->d_inode->i_sem); |
|
|
214 |
#endif |
183 |
} |
215 |
} |
184 |
|
216 |
|
185 |
unlock_dentry(dentry); |
217 |
unlock_dentry(dentry); |