linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings
@ 2025-05-14  6:26 Shivank Garg
  2025-05-14  6:26 ` [PATCH RESEND 2/4] x86/power: hibernate: " Shivank Garg
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Shivank Garg @ 2025-05-14  6:26 UTC (permalink / raw)
  To: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm
  Cc: linux-kernel, linux-pm, shivankg, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt

Warnings generated with 'make W=1':
arch/x86/mm/pgtable.c:623: warning: Function parameter or struct member 'reserve' not described in 'reserve_top_address'
arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'p4d' not described in 'p4d_set_huge'
arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'addr' not described in 'p4d_set_huge'
... so on

Add missing parameter documentation in page table functions to
fix kernel-doc warnings.

Signed-off-by: Shivank Garg <shivankg@amd.com>
---
 arch/x86/mm/pgtable.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
index f7ae44d3dd9e..8a5bc4545ad3 100644
--- a/arch/x86/mm/pgtable.c
+++ b/arch/x86/mm/pgtable.c
@@ -614,7 +614,7 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address,
 
 /**
  * reserve_top_address - reserves a hole in the top of kernel address space
- * @reserve - size of hole to reserve
+ * @reserve: Size of hole to reserve.
  *
  * Can be used to relocate the fixmap area and poke a hole in the top
  * of kernel address space to make room for a hypervisor.
@@ -665,6 +665,9 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
 #ifdef CONFIG_X86_5LEVEL
 /**
  * p4d_set_huge - setup kernel P4D mapping
+ * @p4d: Pointer to a p4d entry.
+ * @addr: Virtual Address associated with p4d.
+ * @prot: Protection bits to use.
  *
  * No 512GB pages yet -- always return 0
  */
@@ -675,8 +678,9 @@ int p4d_set_huge(p4d_t *p4d, phys_addr_t addr, pgprot_t prot)
 
 /**
  * p4d_clear_huge - clear kernel P4D mapping when it is set
+ * @p4d: Pointer to the p4d entry to clear.
  *
- * No 512GB pages yet -- always return 0
+ * No 512GB pages yet -- do nothing
  */
 void p4d_clear_huge(p4d_t *p4d)
 {
@@ -685,6 +689,9 @@ void p4d_clear_huge(p4d_t *p4d)
 
 /**
  * pud_set_huge - setup kernel PUD mapping
+ * @pud: Pointer to a pud entry.
+ * @addr: Virtual Address associated with pud.
+ * @prot: Protection bits to use.
  *
  * MTRRs can override PAT memory types with 4KiB granularity. Therefore, this
  * function sets up a huge page only if the complete range has the same MTRR
@@ -716,6 +723,9 @@ int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
 
 /**
  * pmd_set_huge - setup kernel PMD mapping
+ * @pmd: Pointer to a pmd entry.
+ * @addr: Virtual Address associated with pmd.
+ * @prot: Protection bits to use.
  *
  * See text over pud_set_huge() above.
  *
@@ -745,6 +755,7 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)
 
 /**
  * pud_clear_huge - clear kernel PUD mapping when it is set
+ * @pud: Pointer to the pud entry to clear.
  *
  * Returns 1 on success and 0 on failure (no PUD map is found).
  */
@@ -760,6 +771,7 @@ int pud_clear_huge(pud_t *pud)
 
 /**
  * pmd_clear_huge - clear kernel PMD mapping when it is set
+ * @pmd: Pointer to the pmd entry to clear.
  *
  * Returns 1 on success and 0 on failure (no PMD map is found).
  */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH RESEND 2/4] x86/power: hibernate: Fix W=1 build kernel-doc warnings
  2025-05-14  6:26 [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Shivank Garg
@ 2025-05-14  6:26 ` Shivank Garg
  2025-05-14  8:07   ` [tip: x86/cleanups] " tip-bot2 for Shivank Garg
  2025-05-14  6:26 ` [PATCH RESEND 3/4] x86/mm/pat: Fix W=1 build kernel-doc warning Shivank Garg
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 22+ messages in thread
From: Shivank Garg @ 2025-05-14  6:26 UTC (permalink / raw)
  To: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm
  Cc: linux-kernel, linux-pm, shivankg, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt, Rafael J . Wysocki

Warnings generated with 'make W=1':
arch/x86/power/hibernate.c:47: warning: Function parameter or struct member 'pfn' not described in 'pfn_is_nosave'
arch/x86/power/hibernate.c:92: warning: Function parameter or struct member 'max_size' not described in 'arch_hibernation_header_save'

Add missing parameter documentation in hibernate functions to
fix kernel-doc warnings.

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Shivank Garg <shivankg@amd.com>
---
 arch/x86/power/hibernate.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/x86/power/hibernate.c b/arch/x86/power/hibernate.c
