https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105727
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- My guess is that the BUILD_BUG(); line is the sole thing that is wrong, it should be just break; as the memory_is_poisoned_n(addr, size); will handle all the sizes, regardless if they are constants or not.