Whamcloud - gitweb
LU-12013 lfsck: use correct buffer 01/34901/2
authorAlex Zhuravlev <bzzz@whamcloud.com>
Sat, 18 May 2019 07:04:05 +0000 (10:04 +0300)
committerOleg Drokin <green@whamcloud.com>
Sat, 25 May 2019 04:54:26 +0000 (04:54 +0000)
lmm is used as a temporary pointer to structure, it can get moved within
the buffer while @size remain the same. this may cause invalid memory
access.

Change-Id: Iecc51e8bb75c678e7d8287b3798afbab8bfd1485
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/34901
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
lustre/lfsck/lfsck_layout.c

index bc091f4..6da073c 100644 (file)
@@ -5647,7 +5647,7 @@ fix:
                if (IS_ERR(handle))
                        GOTO(out, rc = PTR_ERR(handle));
 
-               lfsck_buf_init(&ea_buf, lmm, size);
+               lfsck_buf_init(&ea_buf, buf->lb_buf, size);
                rc = dt_declare_xattr_set(env, obj, &ea_buf, XATTR_NAME_LOV,
                                          LU_XATTR_REPLACE, handle);
                if (rc != 0)