media: pvrusb2: use a different format for warnings [Linux 4.14.136]

This Linux kernel change "media: pvrusb2: use a different format for warnings" is included in the Linux 4.14.136 release. This change is authored by Andrey Konovalov <andreyknvl [at] google.com> on Thu May 2 12:09:26 2019 -0400. The commit for this change in Linux stable tree is 171e75b (patch) which is from upstream commit 1753c7c. The same Linux upstream change may have been applied to various maintained Linux releases and you can find all Linux releases containing changes from upstream 1753c7c.

media: pvrusb2: use a different format for warnings

commit 1753c7c4367aa1201e1e5d0a601897ab33444af1 upstream.

When the pvrusb2 driver detects that there's something wrong with the
device, it prints a warning message. Right now those message are
printed in two different formats:

1. ***WARNING*** message here
2. WARNING: message here

There's an issue with the second format. Syzkaller recognizes it as a
message produced by a WARN_ON(), which is used to indicate a bug in the
kernel. However pvrusb2 prints those warnings to indicate an issue with
the device, not the bug in the kernel.

This patch changes the pvrusb2 driver to consistently use the first
warning message format. This will unblock syzkaller testing of this
driver.

Reported-by: [email protected]
Reported-by: [email protected]
Signed-off-by: Andrey Konovalov <a[email protected]>
Reviewed-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

There are 12 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/media/usb/pvrusb2/pvrusb2-hdw.c      | 4 ++--
 drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c | 6 +++---
 drivers/media/usb/pvrusb2/pvrusb2-std.c      | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
index ddededc..18db7aa 100644
--- a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
+++ b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
@@ -1680,7 +1680,7 @@ static int pvr2_decoder_enable(struct pvr2_hdw *hdw,int enablefl)
    }
    if (!hdw->flag_decoder_missed) {
        pvr2_trace(PVR2_TRACE_ERROR_LEGS,
-              "WARNING: No decoder present");
+              "***WARNING*** No decoder present");
        hdw->flag_decoder_missed = !0;
        trace_stbit("flag_decoder_missed",
                hdw->flag_decoder_missed);
@@ -2365,7 +2365,7 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
    if (hdw_desc->flag_is_experimental) {
        pvr2_trace(PVR2_TRACE_INFO, "**********");
        pvr2_trace(PVR2_TRACE_INFO,
-              "WARNING: Support for this device (%s) is experimental.",
+              "***WARNING*** Support for this device (%s) is experimental.",
                                  hdw_desc->description);
        pvr2_trace(PVR2_TRACE_INFO,
               "Important functionality might not be entirely working.");
diff --git a/drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c b/drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c
index ff7b4d1..f57ddb3 100644
--- a/drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c
+++ b/drivers/media/usb/pvrusb2/pvrusb2-i2c-core.c
@@ -343,11 +343,11 @@ static int i2c_hack_cx25840(struct pvr2_hdw *hdw,

    if ((ret != 0) || (*rdata == 0x04) || (*rdata == 0x0a)) {
        pvr2_trace(PVR2_TRACE_ERROR_LEGS,
-              "WARNING: Detected a wedged cx25840 chip; the device will not work.");
+              "***WARNING*** Detected a wedged cx25840 chip; the device will not work.");
        pvr2_trace(PVR2_TRACE_ERROR_LEGS,
-              "WARNING: Try power cycling the pvrusb2 device.");
+              "***WARNING*** Try power cycling the pvrusb2 device.");
        pvr2_trace(PVR2_TRACE_ERROR_LEGS,
-              "WARNING: Disabling further access to the device to prevent other foul-ups.");
+              "***WARNING*** Disabling further access to the device to prevent other foul-ups.");
        // This blocks all further communication with the part.
        hdw->i2c_func[0x44] = NULL;
        pvr2_hdw_render_useless(hdw);
diff --git a/drivers/media/usb/pvrusb2/pvrusb2-std.c b/drivers/media/usb/pvrusb2/pvrusb2-std.c
index 21bb20d..243e270 100644
--- a/drivers/media/usb/pvrusb2/pvrusb2-std.c
+++ b/drivers/media/usb/pvrusb2/pvrusb2-std.c
@@ -353,7 +353,7 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
        bcnt = pvr2_std_id_to_str(buf,sizeof(buf),fmsk);
        pvr2_trace(
            PVR2_TRACE_ERROR_LEGS,
-           "WARNING: Failed to classify the following standard(s): %.*s",
+           "***WARNING*** Failed to classify the following standard(s): %.*s",
            bcnt,buf);
    }

Leave a Reply

Your email address will not be published. Required fields are marked *