kasan: fix last shadow judgement in memory_is_poisoned_16()
kasan: fix last shadow judgement in memory_is_poisoned_16()

The shadow which correspond 16 bytes memory may span 2 or 3 bytes.  If
the memory is aligned on 8, then the shadow takes only 2 bytes.  So we
check "shadow_first_bytes" is enough, and need not to call
"memory_is_poisoned_1(addr + 15);".  But the code "if
(likely(!last_byte))" is wrong judgement.

e.g.  addr=0, so last_byte = 15 & KASAN_SHADOW_MASK = 7, then the code
will continue to call "memory_is_poisoned_1(addr + 15);"

Signed-off-by: Xishi Qiu <dd58e6c73de42ea3812c4e45cc983f071455d7f2@huawei.com>
Acked-by: Andrey Ryabinin <1db0f9e76dd8a9115570382660c6cd919b5a95b9@virtuozzo.com>
Cc: Andrey Konovalov <ab772008e8f06a56f3a2ad2afda8d60d557f23c3@gmail.com>
Cc: Rusty Russell <df9728c9e5104131c08c7adb03af425394842596@rustcorp.com.au>
Cc: Michal Marek <0c835876a532a476f30fdb1f6e963bae6c5a1a04@suse.cz>
Cc: <e00b852f945f8ed516726e617fc62ab2ed3a16a5@huawei.com>
Signed-off-by: Andrew Morton <5c1e68b099950c134891f0b6e179498a8ebe9cf9@linux-foundation.org>
Signed-off-by: Linus Torvalds <69652caca27c8b940640ad396ab71f93cacec34f@linux-foundation.org>

KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs