Bug 101281 - FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'cpu_tlbstate'
Summary: FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'cpu_tl...
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(Other) (show other bugs)
Hardware: x86-64 Linux
: P1 blocking
Assignee: drivers_video-other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-09 17:07 UTC by Drake Donahue
Modified: 2015-07-13 21:37 UTC (History)
3 users (show)

See Also:
Kernel Version: 4
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Drake Donahue 2015-07-09 17:07:18 UTC
After a successful compile, installing of the fglrx (ati-driver) is blocked:

LD [M]  /var/tmp/portage/x11-drivers/ati-drivers-15.1/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.o
  Building modules, stage 2.
  MODPOST 1 modules
FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'cpu_tlbstate'
scripts/Makefile.modpost:90: recipe for target '__modpost' failed

GPL-only symbol 'cpu_tlbstate' is invoked in kernel-4*/arch/x86/mm/init.c by "DEFINE_PER_CPU_SHARED_ALIGNED(struct tlb_state, cpu_tlbstate) = {
#ifdef CONFIG_SMP
	.active_mm = &init_mm,
	.state = 0,
#endif
	.cr4 = ~0UL,	/* fail hard if we screw up cr4 shadow initialization */
};
EXPORT_SYMBOL_GPL(cpu_tlbstate);"

kernel-3.18.6 did not include any reference to cpu_tlbstate in .

The block can be corrected simply by changing 
EXPORT_SYMBOL_GPL(cpu_tlbstate);
 to 
EXPORT_SYMBOL(cpu_tlbstate);
in all kernel-4 /arch/x86/mm/init.c

Bug 96841 performed a similar service for nvidia users.

Note You need to log in before you can comment on or make changes to this bug.