On 2019-06-11 19:33 +0200, Daniel Vetter wrote:
On Tue, Jun 11, 2019 at 5:37 PM Greg Kroah-Hartman gregkh@linuxfoundation.org wrote:
On Tue, Jun 11, 2019 at 03:56:35PM +0200, Sven Joachim wrote:
Commit 1e07d63749 ("drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v3)") has caused a build failure for me when I actually tried that option (CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT=n):
,---- | Kernel: arch/x86/boot/bzImage is ready (#1) | Building modules, stage 2. | MODPOST 290 modules | ERROR: "drm_legacy_mmap" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! | scripts/Makefile.modpost:91: recipe for target '__modpost' failed `----
Calling drm_legacy_mmap is definitely not a great idea.
Certainly not, but it was done by Dave in commit 2036eaa7403 ("nouveau: bring back legacy mmap handler") for compatibility with old xf86-video-nouveau versions (older than 1.0.4) that call DRIOpenDRMMaster.
If that is really necessary, it probably has been broken in Linus' tree by commit bed2dd8421 where the test has been moved to ttm_bo_mmap() and returns -EINVAL on failure.
I think either we need a custom patch to remove that out on older kernels, or maybe even #ifdef if you want to be super paranoid about breaking stuff ...
Upstream does not have that problem, as commit bed2dd8421 ("drm/ttm: Quick-test mmap offset in ttm_bo_mmap()") has removed the use of drm_legacy_mmap from nouveau_ttm.c. Unfortunately that commit does not apply in 5.1.9.
Most likely 4.19.50 and 4.14.125 are also affected, I haven't tested them yet.
They probably are.
Should I just revert this patch in the stable tree, or add some other patch (like the one pointed out here, which seems an odd patch for stable...)
... or backport the above patch, that should be save to do too. Not sure what stable folks prefer? -Daniel
Cheers, Sven