lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Wed, 21 Nov 2018 22:44:16 +0100
From:   Ard Biesheuvel <ard.biesheuvel@...aro.org>
To:     namit@...are.com, Thomas Gleixner <tglx@...utronix.de>,
        Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
        "H. Peter Anvin" <hpa@...or.com>,
        "the arch/x86 maintainers" <x86@...nel.org>,
        Peter Zijlstra <peterz@...radead.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: Out of tree module build errors since v4.20-rc1

On Wed, 21 Nov 2018 at 22:15, Liam R. Howlett <Liam.Howlett@...cle.com> wrote:
>
> * Nadav Amit <namit@...are.com> [181121 16:12]:
> > > On Nov 21, 2018, at 12:56 PM, Liam R. Howlett <Liam.Howlett@...cle.com> wrote:
> > >
> > >
> > > My out of tree driver build is now reporting issues with the jump table:
> > >
> > > ./include/linux/jump_label.h: In function ‘jump_entry_code’:
> > > ./include/linux/jump_label.h:153:14: error: dereferencing pointer to incomplete type ‘const struct jump_entry’
> > >  return entry->code;
> > >              ^~
> > > ./include/linux/jump_label.h: In function ‘jump_entry_set_init’:
> > > ./include/linux/jump_label.h:180:7: error: dereferencing pointer to incomplete type ‘struct jump_entry’
> > >  entry->key |= 2;
> > >       ^~
> > > ./include/linux/jump_label.h: At top level:
> > > ./include/linux/jump_label.h:212:26: error: array type has incomplete element type ‘struct jump_entry’
> > > extern struct jump_entry __start___jump_table[];
> > >                          ^~~~~~~~~~~~~~~~~~~~
> > > ./include/linux/jump_label.h:213:26: error: array type has incomplete element type ‘struct jump_entry’
> > > extern struct jump_entry __stop___jump_table[];
> > >                          ^~~~~~~~~~~~~~~~~~~
> > >
> > >
> > > This happens in v4.20-rc3 as well, so I bisected between v4.19 to
> > > v4.20-rc1 which resulted in the following commit:
> > >
> > > b34006c4258c9c86597b6b7123d6a9a3513d6cd7 is the first bad commit
> > > commit b34006c4258c9c86597b6b7123d6a9a3513d6cd7
> > > Author: Ard Biesheuvel <ard.biesheuvel@...aro.org>
> > > Date:   Tue Sep 18 23:51:41 2018 -0700
> > >
> > >    x86/jump_table: Use relative references
> > >
> > >
> > >
> > >
> > > Initially I assumed this was my own fault, but my module does not have
> > > these issues when using v4.19.  Is there anything I should try/change in
> > > my module makefile, includes, etc to support this relative reference
> > > code?
> >
> > Do you see HAVE_ARCH_JUMP_LABEL_RELATIVE set in your kernel config?
> >
>
> Yes:
>  $ grep HAVE_ARCH_JUMP_LABEL_RELATIVE .config
>  CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
>
>
> I should have mentioned I ran 'make defoldconfig' between each bisect.

That is puzzling. linux/jump_label.h defines a type struct
jump_label_entry if CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE is #define'd,
and so the error suggests that it is not.

Can you share the command line (with V=1) and the preprocessed result?
(Re-execute the failing GCC command but replace -c with -E)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