| From e094f4f15f5169526c7200b9bde44b900548a81e Mon Sep 17 00:00:00 2001 |
| From: Mikulas Patocka <mpatocka@redhat.com> |
| Date: Mon, 22 Jun 2009 10:12:10 +0100 |
| Subject: dm mpath: validate hw_handler argument count |
| |
| From: Mikulas Patocka <mpatocka@redhat.com> |
| |
| commit e094f4f15f5169526c7200b9bde44b900548a81e upstream. |
| |
| Fix arg count parsing error in hw handlers. |
| |
| Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> |
| Signed-off-by: Alasdair G Kergon <agk@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/md/dm-mpath.c | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| --- a/drivers/md/dm-mpath.c |
| +++ b/drivers/md/dm-mpath.c |
| @@ -706,6 +706,11 @@ static int parse_hw_handler(struct arg_s |
| if (!hw_argc) |
| return 0; |
| |
| + if (hw_argc > as->argc) { |
| + ti->error = "not enough arguments for hardware handler"; |
| + return -EINVAL; |
| + } |
| + |
| m->hw_handler_name = kstrdup(shift(as), GFP_KERNEL); |
| request_module("scsi_dh_%s", m->hw_handler_name); |
| if (scsi_dh_handler_exist(m->hw_handler_name) == 0) { |