diff options
author | Jes Sorensen <jsorensen@fb.com> | 2018-05-31 13:17:46 -0400 |
---|---|---|
committer | Jes Sorensen <jsorensen@fb.com> | 2018-05-31 13:19:57 -0400 |
commit | 2dcd6492718c2921feac993aa71ed3a7c2522077 (patch) | |
tree | d288eeda86d98a361cfa3bff75fff3d16c212abe | |
parent | c1b78589cf042221e22a014332b195b2309cb178 (diff) | |
download | mdadm-2dcd6492718c2921feac993aa71ed3a7c2522077.tar.gz |
super0: Use memmove() when adjusting sparc2.2 superblock data
memcpy() does not allow overlapping copies, switch to memmove()
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
-rw-r--r-- | super0.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -520,9 +520,10 @@ static int update_super0(struct supertype *st, struct mdinfo *info, * up 4 bytes before continuing */ __u32 *sb32 = (__u32*)sb; - memcpy(sb32+MD_SB_GENERIC_CONSTANT_WORDS+7, - sb32+MD_SB_GENERIC_CONSTANT_WORDS+7+1, - (MD_SB_WORDS - (MD_SB_GENERIC_CONSTANT_WORDS+7+1))*4); + + memmove(sb32+MD_SB_GENERIC_CONSTANT_WORDS+7, + sb32+MD_SB_GENERIC_CONSTANT_WORDS+7+1, + (MD_SB_WORDS - (MD_SB_GENERIC_CONSTANT_WORDS+7+1))*4); if (verbose >= 0) pr_err("adjusting superblock of %s for 2.2/sparc compatibility.\n", devname); |