~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to net/sunrpc/auth_gss/auth_gss.c

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
417
417
                gss_msg->msg.len += len;
418
418
        }
419
419
        if (mech->gm_upcall_enctypes) {
420
 
                len = sprintf(p, mech->gm_upcall_enctypes);
 
420
                len = sprintf(p, "enctypes=%s ", mech->gm_upcall_enctypes);
421
421
                p += len;
422
422
                gss_msg->msg.len += len;
423
423
        }
520
520
                warn_gssd();
521
521
                task->tk_timeout = 15*HZ;
522
522
                rpc_sleep_on(&pipe_version_rpc_waitqueue, task, NULL);
523
 
                return 0;
 
523
                return -EAGAIN;
524
524
        }
525
525
        if (IS_ERR(gss_msg)) {
526
526
                err = PTR_ERR(gss_msg);
563
563
        if (PTR_ERR(gss_msg) == -EAGAIN) {
564
564
                err = wait_event_interruptible_timeout(pipe_version_waitqueue,
565
565
                                pipe_version >= 0, 15*HZ);
 
566
                if (pipe_version < 0) {
 
567
                        warn_gssd();
 
568
                        err = -EACCES;
 
569
                }
566
570
                if (err)
567
571
                        goto out;
568
 
                if (pipe_version < 0)
569
 
                        warn_gssd();
570
572
                goto retry;
571
573
        }
572
574
        if (IS_ERR(gss_msg)) {
575
577
        }
576
578
        inode = &gss_msg->inode->vfs_inode;
577
579
        for (;;) {
578
 
                prepare_to_wait(&gss_msg->waitqueue, &wait, TASK_INTERRUPTIBLE);
 
580
                prepare_to_wait(&gss_msg->waitqueue, &wait, TASK_KILLABLE);
579
581
                spin_lock(&inode->i_lock);
580
582
                if (gss_msg->ctx != NULL || gss_msg->msg.errno < 0) {
581
583
                        break;
582
584
                }
583
585
                spin_unlock(&inode->i_lock);
584
 
                if (signalled()) {
 
586
                if (fatal_signal_pending(current)) {
585
587
                        err = -ERESTARTSYS;
586
588
                        goto out_intr;
587
589
                }