]> sourceware.org Git - valgrind.git/commitdiff
Bug 170510 - Don't warn about ioctl of size 0 without direction hint
authorPaul Floyd <pjfloyd@wanadoo.fr>
Thu, 10 Nov 2022 21:31:07 +0000 (22:31 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Thu, 10 Nov 2022 21:31:07 +0000 (22:31 +0100)
Apply this to generic and update the message on all platforms.

NEWS
coregrind/m_syswrap/syswrap-freebsd.c
coregrind/m_syswrap/syswrap-generic.c
none/tests/ioctl_moans.stderr.exp

diff --git a/NEWS b/NEWS
index 208d8afab72091961379a6c3550e7244ed1c341f..fe94546fbd66a83fd6116e76d7ff0449c0dc616b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -20,7 +20,8 @@ bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
 than mailing the developers (or mailing lists) directly -- bugs that
 are not entered into bugzilla tend to get forgotten about or ignored.
 
-444110 priv/guest_ppc_toIR.c:36198:31: warning: duplicated 'if' condition.
+170510  Don't warn about ioctl of size 0 without direction hint
+444110  priv/guest_ppc_toIR.c:36198:31: warning: duplicated 'if' condition.
 
 To see details of a given bug, visit
   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
index 0fad6aa8443c374c9d58298d0e971e893a6941b5..0dc76854ef6655b23aa884a45e380cce0a57804c 100644 (file)
@@ -1013,7 +1013,7 @@ PRE(sys_ioctl)
       * drivers with a large number of strange ioctl
       * commands becomes very tiresome.
       */
-   } else if ((dir == _VKI_IOC_NONE) && size > 0) {
+   } else if (dir == _VKI_IOC_NONE && size > 0) {
       static UWord unknown_ioctl[10];
       static Int moans = sizeof(unknown_ioctl) / sizeof(unknown_ioctl[0]);
       if (moans > 0 && !VG_(clo_xml)) {
@@ -1026,11 +1026,10 @@ PRE(sys_ioctl)
                unknown_ioctl[i] = ARG2;
                moans--;
                VG_(umsg)("Warning: noted but unhandled ioctl 0x%lx"
-                         " with no size/direction hints.\n", ARG2);
+                         " with no direction hints.\n", ARG2);
                VG_(umsg)("   This could cause spurious value errors to appear.\n");
                VG_(umsg)("   See README_MISSING_SYSCALL_OR_IOCTL for "
                          "guidance on writing a proper wrapper.\n" );
-               //VG_(get_and_pp_StackTrace)(tid, VG_(clo_backtrace_size));
                return;
             }
          }
index 7d11ff4064ebf1063d3d91e6737bd142282aa2bf..f0796f8ebc5acfce711234f5724345b343e798d7 100644 (file)
@@ -3795,7 +3795,7 @@ void ML_(PRE_unknown_ioctl)(ThreadId tid, UWord request, UWord arg)
        * drivers with a large number of strange ioctl
        * commands becomes very tiresome.
        */
-   } else if (/* size == 0 || */ dir == _VKI_IOC_NONE) {
+   } else if (dir == _VKI_IOC_NONE && size > 0) {
       static UWord unknown_ioctl[10];
       static Int moans = sizeof(unknown_ioctl) / sizeof(unknown_ioctl[0]);
 
@@ -3809,7 +3809,7 @@ void ML_(PRE_unknown_ioctl)(ThreadId tid, UWord request, UWord arg)
                unknown_ioctl[i] = request;
                moans--;
                VG_(umsg)("Warning: noted but unhandled ioctl 0x%lx"
-                         " with no size/direction hints.\n", request);
+                         " with no direction hints.\n", request);
                VG_(umsg)("   This could cause spurious value errors to appear.\n");
                VG_(umsg)("   See README_MISSING_SYSCALL_OR_IOCTL for "
                          "guidance on writing a proper wrapper.\n" );
index 2a1ac04ce10bef0507c61716a373932e78b0ab8c..4d7912e4a1d1d36e0794885d880d20d1588841e4 100644 (file)
@@ -1,30 +1,30 @@
-Warning: noted but unhandled ioctl 0x.2345670 with no size/direction hints.
+Warning: noted but unhandled ioctl 0x.2345670 with no direction hints.
    This could cause spurious value errors to appear.
    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
-Warning: noted but unhandled ioctl 0x.2345671 with no size/direction hints.
+Warning: noted but unhandled ioctl 0x.2345671 with no direction hints.
    This could cause spurious value errors to appear.
    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
-Warning: noted but unhandled ioctl 0x.2345672 with no size/direction hints.
+Warning: noted but unhandled ioctl 0x.2345672 with no direction hints.
    This could cause spurious value errors to appear.
    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
-Warning: noted but unhandled ioctl 0x.2345673 with no size/direction hints.
+Warning: noted but unhandled ioctl 0x.2345673 with no direction hints.
    This could cause spurious value errors to appear.
    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
-Warning: noted but unhandled ioctl 0x.2345674 with no size/direction hints.
+Warning: noted but unhandled ioctl 0x.2345674 with no direction hints.
    This could cause spurious value errors to appear.
    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
-Warning: noted but unhandled ioctl 0x.2345675 with no size/direction hints.
+Warning: noted but unhandled ioctl 0x.2345675 with no direction hints.
    This could cause spurious value errors to appear.
    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
-Warning: noted but unhandled ioctl 0x.2345676 with no size/direction hints.
+Warning: noted but unhandled ioctl 0x.2345676 with no direction hints.
    This could cause spurious value errors to appear.
    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
-Warning: noted but unhandled ioctl 0x.2345677 with no size/direction hints.
+Warning: noted but unhandled ioctl 0x.2345677 with no direction hints.
    This could cause spurious value errors to appear.
    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
-Warning: noted but unhandled ioctl 0x.2345678 with no size/direction hints.
+Warning: noted but unhandled ioctl 0x.2345678 with no direction hints.
    This could cause spurious value errors to appear.
    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
-Warning: noted but unhandled ioctl 0x.2345679 with no size/direction hints.
+Warning: noted but unhandled ioctl 0x.2345679 with no direction hints.
    This could cause spurious value errors to appear.
    See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
This page took 0.059209 seconds and 5 git commands to generate.