[PATCH v4 03/19] arm64: asm-offsets: Remove potential circular dependency

Marc Zyngier marc.zyngier at arm.com
Mon Jan 15 00:42:51 PST 2018


On 15/01/18 08:34, Christoffer Dall wrote:
> On Thu, Jan 04, 2018 at 06:43:18PM +0000, Marc Zyngier wrote:
>> So far, we've been lucky enough that none of the include files
>> that asm-offsets.c requires include asm-offsets.h. This is
>> about to change, and would introduce a nasty circular dependency...
>>
>> Let's now guard the inclusion of asm-offsets.h so that it never
>> gets pulled from asm-offsets.c. The same issue exists between
>> bounce.c and include/generated/bounds.h, and is worked around
>> by using the existing guard symbol.
>>
>> Signed-off-by: Marc Zyngier <marc.zyngier at arm.com>
>> ---
>>  arch/arm64/include/asm/asm-offsets.h | 2 ++
>>  arch/arm64/kernel/asm-offsets.c      | 2 ++
>>  2 files changed, 4 insertions(+)
>>
>> diff --git a/arch/arm64/include/asm/asm-offsets.h b/arch/arm64/include/asm/asm-offsets.h
>> index d370ee36a182..7d6531a81eb3 100644
>> --- a/arch/arm64/include/asm/asm-offsets.h
>> +++ b/arch/arm64/include/asm/asm-offsets.h
>> @@ -1 +1,3 @@
>> +#if !defined(__GENERATING_ASM_OFFSETS_H) && !defined(__GENERATING_BOUNDS_H)
> 
> I don't understand why we need to check __GENERATING_BOUNDS_H here?
> What is the interaction between asm-offsets and bounds?

bound.c ends up including asm-offsets.h as well once you start adding
the dependency between it and alternatives.h. See the report there:

https://www.spinics.net/lists/arm-kernel/msg623723.html

which this check addresses.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...



More information about the linux-arm-kernel mailing list