Re: [CentOS] Error installing Nvidia driver on a 7.5 beta kernel

2018-02-02 Thread Phil Perry

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.


___
CentOS mailing list
CentOS@centos.org
https://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Error installing Nvidia driver on a 7.5 beta kernel

2018-02-02 Thread 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
___
CentOS mailing list
CentOS@centos.org
https://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Error installing Nvidia driver on a 7.5 beta kernel

2018-02-02 Thread Phil Perry

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


___
CentOS mailing list
CentOS@centos.org
https://lists.centos.org/mailman/listinfo/centos