Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 May 2022 22:11:41 GMT
From:      Justin Hibbits <jhibbits@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 9171b8068b92 - stable/13 - cpuset: Fix the KASAN and KMSAN builds
Message-ID:  <202205232211.24NMBf1B094692@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by jhibbits:

URL: https://cgit.FreeBSD.org/src/commit/?id=9171b8068b929fd3c87f6e903c401571f75971d3

commit 9171b8068b929fd3c87f6e903c401571f75971d3
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2022-05-20 14:11:31 +0000
Commit:     Justin Hibbits <jhibbits@FreeBSD.org>
CommitDate: 2022-05-23 22:11:22 +0000

    cpuset: Fix the KASAN and KMSAN builds
    
    Rename the "copyin" and "copyout" fields of struct cpuset_copy_cb to
    something less generic, since sanitizers define interceptors for
    copyin() and copyout() using #define.
    
    Reported by:    syzbot+2db5d644097fc698fb6f@syzkaller.appspotmail.com
    Fixes:  47a57144af25 ("cpuset: Byte swap cpuset for compat32 on big endian architectures")
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 4a3e51335e86cee02569c04b9f1e95ca9abcb170)
---
 sys/compat/freebsd32/freebsd32_misc.c |  4 ++--
 sys/compat/linux/linux_misc.c         |  4 ++--
 sys/kern/kern_cpuset.c                | 10 +++++-----
 sys/sys/cpuset.h                      |  4 ++--
 4 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c
index af5d91d59fbc..d213cf8a26a5 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -3303,8 +3303,8 @@ copyout32_set(const void *k, void *u, size_t size)
 }
 
 static const struct cpuset_copy_cb cpuset_copy32_cb = {
-	.copyin = copyin32_set,
-	.copyout = copyout32_set
+	.cpuset_copyin = copyin32_set,
+	.cpuset_copyout = copyout32_set
 };
 
 int
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index e45a72ecebb7..98be575b7b6c 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -2173,8 +2173,8 @@ linux_sched_getparam(struct thread *td,
 }
 
 static const struct cpuset_copy_cb copy_set = {
-	.copyin = copyin,
-	.copyout = copyout
+	.cpuset_copyin = copyin,
+	.cpuset_copyout = copyout
 };
 
 /*
diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c
index 9c81dd7a7874..97e09557f08f 100644
--- a/sys/kern/kern_cpuset.c
+++ b/sys/kern/kern_cpuset.c
@@ -1742,8 +1742,8 @@ cpuset_check_capabilities(struct thread *td, cpulevel_t level, cpuwhich_t which,
 }
 
 static const struct cpuset_copy_cb copy_set = {
-	.copyin = copyin,
-	.copyout = copyout
+	.cpuset_copyin = copyin,
+	.cpuset_copyout = copyout
 };
 
 #ifndef _SYS_SYSPROTO_H_
@@ -1979,7 +1979,7 @@ kern_cpuset_getaffinity(struct thread *td, cpulevel_t level, cpuwhich_t which,
 	if (p)
 		PROC_UNLOCK(p);
 	if (error == 0)
-		error = cb->copyout(mask, maskp, size);
+		error = cb->cpuset_copyout(mask, maskp, size);
 out:
 	free(mask, M_TEMP);
 	return (error);
@@ -2229,7 +2229,7 @@ kern_cpuset_getdomain(struct thread *td, cpulevel_t level, cpuwhich_t which,
 	}
 	DOMAINSET_COPY(&outset.ds_mask, mask);
 	if (error == 0)
-		error = cb->copyout(mask, maskp, domainsetsize);
+		error = cb->cpuset_copyout(mask, maskp, domainsetsize);
 	if (error == 0)
 		if (suword32(policyp, outset.ds_policy) != 0)
 			error = EFAULT;
@@ -2280,7 +2280,7 @@ kern_cpuset_setdomain(struct thread *td, cpulevel_t level, cpuwhich_t which,
 		return (error);
 	memset(&domain, 0, sizeof(domain));
 	mask = malloc(domainsetsize, M_TEMP, M_WAITOK | M_ZERO);
-	error = cb->copyin(maskp, mask, domainsetsize);
+	error = cb->cpuset_copyin(maskp, mask, domainsetsize);
 	if (error)
 		goto out;
 	/*
diff --git a/sys/sys/cpuset.h b/sys/sys/cpuset.h
index 4f55cdc27103..5df5cff6497b 100644
--- a/sys/sys/cpuset.h
+++ b/sys/sys/cpuset.h
@@ -159,8 +159,8 @@ struct thread;
  * ABIs, like compat32.
  */
 struct cpuset_copy_cb {
-	int (*copyin)(const void *, void *, size_t);
-	int (*copyout)(const void *, void *, size_t);
+	int (*cpuset_copyin)(const void *, void *, size_t);
+	int (*cpuset_copyout)(const void *, void *, size_t);
 };
 
 struct cpuset *cpuset_thread0(void);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202205232211.24NMBf1B094692>