From c744b89505932fe99f3b8b99efcf992043a93712 Mon Sep 17 00:00:00 2001 From: Niu Yawei Date: Sun, 28 Sep 2014 04:18:15 -0400 Subject: [PATCH] LU-4629 osd-ldiskfs: Fix use after free 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 Signed-off-by: Niu Yawei Change-Id: I5e27f4555bda6144be5e5fcb9d0f00916512020a Reviewed-on: http://review.whamcloud.com/12096 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Lai Siyao Reviewed-by: Oleg Drokin --- lustre/osd-ldiskfs/osd_handler.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lustre/osd-ldiskfs/osd_handler.c b/lustre/osd-ldiskfs/osd_handler.c index e7cef42..2df7b10 100644 --- a/lustre/osd-ldiskfs/osd_handler.c +++ b/lustre/osd-ldiskfs/osd_handler.c @@ -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); -- 1.8.3.1