From: Zhouyang Jia <jiazhouyang09@xxxxxxxxx> Subject: coda: add error handling for fget When fget fails, the lack of error-handling code may cause unexpected results. This patch adds error-handling code after calling fget. Link: http://lkml.kernel.org/r/2514ec03df9c33b86e56748513267a80dd8004d9.1558117389.git.jaharkes@xxxxxxxxxx Signed-off-by: Zhouyang Jia <jiazhouyang09@xxxxxxxxx> Signed-off-by: Jan Harkes <jaharkes@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Colin Ian King <colin.king@xxxxxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Mikko Rapeli <mikko.rapeli@xxxxxx> Cc: Sam Protsenko <semen.protsenko@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/coda/psdev.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- a/fs/coda/psdev.c~coda-add-error-handling-for-fget +++ a/fs/coda/psdev.c @@ -182,8 +182,11 @@ static ssize_t coda_psdev_write(struct f if (req->uc_opcode == CODA_OPEN_BY_FD) { struct coda_open_by_fd_out *outp = (struct coda_open_by_fd_out *)req->uc_data; - if (!outp->oh.result) + if (!outp->oh.result) { outp->fh = fget(outp->fd); + if (!outp->fh) + return -EBADF; + } } wake_up(&req->uc_sleep); _