index 5b81d19cd114..a7c23f2a58c9 100644
--- a/arch/x86/power/hibernate.c
+++ b/arch/x86/power/hibernate.c
@@ -42,6 +42,7 @@ unsigned long relocated_restore_code __visible;
 
 /**
  *	pfn_is_nosave - check if given pfn is in the 'nosave' section
+ *	@pfn: the page frame number to check.
  */
 int pfn_is_nosave(unsigned long pfn)
 {
@@ -86,7 +87,10 @@ static inline u32 compute_e820_crc32(struct e820_table *table)
 /**
  *	arch_hibernation_header_save - populate the architecture specific part
  *		of a hibernation image header
- *	@addr: address to save the data at
+ *	@addr: address where architecture specific header data will be saved.
+ *	@max_size: maximum size of architecture specific data in hibernation header.
+ *
+ *	Return: 0 on success, -EOVERFLOW if max_size is insufficient.
  */
 int arch_hibernation_header_save(void *addr, unsigned int max_size)
 {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH RESEND 3/4] x86/mm/pat: Fix W=1 build kernel-doc warning
  2025-05-14  6:26 [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Shivank Garg
  2025-05-14  6:26 ` [PATCH RESEND 2/4] x86/power: hibernate: " Shivank Garg
@ 2025-05-14  6:26 ` Shivank Garg
  2025-05-14  8:07   ` [tip: x86/cleanups] " tip-bot2 for Shivank Garg
  2025-05-14  6:26 ` [PATCH RESEND 4/4] x86/apic: " Shivank Garg
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 22+ messages in thread
From: Shivank Garg @ 2025-05-14  6:26 UTC (permalink / raw)
  To: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm
  Cc: linux-kernel, linux-pm, shivankg, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt

Building the kernel with W=1 generates the following warning:
arch/x86/mm/pat/memtype.c:692: warning: Function parameter or struct member 'pfn' not described in 'pat_pfn_immune_to_uc_mtrr'

Add missing parameter documentation to fix the kernel-doc warning.

Signed-off-by: Shivank Garg <shivankg@amd.com>
---
 arch/x86/mm/pat/memtype.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c
index 72d8cbc61158..51635ae1eb7f 100644
--- a/arch/x86/mm/pat/memtype.c
+++ b/arch/x86/mm/pat/memtype.c
@@ -682,6 +682,7 @@ static enum page_cache_mode lookup_memtype(u64 paddr)
 /**
  * pat_pfn_immune_to_uc_mtrr - Check whether the PAT memory type
  * of @pfn cannot be overridden by UC MTRR memory type.
+ * @pfn: The page frame number to check.
  *
  * Only to be called when PAT is enabled.
  *
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH RESEND 4/4] x86/apic: Fix W=1 build kernel-doc warning
  2025-05-14  6:26 [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Shivank Garg
  2025-05-14  6:26 ` [PATCH RESEND 2/4] x86/power: hibernate: " Shivank Garg
  2025-05-14  6:26 ` [PATCH RESEND 3/4] x86/mm/pat: Fix W=1 build kernel-doc warning Shivank Garg
@ 2025-05-14  6:26 ` Shivank Garg
  2025-05-14  7:56   ` Ingo Molnar
  2025-05-14  7:54 ` [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Ingo Molnar
  2025-05-15 15:11 ` [tip: x86/core] x86/mm: Fix kernel-doc descriptions of various pgtable methods tip-bot2 for Shivank Garg
  4 siblings, 1 reply; 22+ messages in thread
From: Shivank Garg @ 2025-05-14  6:26 UTC (permalink / raw)
  To: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm
  Cc: linux-kernel, linux-pm, shivankg, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt

Building the kernel with W=1 generates the following warning:

arch/x86/kernel/apic/apic.c:2140: warning: Function parameter or struct member 'spurious_interrupt' not described in 'DEFINE_IDTENTRY_IRQ'
arch/x86/kernel/apic/apic.c:2140: warning: expecting prototype for spurious_interrupt(). Prototype was for DEFINE_IDTENTRY_IRQ() instead

Fix the description format to fix the warning.

Signed-off-by: Shivank Garg <shivankg@amd.com>
---
 arch/x86/kernel/apic/apic.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index 62584a347931..f888a28d400f 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -2128,9 +2128,10 @@ static noinline void handle_spurious_interrupt(u8 vector)
 }
 
 /**
- * spurious_interrupt - Catch all for interrupts raised on unused vectors
- * @regs:	Pointer to pt_regs on stack
- * @vector:	The vector number
+ * DEFINE_IDTENTRY_IRQ - Handler for spurious interrupts
+ * @spurious_interrupt: Catch all for interrupts raised on unused vectors
+ * regs:	Pointer to pt_regs on stack
+ * vector:	The vector number
  *
  * This is invoked from ASM entry code to catch all interrupts which
  * trigger on an entry which is routed to the common_spurious idtentry
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings
  2025-05-14  6:26 [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Shivank Garg
                   ` (2 preceding siblings ...)
  2025-05-14  6:26 ` [PATCH RESEND 4/4] x86/apic: " Shivank Garg
@ 2025-05-14  7:54 ` Ingo Molnar
  2025-05-14  8:06   ` Shivank Garg
  2025-05-14  8:27   ` Shivank Garg
  2025-05-15 15:11 ` [tip: x86/core] x86/mm: Fix kernel-doc descriptions of various pgtable methods tip-bot2 for Shivank Garg
  4 siblings, 2 replies; 22+ messages in thread
From: Ingo Molnar @ 2025-05-14  7:54 UTC (permalink / raw)
  To: Shivank Garg
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt


* Shivank Garg <shivankg@amd.com> wrote:

> Warnings generated with 'make W=1':
> arch/x86/mm/pgtable.c:623: warning: Function parameter or struct member 'reserve' not described in 'reserve_top_address'
> arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'p4d' not described in 'p4d_set_huge'
> arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'addr' not described in 'p4d_set_huge'
> ... so on
> 
> Add missing parameter documentation in page table functions to
> fix kernel-doc warnings.
> 
> Signed-off-by: Shivank Garg <shivankg@amd.com>
> ---
>  arch/x86/mm/pgtable.c | 16 ++++++++++++++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
> index f7ae44d3dd9e..8a5bc4545ad3 100644
> --- a/arch/x86/mm/pgtable.c
> +++ b/arch/x86/mm/pgtable.c
> @@ -614,7 +614,7 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address,
>  
>  /**
>   * reserve_top_address - reserves a hole in the top of kernel address space
> - * @reserve - size of hole to reserve
> + * @reserve: Size of hole to reserve.
>   *
>   * Can be used to relocate the fixmap area and poke a hole in the top
>   * of kernel address space to make room for a hypervisor.
> @@ -665,6 +665,9 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
>  #ifdef CONFIG_X86_5LEVEL
>  /**
>   * p4d_set_huge - setup kernel P4D mapping
> + * @p4d: Pointer to a p4d entry.
> + * @addr: Virtual Address associated with p4d.
> + * @prot: Protection bits to use.

How about using the same capitalization you already see in this 
description?

>  /**
>   * p4d_clear_huge - clear kernel P4D mapping when it is set
> + * @p4d: Pointer to the p4d entry to clear.

Ditto.

>   * pud_set_huge - setup kernel PUD mapping
> + * @pud: Pointer to a pud entry.
> + * @addr: Virtual Address associated with pud.
> + * @prot: Protection bits to use.

Ditto.

>   * pmd_set_huge - setup kernel PMD mapping
> + * @pmd: Pointer to a pmd entry.
> + * @addr: Virtual Address associated with pmd.
> + * @prot: Protection bits to use.

Ditto.

> @@ -745,6 +755,7 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)
>  
>  /**
>   * pud_clear_huge - clear kernel PUD mapping when it is set
> + * @pud: Pointer to the pud entry to clear.

Ditto.

>   * Returns 1 on success and 0 on failure (no PUD map is found).
>   */
> @@ -760,6 +771,7 @@ int pud_clear_huge(pud_t *pud)
>  
>  /**
>   * pmd_clear_huge - clear kernel PMD mapping when it is set
> + * @pmd: Pointer to the pmd entry to clear.

Ditto.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 4/4] x86/apic: Fix W=1 build kernel-doc warning
  2025-05-14  6:26 ` [PATCH RESEND 4/4] x86/apic: " Shivank Garg
@ 2025-05-14  7:56   ` Ingo Molnar
  2025-05-15  6:33     ` Shivank Garg
  0 siblings, 1 reply; 22+ messages in thread
From: Ingo Molnar @ 2025-05-14  7:56 UTC (permalink / raw)
  To: Shivank Garg
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt


* Shivank Garg <shivankg@amd.com> wrote:

> Building the kernel with W=1 generates the following warning:
> 
> arch/x86/kernel/apic/apic.c:2140: warning: Function parameter or struct member 'spurious_interrupt' not described in 'DEFINE_IDTENTRY_IRQ'
> arch/x86/kernel/apic/apic.c:2140: warning: expecting prototype for spurious_interrupt(). Prototype was for DEFINE_IDTENTRY_IRQ() instead
> 
> Fix the description format to fix the warning.
> 
> Signed-off-by: Shivank Garg <shivankg@amd.com>
> ---
>  arch/x86/kernel/apic/apic.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index 62584a347931..f888a28d400f 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -2128,9 +2128,10 @@ static noinline void handle_spurious_interrupt(u8 vector)
>  }
>  
>  /**
> - * spurious_interrupt - Catch all for interrupts raised on unused vectors
> - * @regs:	Pointer to pt_regs on stack
> - * @vector:	The vector number
> + * DEFINE_IDTENTRY_IRQ - Handler for spurious interrupts
> + * @spurious_interrupt: Catch all for interrupts raised on unused vectors
> + * regs:	Pointer to pt_regs on stack
> + * vector:	The vector number

This is incorrect and is based on a misunderstanding of what the code 
does:

DEFINE_IDTENTRY_IRQ(spurious_interrupt)
{
        handle_spurious_interrupt(vector);
}

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings
  2025-05-14  7:54 ` [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Ingo Molnar
@ 2025-05-14  8:06   ` Shivank Garg
  2025-05-14  8:27   ` Shivank Garg
  1 sibling, 0 replies; 22+ messages in thread
From: Shivank Garg @ 2025-05-14  8:06 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt



On 5/14/2025 1:24 PM, Ingo Molnar wrote:
> 
> * Shivank Garg <shivankg@amd.com> wrote:
> 
>> Warnings generated with 'make W=1':
>> arch/x86/mm/pgtable.c:623: warning: Function parameter or struct member 'reserve' not described in 'reserve_top_address'
>> arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'p4d' not described in 'p4d_set_huge'
>> arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'addr' not described in 'p4d_set_huge'
>> ... so on
>>
>> Add missing parameter documentation in page table functions to
>> fix kernel-doc warnings.
>>
>> Signed-off-by: Shivank Garg <shivankg@amd.com>
>> ---
>>  arch/x86/mm/pgtable.c | 16 ++++++++++++++--
>>  1 file changed, 14 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
>> index f7ae44d3dd9e..8a5bc4545ad3 100644
>> --- a/arch/x86/mm/pgtable.c
>> +++ b/arch/x86/mm/pgtable.c
>> @@ -614,7 +614,7 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address,
>>  
>>  /**
>>   * reserve_top_address - reserves a hole in the top of kernel address space
>> - * @reserve - size of hole to reserve
>> + * @reserve: Size of hole to reserve.
>>   *
>>   * Can be used to relocate the fixmap area and poke a hole in the top
>>   * of kernel address space to make room for a hypervisor.
>> @@ -665,6 +665,9 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
>>  #ifdef CONFIG_X86_5LEVEL
>>  /**
>>   * p4d_set_huge - setup kernel P4D mapping
>> + * @p4d: Pointer to a p4d entry.
>> + * @addr: Virtual Address associated with p4d.
>> + * @prot: Protection bits to use.
> 
> How about using the same capitalization you already see in this 
> description?

Sure, I'll keep the capitalization consistent with existing code.
> 
>>  /**
>>   * p4d_clear_huge - clear kernel P4D mapping when it is set
>> + * @p4d: Pointer to the p4d entry to clear.
> 
> Ditto.
> 
>>   * pud_set_huge - setup kernel PUD mapping
>> + * @pud: Pointer to a pud entry.
>> + * @addr: Virtual Address associated with pud.
>> + * @prot: Protection bits to use.
> 
> Ditto.
> 
>>   * pmd_set_huge - setup kernel PMD mapping
>> + * @pmd: Pointer to a pmd entry.
>> + * @addr: Virtual Address associated with pmd.
>> + * @prot: Protection bits to use.
> 
> Ditto.
> 
>> @@ -745,6 +755,7 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)
>>  
>>  /**
>>   * pud_clear_huge - clear kernel PUD mapping when it is set
>> + * @pud: Pointer to the pud entry to clear.
> 
> Ditto.
> 
>>   * Returns 1 on success and 0 on failure (no PUD map is found).
>>   */
>> @@ -760,6 +771,7 @@ int pud_clear_huge(pud_t *pud)
>>  
>>  /**
>>   * pmd_clear_huge - clear kernel PMD mapping when it is set
>> + * @pmd: Pointer to the pmd entry to clear.
> 
> Ditto.

Thanks for the feedback.

> 
> Thanks,
> 
> 	Ingo


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [tip: x86/cleanups] x86/power: hibernate: Fix W=1 build kernel-doc warnings
  2025-05-14  6:26 ` [PATCH RESEND 2/4] x86/power: hibernate: " Shivank Garg
@ 2025-05-14  8:07   ` tip-bot2 for Shivank Garg
  0 siblings, 0 replies; 22+ messages in thread
From: tip-bot2 for Shivank Garg @ 2025-05-14  8:07 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Shivank Garg, Ingo Molnar, Rafael J. Wysocki, x86, linux-kernel

The following commit has been merged into the x86/cleanups branch of tip:

Commit-ID:     f449bf98b7b63702e86155fe5fa3c853c3bf1fda
Gitweb:        https://git.kernel.org/tip/f449bf98b7b63702e86155fe5fa3c853c3bf1fda
Author:        Shivank Garg <shivankg@amd.com>
AuthorDate:    Wed, 14 May 2025 06:26:38 
Committer:     Ingo Molnar <mingo@kernel.org>
CommitterDate: Wed, 14 May 2025 09:58:54 +02:00

x86/power: hibernate: Fix W=1 build kernel-doc warnings

Warnings generated with 'make W=1':

  arch/x86/power/hibernate.c:47: warning: Function parameter or struct member 'pfn' not described in 'pfn_is_nosave'
  arch/x86/power/hibernate.c:92: warning: Function parameter or struct member 'max_size' not described in 'arch_hibernation_header_save'

Add missing parameter documentation in hibernate functions to
fix kernel-doc warnings.

Signed-off-by: Shivank Garg <shivankg@amd.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/20250514062637.3287779-2-shivankg@amd.com
---
 arch/x86/power/hibernate.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/x86/power/hibernate.c b/arch/x86/power/hibernate.c
index 5b81d19..a7c23f2 100644
--- a/arch/x86/power/hibernate.c
+++ b/arch/x86/power/hibernate.c
@@ -42,6 +42,7 @@ unsigned long relocated_restore_code __visible;
 
 /**
  *	pfn_is_nosave - check if given pfn is in the 'nosave' section
+ *	@pfn: the page frame number to check.
  */
 int pfn_is_nosave(unsigned long pfn)
 {
@@ -86,7 +87,10 @@ static inline u32 compute_e820_crc32(struct e820_table *table)
 /**
  *	arch_hibernation_header_save - populate the architecture specific part
  *		of a hibernation image header
- *	@addr: address to save the data at
+ *	@addr: address where architecture specific header data will be saved.
+ *	@max_size: maximum size of architecture specific data in hibernation header.
+ *
+ *	Return: 0 on success, -EOVERFLOW if max_size is insufficient.
  */
 int arch_hibernation_header_save(void *addr, unsigned int max_size)
 {

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [tip: x86/cleanups] x86/mm/pat: Fix W=1 build kernel-doc warning
  2025-05-14  6:26 ` [PATCH RESEND 3/4] x86/mm/pat: Fix W=1 build kernel-doc warning Shivank Garg
@ 2025-05-14  8:07   ` tip-bot2 for Shivank Garg
  0 siblings, 0 replies; 22+ messages in thread
From: tip-bot2 for Shivank Garg @ 2025-05-14  8:07 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: Shivank Garg, Ingo Molnar, x86, linux-kernel

The following commit has been merged into the x86/cleanups branch of tip:

Commit-ID:     bd6afa43eee175ba146f6f9a27d6d24eeaab0a45
Gitweb:        https://git.kernel.org/tip/bd6afa43eee175ba146f6f9a27d6d24eeaab0a45
Author:        Shivank Garg <shivankg@amd.com>
AuthorDate:    Wed, 14 May 2025 06:26:40 
Committer:     Ingo Molnar <mingo@kernel.org>
CommitterDate: Wed, 14 May 2025 09:58:53 +02:00

x86/mm/pat: Fix W=1 build kernel-doc warning

Building the kernel with W=1 generates the following warning:

  arch/x86/mm/pat/memtype.c:692: warning: Function parameter or struct member 'pfn' not described in 'pat_pfn_immune_to_uc_mtrr'

Add missing parameter documentation to fix the kernel-doc warning.

Signed-off-by: Shivank Garg <shivankg@amd.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20250514062637.3287779-3-shivankg@amd.com
---
 arch/x86/mm/pat/memtype.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c
index 72d8cbc..51635ae 100644
--- a/arch/x86/mm/pat/memtype.c
+++ b/arch/x86/mm/pat/memtype.c
@@ -682,6 +682,7 @@ static enum page_cache_mode lookup_memtype(u64 paddr)
 /**
  * pat_pfn_immune_to_uc_mtrr - Check whether the PAT memory type
  * of @pfn cannot be overridden by UC MTRR memory type.
+ * @pfn: The page frame number to check.
  *
  * Only to be called when PAT is enabled.
  *

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings
  2025-05-14  7:54 ` [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Ingo Molnar
  2025-05-14  8:06   ` Shivank Garg
@ 2025-05-14  8:27   ` Shivank Garg
  2025-05-14  9:20     ` Ingo Molnar
  1 sibling, 1 reply; 22+ messages in thread
From: Shivank Garg @ 2025-05-14  8:27 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt

[-- Attachment #1: Type: text/plain, Size: 2825 bytes --]



On 5/14/2025 1:24 PM, Ingo Molnar wrote:
> 
> * Shivank Garg <shivankg@amd.com> wrote:
> 
>> Warnings generated with 'make W=1':
>> arch/x86/mm/pgtable.c:623: warning: Function parameter or struct member 'reserve' not described in 'reserve_top_address'
>> arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'p4d' not described in 'p4d_set_huge'
>> arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'addr' not described in 'p4d_set_huge'
>> ... so on
>>
>> Add missing parameter documentation in page table functions to
>> fix kernel-doc warnings.
>>
>> Signed-off-by: Shivank Garg <shivankg@amd.com>
>> ---
>>  arch/x86/mm/pgtable.c | 16 ++++++++++++++--
>>  1 file changed, 14 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
>> index f7ae44d3dd9e..8a5bc4545ad3 100644
>> --- a/arch/x86/mm/pgtable.c
>> +++ b/arch/x86/mm/pgtable.c
>> @@ -614,7 +614,7 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address,
>>  
>>  /**
>>   * reserve_top_address - reserves a hole in the top of kernel address space
>> - * @reserve - size of hole to reserve
>> + * @reserve: Size of hole to reserve.
>>   *
>>   * Can be used to relocate the fixmap area and poke a hole in the top
>>   * of kernel address space to make room for a hypervisor.
>> @@ -665,6 +665,9 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
>>  #ifdef CONFIG_X86_5LEVEL
>>  /**
>>   * p4d_set_huge - setup kernel P4D mapping
>> + * @p4d: Pointer to a p4d entry.
>> + * @addr: Virtual Address associated with p4d.
>> + * @prot: Protection bits to use.
> 
> How about using the same capitalization you already see in this 
> description?
> 
>>  /**
>>   * p4d_clear_huge - clear kernel P4D mapping when it is set
>> + * @p4d: Pointer to the p4d entry to clear.
> 
> Ditto.
> 
>>   * pud_set_huge - setup kernel PUD mapping
>> + * @pud: Pointer to a pud entry.
>> + * @addr: Virtual Address associated with pud.
>> + * @prot: Protection bits to use.
> 
> Ditto.
> 
>>   * pmd_set_huge - setup kernel PMD mapping
>> + * @pmd: Pointer to a pmd entry.
>> + * @addr: Virtual Address associated with pmd.
>> + * @prot: Protection bits to use.
> 
> Ditto.
> 
>> @@ -745,6 +755,7 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)
>>  
>>  /**
>>   * pud_clear_huge - clear kernel PUD mapping when it is set
>> + * @pud: Pointer to the pud entry to clear.
> 
> Ditto.
> 
>>   * Returns 1 on success and 0 on failure (no PUD map is found).
>>   */
>> @@ -760,6 +771,7 @@ int pud_clear_huge(pud_t *pud)
>>  
>>  /**
>>   * pmd_clear_huge - clear kernel PMD mapping when it is set
>> + * @pmd: Pointer to the pmd entry to clear.
> 
> Ditto.
> 
> Thanks,
> 
> 	Ingo

Please review the revised patch with suggested changes.

Thanks,
Shivank

[-- Attachment #2: 0001-x86-mm-pgtable-Fix-W-1-build-kernel-doc-warnings.patch --]
[-- Type: text/plain, Size: 3236 bytes --]

From 44e0e7ce29dc0689db958230e0259a6243b4aed7 Mon Sep 17 00:00:00 2001
From: Shivank Garg <shivankg@amd.com>
Date: Wed, 30 Apr 2025 11:29:59 +0000
Subject: [PATCH] x86/mm: pgtable: Fix W=1 build kernel-doc warnings

Sample warnings generated with 'make W=1':
arch/x86/mm/pgtable.c:623: warning: Function parameter or struct member 'reserve' not described in 'reserve_top_address'
arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'p4d' not described in 'p4d_set_huge'
arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'addr' not described in 'p4d_set_huge'
... so on

Add missing parameter documentation in page table functions to
fix kernel-doc warnings.

Signed-off-by: Shivank Garg <shivankg@amd.com>
---
 arch/x86/mm/pgtable.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
index f7ae44d3dd9e..0ee0198dfd54 100644
--- a/arch/x86/mm/pgtable.c
+++ b/arch/x86/mm/pgtable.c
@@ -614,7 +614,7 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address,
 
 /**
  * reserve_top_address - reserves a hole in the top of kernel address space
- * @reserve - size of hole to reserve
+ * @reserve: size of hole to reserve.
  *
  * Can be used to relocate the fixmap area and poke a hole in the top
  * of kernel address space to make room for a hypervisor.
@@ -665,6 +665,9 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
 #ifdef CONFIG_X86_5LEVEL
 /**
  * p4d_set_huge - setup kernel P4D mapping
+ * @p4d: pointer to a p4d entry.
+ * @addr: virtual Address associated with p4d.
+ * @prot: protection bits to use.
  *
  * No 512GB pages yet -- always return 0
  */
@@ -675,8 +678,9 @@ int p4d_set_huge(p4d_t *p4d, phys_addr_t addr, pgprot_t prot)
 
 /**
  * p4d_clear_huge - clear kernel P4D mapping when it is set
+ * @p4d: pointer to the p4d entry to clear.
  *
- * No 512GB pages yet -- always return 0
+ * No 512GB pages yet -- do nothing
  */
 void p4d_clear_huge(p4d_t *p4d)
 {
@@ -685,6 +689,9 @@ void p4d_clear_huge(p4d_t *p4d)
 
 /**
  * pud_set_huge - setup kernel PUD mapping
+ * @pud: pointer to a pud entry.
+ * @addr: virtual Address associated with pud.
+ * @prot: protection bits to use.
  *
  * MTRRs can override PAT memory types with 4KiB granularity. Therefore, this
  * function sets up a huge page only if the complete range has the same MTRR
@@ -716,6 +723,9 @@ int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
 
 /**
  * pmd_set_huge - setup kernel PMD mapping
+ * @pmd: pointer to a pmd entry.
+ * @addr: virtual Address associated with pmd.
+ * @prot: protection bits to use.
  *
  * See text over pud_set_huge() above.
  *
@@ -745,6 +755,7 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)
 
 /**
  * pud_clear_huge - clear kernel PUD mapping when it is set
+ * @pud: pointer to the pud entry to clear.
  *
  * Returns 1 on success and 0 on failure (no PUD map is found).
  */
@@ -760,6 +771,7 @@ int pud_clear_huge(pud_t *pud)
 
 /**
  * pmd_clear_huge - clear kernel PMD mapping when it is set
+ * @pmd: pointer to the pmd entry to clear.
  *
  * Returns 1 on success and 0 on failure (no PMD map is found).
  */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings
  2025-05-14  8:27   ` Shivank Garg
@ 2025-05-14  9:20     ` Ingo Molnar
  2025-05-15  3:54       ` Shivank Garg
  0 siblings, 1 reply; 22+ messages in thread
From: Ingo Molnar @ 2025-05-14  9:20 UTC (permalink / raw)
  To: Shivank Garg
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt


* Shivank Garg <shivankg@amd.com> wrote:

> >> @@ -665,6 +665,9 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
> >>  #ifdef CONFIG_X86_5LEVEL
> >>  /**
> >>   * p4d_set_huge - setup kernel P4D mapping
> >> + * @p4d: Pointer to a p4d entry.
> >> + * @addr: Virtual Address associated with p4d.
> >> + * @prot: Protection bits to use.
> > 
> > How about using the same capitalization you already see in this 
> > description?

> Please review the revised patch with suggested changes.

I think you misunderstood: why are you using 'p4d', while a line before 
it's 'P4D'? It's an acronym, and only used lowercase when it's a local 
variable. 'p4d is a pointer to a p4d entry' is doubly confusing in that 
regard ...

Same for PMD/PUD etc.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings
  2025-05-14  9:20     ` Ingo Molnar
@ 2025-05-15  3:54       ` Shivank Garg
  2025-05-15  6:54         ` Ingo Molnar
  0 siblings, 1 reply; 22+ messages in thread
From: Shivank Garg @ 2025-05-15  3:54 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt

[-- Attachment #1: Type: text/plain, Size: 944 bytes --]



On 5/14/2025 2:50 PM, Ingo Molnar wrote:
> 
> * Shivank Garg <shivankg@amd.com> wrote:
> 
>>>> @@ -665,6 +665,9 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
>>>>  #ifdef CONFIG_X86_5LEVEL
>>>>  /**
>>>>   * p4d_set_huge - setup kernel P4D mapping
>>>> + * @p4d: Pointer to a p4d entry.
>>>> + * @addr: Virtual Address associated with p4d.
>>>> + * @prot: Protection bits to use.
>>>
>>> How about using the same capitalization you already see in this 
>>> description?
> 
>> Please review the revised patch with suggested changes.
> 
> I think you misunderstood: why are you using 'p4d', while a line before 
> it's 'P4D'? It's an acronym, and only used lowercase when it's a local 
> variable. 'p4d is a pointer to a p4d entry' is doubly confusing in that 
> regard ...
> 
> Same for PMD/PUD etc.
> 

Thank you for the clarification. I understand it now.
I hope the attached patch looks good now.

Best regards,
Shivank

[-- Attachment #2: 0001-x86-mm-pgtable-Fix-W-1-build-kernel-doc-warnings.patch --]
[-- Type: text/plain, Size: 3236 bytes --]

From 3f4fc2ccc73a2225d36b2a28118b434b5ca96a7c Mon Sep 17 00:00:00 2001
From: Shivank Garg <shivankg@amd.com>
Date: Wed, 30 Apr 2025 11:29:59 +0000
Subject: [PATCH] x86/mm: pgtable: Fix W=1 build kernel-doc warnings

Sample warnings generated with 'make W=1':
arch/x86/mm/pgtable.c:623: warning: Function parameter or struct member 'reserve' not described in 'reserve_top_address'
arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'p4d' not described in 'p4d_set_huge'
arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'addr' not described in 'p4d_set_huge'
... so on

Add missing parameter documentation in page table functions to
fix kernel-doc warnings.

Signed-off-by: Shivank Garg <shivankg@amd.com>
---
 arch/x86/mm/pgtable.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
index f7ae44d3dd9e..e92bb61ec9d7 100644
--- a/arch/x86/mm/pgtable.c
+++ b/arch/x86/mm/pgtable.c
@@ -614,7 +614,7 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address,
 
 /**
  * reserve_top_address - reserves a hole in the top of kernel address space
- * @reserve - size of hole to reserve
+ * @reserve: size of hole to reserve.
  *
  * Can be used to relocate the fixmap area and poke a hole in the top
  * of kernel address space to make room for a hypervisor.
@@ -665,6 +665,9 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
 #ifdef CONFIG_X86_5LEVEL
 /**
  * p4d_set_huge - setup kernel P4D mapping
+ * @p4d: pointer to a P4D entry.
+ * @addr: virtual Address associated with p4d.
+ * @prot: protection bits to use.
  *
  * No 512GB pages yet -- always return 0
  */
@@ -675,8 +678,9 @@ int p4d_set_huge(p4d_t *p4d, phys_addr_t addr, pgprot_t prot)
 
 /**
  * p4d_clear_huge - clear kernel P4D mapping when it is set
+ * @p4d: pointer to the P4D entry to clear.
  *
- * No 512GB pages yet -- always return 0
+ * No 512GB pages yet -- do nothing
  */
 void p4d_clear_huge(p4d_t *p4d)
 {
@@ -685,6 +689,9 @@ void p4d_clear_huge(p4d_t *p4d)
 
 /**
  * pud_set_huge - setup kernel PUD mapping
+ * @pud: pointer to a PUD entry.
+ * @addr: virtual Address associated with pud.
+ * @prot: protection bits to use.
  *
  * MTRRs can override PAT memory types with 4KiB granularity. Therefore, this
  * function sets up a huge page only if the complete range has the same MTRR
@@ -716,6 +723,9 @@ int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
 
 /**
  * pmd_set_huge - setup kernel PMD mapping
+ * @pmd: pointer to a PMD entry.
+ * @addr: virtual Address associated with pmd.
+ * @prot: protection bits to use.
  *
  * See text over pud_set_huge() above.
  *
@@ -745,6 +755,7 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)
 
 /**
  * pud_clear_huge - clear kernel PUD mapping when it is set
+ * @pud: pointer to the PUD entry to clear.
  *
  * Returns 1 on success and 0 on failure (no PUD map is found).
  */
@@ -760,6 +771,7 @@ int pud_clear_huge(pud_t *pud)
 
 /**
  * pmd_clear_huge - clear kernel PMD mapping when it is set
+ * @pmd: pointer to the PMD entry to clear.
  *
  * Returns 1 on success and 0 on failure (no PMD map is found).
  */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 4/4] x86/apic: Fix W=1 build kernel-doc warning
  2025-05-14  7:56   ` Ingo Molnar
@ 2025-05-15  6:33     ` Shivank Garg
  2025-05-15  6:38       ` Ingo Molnar
                         ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Shivank Garg @ 2025-05-15  6:33 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt



On 5/14/2025 1:26 PM, Ingo Molnar wrote:
> 
> * Shivank Garg <shivankg@amd.com> wrote:
> 
>> Building the kernel with W=1 generates the following warning:
>>
>> arch/x86/kernel/apic/apic.c:2140: warning: Function parameter or struct member 'spurious_interrupt' not described in 'DEFINE_IDTENTRY_IRQ'
>> arch/x86/kernel/apic/apic.c:2140: warning: expecting prototype for spurious_interrupt(). Prototype was for DEFINE_IDTENTRY_IRQ() instead
>>
>> Fix the description format to fix the warning.
>>
>> Signed-off-by: Shivank Garg <shivankg@amd.com>
>> ---
>>  arch/x86/kernel/apic/apic.c | 7 ++++---
>>  1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
>> index 62584a347931..f888a28d400f 100644
>> --- a/arch/x86/kernel/apic/apic.c
>> +++ b/arch/x86/kernel/apic/apic.c
>> @@ -2128,9 +2128,10 @@ static noinline void handle_spurious_interrupt(u8 vector)
>>  }
>>  
>>  /**
>> - * spurious_interrupt - Catch all for interrupts raised on unused vectors
>> - * @regs:	Pointer to pt_regs on stack
>> - * @vector:	The vector number
>> + * DEFINE_IDTENTRY_IRQ - Handler for spurious interrupts
>> + * @spurious_interrupt: Catch all for interrupts raised on unused vectors
>> + * regs:	Pointer to pt_regs on stack
>> + * vector:	The vector number
> 
> This is incorrect and is based on a misunderstanding of what the code 
> does:
> 
> DEFINE_IDTENTRY_IRQ(spurious_interrupt)
> {
>         handle_spurious_interrupt(vector);
> }

The kernel-doc tool doesn't handle macros properly.
Can I change it to a normal comment instead?
or if a kernel-doc comment is required how should I make it correct?

Thanks,
Shivank


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 4/4] x86/apic: Fix W=1 build kernel-doc warning
  2025-05-15  6:33     ` Shivank Garg
@ 2025-05-15  6:38       ` Ingo Molnar
  2025-05-15  6:49       ` Ingo Molnar
  2025-05-15  7:19       ` Thomas Gleixner
  2 siblings, 0 replies; 22+ messages in thread
From: Ingo Molnar @ 2025-05-15  6:38 UTC (permalink / raw)
  To: Shivank Garg
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt


* Shivank Garg <shivankg@amd.com> wrote:

> 
> 
> On 5/14/2025 1:26 PM, Ingo Molnar wrote:
> > 
> > * Shivank Garg <shivankg@amd.com> wrote:
> > 
> >> Building the kernel with W=1 generates the following warning:
> >>
> >> arch/x86/kernel/apic/apic.c:2140: warning: Function parameter or struct member 'spurious_interrupt' not described in 'DEFINE_IDTENTRY_IRQ'
> >> arch/x86/kernel/apic/apic.c:2140: warning: expecting prototype for spurious_interrupt(). Prototype was for DEFINE_IDTENTRY_IRQ() instead
> >>
> >> Fix the description format to fix the warning.
> >>
> >> Signed-off-by: Shivank Garg <shivankg@amd.com>
> >> ---
> >>  arch/x86/kernel/apic/apic.c | 7 ++++---
> >>  1 file changed, 4 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> >> index 62584a347931..f888a28d400f 100644
> >> --- a/arch/x86/kernel/apic/apic.c
> >> +++ b/arch/x86/kernel/apic/apic.c
> >> @@ -2128,9 +2128,10 @@ static noinline void handle_spurious_interrupt(u8 vector)
> >>  }
> >>  
> >>  /**
> >> - * spurious_interrupt - Catch all for interrupts raised on unused vectors
> >> - * @regs:	Pointer to pt_regs on stack
> >> - * @vector:	The vector number
> >> + * DEFINE_IDTENTRY_IRQ - Handler for spurious interrupts
> >> + * @spurious_interrupt: Catch all for interrupts raised on unused vectors
> >> + * regs:	Pointer to pt_regs on stack
> >> + * vector:	The vector number
> > 
> > This is incorrect and is based on a misunderstanding of what the code 
> > does:
> > 
> > DEFINE_IDTENTRY_IRQ(spurious_interrupt)
> > {
> >         handle_spurious_interrupt(vector);
> > }
> 
> The kernel-doc tool doesn't handle macros properly.

Then we should not document that function in a misleading fashion, just 
to work around kernel-doc limitations.

> Can I change it to a normal comment instead?

Yeah, I think that's fine.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 4/4] x86/apic: Fix W=1 build kernel-doc warning
  2025-05-15  6:33     ` Shivank Garg
  2025-05-15  6:38       ` Ingo Molnar
@ 2025-05-15  6:49       ` Ingo Molnar
  2025-05-15  7:19       ` Thomas Gleixner
  2 siblings, 0 replies; 22+ messages in thread
From: Ingo Molnar @ 2025-05-15  6:49 UTC (permalink / raw)
  To: Shivank Garg
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt


* Shivank Garg <shivankg@amd.com> wrote:

> 
> 
> On 5/14/2025 1:26 PM, Ingo Molnar wrote:
> > 
> > * Shivank Garg <shivankg@amd.com> wrote:
> > 
> >> Building the kernel with W=1 generates the following warning:
> >>
> >> arch/x86/kernel/apic/apic.c:2140: warning: Function parameter or struct member 'spurious_interrupt' not described in 'DEFINE_IDTENTRY_IRQ'
> >> arch/x86/kernel/apic/apic.c:2140: warning: expecting prototype for spurious_interrupt(). Prototype was for DEFINE_IDTENTRY_IRQ() instead
> >>
> >> Fix the description format to fix the warning.
> >>
> >> Signed-off-by: Shivank Garg <shivankg@amd.com>
> >> ---
> >>  arch/x86/kernel/apic/apic.c | 7 ++++---
> >>  1 file changed, 4 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> >> index 62584a347931..f888a28d400f 100644
> >> --- a/arch/x86/kernel/apic/apic.c
> >> +++ b/arch/x86/kernel/apic/apic.c
> >> @@ -2128,9 +2128,10 @@ static noinline void handle_spurious_interrupt(u8 vector)
> >>  }
> >>  
> >>  /**
> >> - * spurious_interrupt - Catch all for interrupts raised on unused vectors
> >> - * @regs:	Pointer to pt_regs on stack
> >> - * @vector:	The vector number
> >> + * DEFINE_IDTENTRY_IRQ - Handler for spurious interrupts
> >> + * @spurious_interrupt: Catch all for interrupts raised on unused vectors
> >> + * regs:	Pointer to pt_regs on stack
> >> + * vector:	The vector number
> > 
> > This is incorrect and is based on a misunderstanding of what the code 
> > does:
> > 
> > DEFINE_IDTENTRY_IRQ(spurious_interrupt)
> > {
> >         handle_spurious_interrupt(vector);
> > }
> 
> The kernel-doc tool doesn't handle macros properly.
> Can I change it to a normal comment instead?
> or if a kernel-doc comment is required how should I make it correct?

BTW., kernel-doc could be fixed/extended to work better with macros, 
but I'm not sure it's the right approach in this case: this x86 macro 
*is* obfuscating the real function signature.

We could, perhaps, if the kernel-doc documentation has value, just have 
an additional prototype for the resulting function, right before the 
definition, and document it via kernel-doc.

Something like:

	/**
	 * <kernel-doc annotation>
	 */
	static void __spurious_interrupt(struct pt_regs *regs, u32 vector);

	DEFINE_IDTENTRY_IRQ(spurious_interrupt)
	{
	...

would be the most intuitive outcome IMO, as the trailing part of the 
DEFINE_IDTENTRY_IRQ() definition defines the __spurious_interrupt() 
function.

BTW., note how your kernel-doc annotation has another inaccuracy: the 
function that has the 'vector' parameter which you documented is not 
spurious_interrupt(), but __spurious_interrupt(). The resulting 
spurious_interrupt() function, which is the main entry to the spurious 
interrupts vector, has the following signature:

	extern __visible noinstr void spurious_interrupt(struct pt_regs *regs, unsigned long error_code);

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings
  2025-05-15  3:54       ` Shivank Garg
@ 2025-05-15  6:54         ` Ingo Molnar
  2025-05-15  9:57           ` Shivank Garg
  0 siblings, 1 reply; 22+ messages in thread
From: Ingo Molnar @ 2025-05-15  6:54 UTC (permalink / raw)
  To: Shivank Garg
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt


* Shivank Garg <shivankg@amd.com> wrote:

> 
> 
> On 5/14/2025 2:50 PM, Ingo Molnar wrote:
> > 
> > * Shivank Garg <shivankg@amd.com> wrote:
> > 
> >>>> @@ -665,6 +665,9 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
> >>>>  #ifdef CONFIG_X86_5LEVEL
> >>>>  /**
> >>>>   * p4d_set_huge - setup kernel P4D mapping
> >>>> + * @p4d: Pointer to a p4d entry.
> >>>> + * @addr: Virtual Address associated with p4d.
> >>>> + * @prot: Protection bits to use.
> >>>
> >>> How about using the same capitalization you already see in this 
> >>> description?
> > 
> >> Please review the revised patch with suggested changes.
> > 
> > I think you misunderstood: why are you using 'p4d', while a line before 
> > it's 'P4D'? It's an acronym, and only used lowercase when it's a local 
> > variable. 'p4d is a pointer to a p4d entry' is doubly confusing in that 
> > regard ...
> > 
> > Same for PMD/PUD etc.
> > 
> 
> Thank you for the clarification. I understand it now.
> I hope the attached patch looks good now.

No. Please re-read your patches and see whether you caught everything, 
not just the things I pointed out ...

>  /**
>   * reserve_top_address - reserves a hole in the top of kernel address space
> - * @reserve - size of hole to reserve
> + * @reserve: size of hole to reserve.

And here the original capitalization in your -v1 patch was better.

>   * p4d_set_huge - setup kernel P4D mapping
> + * @p4d: pointer to a P4D entry.
> + * @addr: virtual Address associated with p4d.
> + * @prot: protection bits to use.

Why is 'address' capitalized here?

>  /**
>   * pud_set_huge - setup kernel PUD mapping
> + * @pud: pointer to a PUD entry.
> + * @addr: virtual Address associated with pud.
> + * @prot: protection bits to use.

s/pud
 /the PUD entry

Also, similar errors are elsewhere as well.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 4/4] x86/apic: Fix W=1 build kernel-doc warning
  2025-05-15  6:33     ` Shivank Garg
  2025-05-15  6:38       ` Ingo Molnar
  2025-05-15  6:49       ` Ingo Molnar
@ 2025-05-15  7:19       ` Thomas Gleixner
  2025-05-15  8:15         ` [PATCH] x86/apic: Better document spurious_interrupt() and __spurious_interrupt() Ingo Molnar
  2 siblings, 1 reply; 22+ messages in thread
From: Thomas Gleixner @ 2025-05-15  7:19 UTC (permalink / raw)
  To: Shivank Garg, Ingo Molnar
  Cc: mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael, pavel,
	akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang, yuntao.wang,
	kai.huang, xiaoyao.li, peterx, sandipan.das, ak, rostedt

On Thu, May 15 2025 at 12:03, Shivank Garg wrote:
> On 5/14/2025 1:26 PM, Ingo Molnar wrote:
>> This is incorrect and is based on a misunderstanding of what the code 
>> does:
>> 
>> DEFINE_IDTENTRY_IRQ(spurious_interrupt)
>> {
>>         handle_spurious_interrupt(vector);
>> }
>
> The kernel-doc tool doesn't handle macros properly.
> Can I change it to a normal comment instead?
> or if a kernel-doc comment is required how should I make it correct?

Fix the stupid tool and leave the comment alone.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH] x86/apic: Better document spurious_interrupt() and __spurious_interrupt()
  2025-05-15  7:19       ` Thomas Gleixner
@ 2025-05-15  8:15         ` Ingo Molnar
  0 siblings, 0 replies; 22+ messages in thread
From: Ingo Molnar @ 2025-05-15  8:15 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Shivank Garg, mingo, bp, dave.hansen, x86, hpa, luto, peterz,
	rafael, pavel, akpm, linux-kernel, linux-pm, sohil.mehta,
	rui.zhang, yuntao.wang, kai.huang, xiaoyao.li, peterx,
	sandipan.das, ak, rostedt


* Thomas Gleixner <tglx@linutronix.de> wrote:

> On Thu, May 15 2025 at 12:03, Shivank Garg wrote:
> > On 5/14/2025 1:26 PM, Ingo Molnar wrote:
> >> This is incorrect and is based on a misunderstanding of what the code 
> >> does:
> >> 
> >> DEFINE_IDTENTRY_IRQ(spurious_interrupt)
> >> {
> >>         handle_spurious_interrupt(vector);
> >> }
> >
> > The kernel-doc tool doesn't handle macros properly.
> > Can I change it to a normal comment instead?
> > or if a kernel-doc comment is required how should I make it correct?
> 
> Fix the stupid tool and leave the comment alone.

Yeah, so the problem is that the kernel-doc tool is partially right to 
complain about the status quo:

	/**
	 * spurious_interrupt - Catch all for interrupts raised on unused vectors
	 * @regs:       Pointer to pt_regs on stack
	 * @vector:     The vector number
	 *
	 * This is invoked from ASM entry code to catch all interrupts which
	 * trigger on an entry which is routed to the common_spurious idtentry
	 * point.
	 */
	DEFINE_IDTENTRY_IRQ(spurious_interrupt)
	{
	        handle_spurious_interrupt(vector);
	}

This description is incorrect as-is: the parameters described are not 
that of the main 'spurious_interrupt()' handler, which is:

        extern __visible noinstr void spurious_interrupt(struct pt_regs *regs, unsigned long error_code);

Note that it has an 'error_code', not 'vector'. (Which, of course, are 
the same actual numeric value in this case, but are in different 
functions and different prototypes.)

But the description is that of the __spurious_interrupt() lower level 
(sub-)handler function:

	static void __spurious_interrupt(struct pt_regs *regs, u32 vector);

So yeah, this documention is arguably a bit messy, and not just because 
kernel-doc is confused about macros.

So I'd fix it like this:

	/*
	 * spurious_interrupt(): Catch all for interrupts raised on unused vectors
	 * @regs:	Pointer to pt_regs on stack
	 * @error_code: Hardware exception/interrupt data
	 *
	 * The spurious_interrupt() high level function is invoked from ASM entry code
	 * to catch all interrupts which trigger on an entry which is routed to the
	 * common_spurious idtentry point.
	 *
	 * __spurious_interrupt(): Catch all for interrupts raised on unused vectors
	 * @regs:	Pointer to pt_regs on stack
	 * @vector:	The IRQ vector number
	 *
	 * This is the lower level spurious interrupts handler function.
	 */
	DEFINE_IDTENTRY_IRQ(spurious_interrupt)
	{
		handle_spurious_interrupt(vector);
	}
	
... or so.

Which also moves it out of kernel-doc style, and should thus avoid 
kernel-doc's confusion. Patch below.

Or we could:

  s/spurious_interrupt
   /__spurious_interrupt

and remove the kernel-doc trigger line.

Whichever your preference is.

Thanks,

	Ingo

=============>
 arch/x86/kernel/apic/apic.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index d73ba5a7b623..462dcdb3af85 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -2128,14 +2128,20 @@ static noinline void handle_spurious_interrupt(u8 vector)
 	trace_spurious_apic_exit(vector);
 }
 
-/**
- * spurious_interrupt - Catch all for interrupts raised on unused vectors
+/*
+ * spurious_interrupt(): Catch all for interrupts raised on unused vectors
+ * @regs:	Pointer to pt_regs on stack
+ * @error_code: Hardware exception/interrupt data
+ *
+ * The spurious_interrupt() high level function is invoked from ASM entry code
+ * to catch all interrupts which trigger on an entry which is routed to the
+ * common_spurious idtentry point.
+ *
+ * __spurious_interrupt(): Catch all for interrupts raised on unused vectors
  * @regs:	Pointer to pt_regs on stack
  * @vector:	The IRQ vector number
  *
- * This is invoked from ASM entry code to catch all interrupts which
- * trigger on an entry which is routed to the common_spurious idtentry
- * point.
+ * This is the lower level spurious interrupts handler function.
  */
 DEFINE_IDTENTRY_IRQ(spurious_interrupt)
 {


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings
  2025-05-15  6:54         ` Ingo Molnar
@ 2025-05-15  9:57           ` Shivank Garg
  2025-05-15 15:06             ` Ingo Molnar
  0 siblings, 1 reply; 22+ messages in thread
From: Shivank Garg @ 2025-05-15  9:57 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt

[-- Attachment #1: Type: text/plain, Size: 2457 bytes --]



On 5/15/2025 12:24 PM, Ingo Molnar wrote:
> 
> * Shivank Garg <shivankg@amd.com> wrote:
> 
>>
>>
>> On 5/14/2025 2:50 PM, Ingo Molnar wrote:
>>>
>>> * Shivank Garg <shivankg@amd.com> wrote:
>>>
>>>>>> @@ -665,6 +665,9 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
>>>>>>  #ifdef CONFIG_X86_5LEVEL
>>>>>>  /**
>>>>>>   * p4d_set_huge - setup kernel P4D mapping
>>>>>> + * @p4d: Pointer to a p4d entry.
>>>>>> + * @addr: Virtual Address associated with p4d.
>>>>>> + * @prot: Protection bits to use.
>>>>>
>>>>> How about using the same capitalization you already see in this 
>>>>> description?
>>>
>>>> Please review the revised patch with suggested changes.
>>>
>>> I think you misunderstood: why are you using 'p4d', while a line before 
>>> it's 'P4D'? It's an acronym, and only used lowercase when it's a local 
>>> variable. 'p4d is a pointer to a p4d entry' is doubly confusing in that 
>>> regard ...
>>>
>>> Same for PMD/PUD etc.
>>>
>>
>> Thank you for the clarification. I understand it now.
>> I hope the attached patch looks good now.
> 
> No. Please re-read your patches and see whether you caught everything, 
> not just the things I pointed out ...
> 
>>  /**
>>   * reserve_top_address - reserves a hole in the top of kernel address space
>> - * @reserve - size of hole to reserve
>> + * @reserve: size of hole to reserve.
> 
> And here the original capitalization in your -v1 patch was better.
> 
>>   * p4d_set_huge - setup kernel P4D mapping
>> + * @p4d: pointer to a P4D entry.
>> + * @addr: virtual Address associated with p4d.
>> + * @prot: protection bits to use.
> 
> Why is 'address' capitalized here?
> 
>>  /**
>>   * pud_set_huge - setup kernel PUD mapping
>> + * @pud: pointer to a PUD entry.
>> + * @addr: virtual Address associated with pud.
>> + * @prot: protection bits to use.
> 
> s/pud
>  /the PUD entry
> 
> Also, similar errors are elsewhere as well.

I'm sorry for missing these details in the previous revision.
I'm changing the first letter of variable description to capital.

https://docs.kernel.org/doc-guide/kernel-doc.html
/**
 * function_name() - Brief description of function.
 * @arg1: Describe the first argument.
 * @arg2: Describe the second argument.
 *        One can provide multiple line descriptions
 *        for arguments.

Function description also starts with capital letter in the doc-guide
and other kernel places so this should make it consistent.

Thanks,
Shivank






[-- Attachment #2: 0001-x86-mm-pgtable-Fix-W-1-build-kernel-doc-warnings.patch --]
[-- Type: text/plain, Size: 3745 bytes --]

From c76dd45d2cc8221412d69cede4fd713ce775ee64 Mon Sep 17 00:00:00 2001
From: Shivank Garg <shivankg@amd.com>
Date: Wed, 30 Apr 2025 11:29:59 +0000
Subject: [PATCH] x86/mm: pgtable: Fix W=1 build kernel-doc warnings

Sample warnings generated with 'make W=1':
arch/x86/mm/pgtable.c:623: warning: Function parameter or struct member 'reserve' not described in 'reserve_top_address'
arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'p4d' not described in 'p4d_set_huge'
arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'addr' not described in 'p4d_set_huge'
... so on

Add missing parameter documentation in page table functions to
fix kernel-doc warnings.

Signed-off-by: Shivank Garg <shivankg@amd.com>
---
 arch/x86/mm/pgtable.c | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
index f7ae44d3dd9e..dc55e4d4c226 100644
--- a/arch/x86/mm/pgtable.c
+++ b/arch/x86/mm/pgtable.c
@@ -613,8 +613,8 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address,
 #endif
 
 /**
- * reserve_top_address - reserves a hole in the top of kernel address space
- * @reserve - size of hole to reserve
+ * reserve_top_address - Reserves a hole in the top of kernel address space
+ * @reserve: Size of hole to reserve.
  *
  * Can be used to relocate the fixmap area and poke a hole in the top
  * of kernel address space to make room for a hypervisor.
@@ -664,7 +664,10 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
 #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
 #ifdef CONFIG_X86_5LEVEL
 /**
- * p4d_set_huge - setup kernel P4D mapping
+ * p4d_set_huge - Setup kernel P4D mapping
+ * @p4d: Pointer to the P4D entry.
+ * @addr: Virtual address associated with the P4D entry.
+ * @prot: Protection bits to use.
  *
  * No 512GB pages yet -- always return 0
  */
@@ -674,9 +677,10 @@ int p4d_set_huge(p4d_t *p4d, phys_addr_t addr, pgprot_t prot)
 }
 
 /**
- * p4d_clear_huge - clear kernel P4D mapping when it is set
+ * p4d_clear_huge - Clear kernel P4D mapping when it is set
+ * @p4d: Pointer to the P4D entry to clear.
  *
- * No 512GB pages yet -- always return 0
+ * No 512GB pages yet -- do nothing
  */
 void p4d_clear_huge(p4d_t *p4d)
 {
@@ -684,7 +688,10 @@ void p4d_clear_huge(p4d_t *p4d)
 #endif
 
 /**
- * pud_set_huge - setup kernel PUD mapping
+ * pud_set_huge - Setup kernel PUD mapping
+ * @pud: Pointer to the PUD entry.
+ * @addr: Virtual address associated with the PUD entry.
+ * @prot: Protection bits to use.
  *
  * MTRRs can override PAT memory types with 4KiB granularity. Therefore, this
  * function sets up a huge page only if the complete range has the same MTRR
@@ -715,7 +722,10 @@ int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
 }
 
 /**
- * pmd_set_huge - setup kernel PMD mapping
+ * pmd_set_huge - Setup kernel PMD mapping
+ * @pmd: Pointer to the PMD entry.
+ * @addr: Virtual address associated with the PMD entry.
+ * @prot: Protection bits to use.
  *
  * See text over pud_set_huge() above.
  *
@@ -744,7 +754,8 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)
 }
 
 /**
- * pud_clear_huge - clear kernel PUD mapping when it is set
+ * pud_clear_huge - Clear kernel PUD mapping when it is set
+ * @pud: Pointer to the PUD entry to clear.
  *
  * Returns 1 on success and 0 on failure (no PUD map is found).
  */
@@ -759,7 +770,8 @@ int pud_clear_huge(pud_t *pud)
 }
 
 /**
- * pmd_clear_huge - clear kernel PMD mapping when it is set
+ * pmd_clear_huge - Clear kernel PMD mapping when it is set
+ * @pmd: Pointer to the PMD entry to clear.
  *
  * Returns 1 on success and 0 on failure (no PMD map is found).
  */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings
  2025-05-15  9:57           ` Shivank Garg
@ 2025-05-15 15:06             ` Ingo Molnar
  2025-05-15 18:10               ` Shivank Garg
  0 siblings, 1 reply; 22+ messages in thread
From: Ingo Molnar @ 2025-05-15 15:06 UTC (permalink / raw)
  To: Shivank Garg
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt


* Shivank Garg <shivankg@amd.com> wrote:

> > Also, similar errors are elsewhere as well.
> 
> I'm sorry for missing these details in the previous revision.
> I'm changing the first letter of variable description to capital.
> 
> https://docs.kernel.org/doc-guide/kernel-doc.html
> /**
>  * function_name() - Brief description of function.
>  * @arg1: Describe the first argument.
>  * @arg2: Describe the second argument.
>  *        One can provide multiple line descriptions
>  *        for arguments.
> 
> Function description also starts with capital letter in the doc-guide
> and other kernel places so this should make it consistent.

Thank you! This version is much more complete. There were a few other 
things missing, quite a few of them pre-existing, which I fixed up in 
the commit (see the delta patch below).

Note that I standardized on a kernel-doc style variant without full 
stops for simple singular sentences. This is what most of the x86 code 
and the core kernel is doing, and it's contrary to the kernel-doc.html 
recommendation - but you couldn't really have known that.

Thanks,

	Ingo

=====================>
 arch/x86/mm/pgtable.c | 50 +++++++++++++++++++++++++-------------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
index 9aa3c60c6afa..59c42dec7076 100644
--- a/arch/x86/mm/pgtable.c
+++ b/arch/x86/mm/pgtable.c
@@ -543,11 +543,11 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address,
 #endif
 
 /**
- * reserve_top_address - Reserves a hole in the top of kernel address space
- * @reserve: Size of hole to reserve.
+ * reserve_top_address - Reserve a hole in the top of the kernel address space
+ * @reserve: Size of hole to reserve
  *
  * Can be used to relocate the fixmap area and poke a hole in the top
- * of kernel address space to make room for a hypervisor.
+ * of the kernel address space to make room for a hypervisor.
  */
 void __init reserve_top_address(unsigned long reserve)
 {
@@ -594,10 +594,10 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
 #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
 #ifdef CONFIG_X86_5LEVEL
 /**
- * p4d_set_huge - Setup kernel P4D mapping
- * @p4d: Pointer to the P4D entry.
- * @addr: Virtual address associated with the P4D entry.
- * @prot: Protection bits to use.
+ * p4d_set_huge - Set up kernel P4D mapping
+ * @p4d: Pointer to the P4D entry
+ * @addr: Virtual address associated with the P4D entry
+ * @prot: Protection bits to use
  *
  * No 512GB pages yet -- always return 0
  */
@@ -608,7 +608,7 @@ int p4d_set_huge(p4d_t *p4d, phys_addr_t addr, pgprot_t prot)
 
 /**
  * p4d_clear_huge - Clear kernel P4D mapping when it is set
- * @p4d: Pointer to the P4D entry to clear.
+ * @p4d: Pointer to the P4D entry to clear
  *
  * No 512GB pages yet -- do nothing
  */
@@ -618,10 +618,10 @@ void p4d_clear_huge(p4d_t *p4d)
 #endif
 
 /**
- * pud_set_huge - Setup kernel PUD mapping
- * @pud: Pointer to the PUD entry.
- * @addr: Virtual address associated with the PUD entry.
- * @prot: Protection bits to use.
+ * pud_set_huge - Set up kernel PUD mapping
+ * @pud: Pointer to the PUD entry
+ * @addr: Virtual address associated with the PUD entry
+ * @prot: Protection bits to use
  *
  * MTRRs can override PAT memory types with 4KiB granularity. Therefore, this
  * function sets up a huge page only if the complete range has the same MTRR
@@ -652,10 +652,10 @@ int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
 }
 
 /**
- * pmd_set_huge - Setup kernel PMD mapping
- * @pmd: Pointer to the PMD entry.
- * @addr: Virtual address associated with the PMD entry.
- * @prot: Protection bits to use.
+ * pmd_set_huge - Set up kernel PMD mapping
+ * @pmd: Pointer to the PMD entry
+ * @addr: Virtual address associated with the PMD entry
+ * @prot: Protection bits to use
  *
  * See text over pud_set_huge() above.
  *
@@ -717,11 +717,11 @@ int pmd_clear_huge(pmd_t *pmd)
 
 #ifdef CONFIG_X86_64
 /**
- * pud_free_pmd_page - Clear pud entry and free pmd page.
- * @pud: Pointer to a PUD.
- * @addr: Virtual address associated with pud.
+ * pud_free_pmd_page - Clear PUD entry and free PMD page
+ * @pud: Pointer to a PUD
+ * @addr: Virtual address associated with PUD
  *
- * Context: The pud range has been unmapped and TLB purged.
+ * Context: The PUD range has been unmapped and TLB purged.
  * Return: 1 if clearing the entry succeeded. 0 otherwise.
  *
  * NOTE: Callers must allow a single page allocation.
@@ -764,11 +764,11 @@ int pud_free_pmd_page(pud_t *pud, unsigned long addr)
 }
 
 /**
- * pmd_free_pte_page - Clear pmd entry and free pte page.
- * @pmd: Pointer to a PMD.
- * @addr: Virtual address associated with pmd.
+ * pmd_free_pte_page - Clear PMD entry and free PTE page.
+ * @pmd: Pointer to the PMD
+ * @addr: Virtual address associated with PMD
  *
- * Context: The pmd range has been unmapped and TLB purged.
+ * Context: The PMD range has been unmapped and TLB purged.
  * Return: 1 if clearing the entry succeeded. 0 otherwise.
  */
 int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
@@ -790,7 +790,7 @@ int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
 
 /*
  * Disable free page handling on x86-PAE. This assures that ioremap()
- * does not update sync'd pmd entries. See vmalloc_sync_one().
+ * does not update sync'd PMD entries. See vmalloc_sync_one().
  */
 int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
 {

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [tip: x86/core] x86/mm: Fix kernel-doc descriptions of various pgtable methods
  2025-05-14  6:26 [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Shivank Garg
                   ` (3 preceding siblings ...)
  2025-05-14  7:54 ` [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Ingo Molnar
@ 2025-05-15 15:11 ` tip-bot2 for Shivank Garg
  4 siblings, 0 replies; 22+ messages in thread
From: tip-bot2 for Shivank Garg @ 2025-05-15 15:11 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Shivank Garg, Ingo Molnar, Dave Hansen, Andrew Cooper,
	Andy Lutomirski, Brian Gerst, H. Peter Anvin, Juergen Gross,
	Linus Torvalds, Peter Zijlstra, Rik van Riel, x86, linux-kernel

The following commit has been merged into the x86/core branch of tip:

Commit-ID:     1adf711919de7c9e1b281a4d9cd9e3a81f3a70f7
Gitweb:        https://git.kernel.org/tip/1adf711919de7c9e1b281a4d9cd9e3a81f3a70f7
Author:        Shivank Garg <shivankg@amd.com>
AuthorDate:    Wed, 30 Apr 2025 11:29:59 
Committer:     Ingo Molnar <mingo@kernel.org>
CommitterDate: Thu, 15 May 2025 17:04:36 +02:00

x86/mm: Fix kernel-doc descriptions of various pgtable methods

So 'make W=1' complains about a couple of kernel-doc descriptions
in our MM primitives in pgtable.c:

  arch/x86/mm/pgtable.c:623: warning: Function parameter or struct member 'reserve' not described in 'reserve_top_address'
  arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'p4d' not described in 'p4d_set_huge'
  arch/x86/mm/pgtable.c:672: warning: Function parameter or struct member 'addr' not described in 'p4d_set_huge'
  ... so on

Fix them all up, add missing parameter documentation, and fix various spelling
inconsistencies while at it.

[ mingo: Harmonize kernel-doc annotations some more. ]

Signed-off-by: Shivank Garg <shivankg@amd.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@surriel.com>
Link: https://lore.kernel.org/r/20250514062637.3287779-1-shivankg@amd.com
---
 arch/x86/mm/pgtable.c | 50 ++++++++++++++++++++++++++----------------
 1 file changed, 31 insertions(+), 19 deletions(-)

diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
index 7c253de..59c42de 100644
--- a/arch/x86/mm/pgtable.c
+++ b/arch/x86/mm/pgtable.c
@@ -543,11 +543,11 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address,
 #endif
 
 /**
- * reserve_top_address - reserves a hole in the top of kernel address space
- * @reserve - size of hole to reserve
+ * reserve_top_address - Reserve a hole in the top of the kernel address space
+ * @reserve: Size of hole to reserve
  *
  * Can be used to relocate the fixmap area and poke a hole in the top
- * of kernel address space to make room for a hypervisor.
+ * of the kernel address space to make room for a hypervisor.
  */
 void __init reserve_top_address(unsigned long reserve)
 {
@@ -594,7 +594,10 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
 #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
 #ifdef CONFIG_X86_5LEVEL
 /**
- * p4d_set_huge - setup kernel P4D mapping
+ * p4d_set_huge - Set up kernel P4D mapping
+ * @p4d: Pointer to the P4D entry
+ * @addr: Virtual address associated with the P4D entry
+ * @prot: Protection bits to use
  *
  * No 512GB pages yet -- always return 0
  */
@@ -604,9 +607,10 @@ int p4d_set_huge(p4d_t *p4d, phys_addr_t addr, pgprot_t prot)
 }
 
 /**
- * p4d_clear_huge - clear kernel P4D mapping when it is set
+ * p4d_clear_huge - Clear kernel P4D mapping when it is set
+ * @p4d: Pointer to the P4D entry to clear
  *
- * No 512GB pages yet -- always return 0
+ * No 512GB pages yet -- do nothing
  */
 void p4d_clear_huge(p4d_t *p4d)
 {
@@ -614,7 +618,10 @@ void p4d_clear_huge(p4d_t *p4d)
 #endif
 
 /**
- * pud_set_huge - setup kernel PUD mapping
+ * pud_set_huge - Set up kernel PUD mapping
+ * @pud: Pointer to the PUD entry
+ * @addr: Virtual address associated with the PUD entry
+ * @prot: Protection bits to use
  *
  * MTRRs can override PAT memory types with 4KiB granularity. Therefore, this
  * function sets up a huge page only if the complete range has the same MTRR
@@ -645,7 +652,10 @@ int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
 }
 
 /**
- * pmd_set_huge - setup kernel PMD mapping
+ * pmd_set_huge - Set up kernel PMD mapping
+ * @pmd: Pointer to the PMD entry
+ * @addr: Virtual address associated with the PMD entry
+ * @prot: Protection bits to use
  *
  * See text over pud_set_huge() above.
  *
@@ -674,7 +684,8 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot)
 }
 
 /**
- * pud_clear_huge - clear kernel PUD mapping when it is set
+ * pud_clear_huge - Clear kernel PUD mapping when it is set
+ * @pud: Pointer to the PUD entry to clear.
  *
  * Returns 1 on success and 0 on failure (no PUD map is found).
  */
@@ -689,7 +700,8 @@ int pud_clear_huge(pud_t *pud)
 }
 
 /**
- * pmd_clear_huge - clear kernel PMD mapping when it is set
+ * pmd_clear_huge - Clear kernel PMD mapping when it is set
+ * @pmd: Pointer to the PMD entry to clear.
  *
  * Returns 1 on success and 0 on failure (no PMD map is found).
  */
@@ -705,11 +717,11 @@ int pmd_clear_huge(pmd_t *pmd)
 
 #ifdef CONFIG_X86_64
 /**
- * pud_free_pmd_page - Clear pud entry and free pmd page.
- * @pud: Pointer to a PUD.
- * @addr: Virtual address associated with pud.
+ * pud_free_pmd_page - Clear PUD entry and free PMD page
+ * @pud: Pointer to a PUD
+ * @addr: Virtual address associated with PUD
  *
- * Context: The pud range has been unmapped and TLB purged.
+ * Context: The PUD range has been unmapped and TLB purged.
  * Return: 1 if clearing the entry succeeded. 0 otherwise.
  *
  * NOTE: Callers must allow a single page allocation.
@@ -752,11 +764,11 @@ int pud_free_pmd_page(pud_t *pud, unsigned long addr)
 }
 
 /**
- * pmd_free_pte_page - Clear pmd entry and free pte page.
- * @pmd: Pointer to a PMD.
- * @addr: Virtual address associated with pmd.
+ * pmd_free_pte_page - Clear PMD entry and free PTE page.
+ * @pmd: Pointer to the PMD
+ * @addr: Virtual address associated with PMD
  *
- * Context: The pmd range has been unmapped and TLB purged.
+ * Context: The PMD range has been unmapped and TLB purged.
  * Return: 1 if clearing the entry succeeded. 0 otherwise.
  */
 int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
@@ -778,7 +790,7 @@ int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
 
 /*
  * Disable free page handling on x86-PAE. This assures that ioremap()
- * does not update sync'd pmd entries. See vmalloc_sync_one().
+ * does not update sync'd PMD entries. See vmalloc_sync_one().
  */
 int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
 {

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings
  2025-05-15 15:06             ` Ingo Molnar
@ 2025-05-15 18:10               ` Shivank Garg
  0 siblings, 0 replies; 22+ messages in thread
From: Shivank Garg @ 2025-05-15 18:10 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: tglx, mingo, bp, dave.hansen, x86, hpa, luto, peterz, rafael,
	pavel, akpm, linux-kernel, linux-pm, sohil.mehta, rui.zhang,
	yuntao.wang, kai.huang, xiaoyao.li, peterx, sandipan.das, ak,
	rostedt



On 5/15/2025 8:36 PM, Ingo Molnar wrote:
> 
> * Shivank Garg <shivankg@amd.com> wrote:
> 
>>> Also, similar errors are elsewhere as well.
>>
>> I'm sorry for missing these details in the previous revision.
>> I'm changing the first letter of variable description to capital.
>>
>> https://docs.kernel.org/doc-guide/kernel-doc.html
>> /**
>>  * function_name() - Brief description of function.
>>  * @arg1: Describe the first argument.
>>  * @arg2: Describe the second argument.
>>  *        One can provide multiple line descriptions
>>  *        for arguments.
>>
>> Function description also starts with capital letter in the doc-guide
>> and other kernel places so this should make it consistent.
> 
> Thank you! This version is much more complete. There were a few other 
> things missing, quite a few of them pre-existing, which I fixed up in 
> the commit (see the delta patch below).
> 
> Note that I standardized on a kernel-doc style variant without full 
> stops for simple singular sentences. This is what most of the x86 code 
> and the core kernel is doing, and it's contrary to the kernel-doc.html 
> recommendation - but you couldn't really have known that.
> 

Thank you for the detailed review and fixups.

Best Regards,
Shivank

> Thanks,
> 
> 	Ingo
> 
> =====================>
>  arch/x86/mm/pgtable.c | 50 +++++++++++++++++++++++++-------------------------
>  1 file changed, 25 insertions(+), 25 deletions(-)
> 
> diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
> index 9aa3c60c6afa..59c42dec7076 100644
> --- a/arch/x86/mm/pgtable.c
> +++ b/arch/x86/mm/pgtable.c
> @@ -543,11 +543,11 @@ pud_t pudp_invalidate(struct vm_area_struct *vma, unsigned long address,
>  #endif
>  
>  /**
> - * reserve_top_address - Reserves a hole in the top of kernel address space
> - * @reserve: Size of hole to reserve.
> + * reserve_top_address - Reserve a hole in the top of the kernel address space
> + * @reserve: Size of hole to reserve
>   *
>   * Can be used to relocate the fixmap area and poke a hole in the top
> - * of kernel address space to make room for a hypervisor.
> + * of the kernel address space to make room for a hypervisor.
>   */
>  void __init reserve_top_address(unsigned long reserve)
>  {
> @@ -594,10 +594,10 @@ void native_set_fixmap(unsigned /* enum fixed_addresses */ idx,
>  #ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
>  #ifdef CONFIG_X86_5LEVEL
>  /**
> - * p4d_set_huge - Setup kernel P4D mapping
> - * @p4d: Pointer to the P4D entry.
> - * @addr: Virtual address associated with the P4D entry.
> - * @prot: Protection bits to use.
> + * p4d_set_huge - Set up kernel P4D mapping
> + * @p4d: Pointer to the P4D entry
> + * @addr: Virtual address associated with the P4D entry
> + * @prot: Protection bits to use
>   *
>   * No 512GB pages yet -- always return 0
>   */
> @@ -608,7 +608,7 @@ int p4d_set_huge(p4d_t *p4d, phys_addr_t addr, pgprot_t prot)
>  
>  /**
>   * p4d_clear_huge - Clear kernel P4D mapping when it is set
> - * @p4d: Pointer to the P4D entry to clear.
> + * @p4d: Pointer to the P4D entry to clear
>   *
>   * No 512GB pages yet -- do nothing
>   */
> @@ -618,10 +618,10 @@ void p4d_clear_huge(p4d_t *p4d)
>  #endif
>  
>  /**
> - * pud_set_huge - Setup kernel PUD mapping
> - * @pud: Pointer to the PUD entry.
> - * @addr: Virtual address associated with the PUD entry.
> - * @prot: Protection bits to use.
> + * pud_set_huge - Set up kernel PUD mapping
> + * @pud: Pointer to the PUD entry
> + * @addr: Virtual address associated with the PUD entry
> + * @prot: Protection bits to use
>   *
>   * MTRRs can override PAT memory types with 4KiB granularity. Therefore, this
>   * function sets up a huge page only if the complete range has the same MTRR
> @@ -652,10 +652,10 @@ int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
>  }
>  
>  /**
> - * pmd_set_huge - Setup kernel PMD mapping
> - * @pmd: Pointer to the PMD entry.
> - * @addr: Virtual address associated with the PMD entry.
> - * @prot: Protection bits to use.
> + * pmd_set_huge - Set up kernel PMD mapping
> + * @pmd: Pointer to the PMD entry
> + * @addr: Virtual address associated with the PMD entry
> + * @prot: Protection bits to use
>   *
>   * See text over pud_set_huge() above.
>   *
> @@ -717,11 +717,11 @@ int pmd_clear_huge(pmd_t *pmd)
>  
>  #ifdef CONFIG_X86_64
>  /**
> - * pud_free_pmd_page - Clear pud entry and free pmd page.
> - * @pud: Pointer to a PUD.
> - * @addr: Virtual address associated with pud.
> + * pud_free_pmd_page - Clear PUD entry and free PMD page
> + * @pud: Pointer to a PUD
> + * @addr: Virtual address associated with PUD
>   *
> - * Context: The pud range has been unmapped and TLB purged.
> + * Context: The PUD range has been unmapped and TLB purged.
>   * Return: 1 if clearing the entry succeeded. 0 otherwise.
>   *
>   * NOTE: Callers must allow a single page allocation.
> @@ -764,11 +764,11 @@ int pud_free_pmd_page(pud_t *pud, unsigned long addr)
>  }
>  
>  /**
> - * pmd_free_pte_page - Clear pmd entry and free pte page.
> - * @pmd: Pointer to a PMD.
> - * @addr: Virtual address associated with pmd.
> + * pmd_free_pte_page - Clear PMD entry and free PTE page.
> + * @pmd: Pointer to the PMD
> + * @addr: Virtual address associated with PMD
>   *
> - * Context: The pmd range has been unmapped and TLB purged.
> + * Context: The PMD range has been unmapped and TLB purged.
>   * Return: 1 if clearing the entry succeeded. 0 otherwise.
>   */
>  int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
> @@ -790,7 +790,7 @@ int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
>  
>  /*
>   * Disable free page handling on x86-PAE. This assures that ioremap()
> - * does not update sync'd pmd entries. See vmalloc_sync_one().
> + * does not update sync'd PMD entries. See vmalloc_sync_one().
>   */
>  int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
>  {


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2025-05-15 18:10 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-14  6:26 [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Shivank Garg
2025-05-14  6:26 ` [PATCH RESEND 2/4] x86/power: hibernate: " Shivank Garg
2025-05-14  8:07   ` [tip: x86/cleanups] " tip-bot2 for Shivank Garg
2025-05-14  6:26 ` [PATCH RESEND 3/4] x86/mm/pat: Fix W=1 build kernel-doc warning Shivank Garg
2025-05-14  8:07   ` [tip: x86/cleanups] " tip-bot2 for Shivank Garg
2025-05-14  6:26 ` [PATCH RESEND 4/4] x86/apic: " Shivank Garg
2025-05-14  7:56   ` Ingo Molnar
2025-05-15  6:33     ` Shivank Garg
2025-05-15  6:38       ` Ingo Molnar
2025-05-15  6:49       ` Ingo Molnar
2025-05-15  7:19       ` Thomas Gleixner
2025-05-15  8:15         ` [PATCH] x86/apic: Better document spurious_interrupt() and __spurious_interrupt() Ingo Molnar
2025-05-14  7:54 ` [PATCH RESEND 1/4] x86/mm: pgtable: Fix W=1 build kernel-doc warnings Ingo Molnar
2025-05-14  8:06   ` Shivank Garg
2025-05-14  8:27   ` Shivank Garg
2025-05-14  9:20     ` Ingo Molnar
2025-05-15  3:54       ` Shivank Garg
2025-05-15  6:54         ` Ingo Molnar
2025-05-15  9:57           ` Shivank Garg
2025-05-15 15:06             ` Ingo Molnar
2025-05-15 18:10               ` Shivank Garg
2025-05-15 15:11 ` [tip: x86/core] x86/mm: Fix kernel-doc descriptions of various pgtable methods tip-bot2 for Shivank Garg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).