mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-29 20:30:35 +00:00
![NeilBrown](/assets/img/avatar_default.png)
gss_mech_register() calls svcauth_gss_register_pseudoflavor() for each flavour, but gss_mech_unregister() does not call auth_domain_put(). This is unbalanced and makes it impossible to reload the module. Change svcauth_gss_register_pseudoflavor() to return the registered auth_domain, and save it for later release. Cc: stable@vger.kernel.org (v2.6.12+) Link: https://bugzilla.kernel.org/show_bug.cgi?id=206651 Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
27 lines
782 B
C
27 lines
782 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* linux/include/linux/sunrpc/svcauth_gss.h
|
|
*
|
|
* Bruce Fields <bfields@umich.edu>
|
|
* Copyright (c) 2002 The Regents of the University of Michigan
|
|
*/
|
|
|
|
#ifndef _LINUX_SUNRPC_SVCAUTH_GSS_H
|
|
#define _LINUX_SUNRPC_SVCAUTH_GSS_H
|
|
|
|
#include <linux/sched.h>
|
|
#include <linux/sunrpc/types.h>
|
|
#include <linux/sunrpc/xdr.h>
|
|
#include <linux/sunrpc/svcauth.h>
|
|
#include <linux/sunrpc/svcsock.h>
|
|
#include <linux/sunrpc/auth_gss.h>
|
|
|
|
int gss_svc_init(void);
|
|
void gss_svc_shutdown(void);
|
|
int gss_svc_init_net(struct net *net);
|
|
void gss_svc_shutdown_net(struct net *net);
|
|
struct auth_domain *svcauth_gss_register_pseudoflavor(u32 pseudoflavor,
|
|
char *name);
|
|
u32 svcauth_gss_flavor(struct auth_domain *dom);
|
|
|
|
#endif /* _LINUX_SUNRPC_SVCAUTH_GSS_H */
|