mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-01 06:46:35 +01:00
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: [email protected] (v2.6.12+) Link: https://bugzilla.kernel.org/show_bug.cgi?id=206651 Signed-off-by: NeilBrown <[email protected]> Signed-off-by: J. Bruce Fields <[email protected]>
28 lines
782 B
C
28 lines
782 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* linux/include/linux/sunrpc/svcauth_gss.h
|
|
*
|
|
* Bruce Fields <[email protected]>
|
|
* 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 */
|