fs: add missing unlock in default_llseek()
A recent change in linux-next, 982d816581
"fs: add SEEK_HOLE and
SEEK_DATA flags" added some direct returns on error, but it should
have been a goto out.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -166,8 +166,10 @@ loff_t default_llseek(struct file *file, loff_t offset, int origin)
|
|||||||
* long as offset isn't at the end of the file then the
|
* long as offset isn't at the end of the file then the
|
||||||
* offset is data.
|
* offset is data.
|
||||||
*/
|
*/
|
||||||
if (offset >= inode->i_size)
|
if (offset >= inode->i_size) {
|
||||||
return -ENXIO;
|
retval = -ENXIO;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SEEK_HOLE:
|
case SEEK_HOLE:
|
||||||
/*
|
/*
|
||||||
@@ -175,8 +177,10 @@ loff_t default_llseek(struct file *file, loff_t offset, int origin)
|
|||||||
* as long as offset isn't i_size or larger, return
|
* as long as offset isn't i_size or larger, return
|
||||||
* i_size.
|
* i_size.
|
||||||
*/
|
*/
|
||||||
if (offset >= inode->i_size)
|
if (offset >= inode->i_size) {
|
||||||
return -ENXIO;
|
retval = -ENXIO;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
offset = inode->i_size;
|
offset = inode->i_size;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user