The branch main has been updated by markj:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=4a3e51335e86cee02569c04b9f1e95ca9abcb170

commit 4a3e51335e86cee02569c04b9f1e95ca9abcb170
Author:     Mark Johnston <ma...@freebsd.org>
AuthorDate: 2022-05-20 14:11:31 +0000
Commit:     Mark Johnston <ma...@freebsd.org>
CommitDate: 2022-05-20 14:34:25 +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+2db5d644097fc698f...@syzkaller.appspotmail.com
    Fixes:  47a57144af25 ("cpuset: Byte swap cpuset for compat32 on big endian 
architectures")
    Sponsored by:   The FreeBSD Foundation
---
 sys/compat/freebsd32/freebsd32_misc.c |  4 ++--
 sys/compat/linux/linux_misc.c         |  4 ++--
 sys/kern/kern_cpuset.c                | 12 ++++++------
 sys/sys/cpuset.h                      |  4 ++--
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/sys/compat/freebsd32/freebsd32_misc.c 
b/sys/compat/freebsd32/freebsd32_misc.c
index d4206fdd24aa..46e4ffb39525 100644
--- a/sys/compat/freebsd32/freebsd32_misc.c
+++ b/sys/compat/freebsd32/freebsd32_misc.c
@@ -3364,8 +3364,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 652a9b4b5067..7ea4b8481220 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -2240,8 +2240,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 e21ec146bb00..a5c644687241 100644
--- a/sys/kern/kern_cpuset.c
+++ b/sys/kern/kern_cpuset.c
@@ -1744,8 +1744,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_
@@ -1983,7 +1983,7 @@ kern_cpuset_getaffinity(struct thread *td, cpulevel_t 
level, cpuwhich_t which,
                        goto out;
                }
                size = min(cpusetsize, sizeof(cpuset_t));
-               error = cb->copyout(mask, maskp, size);
+               error = cb->cpuset_copyout(mask, maskp, size);
                if (error != 0)
                        goto out;
                if (cpusetsize > size) {
@@ -2123,7 +2123,7 @@ user_cpuset_setaffinity(struct thread *td, cpulevel_t 
level, cpuwhich_t which,
 
        size = min(cpusetsize, sizeof(cpuset_t));
        mask = malloc(sizeof(cpuset_t), M_TEMP, M_WAITOK | M_ZERO);
-       error = cb->copyin(maskp, mask, size);
+       error = cb->cpuset_copyin(maskp, mask, size);
        if (error)
                goto out;
        /*
@@ -2275,7 +2275,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;
@@ -2326,7 +2326,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);

Reply via email to