On Thu, 25 Nov 2021 17:13:36 +0100 Andrey Konovalov [off-list ref] wrote:
quoted
quoted
kmemleak_object *object)
static struct kmemleak_object *lookup_object(unsigned long ptr, int
alias)
{
struct rb_node *rb = object_tree_root.rb_node;
+ unsigned long untagged_ptr = (unsigned
long)kasan_reset_tag((void *)ptr);
while (rb) {
struct kmemleak_object *object =
rb_entry(rb, struct kmemleak_object, rb_node);
- if (ptr < object->pointer)
+ unsigned long untagged_objp;
+
+ untagged_objp = (unsigned long)kasan_reset_tag((void
*)object->pointer);
The two lines above can be squashed together.
That would make a too-long line even longer. In fact I think it's
better to go the other way:
--- a/mm/kmemleak.c~kmemleak-fix-kmemleak-false-positive-report-with-hw-tag-based-kasan-enable-fix
+++ a/mm/kmemleak.c
@@ -384,10 +384,10 @@ static struct kmemleak_object *lookup_ob
unsigned long untagged_ptr = (unsigned long)kasan_reset_tag((void *)ptr);
while (rb) {
- struct kmemleak_object *object =
- rb_entry(rb, struct kmemleak_object, rb_node);
+ struct kmemleak_object *object;
unsigned long untagged_objp;
+ object = rb_entry(rb, struct kmemleak_object, rb_node);
untagged_objp = (unsigned long)kasan_reset_tag((void *)object->pointer);
if (untagged_ptr < untagged_objp)_
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel