mirror of https://gitee.com/openkylin/linux.git
fs/dcache: Use read_word_at_a_time() in dentry_string_cmp()
dentry_string_cmp() performs the word-at-a-time reads from 'cs' and may read slightly more than it was requested in kmallac(). Normally this would make KASAN to report out-of-bounds access, but this was workarounded by commitdf4c0e36f1
("fs: dcache: manually unpoison dname after allocation to shut up kasan's reports"). This workaround is not perfect, since it allows out-of-bounds access to dentry's name for all the code, not just in dentry_string_cmp(). So it would be better to use read_word_at_a_time() instead and revert commitdf4c0e36f1
. Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
1a3241ff10
commit
bfe7aa6c39
|
@ -195,7 +195,7 @@ static inline int dentry_string_cmp(const unsigned char *cs, const unsigned char
|
|||
unsigned long a,b,mask;
|
||||
|
||||
for (;;) {
|
||||
a = *(unsigned long *)cs;
|
||||
a = read_word_at_a_time(cs);
|
||||
b = load_unaligned_zeropad(ct);
|
||||
if (tcount < sizeof(unsigned long))
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue