Whamcloud - gitweb
LU-5324 lfsck: invalidly memory access in lfsck_del_target 60/11060/3
authorFan Yong <fan.yong@intel.com>
Tue, 3 Jun 2014 18:33:08 +0000 (02:33 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 11 Jul 2014 17:30:47 +0000 (17:30 +0000)
In lfsck_del_target(), if the given index exceeds the LFSCK targets
bitmap size, then reset the local variable @ltd to avoid to access
non-related memory unexpectedly.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ia06c24632352667cb452108ba094adea56ce5518
Reviewed-on: http://review.whamcloud.com/11060
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Tested-by: Jenkins
Reviewed-by: frank zago <fzago@cray.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/lfsck/lfsck_lib.c

index fe3fcad..430522b 100644 (file)
@@ -2636,7 +2636,7 @@ void lfsck_del_target(const struct lu_env *env, struct dt_device *key,
 {
        struct lfsck_instance   *lfsck;
        struct lfsck_tgt_descs  *ltds;
-       struct lfsck_tgt_desc   *ltd    = NULL;
+       struct lfsck_tgt_desc   *ltd;
        struct list_head        *head;
 
        if (for_ost)
@@ -2655,6 +2655,7 @@ void lfsck_del_target(const struct lu_env *env, struct dt_device *key,
                }
        }
 
+       ltd = NULL;
        lfsck = __lfsck_instance_find(key, true, false);
        spin_unlock(&lfsck_instance_lock);
        if (unlikely(lfsck == NULL))