]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests/user_events: fix type cast for write_index packed member in perf_test
authorAnkit Khushwaha <ankitkhushwaha.linux@gmail.com>
Thu, 6 Nov 2025 09:55:32 +0000 (15:25 +0530)
committerAndrew Morton <akpm@linux-foundation.org>
Sat, 15 Nov 2025 18:52:02 +0000 (10:52 -0800)
Accessing 'reg.write_index' directly triggers a -Waddress-of-packed-member
warning due to potential unaligned pointer access:

perf_test.c:239:38: warning: taking address of packed member 'write_index'
of class or structure 'user_reg' may result in an unaligned pointer value
[-Waddress-of-packed-member]
  239 |         ASSERT_NE(-1, write(self->data_fd, &reg.write_index,
      |                                             ^~~~~~~~~~~~~~~

Since write(2) works with any alignment. Casting '&reg.write_index'
explicitly to 'void *' to suppress this warning.

Link: https://lkml.kernel.org/r/20251106095532.15185-1-ankitkhushwaha.linux@gmail.com
Fixes: 42187bdc3ca4 ("selftests/user_events: Add perf self-test for empty arguments events")
Signed-off-by: Ankit Khushwaha <ankitkhushwaha.linux@gmail.com>
Cc: Beau Belgrave <beaub@linux.microsoft.com>
Cc: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: sunliming <sunliming@kylinos.cn>
Cc: Wei Yang <richard.weiyang@gmail.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/selftests/user_events/perf_test.c

index 5288e768b207a9c57fa7ca020f7560cda4d1bc51..68625362add283f65cba64f2fe219c03e112cad8 100644 (file)
@@ -236,7 +236,7 @@ TEST_F(user, perf_empty_events) {
        ASSERT_EQ(1 << reg.enable_bit, self->check);
 
        /* Ensure write shows up at correct offset */
-       ASSERT_NE(-1, write(self->data_fd, &reg.write_index,
+       ASSERT_NE(-1, write(self->data_fd, (void *)&reg.write_index,
                                        sizeof(reg.write_index)));
        val = (void *)(((char *)perf_page) + perf_page->data_offset);
        ASSERT_EQ(PERF_RECORD_SAMPLE, *val);