Re: [PATCH v3 0/4] floppy: suppress UBSAN warning in setup_rw_floppy()

Joe Perches
2020-05-01T18:02:35Z

On Fri, 2020-05-01 at 16:44 +0300, Denis Efremov wrote:
> These patches are based on Willy's cleanup patches
> https://lkml.org/lkml/2020/3/31/609.

Maybe add pr_fmt and clean up a few messages so
all the logging output is prefixed too.

---
drivers/block/floppy.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index c3daa64..b26bb1 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -145,6 +145,8 @@
* Better audit of register_blkdev.
*/

+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#undef FLOPPY_SILENT_DCL_CLEAR

#define REALLY_SLOW_IO
@@ -1724,7 +1726,7 @@ irqreturn_t floppy_interrupt(int irq, void *dev_id)
if (current_fdc >= N_FDC || fdc_state[current_fdc].address == -1) {
/* we don't even know which FDC is the culprit */
pr_info("DOR0=%x\n", fdc_state[0].dor);
- pr_info("floppy interrupt on bizarre fdc %d\n", current_fdc);
+ pr_info("interrupt on bizarre fdc %d\n", current_fdc);
pr_info("handler=%ps\n", handler);
is_alive(__func__, "bizarre fdc");
return IRQ_NONE;
@@ -2276,7 +2278,7 @@ static void request_done(int uptodate)
reschedule_timeout(MAXTIMEOUT, msg);

if (!req) {
- pr_info("floppy.c: no request in request_done\n");
+ pr_info("no request in request_done\n");
return;
}

@@ -4181,8 +4183,7 @@ static void floppy_rb0_cb(struct bio *bio)
int drive = cbdata->drive;

if (bio->bi_status) {
- pr_info("floppy: error %d while reading block 0\n",
- bio->bi_status);
+ pr_info("error %d while reading block 0\n", bio->bi_status);
set_bit(FD_OPEN_SHOULD_FAIL_BIT, &drive_state[drive].flags);
}
complete(&cbdata->complete);
@@ -4954,7 +4955,7 @@ static void floppy_release_irq_and_dma(void)
#endif

if (delayed_work_pending(&fd_timeout))
- pr_info("floppy timer still active:%s\n", timeout_message);
+ pr_info("timer still active:%s\n", timeout_message);
if (delayed_work_pending(&fd_timer))
pr_info("auxiliary floppy timer still active\n");
if (work_pending(&floppy_work))