[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b3ce6ae0-abc5-f85a-66e2-9c7d08580b84@deltatee.com>
Date: Tue, 22 Oct 2019 13:52:23 -0600
From: Logan Gunthorpe <logang@...tatee.com>
To: David Abdurachmanov <david.abdurachmanov@...il.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...ive.com>,
Albert Ou <aou@...s.berkeley.edu>,
Anup Patel <Anup.Patel@....com>,
Mike Rapoport <rppt@...ux.ibm.com>,
Greentime Hu <greentime.hu@...ive.com>,
Stefan O'Rear <sorear2@...il.com>,
David Abdurachmanov <david.abdurachmanov@...ive.com>,
Alexandre Ghiti <alex@...ti.fr>,
Thomas Gleixner <tglx@...utronix.de>,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] riscv: fix fs/proc/kcore.c compilation with sparsemem
enabled
On 2019-10-22 10:21 a.m., David Abdurachmanov wrote:
> Failed to compile Fedora/RISCV kernel (5.4-rc3+) with sparsemem enabled:
>
> fs/proc/kcore.c: In function 'read_kcore':
> fs/proc/kcore.c:510:8: error: implicit declaration of function 'kern_addr_valid'; did you mean 'virt_addr_valid'? [-Werror=implicit-function-declaration]
> 510 | if (kern_addr_valid(start)) {
> | ^~~~~~~~~~~~~~~
> | virt_addr_valid
>
> Looking at other architectures I don't see kern_addr_valid being guarded by
> CONFIG_FLATMEM.
>
> Fixes: d95f1a542c3d ("RISC-V: Implement sparsemem")
> Signed-off-by: David Abdurachmanov <david.abdurachmanov@...ive.com>
> Tested-by: David Abdurachmanov <david.abdurachmanov@...ive.com>
Makes sense to me.
Reviewed-by: Logan Gunthorpe <logang@...tatee.com>
> ---
> arch/riscv/include/asm/pgtable.h | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
> index 42292d99cc74..7110879358b8 100644
> --- a/arch/riscv/include/asm/pgtable.h
> +++ b/arch/riscv/include/asm/pgtable.h
> @@ -428,9 +428,7 @@ static inline int ptep_clear_flush_young(struct vm_area_struct *vma,
> #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
> #define __swp_entry_to_pte(x) ((pte_t) { (x).val })
>
> -#ifdef CONFIG_FLATMEM
> #define kern_addr_valid(addr) (1) /* FIXME */
> -#endif
>
> extern void *dtb_early_va;
> extern void setup_bootmem(void);
>
Powered by blists - more mailing lists