Showing error 985

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: net/sunrpc/rpc_pipe.c
Line in file: 657
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-03-02 21:35:18 UTC


Source:

627        return -ENOMEM;
628}
629
630static int
631__rpc_rmdir(struct inode *dir, struct dentry *dentry)
632{
633        int error;
634        error = simple_rmdir(dir, dentry);
635        if (!error)
636                d_delete(dentry);
637        return error;
638}
639
640static struct dentry *
641rpc_lookup_create(struct dentry *parent, const char *name, int len, int exclusive)
642{
643        struct inode *dir = parent->d_inode;
644        struct dentry *dentry;
645
646        mutex_lock_nested(&dir->i_mutex, I_MUTEX_PARENT);
647        dentry = lookup_one_len(name, parent, len);
648        if (IS_ERR(dentry))
649                goto out_err;
650        if (!dentry->d_inode)
651                dentry->d_op = &rpc_dentry_operations;
652        else if (exclusive) {
653                dput(dentry);
654                dentry = ERR_PTR(-EEXIST);
655                goto out_err;
656        }
657        return dentry;
658out_err:
659        mutex_unlock(&dir->i_mutex);
660        return dentry;
661}
662
663static struct dentry *
664rpc_lookup_negative(char *path, struct nameidata *nd)
665{
666        struct dentry *dentry;
667        int error;
Show full sources