linux-next: build failure after merge of the kvm tree

From: Stephen Rothwell
Date: Mon Feb 08 2021 - 00:36:55 EST


Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_add':
drivers/gpu/drm/i915/gvt/kvmgt.c:1706:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1706 | spin_lock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t *
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
352 | static __always_inline void spin_lock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c:1715:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1715 | spin_unlock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t *
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
392 | static __always_inline void spin_unlock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_remove':
drivers/gpu/drm/i915/gvt/kvmgt.c:1740:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1740 | spin_lock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t *
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
352 | static __always_inline void spin_lock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c:1749:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1749 | spin_unlock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t *
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
392 | static __always_inline void spin_unlock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_flush_slot':
drivers/gpu/drm/i915/gvt/kvmgt.c:1775:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1775 | spin_lock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t *
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
352 | static __always_inline void spin_lock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c:1784:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
1784 | spin_unlock(&kvm->mmu_lock);
| ^~~~~~~~~~~~~~
| |
| rwlock_t *
In file included from include/linux/wait.h:9,
from include/linux/pid.h:6,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
392 | static __always_inline void spin_unlock(spinlock_t *lock)
| ~~~~~~~~~~~~^~~~
cc1: all warnings being treated as errors

Caused by commit

531810caa9f4 ("KVM: x86/mmu: Use an rwlock for the x86 MMU")

I have used the kvm tree from next-20210204 for today.

--
Cheers,
Stephen Rothwell

Attachment: pgpQk50AJu8__.pgp
Description: OpenPGP digital signature