Re: Out of tree module build errors since v4.20-rc1

From: Liam R. Howlett
Date: Wed Nov 21 2018 - 16:15:30 EST


* Nadav Amit <namit@xxxxxxxxxx> [181121 16:12]:
> > On Nov 21, 2018, at 12:56 PM, Liam R. Howlett <Liam.Howlett@xxxxxxxxxx> 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@xxxxxxxxxx>
> > 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.