On Thu, Jan 24, 2019 at 07:55:51AM +1300, Kees Cook wrote: > On Thu, Jan 24, 2019 at 4:44 AM Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> wrote: > > > > On Wed, 23 Jan 2019, Edwin Zimmerman <edwin@xxxxxxxxxxxxxxxxx> wrote: > > > On Wed, 23 Jan 2019, Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> wrote: > > >> On Wed, 23 Jan 2019, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > >> > On Wed, Jan 23, 2019 at 03:03:47AM -0800, Kees Cook wrote: > > >> >> Variables declared in a switch statement before any case statements > > >> >> cannot be initialized, so move all instances out of the switches. > > >> >> After this, future always-initialized stack variables will work > > >> >> and not throw warnings like this: > > >> >> > > >> >> fs/fcntl.c: In function ‘send_sigio_to_task’: > > >> >> fs/fcntl.c:738:13: warning: statement will never be executed [-Wswitch-unreachable] > > >> >> siginfo_t si; > > >> >> ^~ > > >> > > > >> > That's a pain, so this means we can't have any new variables in { } > > >> > scope except for at the top of a function? > > Just in case this wasn't clear: no, it's just the switch statement > before the first "case". I cannot imagine how bad it would be if we > couldn't have block-scoped variables! Heh. :) Sorry, it was not clear at first glance. So no more objection from me for this change. greg k-h