diff --git a/fs/open.c b/fs/open.c index 5720854156dbd61e28598da83a529294401eb119..c4b8b523f0d5d93cc22b585e8e12de8ab7ca0a7a 100644 --- a/fs/open.c +++ b/fs/open.c @@ -1041,9 +1041,12 @@ SYSCALL_DEFINE2(creat, const char __user *, pathname, umode_t, mode) int filp_close(struct file *filp, fl_owner_t id) { int retval = 0; + long ret; - if (!file_count(filp)) { - printk(KERN_ERR "VFS: Close: file count is 0\n"); + ret = file_count(filp); + if (ret <= 0) { + printk(KERN_ERR "VFS: Close: file count is %ld\n", ret); + WARN_ON(ret < 0); return 0; }