2022-11-28 14:40:11

by Jisheng Zhang

[permalink] [raw]
Subject: [PATCH] coredump: fix compile warning when ELF_CORE=n while COREDUMP=y

fix below build warning when ELF_CORE=n while COREDUMP=y:

fs/coredump.c:834:12: warning: ‘dump_emit_page’ defined but not used [-Wunused-function]
834 | static int dump_emit_page(struct coredump_params *cprm, struct
page *page)
| ^~~~~~~~~~~~~~

Signed-off-by: Jisheng Zhang <[email protected]>
---
fs/coredump.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/fs/coredump.c b/fs/coredump.c
index 7bad7785e8e6..8663042ebe9c 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -831,6 +831,7 @@ static int __dump_skip(struct coredump_params *cprm, size_t nr)
}
}

+#ifdef CONFIG_ELF_CORE
static int dump_emit_page(struct coredump_params *cprm, struct page *page)
{
struct bio_vec bvec = {
@@ -863,6 +864,7 @@ static int dump_emit_page(struct coredump_params *cprm, struct page *page)

return 1;
}
+#endif

int dump_emit(struct coredump_params *cprm, const void *addr, int nr)
{
--
2.37.2


2022-11-28 15:42:50

by Ritesh Harjani

[permalink] [raw]
Subject: Re: [PATCH] coredump: fix compile warning when ELF_CORE=n while COREDUMP=y

On 22/11/28 09:50PM, Jisheng Zhang wrote:
> fix below build warning when ELF_CORE=n while COREDUMP=y:
>
> fs/coredump.c:834:12: warning: ‘dump_emit_page’ defined but not used [-Wunused-function]
> 834 | static int dump_emit_page(struct coredump_params *cprm, struct
> page *page)
> | ^~~~~~~~~~~~~~

Fixes: 06bbaa6dc53c: "[coredump] don't use __kernel_write() on kmap_local_page()"

>
> Signed-off-by: Jisheng Zhang <[email protected]>
> ---
> fs/coredump.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/coredump.c b/fs/coredump.c
> index 7bad7785e8e6..8663042ebe9c 100644
> --- a/fs/coredump.c
> +++ b/fs/coredump.c
> @@ -831,6 +831,7 @@ static int __dump_skip(struct coredump_params *cprm, size_t nr)
> }
> }
>
> +#ifdef CONFIG_ELF_CORE

Instead of this ^^^, we could even move the definition of dump_emit_page() in
the same #ifdef as of dump_user_range(). Since dump_user_range() is the only
caller of dump_emit_page().

#ifdef CONFIG_ELF_CORE
[here]
int dump_user_range(struct coredump_params *cprm, unsigned long start,
unsigned long len)
{..}
#endif

But I guess that's just a nitpick. Feel free to add:

Reviewed-by: Ritesh Harjani (IBM) <[email protected]>

-ritesh

> static int dump_emit_page(struct coredump_params *cprm, struct page *page)
> {
> struct bio_vec bvec = {
> @@ -863,6 +864,7 @@ static int dump_emit_page(struct coredump_params *cprm, struct page *page)
>
> return 1;
> }
> +#endif
>
> int dump_emit(struct coredump_params *cprm, const void *addr, int nr)
> {
> --
> 2.37.2
>

2022-11-29 00:08:08

by Jisheng Zhang

[permalink] [raw]
Subject: Re: [PATCH] coredump: fix compile warning when ELF_CORE=n while COREDUMP=y

On Mon, Nov 28, 2022 at 08:29:56PM +0530, Ritesh Harjani (IBM) wrote:
> On 22/11/28 09:50PM, Jisheng Zhang wrote:
> > fix below build warning when ELF_CORE=n while COREDUMP=y:
> >
> > fs/coredump.c:834:12: warning: ‘dump_emit_page’ defined but not used [-Wunused-function]
> > 834 | static int dump_emit_page(struct coredump_params *cprm, struct
> > page *page)
> > | ^~~~~~~~~~~~~~
>
> Fixes: 06bbaa6dc53c: "[coredump] don't use __kernel_write() on kmap_local_page()"
>
> >
> > Signed-off-by: Jisheng Zhang <[email protected]>
> > ---
> > fs/coredump.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/fs/coredump.c b/fs/coredump.c
> > index 7bad7785e8e6..8663042ebe9c 100644
> > --- a/fs/coredump.c
> > +++ b/fs/coredump.c
> > @@ -831,6 +831,7 @@ static int __dump_skip(struct coredump_params *cprm, size_t nr)
> > }
> > }
> >
> > +#ifdef CONFIG_ELF_CORE
>
> Instead of this ^^^, we could even move the definition of dump_emit_page() in
> the same #ifdef as of dump_user_range(). Since dump_user_range() is the only
> caller of dump_emit_page().
>
> #ifdef CONFIG_ELF_CORE
> [here]
> int dump_user_range(struct coredump_params *cprm, unsigned long start,
> unsigned long len)
> {..}
> #endif
>

I planed to patch like this, but I saw the final patch diffstat was
a bit more. I'll send out a v2.

Thanks

> But I guess that's just a nitpick. Feel free to add:
>
> Reviewed-by: Ritesh Harjani (IBM) <[email protected]>
>
> -ritesh
>
> > static int dump_emit_page(struct coredump_params *cprm, struct page *page)
> > {
> > struct bio_vec bvec = {
> > @@ -863,6 +864,7 @@ static int dump_emit_page(struct coredump_params *cprm, struct page *page)
> >
> > return 1;
> > }
> > +#endif
> >
> > int dump_emit(struct coredump_params *cprm, const void *addr, int nr)
> > {
> > --
> > 2.37.2
> >