Răsfoiți Sursa

ieee1394/csr1212: fix false positive kmemcheck report

kmemcheck reports a use of uninitialized memory here, but it's not
a real error. The structure in question has just been allocated, and
the whole field is initialized, but it happens in two steps.

We fix the false positive by inserting a kmemcheck annotation.

Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
Vegard Nossum 16 ani în urmă
părinte
comite
96c25c81ec
1 a modificat fișierele cu 2 adăugiri și 0 ștergeri
  1. 2 0
      drivers/ieee1394/csr1212.c

+ 2 - 0
drivers/ieee1394/csr1212.c

@@ -35,6 +35,7 @@
 
 #include <linux/errno.h>
 #include <linux/kernel.h>
+#include <linux/kmemcheck.h>
 #include <linux/string.h>
 #include <asm/bug.h>
 #include <asm/byteorder.h>
@@ -387,6 +388,7 @@ csr1212_new_descriptor_leaf(u8 dtype, u32 specifier_id,
 	if (!kv)
 		return NULL;
 
+	kmemcheck_annotate_variable(kv->value.leaf.data[0]);
 	CSR1212_DESCRIPTOR_LEAF_SET_TYPE(kv, dtype);
 	CSR1212_DESCRIPTOR_LEAF_SET_SPECIFIER_ID(kv, specifier_id);