git: 3fcbde5e883a - main - tests/sys/fs/fusefs/read.cc: fix build on powerpc64

Konstantin Belousov kib at FreeBSD.org
Thu Sep 23 00:51:37 UTC 2021


The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=3fcbde5e883a253f631082b128dcdf77c840d4c0

commit 3fcbde5e883a253f631082b128dcdf77c840d4c0
Author:     Konstantin Belousov <kib at FreeBSD.org>
AuthorDate: 2021-09-22 22:47:10 +0000
Commit:     Konstantin Belousov <kib at FreeBSD.org>
CommitDate: 2021-09-23 00:51:10 +0000

    tests/sys/fs/fusefs/read.cc: fix build on powerpc64
    
    There sig_atomic_t is shorter than void *.
    As result, it cannot keep pointer.
    
    Assigning to void * is actually safe for us in a signal handler.
    
    Reviewed by:    asomers
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Fixes:  4f917847c9037d
    Differential revision:  https://reviews.freebsd.org/D32064
---
 tests/sys/fs/fusefs/read.cc | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tests/sys/fs/fusefs/read.cc b/tests/sys/fs/fusefs/read.cc
index cb82d0a43b06..3cba564affcf 100644
--- a/tests/sys/fs/fusefs/read.cc
+++ b/tests/sys/fs/fusefs/read.cc
@@ -109,7 +109,7 @@ class ReadSigbus: public Read
 {
 public:
 static jmp_buf s_jmpbuf;
-static sig_atomic_t s_si_addr;
+static void *s_si_addr;
 
 void TearDown() {
 	struct sigaction sa;
@@ -125,12 +125,12 @@ void TearDown() {
 
 static void
 handle_sigbus(int signo __unused, siginfo_t *info, void *uap __unused) {
-	ReadSigbus::s_si_addr = (sig_atomic_t)info->si_addr;
+	ReadSigbus::s_si_addr = info->si_addr;
 	longjmp(ReadSigbus::s_jmpbuf, 1);
 }
 
 jmp_buf ReadSigbus::s_jmpbuf;
-sig_atomic_t ReadSigbus::s_si_addr;
+void *ReadSigbus::s_si_addr;
 
 /* AIO reads need to set the header's pid field correctly */
 /* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236379 */
@@ -658,7 +658,7 @@ TEST_F(ReadSigbus, mmap_eio)
 		FAIL() << "shouldn't get here";
 	}
 
-	ASSERT_EQ(p, (void*)ReadSigbus::s_si_addr);
+	ASSERT_EQ(p, ReadSigbus::s_si_addr);
 	ASSERT_EQ(0, munmap(p, len)) << strerror(errno);
 	leak(fd);
 }
@@ -785,7 +785,7 @@ TEST_F(ReadSigbus, mmap_getblksz_fail)
 		FAIL() << "shouldn't get here";
 	}
 
-	ASSERT_EQ(p, (void*)ReadSigbus::s_si_addr);
+	ASSERT_EQ(p, ReadSigbus::s_si_addr);
 	ASSERT_EQ(0, munmap(p, len)) << strerror(errno);
 	leak(fd);
 }


More information about the dev-commits-src-all mailing list