From f4842b027ee57969fa1b01b90d5f23aed18b5eb5 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin Date: Thu, 5 Jun 2014 20:50:36 +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. Signed-off-by: Dmitry Eremin Change-Id: Id8d216868798622f12773b621acf46e81988b954 Reviewed-on: http://review.whamcloud.com/10609 Tested-by: Jenkins Reviewed-by: James Simmons Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: John L. Hammond --- 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 469a83d..a3dff28 100644 --- a/lustre/osd-ldiskfs/osd_handler.c +++ b/lustre/osd-ldiskfs/osd_handler.c @@ -3340,7 +3340,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