mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	Oded Gabbay <ogabbay@kernel.org>, Jiri Slaby <jslaby@suse.cz>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: Linux 5.18-rc1
Date: Sun, 3 Apr 2022 21:23:07 -0700	[thread overview]
Message-ID: <aba387bd-9799-e0b5-40e3-1bcb552ac74c@roeck-us.net> (raw)
In-Reply-To: <CAHk-=wimc7V9mi=P+6p2nnctPYtSM55OSPVERUeJor7fkD_EVg@mail.gmail.com>

On 4/3/22 20:29, Linus Torvalds wrote:
> On Sun, Apr 3, 2022 at 7:22 PM Guenter Roeck <linux@roeck-us.net> wrote:
>>
>> In function '__nat25_add_pppoe_tag',
>>      inlined from 'nat25_db_handle' at drivers/staging/r8188eu/core/rtw_br_ext.c:479:11:
>> arch/alpha/include/asm/string.h:22:16: error: '__builtin_memcpy' forming offset [40, 2051] is out of the bounds [0, 40] of object 'tag_buf' with type 'unsigned char[40]'
>>
>> Exposed by commit e6148767825c ("Makefile: Enable -Warray-bounds").
>> Fix at https://lore.kernel.org/lkml/20220403123628.3113382-1-linux@roeck-us.net/
> 
> Funky. Apparently nobody else does that pppoe_tag thing, and this
> driver does it wrong on little-endian, which is the common thing to
> test.
> 
> Your email that you point to is a bit confused, though, in how it says
> "when building the driver on a big endian system such as alpha".
> 
> Alpha is little-endian, not big-endian.
> 

Oops. Sorry, I thought it was big endian. No idea why. I'll update
subject and description and resend.

> Now, why it apparently only warns on alpha, I have absolutely no idea.
> It should warn on other things too afaik, since that
> 
>          tag->tag_len = htons(MAGIC_CODE_LEN+RTL_RELAY_TAG_LEN+old_tag_len);
> 
> should be visible not just on alpha.
> 
Maybe htons() and ntohs() are modeled differently on other architectures,
and the compiler doesn't see the context ?

> Weird. But your patch looks correct.
> 
>> Building arm:allmodconfig ... failed
>> Building csky:allmodconfig ... failed
>> Building i386:allyesconfig ... failed
>> Building mips:allmodconfig ... failed
>> Building parisc:allmodconfig ... failed
>> Building powerpc:ppc32_allmodconfig ... failed
>> Building xtensa:allmodconfig ... failed
>> --------------
>> Error log:
>> drivers/misc/habanalabs/common/memory.c: In function 'alloc_device_memory':
>> drivers/misc/habanalabs/common/memory.c:153:49: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
>>    153 |                                                 (u64) gen_pool_dma_alloc_align(vm->dram_pg_pool,
>>
>> Fix at https://lore.kernel.org/lkml/20220401151450.3414694-1-linux@roeck-us.net/
> 
> Gaah - both of those "(u64)" look pointless.
> 
> Either the thing is a pointer, in which case that (uinptr_t) - or just
> (unsigned long) - is the right thing to do, or it's already an integer
> type, in which case castring it to (u64) just do do that
> 
>          phys_pg_pack->pages[i] =  ...
> 
> assignment seems entirely pointless.
> 
> So I think the patch should also remove those pointless (u64) casts.
> 
> Yes, yes, the pages[] array in 'struct hl_vm_phys_pg_pack' 'pages[]'
> is of u64's, but casting integers like that is just silly.
> 

Double casts are quite common, though. Try 'git grep "(u64)(uintptr_t)"'.
But I think you are right, a cast to (uintptr_t) should be sufficient here.
I'll resend that patch as well.

Guenter

  reply	other threads:[~2022-04-04  4:23 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-03 22:14 Linus Torvalds
2022-04-04  2:22 ` Guenter Roeck
2022-04-04  3:29   ` Linus Torvalds
2022-04-04  4:23     ` Guenter Roeck [this message]
2022-04-04  7:30       ` Ron Economos
2022-04-04 15:32       ` Linus Torvalds
2022-04-04 16:21         ` Greg Kroah-Hartman
2022-04-04 16:45         ` Guenter Roeck
2022-04-04 17:09           ` Linus Torvalds
2022-04-05 21:14           ` Konstantin Ryabitsev
2022-04-04  6:01     ` Jiri Slaby
2022-04-05 12:19   ` Sudip Mukherjee
2022-04-05 13:18     ` Guenter Roeck
2022-04-04  7:47 ` Build regressions/improvements in v5.18-rc1 Geert Uytterhoeven
2022-04-04  8:16   ` Geert Uytterhoeven
2022-04-04  9:26     ` Dave Chinner
2022-04-04 10:19       ` Geert Uytterhoeven
2022-04-04 11:45         ` Arnd Bergmann
2022-04-04 12:31           ` Arnd Bergmann
2022-04-04 22:16           ` Dave Chinner
2022-04-05  6:47             ` Geert Uytterhoeven
2022-04-05  7:08               ` Arnd Bergmann
2022-04-05 21:05                 ` Dave Chinner
2022-04-04 18:39     ` Kalle Valo
2022-04-05  6:46       ` Geert Uytterhoeven
2022-04-05  6:52         ` Kalle Valo
2022-04-05  6:45     ` Helge Deller
2022-04-05  6:49       ` Geert Uytterhoeven
2022-04-28  7:25         ` Michael Ellerman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aba387bd-9799-e0b5-40e3-1bcb552ac74c@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=Larry.Finger@lwfinger.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ogabbay@kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®