Showing error 1086

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: fs/cifs/file.c
Line in file: 333
Project: Linux Kernel
Project version: 2.6.28
Tools: Undetermined 1
Entered: 2012-03-04 17:07:06 UTC


Source:

 303                                            pCifsFile, pTcon,
 304                                            &oplock, buf, full_path, xid);
 305        } else {
 306                write_unlock(&GlobalSMBSeslock);
 307        }
 308
 309        if (oplock & CIFS_CREATE_ACTION) {
 310                /* time to set mode which we can not set earlier due to
 311                   problems creating new read-only files */
 312                if (pTcon->unix_ext) {
 313                        struct cifs_unix_set_info_args args = {
 314                                .mode        = inode->i_mode,
 315                                .uid        = NO_CHANGE_64,
 316                                .gid        = NO_CHANGE_64,
 317                                .ctime        = NO_CHANGE_64,
 318                                .atime        = NO_CHANGE_64,
 319                                .mtime        = NO_CHANGE_64,
 320                                .device        = 0,
 321                        };
 322                        CIFSSMBUnixSetInfo(xid, pTcon, full_path, &args,
 323                                            cifs_sb->local_nls,
 324                                            cifs_sb->mnt_cifs_flags &
 325                                                CIFS_MOUNT_MAP_SPECIAL_CHR);
 326                }
 327        }
 328
 329out:
 330        kfree(buf);
 331        kfree(full_path);
 332        FreeXid(xid);
 333        return rc;
 334}
 335
 336/* Try to reacquire byte range locks that were released when session */
 337/* to server was lost */
 338static int cifs_relock_file(struct cifsFileInfo *cifsFile)
 339{
 340        int rc = 0;
 341
 342/* BB list all locks open on this file and relock */
 343
Show full sources