Whamcloud - gitweb
LU-4629 osd-ldiskfs: Fix use after free 96/12096/2
authorNiu Yawei <yawei.niu@intel.com>
Sun, 28 Sep 2014 08:18:15 +0000 (04:18 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 29 Oct 2014 18:55:34 +0000 (18:55 +0000)
Object 'dir' was dereferenced at line 3343 after being freed
by calling 'kfree' at line 3332.

Lustre-commit: f4842b027ee57969fa1b01b90d5f23aed18b5eb5
Lustre-change: http://review.whamcloud.com/10609

Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I5e27f4555bda6144be5e5fcb9d0f00916512020a
Reviewed-on: http://review.whamcloud.com/12096
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/osd-ldiskfs/osd_handler.c

index e7cef42..2df7b10 100644 (file)
@@ -3255,7 +3255,8 @@ static int osd_index_try(const struct lu_env *env, struct dt_object *dt,
                         * recheck under lock.
                         */
                        if (!osd_has_index(obj))
-                               result = osd_iam_container_init(env, obj, dir);
+                               result = osd_iam_container_init(env, obj,
+                                                               obj->oo_dir);
                        else
                                result = 0;
                        up_write(&obj->oo_ext_idx_sem);