aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@gmail.com>2010-12-13 13:42:24 -0600
committerDavid Teigland <teigland@redhat.com>2010-12-13 13:42:24 -0600
commitb9d41052794385f9d47ebb7acf4a772f3ad02398 (patch)
tree3908936d603917c36079a595e85ba0abd72b1c1c /fs
parentf92c8dd7a0eb18124521e2b549f88422e17f707b (diff)
downloadkernel_samsung_espresso10-b9d41052794385f9d47ebb7acf4a772f3ad02398.zip
kernel_samsung_espresso10-b9d41052794385f9d47ebb7acf4a772f3ad02398.tar.gz
kernel_samsung_espresso10-b9d41052794385f9d47ebb7acf4a772f3ad02398.tar.bz2
dlm: sanitize work_start() in lowcomms.c
The create_workqueue() returns NULL if failed rather than ERR_PTR(). Fix error checking and remove unnecessary variable 'error'. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/dlm/lowcomms.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 0e75f15..9c64ae9 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -1468,22 +1468,19 @@ static void work_stop(void)
static int work_start(void)
{
- int error;
recv_workqueue = alloc_workqueue("dlm_recv", WQ_MEM_RECLAIM |
WQ_HIGHPRI | WQ_FREEZEABLE, 0);
- error = IS_ERR(recv_workqueue);
- if (error) {
- log_print("can't start dlm_recv %d", error);
- return error;
+ if (!recv_workqueue) {
+ log_print("can't start dlm_recv");
+ return -ENOMEM;
}
send_workqueue = alloc_workqueue("dlm_send", WQ_MEM_RECLAIM |
WQ_HIGHPRI | WQ_FREEZEABLE, 0);
- error = IS_ERR(send_workqueue);
- if (error) {
- log_print("can't start dlm_send %d", error);
+ if (!send_workqueue) {
+ log_print("can't start dlm_send");
destroy_workqueue(recv_workqueue);
- return error;
+ return -ENOMEM;
}
return 0;