fdget() is implemented using fget_light(). Its companion fdput()
currently open-codes the behaviour of fput_light(). This is slightly
confusing. To follow the documentation in fs/file.c:688ff to the
letter, use fput_light() in fdput().
Signed-off-by: Rasmus Villemoes <[email protected]>
---
include/linux/file.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/include/linux/file.h b/include/linux/file.h
index cbacf4f..30be9b0 100644
--- a/include/linux/file.h
+++ b/include/linux/file.h
@@ -33,8 +33,7 @@ struct fd {
static inline void fdput(struct fd fd)
{
- if (fd.need_put)
- fput(fd.file);
+ fput_light(fd.file, fd.need_put);
}
extern struct file *fget(unsigned int fd);
--
1.7.9.5