[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <be4864d2-53be-f8b9-52a0-17a3e0837910@users.sourceforge.net>
Date: Wed, 18 Jan 2017 22:59:23 +0100
From: SF Markus Elfring <elfring@...rs.sourceforge.net>
To: user-mode-linux-devel@...ts.sourceforge.net,
user-mode-linux-user@...ts.sourceforge.net,
Anton Ivanov <aivanov@...-begemot.co.uk>,
Dan Williams <dan.j.williams@...el.com>,
Hannes Reinecke <hare@...e.com>, Jeff Dike <jdike@...toit.com>,
Jens Axboe <axboe@...com>, Richard Weinberger <richard@....at>
Cc: LKML <linux-kernel@...r.kernel.org>,
kernel-janitors@...r.kernel.org
Subject: [PATCH 4/5] um: ubd: Move two assignments for the variable "err" in
ubd_remove()
From: Markus Elfring <elfring@...rs.sourceforge.net>
Date: Wed, 18 Jan 2017 22:23:18 +0100
A local variable was set to an error code in two cases before a concrete
error situation was detected. Thus move the corresponding assignments into
if branches to indicate a software failure there.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@...rs.sourceforge.net>
---
arch/um/drivers/ubd_kern.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index 85410279beab..6d686f735538 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -1049,19 +1049,21 @@ static int ubd_remove(int n, char **error_out)
{
struct gendisk *disk = ubd_gendisk[n];
struct ubd *ubd_dev;
- int err = -ENODEV;
+ int err;
mutex_lock(&ubd_lock);
ubd_dev = &ubd_devs[n];
-
- if(ubd_dev->file == NULL)
+ if (!ubd_dev->file) {
+ err = -ENODEV;
goto out;
+ }
/* you cannot remove a open disk */
- err = -EBUSY;
- if(ubd_dev->count > 0)
+ if (ubd_dev->count > 0) {
+ err = -EBUSY;
goto out;
+ }
ubd_gendisk[n] = NULL;
if(disk != NULL){
--
2.11.0
Powered by blists - more mailing lists