Re: [PATCH v2 3/3] serial: core: Allow skipping old serial port initialization
From: Daniel Kurtz
Date: Wed Mar 14 2018 - 21:08:16 EST
On Wed, Mar 14, 2018 at 6:55 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> On Wed, Mar 14, 2018 at 5:23 PM, Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
wrote:
> > On Wed, Mar 14, 2018 at 5:00 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> >
> >> On Wed, Mar 14, 2018 at 3:58 PM, Kees Cook <keescook@xxxxxxxxxxxx>
wrote:
> >> > On Wed, Mar 14, 2018 at 2:44 PM, Daniel Kurtz <djkurtz@xxxxxxxxxxxx>
> > wrote:
> >> > Sorry for being dense. What tree is this against? I can't find
mention
> >> > of amdcz in Linus's tree nor linux-next.
> >
> >> As I watched this email send, I noticed the "3/3" in the Subject. ;) I
> >> see the amdcz support now. :P
> >> https://patchwork.kernel.org/project/LKML/list/?submitter=18441
> >
> >> >> diff --git a/include/linux/serial_8250.h
b/include/linux/serial_8250.h
> >> >> index a27ef5f56431..02570edaddd8 100644
> >> >> --- a/include/linux/serial_8250.h
> >> >> +++ b/include/linux/serial_8250.h
> >> >> @@ -136,6 +136,12 @@ struct uart_8250_port {
> >> >> struct uart_8250_em485 *em485;
> >> >> };
> >> >>
> >> >> +#ifdef CONFIG_SERIAL_8250
> >> >> +extern bool serial8250_skip_old_ports;
> >> >> +#else
> >> >> +static const bool serial8250_skip_old_ports;
> >> >> +#endif
> >> >
> >> > Where does serial8250_skip_old_ports get used where
CONFIG_SERIAL_8250
> >> > isn't defined? (i.e. why is the #ifdef needed here?)
> >
> >> This question still stands, though.
> >
> > From the same patch: https://patchwork.kernel.org/patch/10283641/
> >
> > if (CONFIG_ACPI_SPCR_TABLE && !CONFIG_SERIAL_8250)
> >
> > in other words, if serial ports are disabled, but we still want to parse
> > the APCI_SPCR_TABLE, which "defaults y if X86".
> > Perhaps that logic should be changed (no need to parse ACPI SPCR table
if
> > we are going to disable serial anyway)?
> But won't this break? "static const bool ..." but the code tries to
> set a value but I'd expect the compiler to still yet about it?
er... yeah.
> I think you could drop the .h #ifdef and use:
> if (IS_ENABLED(CONFIG_SERIAL_825) && amdcz_present(...)) {
oooohhh... nice. I like it, will change.
> -Kees
> --
> Kees Cook
> Pixel Security