Re: linux-next: build failure after merge of the drm-intel tree

From: Jani Nikula
Date: Wed Dec 11 2019 - 04:32:00 EST


On Tue, 10 Dec 2019, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> Hi all,
>
> [Just adding Dave Airlie to the cc list]
>
> On Tue, 10 Dec 2019 09:39:57 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>>
>> After merging the drm-intel tree, today's linux-next build (x86_64
>> allmodconfig) failed like this:

FYI, I've now backmerged drm-next and thus v5.5-rc1 to
drm-intel-next-queued, resolving the conflict.

BR,
Jani.


>>
>> In file included from include/linux/spinlock_types.h:18,
>> from include/linux/mutex.h:16,
>> from include/linux/kernfs.h:12,
>> from include/linux/sysfs.h:16,
>> from include/linux/kobject.h:20,
>> from include/linux/of.h:17,
>> from include/linux/irqdomain.h:35,
>> from include/linux/acpi.h:13,
>> from drivers/gpu/drm/i915/i915_drv.c:30:
>> drivers/gpu/drm/i915/gem/i915_gem_object.h: In function 'i915_gem_object_pin_pages':
>> include/linux/lockdep.h:635:2: error: too many arguments to function 'lock_release'
>> 635 | lock_release(&(lock)->dep_map, 0, _THIS_IP_); \
>> | ^~~~~~~~~~~~
>> drivers/gpu/drm/i915/gem/i915_gem_object.h:294:2: note: in expansion of macro 'might_lock_nested'
>> 294 | might_lock_nested(&obj->mm.lock, I915_MM_GET_PAGES);
>> | ^~~~~~~~~~~~~~~~~
>> include/linux/lockdep.h:352:13: note: declared here
>> 352 | extern void lock_release(struct lockdep_map *lock, unsigned long ip);
>> | ^~~~~~~~~~~~
>> In file included from include/linux/spinlock_types.h:18,
>> from include/linux/spinlock.h:83,
>> from include/linux/mmzone.h:8,
>> from include/linux/gfp.h:6,
>> from include/linux/slab.h:15,
>> from drivers/gpu/drm/i915/i915_irq.c:32:
>> drivers/gpu/drm/i915/gem/i915_gem_object.h: In function 'i915_gem_object_pin_pages':
>> include/linux/lockdep.h:635:2: error: too many arguments to function 'lock_release'
>> 635 | lock_release(&(lock)->dep_map, 0, _THIS_IP_); \
>> | ^~~~~~~~~~~~
>> drivers/gpu/drm/i915/gem/i915_gem_object.h:294:2: note: in expansion of macro 'might_lock_nested'
>> 294 | might_lock_nested(&obj->mm.lock, I915_MM_GET_PAGES);
>> | ^~~~~~~~~~~~~~~~~
>> include/linux/lockdep.h:352:13: note: declared here
>> 352 | extern void lock_release(struct lockdep_map *lock, unsigned long ip);
>> | ^~~~~~~~~~~~
>>
>> Caused by commit
>>
>> e692b4021a2e ("lockdep: add might_lock_nested()")
>>
>> interacting with commit
>>
>> 5facae4f3549 ("locking/lockdep: Remove unused @nested argument from lock_release()")
>>
>> from Linus' tree.
>>
>> I have applied the following merge fix patch for today:
>>
>> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
>> Date: Tue, 10 Dec 2019 09:37:07 +1100
>> Subject: [PATCH] lockdep: fix up for lock_release API change
>>
>> ---
>> include/linux/lockdep.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
>> index 5bbfd5866081..664f52c6dd4c 100644
>> --- a/include/linux/lockdep.h
>> +++ b/include/linux/lockdep.h
>> @@ -632,7 +632,7 @@ do { \
>> typecheck(struct lockdep_map *, &(lock)->dep_map); \
>> lock_acquire(&(lock)->dep_map, subclass, 0, 1, 1, NULL, \
>> _THIS_IP_); \
>> - lock_release(&(lock)->dep_map, 0, _THIS_IP_); \
>> + lock_release(&(lock)->dep_map, _THIS_IP_); \
>> } while (0)
>>
>> #define lockdep_assert_irqs_enabled() do { \

--
Jani Nikula, Intel Open Source Graphics Center