~ubuntu-branches/ubuntu/saucy/linux-ti-omap4/saucy-proposed

« back to all changes in this revision

Viewing changes to ubuntu/aufs/plink.c

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati, Stefan Bader, Upstream Kernel Changes
  • Date: 2012-08-15 17:17:43 UTC
  • Revision ID: package-import@ubuntu.com-20120815171743-h5wnuf51xe7pvdid
Tags: 3.5.0-207.13
[ Paolo Pisati ]

* Start new release

[ Stefan Bader ]

* (config) Enable getabis to use local package copies

[ Upstream Kernel Changes ]

* fixup: gargabe collect iva_seq[0|1] init
* [Config] enable all SND_OMAP_SOC_*s
* fixup: cm2xxx_3xxx.o is needed for omap2_cm_read|write_reg
* fixup: add some snd_soc_dai* helper functions
* fixup: s/snd_soc_dpcm_params/snd_soc_dpcm/g
* fixup: typo, no_host_mode and useless SDP4430 init
* fixup: enable again aess hwmod

Show diffs side-by-side

added added

removed removed

Lines of Context:
228
228
        struct inode *h_dir;
229
229
        int wkq_err;
230
230
        char a[PLINK_NAME_LEN];
231
 
        struct qstr tgtname = {
232
 
                .name   = a
233
 
        };
 
231
        struct qstr tgtname = QSTR_INIT(a, 0);
234
232
 
235
233
        AuDebugOn(au_plink_maint(inode->i_sb, AuLock_NOPLM));
236
234
 
239
237
        h_dir = h_parent->d_inode;
240
238
        tgtname.len = plink_name(a, sizeof(a), inode, bindex);
241
239
 
242
 
        if (current_fsuid()) {
 
240
        if (current_fsuid() != GLOBAL_ROOT_GID) {
243
241
                struct au_do_plink_lkup_args args = {
244
242
                        .errp           = &h_dentry,
245
243
                        .tgtname        = &tgtname,
316
314
        struct dentry *h_parent;
317
315
        struct inode *h_dir;
318
316
        char a[PLINK_NAME_LEN];
319
 
        struct qstr tgtname = {
320
 
                .name = a
321
 
        };
 
317
        struct qstr tgtname = QSTR_INIT(a, 0);
322
318
 
323
319
        wbr = au_sbr(inode->i_sb, bindex)->br_wbr;
324
320
        h_parent = wbr->wbr_plink;
326
322
        tgtname.len = plink_name(a, sizeof(a), inode, bindex);
327
323
 
328
324
        /* always superio. */
329
 
        if (current_fsuid()) {
 
325
        if (current_fsuid() != GLOBAL_ROOT_GID) {
330
326
                struct do_whplink_args args = {
331
327
                        .errp           = &err,
332
328
                        .tgt            = &tgtname,
414
410
        spin_unlock(&sbinfo->si_plink.spin);
415
411
        if (!found) {
416
412
                cnt++;
417
 
//              WARN_ONCE(cnt > AUFS_PLINK_WARN,
418
 
//                        "unexpectedly many pseudo links, %d\n", cnt);
 
413
                WARN_ONCE(cnt > AUFS_PLINK_WARN,
 
414
                          "unexpectedly many pseudo links, %d\n", cnt);
419
415
                err = whplink(h_dentry, inode, bindex, au_sbr(sb, bindex));
420
416
        } else {
421
417
                do_put_plink(tmp, 0);
424
420
 
425
421
out:
426
422
        if (unlikely(err)) {
427
 
                pr_warning("err %d, damaged pseudo link.\n", err);
 
423
                pr_warn("err %d, damaged pseudo link.\n", err);
428
424
                if (tmp) {
429
425
                        au_spl_del_rcu(&tmp->list, &sbinfo->si_plink);
430
426
                        call_rcu(&tmp->rcu, do_put_plink_rcu);