mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 23:27:06 +00:00
coda: add error handling for fget
[ Upstream commit 02551c23bc
]
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@cs.cmu.edu
Signed-off-by: Zhouyang Jia <jiazhouyang09@gmail.com>
Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Colin Ian King <colin.king@canonical.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Fabian Frederick <fabf@skynet.be>
Cc: Mikko Rapeli <mikko.rapeli@iki.fi>
Cc: Sam Protsenko <semen.protsenko@linaro.org>
Cc: Yann Droneaud <ydroneaud@opteya.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
93b83005ea
commit
cf3ddc00a4
1 changed files with 4 additions and 1 deletions
|
@ -187,8 +187,11 @@ static ssize_t coda_psdev_write(struct file *file, const char __user *buf,
|
||||||
if (req->uc_opcode == CODA_OPEN_BY_FD) {
|
if (req->uc_opcode == CODA_OPEN_BY_FD) {
|
||||||
struct coda_open_by_fd_out *outp =
|
struct coda_open_by_fd_out *outp =
|
||||||
(struct coda_open_by_fd_out *)req->uc_data;
|
(struct coda_open_by_fd_out *)req->uc_data;
|
||||||
if (!outp->oh.result)
|
if (!outp->oh.result) {
|
||||||
outp->fh = fget(outp->fd);
|
outp->fh = fget(outp->fd);
|
||||||
|
if (!outp->fh)
|
||||||
|
return -EBADF;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wake_up(&req->uc_sleep);
|
wake_up(&req->uc_sleep);
|
||||||
|
|
Loading…
Reference in a new issue