sunrpc/auth_gss: fix decoder callback prototypes
authorChristoph Hellwig <hch@lst.de>
Mon, 8 May 2017 13:03:02 +0000 (15:03 +0200)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 13 Jul 2017 19:57:55 +0000 (15:57 -0400)
Declare the p_decode callbacks with the proper prototype instead of
casting to kxdrdproc_t and losing all type safety.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Acked-by: Trond Myklebust <trond.myklebust@primarydata.com>
net/sunrpc/auth_gss/gss_rpc_upcall.c
net/sunrpc/auth_gss/gss_rpc_xdr.c
net/sunrpc/auth_gss/gss_rpc_xdr.h

index 45ab924da726c06e32e22919c730a5d7c3e38a54..a80b8e6074781036af341d8381b7019ec5cd25c5 100644 (file)
@@ -56,7 +56,7 @@ enum {
 [GSSX_##proc] = {                                      \
        .p_proc   = GSSX_##proc,                        \
        .p_encode = gssx_enc_##name,    \
-       .p_decode = (kxdrdproc_t)gssx_dec_##name,       \
+       .p_decode = gssx_dec_##name,    \
        .p_arglen = GSSX_ARG_##name##_sz,               \
        .p_replen = GSSX_RES_##name##_sz,               \
        .p_statidx = GSSX_##proc,                       \
index 5e54f474309212b0fdf94035e129f1302c627798..c4778cae58ef12c191958261a50e58e5f67082e8 100644 (file)
@@ -790,8 +790,9 @@ done:
 
 int gssx_dec_accept_sec_context(struct rpc_rqst *rqstp,
                                struct xdr_stream *xdr,
-                               struct gssx_res_accept_sec_context *res)
+                               void *data)
 {
+       struct gssx_res_accept_sec_context *res = data;
        u32 value_follows;
        int err;
        struct page *scratch;
index 87cd719ca0ad713f7cf1c862bee9ae5c5dff76d9..146c310329173b92ec9c8319785632e26519dffd 100644 (file)
@@ -182,7 +182,7 @@ void gssx_enc_accept_sec_context(struct rpc_rqst *req,
                                 const void *data);
 int gssx_dec_accept_sec_context(struct rpc_rqst *rqstp,
                                struct xdr_stream *xdr,
-                               struct gssx_res_accept_sec_context *res);
+                               void *data);
 #define gssx_enc_release_handle NULL
 #define gssx_dec_release_handle NULL
 #define gssx_enc_get_mic NULL