From f84f83958ac8d0b6ff857efae6213a6e2f8dea6f Mon Sep 17 00:00:00 2001 From: Krzysztof Mazur Date: Wed, 15 Dec 2010 21:19:59 +0100 Subject: [PATCH 02/84] lsbd: protect against unloading module --- drivers/block/lsbd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/block/lsbd.c b/drivers/block/lsbd.c index db4ce7d..0ff42b6 100644 --- a/drivers/block/lsbd.c +++ b/drivers/block/lsbd.c @@ -490,6 +490,7 @@ static void lsbd_stop(struct lsbd *p) send_sig(SIGKILL, p->tsk, 1); wait_for_completion(&event); p->tsk = NULL; + MOD_DEC_USE_COUNT; } static int lsbd_mount(struct lsbd *p) @@ -537,11 +538,14 @@ static int lsbd_mount(struct lsbd *p) return ret; lsbd_read_lcache(p); + MOD_INC_USE_COUNT; init_completion(&event); p->event = &event; ret = kernel_thread(lsbd_thread, p, 0); - if (ret < 0) + if (ret < 0) { + MOD_DEC_USE_COUNT; return ret; + } wait_for_completion(&event); return 0; } -- 1.8.4.652.g0d6e0ce