diff mbox series

memstick: avoid out-of-range warning

Message ID 20210927094520.696665-1-arnd@kernel.org
State New
Headers show
Series memstick: avoid out-of-range warning | expand

Commit Message

Arnd Bergmann Sept. 27, 2021, 9:44 a.m. UTC
From: Arnd Bergmann <arnd@arndb.de>


clang-14 complains about a sanity check that always passes when the
page size is 64KB or larger:

drivers/memstick/core/ms_block.c:1739:21: error: result of comparison of constant 65536 with expression of type 'unsigned short' is always false [-Werror,-Wtautological-constant-out-of-range-compare]
        if (msb->page_size > PAGE_SIZE) {
            ~~~~~~~~~~~~~~ ^ ~~~~~~~~~

This is fine, it will still work on all architectures, so just shut
up that warning with a cast.

Fixes: 0ab30494bc4f ("memstick: add support for legacy memorysticks")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/memstick/core/ms_block.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.29.2

Comments

Ulf Hansson Sept. 27, 2021, 10:32 p.m. UTC | #1
On Mon, 27 Sept 2021 at 11:45, Arnd Bergmann <arnd@kernel.org> wrote:
>

> From: Arnd Bergmann <arnd@arndb.de>

>

> clang-14 complains about a sanity check that always passes when the

> page size is 64KB or larger:

>

> drivers/memstick/core/ms_block.c:1739:21: error: result of comparison of constant 65536 with expression of type 'unsigned short' is always false [-Werror,-Wtautological-constant-out-of-range-compare]

>         if (msb->page_size > PAGE_SIZE) {

>             ~~~~~~~~~~~~~~ ^ ~~~~~~~~~

>

> This is fine, it will still work on all architectures, so just shut

> up that warning with a cast.

>

> Fixes: 0ab30494bc4f ("memstick: add support for legacy memorysticks")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Applied for next, thanks!

Kind regards
Uffe


> ---

>  drivers/memstick/core/ms_block.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

>

> diff --git a/drivers/memstick/core/ms_block.c b/drivers/memstick/core/ms_block.c

> index acf36676e388..487e4cc2951e 100644

> --- a/drivers/memstick/core/ms_block.c

> +++ b/drivers/memstick/core/ms_block.c

> @@ -1736,7 +1736,7 @@ static int msb_init_card(struct memstick_dev *card)

>         msb->pages_in_block = boot_block->attr.block_size * 2;

>         msb->block_size = msb->page_size * msb->pages_in_block;

>

> -       if (msb->page_size > PAGE_SIZE) {

> +       if ((size_t)msb->page_size > PAGE_SIZE) {

>                 /* this isn't supported by linux at all, anyway*/

>                 dbg("device page %d size isn't supported", msb->page_size);

>                 return -EINVAL;

> --

> 2.29.2

>
diff mbox series

Patch

diff --git a/drivers/memstick/core/ms_block.c b/drivers/memstick/core/ms_block.c
index acf36676e388..487e4cc2951e 100644
--- a/drivers/memstick/core/ms_block.c
+++ b/drivers/memstick/core/ms_block.c
@@ -1736,7 +1736,7 @@  static int msb_init_card(struct memstick_dev *card)
 	msb->pages_in_block = boot_block->attr.block_size * 2;
 	msb->block_size = msb->page_size * msb->pages_in_block;
 
-	if (msb->page_size > PAGE_SIZE) {
+	if ((size_t)msb->page_size > PAGE_SIZE) {
 		/* this isn't supported by linux at all, anyway*/
 		dbg("device page %d size isn't supported", msb->page_size);
 		return -EINVAL;