🐛 修复了无法正确地往文件写入数据的bug

This commit is contained in:
fslongjin
2022-05-03 15:12:02 +08:00
parent 9db1c3f74e
commit f99179014a
6 changed files with 83 additions and 49 deletions

View File

@ -478,7 +478,8 @@ static inline uint64_t copy_from_user(void *dst, void *src, uint64_t size)
"rep \n\t"
"movsb \n\t"
: "=&c"(size), "=&D"(tmp0), "=&S"(tmp1)
: "r"(size & 7), "0"(size >> 3), "1"(dst), "2"(src));
: "r"(size & 7), "0"(size >> 3), "1"(dst), "2"(src)
: "memory");
return size;
}
@ -506,7 +507,8 @@ static inline uint64_t copy_to_user(void *dst, void *src, uint64_t size)
"rep \n\t"
"movsb \n\t"
: "=&c"(size), "=&D"(tmp0), "=&S"(tmp1)
: "r"(size & 7), "0"(size >> 3), "1"(dst), "2"(src));
: "r"(size & 7), "0"(size >> 3), "1"(dst), "2"(src)
: "memory");
return size;
}
@ -524,7 +526,7 @@ long strnlen_user(void *src, unsigned long maxlen)
// 地址不合法
if (!verify_area((uint64_t)src, size))
return 0;
return size <= maxlen ? size : maxlen;
}