Message ID | 20230517131102.934196-5-arnd@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Paul Moore |
Headers | show |
Series | mm/init/kernel: missing-prototypes warnings | expand |
On May 17, 2023 Arnd Bergmann <arnd@kernel.org> wrote: > > Building with 'make W=1' reveals two function definitions without > a previous prototype in the audit code: > > lib/compat_audit.c:32:5: error: no previous prototype for 'audit_classify_compat_syscall' [-Werror=missing-prototypes] > kernel/audit.c:1813:14: error: no previous prototype for 'audit_serial' [-Werror=missing-prototypes] > > The first one needs a declaration from linux/audit.h but cannot > include that header without causing conflicting (compat) syscall number > definitions, so move the it into linux/audit_arch.h. > > The second one is declared conditionally based on CONFIG_AUDITSYSCALL > but needed as a local function even when that option is disabled, so > move the declaration out of the #ifdef block. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > include/linux/audit.h | 2 -- > include/linux/audit_arch.h | 2 ++ > kernel/audit.h | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/include/linux/audit.h b/include/linux/audit.h > index 31086a72e32a..6a3a9e122bb5 100644 > --- a/include/linux/audit.h > +++ b/include/linux/audit.h > @@ -130,8 +130,6 @@ extern unsigned compat_dir_class[]; > extern unsigned compat_chattr_class[]; > extern unsigned compat_signal_class[]; > > -extern int audit_classify_compat_syscall(int abi, unsigned syscall); > - > /* audit_names->type values */ > #define AUDIT_TYPE_UNKNOWN 0 /* we don't know yet */ > #define AUDIT_TYPE_NORMAL 1 /* a "normal" audit record */ > diff --git a/include/linux/audit_arch.h b/include/linux/audit_arch.h > index 8fdb1afe251a..0e34d673ef17 100644 > --- a/include/linux/audit_arch.h > +++ b/include/linux/audit_arch.h > @@ -21,4 +21,6 @@ enum auditsc_class_t { > AUDITSC_NVALS /* count */ > }; > > +extern int audit_classify_compat_syscall(int abi, unsigned syscall); > + > #endif > diff --git a/kernel/audit.h b/kernel/audit.h > index c57b008b9914..94738bce40b2 100644 > --- a/kernel/audit.h > +++ b/kernel/audit.h > @@ -259,8 +259,8 @@ extern struct tty_struct *audit_get_tty(void); > extern void audit_put_tty(struct tty_struct *tty); > > /* audit watch/mark/tree functions */ > -#ifdef CONFIG_AUDITSYSCALL > extern unsigned int audit_serial(void); > +#ifdef CONFIG_AUDITSYSCALL > extern int auditsc_get_stamp(struct audit_context *ctx, > struct timespec64 *t, unsigned int *serial); We probably should move the audit_serial() and auditsc_get_stamp() away from the watch/mark/tree functions, but that isn't your problem. Anyway, this looks okay to me; do you have a problem if I merge this via the audit/next branch or were you hoping to have this go in through a different tree? -- paul-moore.com
On Wed, May 17, 2023, at 16:33, Paul Moore wrote: > On May 17, 2023 Arnd Bergmann <arnd@kernel.org> wrote: > We probably should move the audit_serial() and auditsc_get_stamp() > away from the watch/mark/tree functions, but that isn't your problem. > > Anyway, this looks okay to me; do you have a problem if I merge this > via the audit/next branch or were you hoping to have this go in > through a different tree? Merging it through your tree is probably best, Andrew can either pick the ones that nobody else took, or I can resend the rest. Arnd
On Wed, May 17, 2023 at 10:51 AM Arnd Bergmann <arnd@arndb.de> wrote: > On Wed, May 17, 2023, at 16:33, Paul Moore wrote: > > On May 17, 2023 Arnd Bergmann <arnd@kernel.org> wrote: > > > We probably should move the audit_serial() and auditsc_get_stamp() > > away from the watch/mark/tree functions, but that isn't your problem. > > > > Anyway, this looks okay to me; do you have a problem if I merge this > > via the audit/next branch or were you hoping to have this go in > > through a different tree? > > Merging it through your tree is probably best, Andrew can either > pick the ones that nobody else took, or I can resend the rest. Easy enough, merged to audit/next, thanks.
diff --git a/include/linux/audit.h b/include/linux/audit.h index 31086a72e32a..6a3a9e122bb5 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h @@ -130,8 +130,6 @@ extern unsigned compat_dir_class[]; extern unsigned compat_chattr_class[]; extern unsigned compat_signal_class[]; -extern int audit_classify_compat_syscall(int abi, unsigned syscall); - /* audit_names->type values */ #define AUDIT_TYPE_UNKNOWN 0 /* we don't know yet */ #define AUDIT_TYPE_NORMAL 1 /* a "normal" audit record */ diff --git a/include/linux/audit_arch.h b/include/linux/audit_arch.h index 8fdb1afe251a..0e34d673ef17 100644 --- a/include/linux/audit_arch.h +++ b/include/linux/audit_arch.h @@ -21,4 +21,6 @@ enum auditsc_class_t { AUDITSC_NVALS /* count */ }; +extern int audit_classify_compat_syscall(int abi, unsigned syscall); + #endif diff --git a/kernel/audit.h b/kernel/audit.h index c57b008b9914..94738bce40b2 100644 --- a/kernel/audit.h +++ b/kernel/audit.h @@ -259,8 +259,8 @@ extern struct tty_struct *audit_get_tty(void); extern void audit_put_tty(struct tty_struct *tty); /* audit watch/mark/tree functions */ -#ifdef CONFIG_AUDITSYSCALL extern unsigned int audit_serial(void); +#ifdef CONFIG_AUDITSYSCALL extern int auditsc_get_stamp(struct audit_context *ctx, struct timespec64 *t, unsigned int *serial);