2023-07-24 12:27:55

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] kernfs: add stub helper for kernfs_generic_poll()

From: Arnd Bergmann <[email protected]>

In some randconfig builds, kernfs ends up being disabled, so there is no prototype
for kernfs_generic_poll()

In file included from kernel/sched/build_utility.c:97:
kernel/sched/psi.c:1479:3: error: implicit declaration of function 'kernfs_generic_poll' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
kernfs_generic_poll(t->of, wait);
^

Add a stub helper for it, as we have it for other kernfs functions.

Fixes: aff037078ecae ("sched/psi: use kernfs polling functions for PSI trigger polling")
Fixes: 147e1a97c4a0b ("fs: kernfs: add poll file operation")
Signed-off-by: Arnd Bergmann <[email protected]>
---
While the stub was always missing, this only caused problems now that sched/psi.c
calls it unconditionally. The patch that caused it was already merged into v6.5-rc2
---
include/linux/kernfs.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
index 73f5c120def88..2a36f3218b510 100644
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -550,6 +550,10 @@ static inline int kernfs_setattr(struct kernfs_node *kn,
const struct iattr *iattr)
{ return -ENOSYS; }

+static inline __poll_t kernfs_generic_poll(struct kernfs_open_file *of,
+ struct poll_table_struct *pt)
+{ return -ENOSYS; }
+
static inline void kernfs_notify(struct kernfs_node *kn) { }

static inline int kernfs_xattr_get(struct kernfs_node *kn, const char *name,
--
2.39.2



2023-07-24 12:59:52

by Chengming Zhou

[permalink] [raw]
Subject: Re: [PATCH] kernfs: add stub helper for kernfs_generic_poll()

On 2023/7/24 20:18, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> In some randconfig builds, kernfs ends up being disabled, so there is no prototype
> for kernfs_generic_poll()
>
> In file included from kernel/sched/build_utility.c:97:
> kernel/sched/psi.c:1479:3: error: implicit declaration of function 'kernfs_generic_poll' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
> kernfs_generic_poll(t->of, wait);
> ^
>
> Add a stub helper for it, as we have it for other kernfs functions.
>
> Fixes: aff037078ecae ("sched/psi: use kernfs polling functions for PSI trigger polling")
> Fixes: 147e1a97c4a0b ("fs: kernfs: add poll file operation")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> While the stub was always missing, this only caused problems now that sched/psi.c
> calls it unconditionally. The patch that caused it was already merged into v6.5-rc2
> ---
> include/linux/kernfs.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
> index 73f5c120def88..2a36f3218b510 100644
> --- a/include/linux/kernfs.h
> +++ b/include/linux/kernfs.h
> @@ -550,6 +550,10 @@ static inline int kernfs_setattr(struct kernfs_node *kn,
> const struct iattr *iattr)
> { return -ENOSYS; }
>
> +static inline __poll_t kernfs_generic_poll(struct kernfs_open_file *of,
> + struct poll_table_struct *pt)
> +{ return -ENOSYS; }
> +
> static inline void kernfs_notify(struct kernfs_node *kn) { }
>
> static inline int kernfs_xattr_get(struct kernfs_node *kn, const char *name,

Reviewed-by: Chengming Zhou <[email protected]>

Thanks.