2020-04-20 08:26:29

by Abhishek Sahu

[permalink] [raw]
Subject: [PATCH] x86/mm: fix compilation error for unknown type name pgprot_t

commit 30796e18c299 ("x86/mm: introduce __set_memory_prot()")
added the function __set_memory_prot() which uses pgprot_t in
function prototype. The currently included header files in
<arch/x86/include/asm/set_memory.h> do not include type name
pgprot_t. The pgprot_t is defined in <asm/pgtable_types.h>.

Fixes: 30796e18c299 ("x86/mm: introduce __set_memory_prot()")
Signed-off-by: Abhishek Sahu <[email protected]>
---
arch/x86/include/asm/set_memory.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/include/asm/set_memory.h b/arch/x86/include/asm/set_memory.h
index ec2c0a094b5d..3138087b0d9a 100644
--- a/arch/x86/include/asm/set_memory.h
+++ b/arch/x86/include/asm/set_memory.h
@@ -3,6 +3,7 @@
#define _ASM_X86_SET_MEMORY_H

#include <asm/page.h>
+#include <asm/pgtable_types.h>
#include <asm-generic/set_memory.h>

/*
--
2.17.1


2020-04-20 16:45:59

by Logan Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] x86/mm: fix compilation error for unknown type name pgprot_t



On 2020-04-20 2:22 a.m., Abhishek Sahu wrote:
> commit 30796e18c299 ("x86/mm: introduce __set_memory_prot()")
> added the function __set_memory_prot() which uses pgprot_t in
> function prototype. The currently included header files in
> <arch/x86/include/asm/set_memory.h> do not include type name
> pgprot_t. The pgprot_t is defined in <asm/pgtable_types.h>.
>
> Fixes: 30796e18c299 ("x86/mm: introduce __set_memory_prot()")
> Signed-off-by: Abhishek Sahu <[email protected]>

I assume this is only hit with a specific driver or something that
includes set_memory.h without including pgtable_types.h before hand.

It certainly compiles fine for me and the kbuild robot has had lots of
time to test it with random configs.

Reviewed-by: Logan Gunthorpe <[email protected]>

Thanks,

Logan

2020-04-21 05:50:05

by Abhishek Sahu

[permalink] [raw]
Subject: Re: [PATCH] x86/mm: fix compilation error for unknown type name pgprot_t

On 4/20/2020 10:14 PM, Logan Gunthorpe wrote:
> External email: Use caution opening links or attachments
>
>
> On 2020-04-20 2:22 a.m., Abhishek Sahu wrote:
>> commit 30796e18c299 ("x86/mm: introduce __set_memory_prot()")
>> added the function __set_memory_prot() which uses pgprot_t in
>> function prototype. The currently included header files in
>> <arch/x86/include/asm/set_memory.h> do not include type name
>> pgprot_t. The pgprot_t is defined in <asm/pgtable_types.h>.
>>
>> Fixes: 30796e18c299 ("x86/mm: introduce __set_memory_prot()")
>> Signed-off-by: Abhishek Sahu <[email protected]>
>
> I assume this is only hit with a specific driver or something that
> includes set_memory.h without including pgtable_types.h before hand.
>
> It certainly compiles fine for me and the kbuild robot has had lots of
> time to test it with random configs.
>
> Reviewed-by: Logan Gunthorpe <[email protected]>

Thanks Logan.

Yes. The mainline is compiling fine with default config.
This problem is coming while compiling Out of tree NVIDIA driver.
But this problem can happen for the drivers which don't include
<pgtable_types.h>. I am not sure if this problem will come with
some other configs. Normally, the header files should not be
dependent upon the callers.

Regards,
Abhishek


2020-04-27 15:13:58

by Abhishek Sahu

[permalink] [raw]
Subject: Re: [PATCH] x86/mm: fix compilation error for unknown type name pgprot_t

On 4/21/2020 11:18 AM, Abhishek Sahu wrote:
> On 4/20/2020 10:14 PM, Logan Gunthorpe wrote:
>> On 2020-04-20 2:22 a.m., Abhishek Sahu wrote:
>>> commit 30796e18c299 ("x86/mm: introduce __set_memory_prot()")
>>> added the function __set_memory_prot() which uses pgprot_t in
>>> function prototype. The currently included header files in
>>> <arch/x86/include/asm/set_memory.h> do not include type name
>>> pgprot_t. The pgprot_t is defined in <asm/pgtable_types.h>.
>>>
>>> Fixes: 30796e18c299 ("x86/mm: introduce __set_memory_prot()")
>>> Signed-off-by: Abhishek Sahu <[email protected]>
>>
>> I assume this is only hit with a specific driver or something that
>> includes set_memory.h without including pgtable_types.h before hand.
>>
>> It certainly compiles fine for me and the kbuild robot has had lots of
>> time to test it with random configs.
>>
>> Reviewed-by: Logan Gunthorpe <[email protected]>
>
> Thanks Logan.
>
> Yes. The mainline is compiling fine with default config.
> This problem is coming while compiling Out of tree NVIDIA driver.
> But this problem can happen for the drivers which don't include
> <pgtable_types.h>. I am not sure if this problem will come with
> some other configs. Normally, the header files should not be
> dependent upon the callers.
>

Is it possible to get this patch merged for next rc of 5.7.
This issue started coming from 5.7-rc1.

Thanks,
Abhishek

2020-05-13 07:31:27

by Abhishek Sahu

[permalink] [raw]
Subject: Re: [PATCH] x86/mm: fix compilation error for unknown type name pgprot_t

On 4/27/2020 8:41 PM, Abhishek Sahu wrote:
> On 4/21/2020 11:18 AM, Abhishek Sahu wrote:
>> On 4/20/2020 10:14 PM, Logan Gunthorpe wrote:
>>> On 2020-04-20 2:22 a.m., Abhishek Sahu wrote:
>>>> commit 30796e18c299 ("x86/mm: introduce __set_memory_prot()")
>>>> added the function __set_memory_prot() which uses pgprot_t in
>>>> function prototype. The currently included header files in
>>>> <arch/x86/include/asm/set_memory.h> do not include type name
>>>> pgprot_t. The pgprot_t is defined in <asm/pgtable_types.h>.
>>>>
>>>> Fixes: 30796e18c299 ("x86/mm: introduce __set_memory_prot()")
>>>> Signed-off-by: Abhishek Sahu <[email protected]>
>>>
>>> I assume this is only hit with a specific driver or something that
>>> includes set_memory.h without including pgtable_types.h before hand.
>>>
>>> It certainly compiles fine for me and the kbuild robot has had lots of
>>> time to test it with random configs.
>>>
>>> Reviewed-by: Logan Gunthorpe <[email protected]>
>>
>> Thanks Logan.
>>
>> Yes. The mainline is compiling fine with default config.
>> This problem is coming while compiling Out of tree NVIDIA driver.
>> But this problem can happen for the drivers which don't include
>> <pgtable_types.h>. I am not sure if this problem will come with
>> some other configs. Normally, the header files should not be
>> dependent upon the callers.
>>
>
> Is it possible to get this patch merged for next rc of 5.7.
> This issue started coming from 5.7-rc1.
>

Could someone help in reviewing and getting this merged in the
next rc of 5.7 version. The NVIDIA driver compilation is failing
from 5.7-rc1. This issue can happen for any other driver also
which is not including <asm/pgtable_types.h> in the driver.

Thanks,
Abhishek