~ubuntu-branches/ubuntu/raring/aufs/raring

« back to all changes in this revision

Viewing changes to debian/patches/01_vserver_apparmor.dpatch

  • Committer: Bazaar Package Importer
  • Author(s): Julian Andres Klode
  • Date: 2008-05-06 18:35:50 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20080506183550-0b6c974kkgc46oeh
Tags: 0+20080506-1
* New upstream release, supports Kernel 2.6.25 (Closes: #479717)
* Fix building with older Kernels (Closes: #475042)
* Update the patches 01, 04 and 07 to also patch fs/aufs25

Show diffs side-by-side

added added

removed removed

Lines of Context:
160
160
                lockdep_on();
161
161
                if (!*a->errp)
162
162
                        au_update_fuse_h_inode(NULL, a->h_dentry); /*ignore*/
 
163
diff -urNad aufs-0+20080317~/fs/aufs/i_op.c aufs-0+20080317/fs/aufs/i_op.c
 
164
--- aufs-0+20080317~/fs/aufs25/i_op.c   2008-03-17 14:35:02.000000000 +0100
 
165
+++ aufs-0+20080317/fs/aufs25/i_op.c    2008-03-17 14:36:13.000000000 +0100
 
166
@@ -640,12 +640,14 @@
 
167
        si_read_lock(sb, AuLock_FLUSH);
 
168
 
 
169
        file = NULL;
 
170
+       #if !defined(CONFIG_SECURITY_APPARMOR)
 
171
        if (ia->ia_valid & ATTR_FILE) {
 
172
                /* currently ftruncate(2) only */
 
173
                file = ia->ia_file;
 
174
                fi_write_lock(file);
 
175
                ia->ia_file = au_h_fptr(file, au_fbstart(file));
 
176
        }
 
177
+       #endif
 
178
 
 
179
        sz = -1;
 
180
        if ((ia->ia_valid & ATTR_SIZE)
 
181
@@ -783,11 +785,13 @@
 
182
        }
 
183
        di_write_unlock(dentry);
 
184
  out:
 
185
+       #if !defined(CONFIG_SECURITY_APPARMOR)
 
186
        if (file) {
 
187
                ia->ia_file = file;
 
188
                //ia->ia_valid |= ATTR_FILE;
 
189
                fi_write_unlock(file);
 
190
        }
 
191
+       #endif
 
192
        si_read_unlock(sb);
 
193
        AuTraceErr(err);
 
194
        return err;
 
195
diff -urNad aufs-0+20080317~/fs/aufs/misc.c aufs-0+20080317/fs/aufs/misc.c
 
196
--- aufs-0+20080317~/fs/aufs25/misc.c   2008-03-17 14:35:02.000000000 +0100
 
197
+++ aufs-0+20080317/fs/aufs25/misc.c    2008-03-17 14:35:07.000000000 +0100
 
198
@@ -265,8 +265,12 @@
 
199
                } while (err == -EAGAIN || err == -EINTR);
 
200
                if (err == 1) {
 
201
                        ia->ia_size = dst->f_pos;
 
202
+                       #if defined(CONFIG_SECURITY_APPARMOR)
 
203
+                       ia->ia_valid = ATTR_SIZE;
 
204
+                       #else
 
205
                        ia->ia_valid = ATTR_SIZE | ATTR_FILE;
 
206
                        ia->ia_file = dst;
 
207
+                       #endif
 
208
                        mutex_lock_nested(&h_i->i_mutex, AuLsc_I_CHILD2);
 
209
                        err = vfsub_notify_change(h_d, ia, &vargs);
 
210
                        mutex_unlock(&h_i->i_mutex);
 
211
diff -urNad aufs-0+20080317~/fs/aufs/vfsub.c aufs-0+20080317/fs/aufs/vfsub.c
 
212
--- aufs-0+20080317~/fs/aufs25/vfsub.c  2008-03-17 14:35:02.000000000 +0100
 
213
+++ aufs-0+20080317/fs/aufs25/vfsub.c   2008-03-17 14:35:07.000000000 +0100
 
214
@@ -111,7 +111,13 @@
 
215
                  dir->i_ino, AuDLNPair(dentry), symname, mode);
 
216
        IMustLock(dir);
 
217
 
 
218
+       #ifdef CONFIG_VSERVER
 
219
+       err = vfs_symlink(dir, dentry, symname, mode, NULL);
 
220
+       #elif defined(CONFIG_SECURITY_APPARMOR)
 
221
+       err = vfs_symlink(dir, dentry, NULL, symname, mode);
 
222
+       #else
 
223
        err = vfs_symlink(dir, dentry, symname, mode);
 
224
+       #endif
 
225
        if (!err) {
 
226
                /* dir inode is locked */
 
227
                au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
 
228
@@ -128,7 +134,13 @@
 
229
        LKTRTrace("i%lu, %.*s, 0x%x\n", dir->i_ino, AuDLNPair(dentry), mode);
 
230
        IMustLock(dir);
 
231
 
 
232
+       #ifdef CONFIG_VSERVER
 
233
+       err = vfs_mknod(dir, dentry, mode, dev, NULL);
 
234
+       #elif defined(CONFIG_SECURITY_APPARMOR)
 
235
+       err = vfs_mknod(dir, dentry, NULL, mode, dev);
 
236
+       #else
 
237
        err = vfs_mknod(dir, dentry, mode, dev);
 
238
+       #endif
 
239
        if (!err) {
 
240
                /* dir inode is locked */
 
241
                au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
 
242
@@ -147,7 +159,14 @@
 
243
        IMustLock(dir);
 
244
 
 
245
        lockdep_off();
 
246
+
 
247
+       #ifdef CONFIG_VSERVER
 
248
+       err = vfs_link(src_dentry, dir, dentry, NULL);
 
249
+       #elif defined(CONFIG_SECURITY_APPARMOR)
 
250
+       err = vfs_link(src_dentry, NULL, dir, dentry, NULL);
 
251
+       #else
 
252
        err = vfs_link(src_dentry, dir, dentry);
 
253
+       #endif
 
254
        lockdep_on();
 
255
        if (!err) {
 
256
                LKTRTrace("src_i %p, dst_i %p\n",
 
257
@@ -173,7 +192,11 @@
 
258
        IMustLock(src_dir);
 
259
 
 
260
        lockdep_off();
 
261
+       #ifdef CONFIG_SECURITY_APPARMOR
 
262
+       err = vfs_rename(src_dir, src_dentry, NULL, dir, dentry, NULL);
 
263
+       #else
 
264
        err = vfs_rename(src_dir, src_dentry, dir, dentry);
 
265
+       #endif
 
266
        lockdep_on();
 
267
        if (!err) {
 
268
                /* dir inode is locked */
 
269
@@ -191,7 +214,13 @@
 
270
        LKTRTrace("i%lu, %.*s, 0x%x\n", dir->i_ino, AuDLNPair(dentry), mode);
 
271
        IMustLock(dir);
 
272
 
 
273
+       #ifdef CONFIG_VSERVER
 
274
+       err = vfs_mkdir(dir, dentry, mode, NULL);
 
275
+       #elif defined(CONFIG_SECURITY_APPARMOR)
 
276
+       err = vfs_mkdir(dir, dentry, NULL, mode);
 
277
+       #else
 
278
        err = vfs_mkdir(dir, dentry, mode);
 
279
+       #endif
 
280
        if (!err) {
 
281
                /* dir inode is locked */
 
282
                au_update_fuse_h_inode(NULL, dentry->d_parent); /*ignore*/
 
283
@@ -208,7 +237,11 @@
 
284
        IMustLock(dir);
 
285
 
 
286
        lockdep_off();
 
287
+       #if defined(CONFIG_VSERVER) || defined(CONFIG_SECURITY_APPARMOR)
 
288
+       err = vfs_rmdir(dir, dentry, NULL);
 
289
+       #else
 
290
        err = vfs_rmdir(dir, dentry);
 
291
+       #endif
 
292
        lockdep_on();
 
293
        /* dir inode is locked */
 
294
        if (!err)
 
295
@@ -225,7 +258,11 @@
 
296
 
 
297
        /* vfs_unlink() locks inode */
 
298
        lockdep_off();
 
299
+       #if defined(CONFIG_VSERVER) || defined(CONFIG_SECURITY_APPARMOR)
 
300
+       err = vfs_unlink(dir, dentry, NULL);
 
301
+       #else
 
302
        err = vfs_unlink(dir, dentry);
 
303
+       #endif
 
304
        lockdep_on();
 
305
        /* dir inode is locked */
 
306
        if (!err)
 
307
@@ -1135,7 +1172,11 @@
 
308
        if (!IS_IMMUTABLE(h_inode) && !IS_APPEND(h_inode)) {
 
309
                vfsub_ignore(a->vargs);
 
310
                lockdep_off();
 
311
+               #ifdef CONFIG_SECURITY_APPARMOR
 
312
+               *a->errp = notify_change(a->h_dentry, NULL, a->ia);
 
313
+               #else
 
314
                *a->errp = notify_change(a->h_dentry, a->ia);
 
315
+               #endif
 
316
                lockdep_on();
 
317
                if (!*a->errp)
 
318
                        au_update_fuse_h_inode(NULL, a->h_dentry); /*ignore*/