lkml.org 
[lkml]   [2022]   [Oct]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH -mm] -funsigned-char, x86: make struct p4_event_bind::cntr signed array
    On Thu, Oct 20, 2022 at 01:17:33PM -0700, Linus Torvalds wrote:
    > And in other cases, there's no actual difference at all, just
    > different register usage, so the diff looks fairly big, but doesn't
    > seem to be real. In one case I looked at, it started with a 'movzbl',
    > but it was that in both cases, because the type was actually 'unsigned
    > char' to begin with. But for some reason it just used different
    > registers. Example:
    >
    > - handle_control_request() in drivers/usb/gadget/udc/dummy_hcd.c
    >
    > The reason here *seems* to be that
    >
    > char *buf;
    > buf = (char *)urb->transfer_buffer;
    >
    > where it really probably should be 'u8 *buf', since it actually
    > does a cast to 'u8' in one place, but there isn't even any read of
    > that 'buf' pointer. So the difference seems to be entirely just some
    > "different type in assignment" cast internal to gcc that then
    > incidentally generated a random other choice in register allocation.

    I've send a patch for this now:
    https://lore.kernel.org/r/20221021064453.3341050-1-gregkh@linuxfoundation.org
    and will take it through the USB tree, unless Jason wants to grab it
    through his tree.

    thanks,

    greg k-h

    \
     
     \ /
      Last update: 2022-10-21 08:49    [W:2.575 / U:0.312 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site