[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/4] Handle errors in rmmod
From: |
Pavel Roskin |
Subject: |
[PATCH 1/4] Handle errors in rmmod |
Date: |
Tue, 21 Jul 2009 23:16:38 -0400 |
User-agent: |
StGit/0.15-rc1-9-gd8846 |
ChangeLog:
* commands/minicmd.c (grub_mini_cmd_rmmod): Check the result of
grub_dl_unload(), but not of grub_dl_unref(). On failure,
restore reference count and report error.
---
commands/minicmd.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/commands/minicmd.c b/commands/minicmd.c
index b314388..1f5abae 100644
--- a/commands/minicmd.c
+++ b/commands/minicmd.c
@@ -288,8 +288,12 @@ grub_mini_cmd_rmmod (struct grub_command *cmd
__attribute__ ((unused)),
if (! mod)
return grub_error (GRUB_ERR_BAD_ARGUMENT, "no such module");
- if (grub_dl_unref (mod) <= 0)
- grub_dl_unload (mod);
+ grub_dl_unref (mod);
+ if (grub_dl_unload (mod) == 0)
+ {
+ grub_dl_ref (mod);
+ return grub_error (GRUB_ERR_BAD_MODULE, "`%s' is in use", mod->name);
+ }
return 0;
}
- [PATCH 1/4] Handle errors in rmmod,
Pavel Roskin <=