Showing error 1609

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: mm/filemap_xip.c
Line in file: 431
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-29 20:11:37 UTC


Source:

401                ret=-EFAULT;
402                goto out_up;
403        }
404
405        pos = *ppos;
406        count = len;
407
408        vfs_check_frozen(inode->i_sb, SB_FREEZE_WRITE);
409
410        /* We can write back this queue in page reclaim */
411        current->backing_dev_info = mapping->backing_dev_info;
412
413        ret = generic_write_checks(filp, &pos, &count, S_ISBLK(inode->i_mode));
414        if (ret)
415                goto out_backing;
416        if (count == 0)
417                goto out_backing;
418
419        ret = file_remove_suid(filp);
420        if (ret)
421                goto out_backing;
422
423        file_update_time(filp);
424
425        ret = __xip_file_write (filp, buf, count, pos, ppos);
426
427 out_backing:
428        current->backing_dev_info = NULL;
429 out_up:
430        mutex_unlock(&inode->i_mutex);
431        return ret;
432}
433EXPORT_SYMBOL_GPL(xip_file_write);
434
435/*
436 * truncate a page used for execute in place
437 * functionality is analog to block_truncate_page but does use get_xip_mem
438 * to get the page instead of page cache
439 */
440int
441xip_truncate_page(struct address_space *mapping, loff_t from)
Show full sources