https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80400
Campbell <rlcamp.pdx at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rlcamp.pdx at gmail dot com --- Comment #4 from Campbell <rlcamp.pdx at gmail dot com> --- I hit this today in gcc 14.2.1, on __attribute((packed)) struct ConfigDescriptor { uint8_t bLength; uint8_t bDescriptorType; uint16_t wTotalLength; uint8_t bNumInterfaces; uint8_t bConfigurationValue; uint8_t iConfiguration; uint8_t bmAttributes; uint8_t bMaxPower; }; This was a particularly nefarious one to debug, as the kernel only validates the lack of packing on this descriptor when plugged in through a USB hub, and not directly, so the incorrect code was able to persist in production for years...