2019-11-13 02:52:12

by Valdis Klētnieks

[permalink] [raw]
Subject: [PATCH] staging: exfat: convert WARN to a pr_info

syzbot took a nosedive because it runs with panic_on_warn set. And
it's quite correct, it shouldn't have been a WARN in the first place.
Other locations just use a pr_info(), so do that here too.

Signed-off-by: Valdis Kletnieks <[email protected]>
Reported-by: [email protected]
Fixes: c48c9f7ff32b ("staging: exfat: add exfat filesystem code to staging")
---
drivers/staging/exfat/exfat_blkdev.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/exfat/exfat_blkdev.c b/drivers/staging/exfat/exfat_blkdev.c
index 7bcd98b13109..8204720b2bf2 100644
--- a/drivers/staging/exfat/exfat_blkdev.c
+++ b/drivers/staging/exfat/exfat_blkdev.c
@@ -59,8 +59,8 @@ int exfat_bdev_read(struct super_block *sb, sector_t secno, struct buffer_head *
if (*bh)
return 0;

- WARN(!p_fs->dev_ejected,
- "[EXFAT] No bh, device seems wrong or to be ejected.\n");
+ if (p_fs->dev_ejected)
+ pr_info("[EXFAT] No bh, device seems wrong or to be ejected.\n");

return -EIO;
}
@@ -112,8 +112,8 @@ int exfat_bdev_write(struct super_block *sb, sector_t secno, struct buffer_head
return 0;

no_bh:
- WARN(!p_fs->dev_ejected,
- "[EXFAT] No bh, device seems wrong or to be ejected.\n");
+ if (p_fs->dev_ejected)
+ pr_info("[EXFAT] No bh, device seems wrong or to be ejected.\n");

return -EIO;
}
--
2.24.0


2019-11-13 05:51:11

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] staging: exfat: convert WARN to a pr_info

On Tue, Nov 12, 2019 at 09:50:34PM -0500, Valdis Kletnieks wrote:
> syzbot took a nosedive because it runs with panic_on_warn set. And
> it's quite correct, it shouldn't have been a WARN in the first place.
> Other locations just use a pr_info(), so do that here too.
>
> Signed-off-by: Valdis Kletnieks <[email protected]>
> Reported-by: [email protected]
> Fixes: c48c9f7ff32b ("staging: exfat: add exfat filesystem code to staging")
> ---
> drivers/staging/exfat/exfat_blkdev.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/exfat/exfat_blkdev.c b/drivers/staging/exfat/exfat_blkdev.c
> index 7bcd98b13109..8204720b2bf2 100644
> --- a/drivers/staging/exfat/exfat_blkdev.c
> +++ b/drivers/staging/exfat/exfat_blkdev.c
> @@ -59,8 +59,8 @@ int exfat_bdev_read(struct super_block *sb, sector_t secno, struct buffer_head *
> if (*bh)
> return 0;
>
> - WARN(!p_fs->dev_ejected,
> - "[EXFAT] No bh, device seems wrong or to be ejected.\n");
> + if (p_fs->dev_ejected)
> + pr_info("[EXFAT] No bh, device seems wrong or to be ejected.\n");
>
> return -EIO;
> }
> @@ -112,8 +112,8 @@ int exfat_bdev_write(struct super_block *sb, sector_t secno, struct buffer_head
> return 0;
>
> no_bh:
> - WARN(!p_fs->dev_ejected,
> - "[EXFAT] No bh, device seems wrong or to be ejected.\n");
> + if (p_fs->dev_ejected)
> + pr_info("[EXFAT] No bh, device seems wrong or to be ejected.\n");

Shouldn't these all be pr_err() calls as something did go wrong.

thanks,

greg k-h