OK, I know CentOS has nothing to do with RHEL beta releases, but I wanted to test if el7.5 has added support for a particular peripheral (Wacom Pro 2 tablet) ... but was unable to install the propriety Nvidia display driver (v390.25) on a test workstation - and was wondering if anyone could explain on what is going on.
All I've done is upgrade an existing CentOS 7.4 install with the RHEL 7.5 beta kernel RPMS
However, when installing the Nvidia driver, it fails with:
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__cachemode2pte_tbl'
A bit of Googling seems to suggest that this issue has been 'fixed' in later upstream kernels by changing the export of this symbol from 'EXPORT_SYMBOL_GPL' to 'EXPORT_SYMBOL'
However, 7.4 and earlier el7 kernels also export this symbol as EXPORT_SYMBOL_GPL - but the Nvidia driver builds/installs fine on 7.4 kernels ...
So, I'm not really sure what the issue is - i.e. is it an Nvidia or Redhat issue ?
For now, I've managed to hack around this by patching the stub Nvidia driver src to change MODULE_LICENSE from "NVIDIA" to "GPL" - and the Nvidia driver now installs and loads OK
If anyone knows any more about this, then please let me know
Thanks
James Pearson
On 02/02/18 15:30, James Pearson wrote:
OK, I know CentOS has nothing to do with RHEL beta releases, but I wanted to test if el7.5 has added support for a particular peripheral (Wacom Pro 2 tablet) ... but was unable to install the propriety Nvidia display driver (v390.25) on a test workstation - and was wondering if anyone could explain on what is going on.
All I've done is upgrade an existing CentOS 7.4 install with the RHEL 7.5 beta kernel RPMS
However, when installing the Nvidia driver, it fails with:
FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol '__cachemode2pte_tbl'
A bit of Googling seems to suggest that this issue has been 'fixed' in later upstream kernels by changing the export of this symbol from 'EXPORT_SYMBOL_GPL' to 'EXPORT_SYMBOL'
However, 7.4 and earlier el7 kernels also export this symbol as EXPORT_SYMBOL_GPL - but the Nvidia driver builds/installs fine on 7.4 kernels ...
So, I'm not really sure what the issue is - i.e. is it an Nvidia or Redhat issue ?
It looks like a regression. This was originally fixed upstream (kernel.org) 3 years ago, so if the RHEL7.5 beta kernel has reverted to 'EXPORT_SYMBOL_GPL' then it is a regression that will break building any out-of-tree non-gpl modules which need to set caching mode in pte's
You should file a bug report with Red Hat.
For now, I've managed to hack around this by patching the stub Nvidia driver src to change MODULE_LICENSE from "NVIDIA" to "GPL" - and the Nvidia driver now installs and loads OK
The correct fix in the kernel is in arch/x86/mm/init.c
-EXPORT_SYMBOL_GPL(__cachemode2pte_tbl); +EXPORT_SYMBOL(__cachemode2pte_tbl);
If anyone knows any more about this, then please let me know
Thanks
James Pearson
Phil Perry wrote:
It looks like a regression. This was originally fixed upstream (kernel.org) 3 years ago, so if the RHEL7.5 beta kernel has reverted to 'EXPORT_SYMBOL_GPL' then it is a regression that will break building any out-of-tree non-gpl modules which need to set caching mode in pte's
You should file a bug report with Red Hat.
The correct fix in the kernel is in arch/x86/mm/init.c
-EXPORT_SYMBOL_GPL(__cachemode2pte_tbl); +EXPORT_SYMBOL(__cachemode2pte_tbl);
Well, that's the rub - RHEL7 have never had that upstream fix - i.e. the el7.4 kernel (3.10.0-693.el7) has 'EXPORT_SYMBOL_GPL(__cachemode2pte_tbl)' as does the el7.5b kernel (3.10.0-830.el7) ...
The Nvidia driver builds/installs OK on el7.4 - but not on el7.5b
I'll report this to Red Hat anyway ...
Thanks
James Pearson
On 02/02/18 17:32, James Pearson wrote:
Phil Perry wrote:
It looks like a regression. This was originally fixed upstream (kernel.org) 3 years ago, so if the RHEL7.5 beta kernel has reverted to 'EXPORT_SYMBOL_GPL' then it is a regression that will break building any out-of-tree non-gpl modules which need to set caching mode in pte's
You should file a bug report with Red Hat.
The correct fix in the kernel is in arch/x86/mm/init.c
-EXPORT_SYMBOL_GPL(__cachemode2pte_tbl); +EXPORT_SYMBOL(__cachemode2pte_tbl);
Well, that's the rub - RHEL7 have never had that upstream fix - i.e. the el7.4 kernel (3.10.0-693.el7) has 'EXPORT_SYMBOL_GPL(__cachemode2pte_tbl)' as does the el7.5b kernel (3.10.0-830.el7) ...
The Nvidia driver builds/installs OK on el7.4 - but not on el7.5b
I'll report this to Red Hat anyway ...
Thanks
James Pearson
Ah, I'd not checked the sources, you are correct. I do not have an explanation for the differing behaviour between 7.4 and 7.5beta.
It looks like both __cachemode2pte_tbl and __pte2cachemode_tbl need updating in arch/x86/mm/init.c
If you file a bug, please could you mail the link so I can add myself to the CC. Thanks.