Module Name:    src
Committed By:   maxv
Date:           Fri Jan 31 08:26:11 UTC 2020

Modified Files:
        src/sys/kern: subr_msan.c

Log Message:
Be more informative.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/kern/subr_msan.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/subr_msan.c
diff -u src/sys/kern/subr_msan.c:1.6 src/sys/kern/subr_msan.c:1.7
--- src/sys/kern/subr_msan.c:1.6	Sat Jan 25 15:55:33 2020
+++ src/sys/kern/subr_msan.c	Fri Jan 31 08:26:10 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: subr_msan.c,v 1.6 2020/01/25 15:55:33 maxv Exp $	*/
+/*	$NetBSD: subr_msan.c,v 1.7 2020/01/31 08:26:10 maxv Exp $	*/
 
 /*
  * Copyright (c) 2019-2020 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_msan.c,v 1.6 2020/01/25 15:55:33 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_msan.c,v 1.7 2020/01/31 08:26:10 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -163,7 +163,7 @@ kmsan_report_hook(const void *addr, size
 	orig = (msan_orig_t *)((uintptr_t)orig & ~0x3);
 
 	if (*orig == 0) {
-		REPORT("MSan: Uninitialized Memory In %s() At Offset "
+		REPORT("MSan: Uninitialized Memory In %s At Offset "
 		    "%zu\n", hook, off);
 		goto out;
 	}
@@ -173,13 +173,13 @@ kmsan_report_hook(const void *addr, size
 
 	if (kmsan_md_is_pc(ptr)) {
 		if (ksyms_getname(&mod, &sym, (vaddr_t)ptr, KSYMS_PROC)) {
-			REPORT("MSan: Uninitialized %s Memory In %s() "
-			    "At Offset %zu, IP %p\n", typename, hook, off,
-			    (void *)ptr);
+			REPORT("MSan: Uninitialized %s Memory In %s "
+			    "At Offset %zu/%zu, IP %p\n", typename, hook, off,
+			    size, (void *)ptr);
 		} else {
-			REPORT("MSan: Uninitialized %s Memory In %s() "
-			    "At Offset %zu, From %s()\n", typename, hook, off,
-			    sym);
+			REPORT("MSan: Uninitialized %s Memory In %s "
+			    "At Offset %zu/%zu, From %s()\n", typename, hook,
+			    off, size, sym);
 		}
 	} else {
 		var = (char *)ptr + 4;
@@ -187,7 +187,7 @@ kmsan_report_hook(const void *addr, size
 		var = buf;
 		fn = __builtin_strchr(buf, '@');
 		*fn++ = '\0';
-		REPORT("MSan: Uninitialized %s Memory In %s() At Offset "
+		REPORT("MSan: Uninitialized %s Memory In %s At Offset "
 		    "%zu, Variable '%s' From %s()\n", typename, hook, off,
 		    var, fn);
 	}
@@ -513,7 +513,7 @@ kmsan_check_mbuf(void *buf)
 	struct mbuf *m = buf;
 
 	do {
-		kmsan_shadow_check(mtod(m, void *), m->m_len, "if_transmit");
+		kmsan_shadow_check(mtod(m, void *), m->m_len, "if_transmit()");
 	} while ((m = m->m_next) != NULL);
 }
 
@@ -522,7 +522,7 @@ kmsan_check_buf(void *buf)
 {
 	buf_t *bp = buf;
 
-	kmsan_shadow_check(bp->b_data, bp->b_bcount, "bwrite");
+	kmsan_shadow_check(bp->b_data, bp->b_bcount, "bwrite()");
 }
 
 void
@@ -646,13 +646,14 @@ kmsan_memcmp(const void *b1, const void 
 	const uint8_t *_b1 = b1, *_b2 = b2;
 	size_t i;
 
-	kmsan_check_arg(sizeof(b1) + sizeof(b2) + sizeof(len), "memcmp");
+	kmsan_check_arg(sizeof(b1) + sizeof(b2) + sizeof(len),
+	    "memcmp():args");
 	kmsan_init_ret(sizeof(int));
 
 	for (i = 0; i < len; i++) {
 		if (*_b1 != *_b2) {
-			kmsan_shadow_check(b1, i + 1, "memcmp");
-			kmsan_shadow_check(b2, i + 1, "memcmp");
+			kmsan_shadow_check(b1, i + 1, "memcmp():arg1");
+			kmsan_shadow_check(b2, i + 1, "memcmp():arg2");
 			return *_b1 - *_b2;
 		}
 		_b1++, _b2++;
@@ -690,7 +691,7 @@ kmsan_strcpy(char *dst, const char *src)
 	char *_dst = dst;
 	size_t len = 0;
 
-	kmsan_check_arg(sizeof(dst) + sizeof(src), "strcpy");
+	kmsan_check_arg(sizeof(dst) + sizeof(src), "strcpy():args");
 
 	while (1) {
 		len++;
@@ -700,7 +701,7 @@ kmsan_strcpy(char *dst, const char *src)
 		src++, dst++;
 	}
 
-	kmsan_shadow_check(_src, len, "strcpy");
+	kmsan_shadow_check(_src, len, "strcpy():arg2");
 	kmsan_shadow_fill(_dst, KMSAN_STATE_INITED, len);
 	kmsan_init_ret(sizeof(char *));
 	return _dst;
@@ -712,7 +713,7 @@ kmsan_strcmp(const char *s1, const char 
 	const char *_s1 = s1, *_s2 = s2;
 	size_t len = 0;
 
-	kmsan_check_arg(sizeof(s1) + sizeof(s2), "strcmp");
+	kmsan_check_arg(sizeof(s1) + sizeof(s2), "strcmp():args");
 	kmsan_init_ret(sizeof(int));
 
 	while (1) {
@@ -720,15 +721,15 @@ kmsan_strcmp(const char *s1, const char 
 		if (*s1 != *s2)
 			break;
 		if (*s1 == '\0') {
-			kmsan_shadow_check(_s1, len, "strcmp");
-			kmsan_shadow_check(_s2, len, "strcmp");
+			kmsan_shadow_check(_s1, len, "strcmp():arg1");
+			kmsan_shadow_check(_s2, len, "strcmp():arg2");
 			return 0;
 		}
 		s1++, s2++;
 	}
 
-	kmsan_shadow_check(_s1, len, "strcmp");
-	kmsan_shadow_check(_s2, len, "strcmp");
+	kmsan_shadow_check(_s1, len, "strcmp():arg1");
+	kmsan_shadow_check(_s2, len, "strcmp():arg2");
 
 	return (*(const unsigned char *)s1 - *(const unsigned char *)s2);
 }
@@ -738,7 +739,7 @@ kmsan_strlen(const char *str)
 {
 	const char *s;
 
-	kmsan_check_arg(sizeof(str), "strlen");
+	kmsan_check_arg(sizeof(str), "strlen():args");
 
 	s = str;
 	while (1) {
@@ -747,7 +748,7 @@ kmsan_strlen(const char *str)
 		s++;
 	}
 
-	kmsan_shadow_check(str, (size_t)(s - str) + 1, "strlen");
+	kmsan_shadow_check(str, (size_t)(s - str) + 1, "strlen():arg1");
 	kmsan_init_ret(sizeof(size_t));
 	return (s - str);
 }
@@ -758,12 +759,12 @@ kmsan_strcat(char *dst, const char *src)
 	size_t ldst, lsrc;
 	char *ret;
 
-	kmsan_check_arg(sizeof(dst) + sizeof(src), "strcat");
+	kmsan_check_arg(sizeof(dst) + sizeof(src), "strcat():args");
 
 	ldst = __builtin_strlen(dst);
 	lsrc = __builtin_strlen(src);
-	kmsan_shadow_check(dst, ldst + 1, "strcat");
-	kmsan_shadow_check(src, lsrc + 1, "strcat");
+	kmsan_shadow_check(dst, ldst + 1, "strcat():arg1");
+	kmsan_shadow_check(src, lsrc + 1, "strcat():arg2");
 	ret = __builtin_strcat(dst, src);
 	kmsan_shadow_fill(dst, KMSAN_STATE_INITED, ldst + lsrc + 1);
 
@@ -776,8 +777,8 @@ kmsan_strchr(const char *s, int c)
 {
 	char *ret;
 
-	kmsan_check_arg(sizeof(s) + sizeof(c), "strchr");
-	kmsan_shadow_check(s, __builtin_strlen(s), "strchr");
+	kmsan_check_arg(sizeof(s) + sizeof(c), "strchr():args");
+	kmsan_shadow_check(s, __builtin_strlen(s), "strchr():arg1");
 	ret = __builtin_strchr(s, c);
 
 	kmsan_init_ret(sizeof(char *));
@@ -789,8 +790,8 @@ kmsan_strrchr(const char *s, int c)
 {
 	char *ret;
 
-	kmsan_check_arg(sizeof(s) + sizeof(c), "strrchr");
-	kmsan_shadow_check(s, __builtin_strlen(s), "strrchr");
+	kmsan_check_arg(sizeof(s) + sizeof(c), "strrchr():args");
+	kmsan_shadow_check(s, __builtin_strlen(s), "strrchr():arg1");
 	ret = __builtin_strrchr(s, c);
 
 	kmsan_init_ret(sizeof(char *));
@@ -821,7 +822,8 @@ int	copyoutstr(const void *, void *, siz
 int
 kmsan_kcopy(const void *src, void *dst, size_t len)
 {
-	kmsan_check_arg(sizeof(src) + sizeof(dst) + sizeof(len), "kcopy");
+	kmsan_check_arg(sizeof(src) + sizeof(dst) + sizeof(len),
+	    "kcopy():args");
 	if (__predict_true(len != 0)) {
 		kmsan_meta_copy(dst, src, len);
 	}
@@ -836,7 +838,7 @@ kmsan_copystr(const void *kfaddr, void *
 	int ret;
 
 	kmsan_check_arg(sizeof(kfaddr) + sizeof(kdaddr) +
-	    sizeof(len) + sizeof(done), "copystr");
+	    sizeof(len) + sizeof(done), "copystr():args");
 	ret = copystr(kfaddr, kdaddr, len, &_done);
 	if (ret == 0)
 		kmsan_meta_copy(kdaddr, kfaddr, _done);
@@ -854,7 +856,8 @@ kmsan_copyin(const void *uaddr, void *ka
 {
 	int ret;
 
-	kmsan_check_arg(sizeof(uaddr) + sizeof(kaddr) + sizeof(len), "copyin");
+	kmsan_check_arg(sizeof(uaddr) + sizeof(kaddr) + sizeof(len),
+	    "copyin():args");
 	ret = copyin(uaddr, kaddr, len);
 	if (ret == 0)
 		kmsan_shadow_fill(kaddr, KMSAN_STATE_INITED, len);
@@ -866,8 +869,9 @@ kmsan_copyin(const void *uaddr, void *ka
 int
 kmsan_copyout(const void *kaddr, void *uaddr, size_t len)
 {
-	kmsan_check_arg(sizeof(kaddr) + sizeof(uaddr) + sizeof(len), "copyout");
-	kmsan_shadow_check(kaddr, len, "copyout");
+	kmsan_check_arg(sizeof(kaddr) + sizeof(uaddr) + sizeof(len),
+	    "copyout():args");
+	kmsan_shadow_check(kaddr, len, "copyout():arg1");
 	kmsan_init_ret(sizeof(int));
 	return copyout(kaddr, uaddr, len);
 }
@@ -879,7 +883,7 @@ kmsan_copyinstr(const void *uaddr, void 
 	int ret;
 
 	kmsan_check_arg(sizeof(uaddr) + sizeof(kaddr) +
-	    sizeof(len) + sizeof(done), "copyinstr");
+	    sizeof(len) + sizeof(done), "copyinstr():args");
 	ret = copyinstr(uaddr, kaddr, len, &_done);
 	if (ret == 0)
 		kmsan_shadow_fill(kaddr, KMSAN_STATE_INITED, _done);
@@ -899,9 +903,9 @@ kmsan_copyoutstr(const void *kaddr, void
 	int ret;
 
 	kmsan_check_arg(sizeof(kaddr) + sizeof(uaddr) +
-	    sizeof(len) + sizeof(done), "copyoutstr");
+	    sizeof(len) + sizeof(done), "copyoutstr():args");
 	ret = copyoutstr(kaddr, uaddr, len, &_done);
-	kmsan_shadow_check(kaddr, _done, "copyoutstr");
+	kmsan_shadow_check(kaddr, _done, "copyoutstr():arg1");
 	if (done != NULL) {
 		*done = _done;
 		kmsan_shadow_fill(done, KMSAN_STATE_INITED, sizeof(size_t));
@@ -934,7 +938,7 @@ kmsan__ucas_32(volatile uint32_t *uaddr,
 {
 	int _ret;
 	kmsan_check_arg(sizeof(uaddr) + sizeof(old) +
-	    sizeof(new) + sizeof(ret), "ucas_32");
+	    sizeof(new) + sizeof(ret), "ucas_32():args");
 	_ret = _ucas_32(uaddr, old, new, ret);
 	if (_ret == 0)
 		kmsan_shadow_fill(ret, KMSAN_STATE_INITED, sizeof(*ret));
@@ -951,7 +955,7 @@ kmsan__ucas_32_mp(volatile uint32_t *uad
 {
 	int _ret;
 	kmsan_check_arg(sizeof(uaddr) + sizeof(old) +
-	    sizeof(new) + sizeof(ret), "ucas_32_mp");
+	    sizeof(new) + sizeof(ret), "ucas_32_mp():args");
 	_ret = _ucas_32_mp(uaddr, old, new, ret);
 	if (_ret == 0)
 		kmsan_shadow_fill(ret, KMSAN_STATE_INITED, sizeof(*ret));
@@ -969,7 +973,7 @@ kmsan__ucas_64(volatile uint64_t *uaddr,
 {
 	int _ret;
 	kmsan_check_arg(sizeof(uaddr) + sizeof(old) +
-	    sizeof(new) + sizeof(ret), "ucas_64");
+	    sizeof(new) + sizeof(ret), "ucas_64():args");
 	_ret = _ucas_64(uaddr, old, new, ret);
 	if (_ret == 0)
 		kmsan_shadow_fill(ret, KMSAN_STATE_INITED, sizeof(*ret));
@@ -986,7 +990,7 @@ kmsan__ucas_64_mp(volatile uint64_t *uad
 {
 	int _ret;
 	kmsan_check_arg(sizeof(uaddr) + sizeof(old) +
-	    sizeof(new) + sizeof(ret), "ucas_64_mp");
+	    sizeof(new) + sizeof(ret), "ucas_64_mp():args");
 	_ret = _ucas_64_mp(uaddr, old, new, ret);
 	if (_ret == 0)
 		kmsan_shadow_fill(ret, KMSAN_STATE_INITED, sizeof(*ret));
@@ -1002,7 +1006,7 @@ int
 kmsan__ufetch_8(const uint8_t *uaddr, uint8_t *valp)
 {
 	int _ret;
-	kmsan_check_arg(sizeof(uaddr) + sizeof(valp), "ufetch_8");
+	kmsan_check_arg(sizeof(uaddr) + sizeof(valp), "ufetch_8():args");
 	_ret = _ufetch_8(uaddr, valp);
 	if (_ret == 0)
 		kmsan_shadow_fill(valp, KMSAN_STATE_INITED, sizeof(*valp));
@@ -1016,7 +1020,7 @@ int
 kmsan__ufetch_16(const uint16_t *uaddr, uint16_t *valp)
 {
 	int _ret;
-	kmsan_check_arg(sizeof(uaddr) + sizeof(valp), "ufetch_16");
+	kmsan_check_arg(sizeof(uaddr) + sizeof(valp), "ufetch_16():args");
 	_ret = _ufetch_16(uaddr, valp);
 	if (_ret == 0)
 		kmsan_shadow_fill(valp, KMSAN_STATE_INITED, sizeof(*valp));
@@ -1030,7 +1034,7 @@ int
 kmsan__ufetch_32(const uint32_t *uaddr, uint32_t *valp)
 {
 	int _ret;
-	kmsan_check_arg(sizeof(uaddr) + sizeof(valp), "ufetch_32");
+	kmsan_check_arg(sizeof(uaddr) + sizeof(valp), "ufetch_32():args");
 	_ret = _ufetch_32(uaddr, valp);
 	if (_ret == 0)
 		kmsan_shadow_fill(valp, KMSAN_STATE_INITED, sizeof(*valp));
@@ -1045,7 +1049,7 @@ int
 kmsan__ufetch_64(const uint64_t *uaddr, uint64_t *valp)
 {
 	int _ret;
-	kmsan_check_arg(sizeof(uaddr) + sizeof(valp), "ufetch_64");
+	kmsan_check_arg(sizeof(uaddr) + sizeof(valp), "ufetch_64():args");
 	_ret = _ufetch_64(uaddr, valp);
 	if (_ret == 0)
 		kmsan_shadow_fill(valp, KMSAN_STATE_INITED, sizeof(*valp));
@@ -1059,7 +1063,7 @@ int kmsan__ustore_8(uint8_t *, uint8_t);
 int
 kmsan__ustore_8(uint8_t *uaddr, uint8_t val)
 {
-	kmsan_check_arg(sizeof(uaddr) + sizeof(val), "ustore_8");
+	kmsan_check_arg(sizeof(uaddr) + sizeof(val), "ustore_8():args");
 	kmsan_init_ret(sizeof(int));
 	return _ustore_8(uaddr, val);
 }
@@ -1069,7 +1073,7 @@ int kmsan__ustore_16(uint16_t *, uint16_
 int
 kmsan__ustore_16(uint16_t *uaddr, uint16_t val)
 {
-	kmsan_check_arg(sizeof(uaddr) + sizeof(val), "ustore_16");
+	kmsan_check_arg(sizeof(uaddr) + sizeof(val), "ustore_16():args");
 	kmsan_init_ret(sizeof(int));
 	return _ustore_16(uaddr, val);
 }
@@ -1079,7 +1083,7 @@ int kmsan__ustore_32(uint32_t *, uint32_
 int
 kmsan__ustore_32(uint32_t *uaddr, uint32_t val)
 {
-	kmsan_check_arg(sizeof(uaddr) + sizeof(val), "ustore_32");
+	kmsan_check_arg(sizeof(uaddr) + sizeof(val), "ustore_32():args");
 	kmsan_init_ret(sizeof(int));
 	return _ustore_32(uaddr, val);
 }
@@ -1090,7 +1094,7 @@ int kmsan__ustore_64(uint64_t *, uint64_
 int
 kmsan__ustore_64(uint64_t *uaddr, uint64_t val)
 {
-	kmsan_check_arg(sizeof(uaddr) + sizeof(val), "ustore_64");
+	kmsan_check_arg(sizeof(uaddr) + sizeof(val), "ustore_64():args");
 	kmsan_init_ret(sizeof(int));
 	return _ustore_64(uaddr, val);
 }
@@ -1165,38 +1169,43 @@ kmsan__ustore_64(uint64_t *uaddr, uint64
 	void kmsan_atomic_add_##name(volatile targ1 *, targ2); \
 	void kmsan_atomic_add_##name(volatile targ1 *ptr, targ2 val) \
 	{ \
-		kmsan_check_arg(sizeof(ptr) + sizeof(val), __func__); \
+		kmsan_check_arg(sizeof(ptr) + sizeof(val), \
+		    "atomic_add_" #name "():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_add_" #name "():arg1"); \
 		atomic_add_##name(ptr, val); \
 	} \
 	tret atomic_add_##name##_nv(volatile targ1 *, targ2); \
 	tret kmsan_atomic_add_##name##_nv(volatile targ1 *, targ2); \
 	tret kmsan_atomic_add_##name##_nv(volatile targ1 *ptr, targ2 val) \
 	{ \
-		kmsan_check_arg(sizeof(ptr) + sizeof(val), __func__); \
+		kmsan_check_arg(sizeof(ptr) + sizeof(val), \
+		    "atomic_add_" #name "_nv():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_add_" #name "_nv():arg1"); \
 		kmsan_init_ret(sizeof(tret)); \
 		return atomic_add_##name##_nv(ptr, val); \
 	}
+
 #define MSAN_ATOMIC_FUNC_AND(name, tret, targ1, targ2) \
 	void atomic_and_##name(volatile targ1 *, targ2); \
 	void kmsan_atomic_and_##name(volatile targ1 *, targ2); \
 	void kmsan_atomic_and_##name(volatile targ1 *ptr, targ2 val) \
 	{ \
-		kmsan_check_arg(sizeof(ptr) + sizeof(val), __func__); \
+		kmsan_check_arg(sizeof(ptr) + sizeof(val), \
+		    "atomic_and_" #name "():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_and_" #name "():arg1"); \
 		atomic_and_##name(ptr, val); \
 	} \
 	tret atomic_and_##name##_nv(volatile targ1 *, targ2); \
 	tret kmsan_atomic_and_##name##_nv(volatile targ1 *, targ2); \
 	tret kmsan_atomic_and_##name##_nv(volatile targ1 *ptr, targ2 val) \
 	{ \
-		kmsan_check_arg(sizeof(ptr) + sizeof(val), __func__); \
+		kmsan_check_arg(sizeof(ptr) + sizeof(val), \
+		    "atomic_and_" #name "_nv():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_and_" #name "_nv():arg1"); \
 		kmsan_init_ret(sizeof(tret)); \
 		return atomic_and_##name##_nv(ptr, val); \
 	}
@@ -1206,18 +1215,20 @@ kmsan__ustore_64(uint64_t *uaddr, uint64
 	void kmsan_atomic_or_##name(volatile targ1 *, targ2); \
 	void kmsan_atomic_or_##name(volatile targ1 *ptr, targ2 val) \
 	{ \
-		kmsan_check_arg(sizeof(ptr) + sizeof(val), __func__); \
+		kmsan_check_arg(sizeof(ptr) + sizeof(val), \
+		    "atomic_or_" #name "():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_or_" #name "():arg1"); \
 		atomic_or_##name(ptr, val); \
 	} \
 	tret atomic_or_##name##_nv(volatile targ1 *, targ2); \
 	tret kmsan_atomic_or_##name##_nv(volatile targ1 *, targ2); \
 	tret kmsan_atomic_or_##name##_nv(volatile targ1 *ptr, targ2 val) \
 	{ \
-		kmsan_check_arg(sizeof(ptr) + sizeof(val), __func__); \
+		kmsan_check_arg(sizeof(ptr) + sizeof(val), \
+		    "atomic_or_" #name "_nv():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_or_" #name "_nv():arg1"); \
 		kmsan_init_ret(sizeof(tret)); \
 		return atomic_or_##name##_nv(ptr, val); \
 	}
@@ -1228,9 +1239,9 @@ kmsan__ustore_64(uint64_t *uaddr, uint64
 	tret kmsan_atomic_cas_##name(volatile targ1 *ptr, targ2 exp, targ2 new) \
 	{ \
 		kmsan_check_arg(sizeof(ptr) + sizeof(exp) + sizeof(new), \
-		    __func__); \
+		    "atomic_cas_" #name "():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_cas_" #name "():arg1"); \
 		kmsan_init_ret(sizeof(tret)); \
 		return atomic_cas_##name(ptr, exp, new); \
 	} \
@@ -1239,9 +1250,9 @@ kmsan__ustore_64(uint64_t *uaddr, uint64
 	tret kmsan_atomic_cas_##name##_ni(volatile targ1 *ptr, targ2 exp, targ2 new) \
 	{ \
 		kmsan_check_arg(sizeof(ptr) + sizeof(exp) + sizeof(new), \
-		    __func__); \
+		    "atomic_cas_" #name "_ni():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_cas_" #name "_ni():arg1"); \
 		kmsan_init_ret(sizeof(tret)); \
 		return atomic_cas_##name##_ni(ptr, exp, new); \
 	}
@@ -1251,9 +1262,10 @@ kmsan__ustore_64(uint64_t *uaddr, uint64
 	tret kmsan_atomic_swap_##name(volatile targ1 *, targ2); \
 	tret kmsan_atomic_swap_##name(volatile targ1 *ptr, targ2 val) \
 	{ \
-		kmsan_check_arg(sizeof(ptr) + sizeof(val), __func__); \
+		kmsan_check_arg(sizeof(ptr) + sizeof(val), \
+		    "atomic_swap_" #name "():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_swap_" #name "():arg1"); \
 		kmsan_init_ret(sizeof(tret)); \
 		return atomic_swap_##name(ptr, val); \
 	}
@@ -1263,18 +1275,20 @@ kmsan__ustore_64(uint64_t *uaddr, uint64
 	void kmsan_atomic_dec_##name(volatile targ1 *); \
 	void kmsan_atomic_dec_##name(volatile targ1 *ptr) \
 	{ \
-		kmsan_check_arg(sizeof(ptr), __func__); \
+		kmsan_check_arg(sizeof(ptr), \
+		    "atomic_dec_" #name "():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_dec_" #name "():arg1"); \
 		atomic_dec_##name(ptr); \
 	} \
 	tret atomic_dec_##name##_nv(volatile targ1 *); \
 	tret kmsan_atomic_dec_##name##_nv(volatile targ1 *); \
 	tret kmsan_atomic_dec_##name##_nv(volatile targ1 *ptr) \
 	{ \
-		kmsan_check_arg(sizeof(ptr), __func__); \
+		kmsan_check_arg(sizeof(ptr), \
+		    "atomic_dec_" #name "_nv():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_dec_" #name "_nv():arg1"); \
 		kmsan_init_ret(sizeof(tret)); \
 		return atomic_dec_##name##_nv(ptr); \
 	}
@@ -1284,18 +1298,20 @@ kmsan__ustore_64(uint64_t *uaddr, uint64
 	void kmsan_atomic_inc_##name(volatile targ1 *); \
 	void kmsan_atomic_inc_##name(volatile targ1 *ptr) \
 	{ \
-		kmsan_check_arg(sizeof(ptr), __func__); \
+		kmsan_check_arg(sizeof(ptr), \
+		    "atomic_inc_" #name "():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_inc_" #name "():arg1"); \
 		atomic_inc_##name(ptr); \
 	} \
 	tret atomic_inc_##name##_nv(volatile targ1 *); \
 	tret kmsan_atomic_inc_##name##_nv(volatile targ1 *); \
 	tret kmsan_atomic_inc_##name##_nv(volatile targ1 *ptr) \
 	{ \
-		kmsan_check_arg(sizeof(ptr), __func__); \
+		kmsan_check_arg(sizeof(ptr), \
+		    "atomic_inc_" #name "_nv():args"); \
 		kmsan_shadow_check((const void *)(uintptr_t)ptr, sizeof(tret), \
-		    __func__); \
+		    "atomic_inc_" #name "_nv():arg1"); \
 		kmsan_init_ret(sizeof(tret)); \
 		return atomic_inc_##name##_nv(ptr); \
 	}
@@ -1443,7 +1459,7 @@ MSAN_BUS_READ_FUNC(8, 64)
 	    bus_size_t count)							\
 	{									\
 		kmsan_shadow_check(buf, sizeof(uint##bits##_t) * count,		\
-		    "bus_space_write");						\
+		    "bus_space_write()");					\
 		bus_space_write_multi_##bytes(tag, hnd, size, buf, count);	\
 	}									\
 	void bus_space_write_multi_stream_##bytes(bus_space_tag_t,		\
@@ -1455,7 +1471,7 @@ MSAN_BUS_READ_FUNC(8, 64)
 	    bus_size_t count)							\
 	{									\
 		kmsan_shadow_check(buf, sizeof(uint##bits##_t) * count,		\
-		    "bus_space_write");						\
+		    "bus_space_write()");					\
 		bus_space_write_multi_stream_##bytes(tag, hnd, size, buf, count);\
 	}									\
 	void bus_space_write_region_##bytes(bus_space_tag_t, bus_space_handle_t,\
@@ -1467,7 +1483,7 @@ MSAN_BUS_READ_FUNC(8, 64)
 	    bus_size_t count)							\
 	{									\
 		kmsan_shadow_check(buf, sizeof(uint##bits##_t) * count,		\
-		    "bus_space_write");						\
+		    "bus_space_write()");					\
 		bus_space_write_region_##bytes(tag, hnd, size, buf, count);	\
 	}									\
 	void bus_space_write_region_stream_##bytes(bus_space_tag_t,		\
@@ -1479,7 +1495,7 @@ MSAN_BUS_READ_FUNC(8, 64)
 	    bus_size_t count)							\
 	{									\
 		kmsan_shadow_check(buf, sizeof(uint##bits##_t) * count,		\
-		    "bus_space_write");						\
+		    "bus_space_write()");					\
 		bus_space_write_region_stream_##bytes(tag, hnd, size, buf, count);\
 	}
 
@@ -1499,7 +1515,7 @@ kmsan_dma_sync_linear(uint8_t *buf, bus_
 	if (init) {
 		kmsan_shadow_fill(buf + offset, KMSAN_STATE_INITED, len);
 	} else {
-		kmsan_shadow_check(buf + offset, len, "dma_sync_linear");
+		kmsan_shadow_check(buf + offset, len, "LinearDmaSyncOp");
 	}
 }
 
@@ -1522,7 +1538,7 @@ kmsan_dma_sync_mbuf(struct mbuf *m, bus_
 			    KMSAN_STATE_INITED, minlen);
 		} else {
 			kmsan_shadow_check(mtod(m, char *) + offset,
-			    minlen, "dma_sync_mbuf");
+			    minlen, "MbufDmaSyncOp");
 		}
 
 		offset = 0;
@@ -1552,7 +1568,7 @@ kmsan_dma_sync_uio(struct uio *uio, bus_
 			    KMSAN_STATE_INITED, minlen);
 		} else {
 			kmsan_shadow_check(iov[i].iov_base, minlen,
-			    "dma_sync_uio");
+			    "UioDmaSyncOp");
 		}
 
 		resid -= minlen;

Reply via email to