diff options
Diffstat (limited to 'drivers/staging/lustre/lustre/ptlrpc/gss')
10 files changed, 236 insertions, 310 deletions
diff --git a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_api.h b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_api.h index feac60482c97..0e9f6c472a37 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_api.h +++ b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_api.h @@ -100,7 +100,7 @@ struct subflavor_desc { /* Each mechanism is described by the following struct: */ struct gss_api_mech { struct list_head gm_list; - module_t *gm_owner; + struct module *gm_owner; char *gm_name; rawobj_t gm_oid; atomic_t gm_count; diff --git a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_bulk.c b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_bulk.c index ed95bbba95ca..b518d8a0aaba 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_bulk.c +++ b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_bulk.c @@ -68,7 +68,6 @@ int gss_cli_ctx_wrap_bulk(struct ptlrpc_cli_ctx *ctx, __u32 maj; int offset; int rc; - ENTRY; LASSERT(req->rq_pack_bulk); LASSERT(req->rq_bulk_read || req->rq_bulk_write); @@ -104,7 +103,7 @@ int gss_cli_ctx_wrap_bulk(struct ptlrpc_cli_ctx *ctx, bsd->bsd_svc = SPTLRPC_FLVR_BULK_SVC(req->rq_flvr.sf_rpc); if (bsd->bsd_svc == SPTLRPC_BULK_SVC_NULL) - RETURN(0); + return 0; LASSERT(bsd->bsd_svc == SPTLRPC_BULK_SVC_INTG || bsd->bsd_svc == SPTLRPC_BULK_SVC_PRIV); @@ -132,18 +131,18 @@ int gss_cli_ctx_wrap_bulk(struct ptlrpc_cli_ctx *ctx, &token); if (maj != GSS_S_COMPLETE) { CWARN("failed to sign bulk data: %x\n", maj); - RETURN(-EACCES); + return -EACCES; } } else { /* privacy mode */ if (desc->bd_iov_count == 0) - RETURN(0); + return 0; rc = sptlrpc_enc_pool_get_pages(desc); if (rc) { CERROR("bulk write: failed to allocate " "encryption pages: %d\n", rc); - RETURN(rc); + return rc; } token.data = bsd->bsd_data; @@ -153,12 +152,12 @@ int gss_cli_ctx_wrap_bulk(struct ptlrpc_cli_ctx *ctx, maj = lgss_wrap_bulk(gctx->gc_mechctx, desc, &token, 0); if (maj != GSS_S_COMPLETE) { CWARN("fail to encrypt bulk data: %x\n", maj); - RETURN(-EACCES); + return -EACCES; } } } - RETURN(0); + return 0; } int gss_cli_ctx_unwrap_bulk(struct ptlrpc_cli_ctx *ctx, @@ -171,7 +170,6 @@ int gss_cli_ctx_unwrap_bulk(struct ptlrpc_cli_ctx *ctx, rawobj_t token; __u32 maj; int roff, voff; - ENTRY; LASSERT(req->rq_pack_bulk); LASSERT(req->rq_bulk_read || req->rq_bulk_write); @@ -220,7 +218,7 @@ int gss_cli_ctx_unwrap_bulk(struct ptlrpc_cli_ctx *ctx, "(%u,%u,%u) != (%u,%u,%u)\n", bsdr->bsd_version, bsdr->bsd_type, bsdr->bsd_svc, bsdv->bsd_version, bsdv->bsd_type, bsdv->bsd_svc); - RETURN(-EPROTO); + return -EPROTO; } LASSERT(bsdv->bsd_svc == SPTLRPC_BULK_SVC_NULL || @@ -235,7 +233,7 @@ int gss_cli_ctx_unwrap_bulk(struct ptlrpc_cli_ctx *ctx, if (req->rq_bulk_write) { if (bsdv->bsd_flags & BSD_FL_ERR) { CERROR("server reported bulk i/o failure\n"); - RETURN(-EIO); + return -EIO; } if (bsdv->bsd_svc == SPTLRPC_BULK_SVC_PRIV) @@ -270,12 +268,12 @@ int gss_cli_ctx_unwrap_bulk(struct ptlrpc_cli_ctx *ctx, &token); if (maj != GSS_S_COMPLETE) { CERROR("failed to verify bulk read: %x\n", maj); - RETURN(-EACCES); + return -EACCES; } } else if (bsdv->bsd_svc == SPTLRPC_BULK_SVC_PRIV) { desc->bd_nob = bsdv->bsd_nob; if (desc->bd_nob == 0) - RETURN(0); + return 0; token.data = bsdv->bsd_data; token.len = lustre_msg_buflen(vmsg, voff) - @@ -286,14 +284,14 @@ int gss_cli_ctx_unwrap_bulk(struct ptlrpc_cli_ctx *ctx, if (maj != GSS_S_COMPLETE) { CERROR("failed to decrypt bulk read: %x\n", maj); - RETURN(-EACCES); + return -EACCES; } desc->bd_nob_transferred = desc->bd_nob; } } - RETURN(0); + return 0; } static int gss_prep_bulk(struct ptlrpc_bulk_desc *desc, @@ -318,21 +316,20 @@ int gss_cli_prep_bulk(struct ptlrpc_request *req, struct ptlrpc_bulk_desc *desc) { int rc; - ENTRY; LASSERT(req->rq_cli_ctx); LASSERT(req->rq_pack_bulk); LASSERT(req->rq_bulk_read); if (SPTLRPC_FLVR_BULK_SVC(req->rq_flvr.sf_rpc) != SPTLRPC_BULK_SVC_PRIV) - RETURN(0); + return 0; rc = gss_prep_bulk(desc, ctx2gctx(req->rq_cli_ctx)->gc_mechctx); if (rc) CERROR("bulk read: failed to prepare encryption " "pages: %d\n", rc); - RETURN(rc); + return rc; } int gss_svc_prep_bulk(struct ptlrpc_request *req, @@ -341,7 +338,6 @@ int gss_svc_prep_bulk(struct ptlrpc_request *req, struct gss_svc_reqctx *grctx; struct ptlrpc_bulk_sec_desc *bsd; int rc; - ENTRY; LASSERT(req->rq_svc_ctx); LASSERT(req->rq_pack_bulk); @@ -355,14 +351,14 @@ int gss_svc_prep_bulk(struct ptlrpc_request *req, bsd = grctx->src_reqbsd; if (bsd->bsd_svc != SPTLRPC_BULK_SVC_PRIV) - RETURN(0); + return 0; rc = gss_prep_bulk(desc, grctx->src_ctx->gsc_mechctx); if (rc) CERROR("bulk write: failed to prepare encryption " "pages: %d\n", rc); - RETURN(rc); + return rc; } int gss_svc_unwrap_bulk(struct ptlrpc_request *req, @@ -372,7 +368,6 @@ int gss_svc_unwrap_bulk(struct ptlrpc_request *req, struct ptlrpc_bulk_sec_desc *bsdr, *bsdv; rawobj_t token; __u32 maj; - ENTRY; LASSERT(req->rq_svc_ctx); LASSERT(req->rq_pack_bulk); @@ -404,7 +399,7 @@ int gss_svc_unwrap_bulk(struct ptlrpc_request *req, if (maj != GSS_S_COMPLETE) { bsdv->bsd_flags |= BSD_FL_ERR; CERROR("failed to verify bulk signature: %x\n", maj); - RETURN(-EACCES); + return -EACCES; } break; case SPTLRPC_BULK_SVC_PRIV: @@ -412,7 +407,7 @@ int gss_svc_unwrap_bulk(struct ptlrpc_request *req, bsdv->bsd_flags |= BSD_FL_ERR; CERROR("prepared nob %d doesn't match the actual " "nob %d\n", desc->bd_nob, bsdr->bsd_nob); - RETURN(-EPROTO); + return -EPROTO; } if (desc->bd_iov_count == 0) { @@ -428,12 +423,12 @@ int gss_svc_unwrap_bulk(struct ptlrpc_request *req, if (maj != GSS_S_COMPLETE) { bsdv->bsd_flags |= BSD_FL_ERR; CERROR("failed decrypt bulk data: %x\n", maj); - RETURN(-EACCES); + return -EACCES; } break; } - RETURN(0); + return 0; } int gss_svc_wrap_bulk(struct ptlrpc_request *req, @@ -444,7 +439,6 @@ int gss_svc_wrap_bulk(struct ptlrpc_request *req, rawobj_t token; __u32 maj; int rc; - ENTRY; LASSERT(req->rq_svc_ctx); LASSERT(req->rq_pack_bulk); @@ -476,7 +470,7 @@ int gss_svc_wrap_bulk(struct ptlrpc_request *req, if (maj != GSS_S_COMPLETE) { bsdv->bsd_flags |= BSD_FL_ERR; CERROR("failed to sign bulk data: %x\n", maj); - RETURN(-EACCES); + return -EACCES; } break; case SPTLRPC_BULK_SVC_PRIV: @@ -492,7 +486,7 @@ int gss_svc_wrap_bulk(struct ptlrpc_request *req, bsdv->bsd_flags |= BSD_FL_ERR; CERROR("bulk read: failed to allocate encryption " "pages: %d\n", rc); - RETURN(rc); + return rc; } token.data = bsdv->bsd_data; @@ -503,10 +497,10 @@ int gss_svc_wrap_bulk(struct ptlrpc_request *req, if (maj != GSS_S_COMPLETE) { bsdv->bsd_flags |= BSD_FL_ERR; CERROR("failed to encrypt bulk data: %x\n", maj); - RETURN(-EACCES); + return -EACCES; } break; } - RETURN(0); + return 0; } diff --git a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_cli_upcall.c b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_cli_upcall.c index 142c789b1bc6..55247af3910e 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_cli_upcall.c +++ b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_cli_upcall.c @@ -243,41 +243,41 @@ int gss_do_ctx_init_rpc(__user char *buffer, unsigned long count) if (count != sizeof(param)) { CERROR("ioctl size %lu, expect %lu, please check lgss_keyring " "version\n", count, (unsigned long) sizeof(param)); - RETURN(-EINVAL); + return -EINVAL; } if (copy_from_user(¶m, buffer, sizeof(param))) { CERROR("failed copy data from lgssd\n"); - RETURN(-EFAULT); + return -EFAULT; } if (param.version != GSSD_INTERFACE_VERSION) { CERROR("gssd interface version %d (expect %d)\n", param.version, GSSD_INTERFACE_VERSION); - RETURN(-EINVAL); + return -EINVAL; } /* take name */ if (strncpy_from_user(obdname, param.uuid, sizeof(obdname)) <= 0) { CERROR("Invalid obdname pointer\n"); - RETURN(-EFAULT); + return -EFAULT; } obd = class_name2obd(obdname); if (!obd) { CERROR("no such obd %s\n", obdname); - RETURN(-EINVAL); + return -EINVAL; } if (unlikely(!obd->obd_set_up)) { CERROR("obd %s not setup\n", obdname); - RETURN(-EINVAL); + return -EINVAL; } spin_lock(&obd->obd_dev_lock); if (obd->obd_stopping) { CERROR("obd %s has stopped\n", obdname); spin_unlock(&obd->obd_dev_lock); - RETURN(-EINVAL); + return -EINVAL; } if (strcmp(obd->obd_type->typ_name, LUSTRE_MDC_NAME) && @@ -285,7 +285,7 @@ int gss_do_ctx_init_rpc(__user char *buffer, unsigned long count) strcmp(obd->obd_type->typ_name, LUSTRE_MGC_NAME)) { CERROR("obd %s is not a client device\n", obdname); spin_unlock(&obd->obd_dev_lock); - RETURN(-EINVAL); + return -EINVAL; } spin_unlock(&obd->obd_dev_lock); @@ -293,7 +293,7 @@ int gss_do_ctx_init_rpc(__user char *buffer, unsigned long count) if (obd->u.cli.cl_import == NULL) { CERROR("obd %s: import has gone\n", obd->obd_name); up_read(&obd->u.cli.cl_sem); - RETURN(-EINVAL); + return -EINVAL; } imp = class_import_get(obd->u.cli.cl_import); up_read(&obd->u.cli.cl_sem); @@ -301,7 +301,7 @@ int gss_do_ctx_init_rpc(__user char *buffer, unsigned long count) if (imp->imp_deactive) { CERROR("import has been deactivated\n"); class_import_put(imp); - RETURN(-EINVAL); + return -EINVAL; } req = ptlrpc_request_alloc_pack(imp, &RQF_SEC_CTX, LUSTRE_OBD_VERSION, @@ -368,7 +368,7 @@ out_copy: class_import_put(imp); ptlrpc_req_finished(req); - RETURN(rc); + return rc; } int gss_do_ctx_fini_rpc(struct gss_cli_ctx *gctx) @@ -378,7 +378,6 @@ int gss_do_ctx_fini_rpc(struct gss_cli_ctx *gctx) struct ptlrpc_request *req; struct ptlrpc_user_desc *pud; int rc; - ENTRY; LASSERT(atomic_read(&ctx->cc_refcount) > 0); @@ -386,7 +385,7 @@ int gss_do_ctx_fini_rpc(struct gss_cli_ctx *gctx) CDEBUG(D_SEC, "ctx %p(%u->%s) not uptodate, " "don't send destroy rpc\n", ctx, ctx->cc_vcred.vc_uid, sec2target_str(ctx->cc_sec)); - RETURN(0); + return 0; } might_sleep(); @@ -434,7 +433,7 @@ int gss_do_ctx_fini_rpc(struct gss_cli_ctx *gctx) out_ref: ptlrpc_req_finished(req); out: - RETURN(rc); + return rc; } int __init gss_init_cli_upcall(void) diff --git a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_keyring.c b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_keyring.c index bb571ae51054..188dbbfbd2f4 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_keyring.c +++ b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_keyring.c @@ -524,7 +524,6 @@ void rvs_sec_install_root_ctx_kr(struct ptlrpc_sec *sec, struct gss_sec_keyring *gsec_kr = sec2gsec_keyring(sec); struct ptlrpc_cli_ctx *ctx; cfs_time_t now; - ENTRY; LASSERT(sec_is_reverse(sec)); @@ -569,11 +568,10 @@ struct ptlrpc_sec * gss_sec_create_kr(struct obd_import *imp, struct sptlrpc_flavor *sf) { struct gss_sec_keyring *gsec_kr; - ENTRY; OBD_ALLOC(gsec_kr, sizeof(*gsec_kr)); if (gsec_kr == NULL) - RETURN(NULL); + return NULL; INIT_HLIST_HEAD(&gsec_kr->gsk_clist); gsec_kr->gsk_root_ctx = NULL; @@ -592,11 +590,11 @@ struct ptlrpc_sec * gss_sec_create_kr(struct obd_import *imp, goto err_free; } - RETURN(&gsec_kr->gsk_base.gs_base); + return &gsec_kr->gsk_base.gs_base; err_free: OBD_FREE(gsec_kr, sizeof(*gsec_kr)); - RETURN(NULL); + return NULL; } static @@ -683,7 +681,6 @@ struct ptlrpc_cli_ctx * gss_sec_lookup_ctx_kr(struct ptlrpc_sec *sec, char *coinfo; int coinfo_size; char *co_flags = ""; - ENTRY; LASSERT(imp != NULL); @@ -697,7 +694,7 @@ struct ptlrpc_cli_ctx * gss_sec_lookup_ctx_kr(struct ptlrpc_sec *sec, * always succeed. */ if (ctx || sec_is_reverse(sec)) - RETURN(ctx); + return ctx; } LASSERT(create != 0); @@ -821,7 +818,7 @@ struct ptlrpc_cli_ctx * gss_sec_lookup_ctx_kr(struct ptlrpc_sec *sec, out: if (is_root) mutex_unlock(&gsec_kr->gsk_root_uc_lock); - RETURN(ctx); + return ctx; } static @@ -891,7 +888,6 @@ void flush_spec_ctx_cache_kr(struct ptlrpc_sec *sec, struct hlist_head freelist = HLIST_HEAD_INIT; struct hlist_node *next; struct ptlrpc_cli_ctx *ctx; - ENTRY; gsec_kr = sec2gsec_keyring(sec); @@ -930,15 +926,12 @@ void flush_spec_ctx_cache_kr(struct ptlrpc_sec *sec, spin_unlock(&sec->ps_lock); dispose_ctx_list_kr(&freelist); - EXIT; } static int gss_sec_flush_ctx_cache_kr(struct ptlrpc_sec *sec, uid_t uid, int grace, int force) { - ENTRY; - CDEBUG(D_SEC, "sec %p(%d, nctx %d), uid %d, grace %d, force %d\n", sec, atomic_read(&sec->ps_refcount), atomic_read(&sec->ps_nctx), @@ -949,7 +942,7 @@ int gss_sec_flush_ctx_cache_kr(struct ptlrpc_sec *sec, else flush_spec_ctx_cache_kr(sec, uid, grace, force); - RETURN(0); + return 0; } static @@ -959,7 +952,6 @@ void gss_sec_gc_ctx_kr(struct ptlrpc_sec *sec) struct hlist_head freelist = HLIST_HEAD_INIT; struct hlist_node *next; struct ptlrpc_cli_ctx *ctx; - ENTRY; CWARN("running gc\n"); @@ -981,8 +973,6 @@ void gss_sec_gc_ctx_kr(struct ptlrpc_sec *sec) spin_unlock(&sec->ps_lock); dispose_ctx_list_kr(&freelist); - EXIT; - return; } static @@ -993,7 +983,6 @@ int gss_sec_display_kr(struct ptlrpc_sec *sec, struct seq_file *seq) struct ptlrpc_cli_ctx *ctx; struct gss_cli_ctx *gctx; time_t now = cfs_time_current_sec(); - ENTRY; spin_lock(&sec->ps_lock); hlist_for_each_entry_safe(ctx, next, @@ -1032,7 +1021,7 @@ int gss_sec_display_kr(struct ptlrpc_sec *sec, struct seq_file *seq) } spin_unlock(&sec->ps_lock); - RETURN(0); + return 0; } /**************************************** @@ -1148,16 +1137,15 @@ static int gss_kt_instantiate(struct key *key, const void *data, size_t datalen) { int rc; - ENTRY; if (data != NULL || datalen != 0) { CERROR("invalid: data %p, len %lu\n", data, (long)datalen); - RETURN(-EINVAL); + return -EINVAL; } if (key->payload.data != 0) { CERROR("key already have payload\n"); - RETURN(-EINVAL); + return -EINVAL; } /* link the key to session keyring, so following context negotiation @@ -1179,11 +1167,11 @@ int gss_kt_instantiate(struct key *key, const void *data, size_t datalen) CERROR("failed to link key %08x to keyring %08x: %d\n", key->serial, key_tgcred(current)->session_keyring->serial, rc); - RETURN(rc); + return rc; } CDEBUG(D_SEC, "key %p instantiated, ctx %p\n", key, key->payload.data); - RETURN(0); + return 0; } /* @@ -1198,11 +1186,10 @@ int gss_kt_update(struct key *key, const void *data, size_t datalen) rawobj_t tmpobj = RAWOBJ_EMPTY; __u32 datalen32 = (__u32) datalen; int rc; - ENTRY; if (data == NULL || datalen == 0) { CWARN("invalid: data %p, len %lu\n", data, (long)datalen); - RETURN(-EINVAL); + return -EINVAL; } /* if upcall finished negotiation too fast (mostly likely because @@ -1216,9 +1203,9 @@ int gss_kt_update(struct key *key, const void *data, size_t datalen) rc = key_validate(key); if (rc == 0) - RETURN(-EAGAIN); + return -EAGAIN; else - RETURN(rc); + return rc; } LASSERT(atomic_read(&ctx->cc_refcount) > 0); @@ -1229,7 +1216,7 @@ int gss_kt_update(struct key *key, const void *data, size_t datalen) /* don't proceed if already refreshed */ if (cli_ctx_is_refreshed(ctx)) { CWARN("ctx already done refresh\n"); - RETURN(0); + return 0; } sptlrpc_cli_ctx_get(ctx); @@ -1304,7 +1291,7 @@ out: /* let user space think it's a success */ sptlrpc_cli_ctx_put(ctx, 1); - RETURN(0); + return 0; } static @@ -1316,10 +1303,8 @@ int gss_kt_match(const struct key *key, const void *desc) static void gss_kt_destroy(struct key *key) { - ENTRY; LASSERT(key->payload.data == NULL); CDEBUG(D_SEC, "destroy key %p\n", key); - EXIT; } static diff --git a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_krb5_mech.c b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_krb5_mech.c index 4b28931bbc96..c106a9e049a7 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_krb5_mech.c +++ b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_krb5_mech.c @@ -54,6 +54,7 @@ #include <linux/slab.h> #include <linux/crypto.h> #include <linux/mutex.h> +#include <linux/crypto.h> #include <obd.h> #include <obd_class.h> @@ -147,14 +148,14 @@ static const char * enctype2str(__u32 enctype) static int keyblock_init(struct krb5_keyblock *kb, char *alg_name, int alg_mode) { - kb->kb_tfm = ll_crypto_alloc_blkcipher(alg_name, alg_mode, 0); + kb->kb_tfm = crypto_alloc_blkcipher(alg_name, alg_mode, 0); if (IS_ERR(kb->kb_tfm)) { CERROR("failed to alloc tfm: %s, mode %d\n", alg_name, alg_mode); return -1; } - if (ll_crypto_blkcipher_setkey(kb->kb_tfm, kb->kb_key.data, kb->kb_key.len)) { + if (crypto_blkcipher_setkey(kb->kb_tfm, kb->kb_key.data, kb->kb_key.len)) { CERROR("failed to set %s key, len %d\n", alg_name, kb->kb_key.len); return -1; @@ -197,7 +198,7 @@ void keyblock_free(struct krb5_keyblock *kb) { rawobj_free(&kb->kb_key); if (kb->kb_tfm) - ll_crypto_free_blkcipher(kb->kb_tfm); + crypto_free_blkcipher(kb->kb_tfm); } static @@ -341,7 +342,7 @@ __u32 import_context_rfc1964(struct krb5_ctx *kctx, char *p, char *end) if (p != end) goto out_err; - CDEBUG(D_SEC, "succesfully imported rfc1964 context\n"); + CDEBUG(D_SEC, "successfully imported rfc1964 context\n"); return 0; out_err: return GSS_S_FAILURE; @@ -403,7 +404,7 @@ __u32 import_context_rfc4121(struct krb5_ctx *kctx, char *p, char *end) if (get_keyblock(&p, end, &kctx->kc_keyc, keysize)) goto out_err; - CDEBUG(D_SEC, "succesfully imported v2 context\n"); + CDEBUG(D_SEC, "successfully imported v2 context\n"); return 0; out_err: return GSS_S_FAILURE; @@ -494,7 +495,7 @@ __u32 gss_copy_reverse_context_kerberos(struct gss_ctx *gctx, goto out_err; gctx_new->internal_ctx_id = knew; - CDEBUG(D_SEC, "succesfully copied reverse context\n"); + CDEBUG(D_SEC, "successfully copied reverse context\n"); return GSS_S_COMPLETE; out_err: @@ -529,7 +530,7 @@ void buf_to_sg(struct scatterlist *sg, void *ptr, int len) } static -__u32 krb5_encrypt(struct ll_crypto_cipher *tfm, +__u32 krb5_encrypt(struct crypto_blkcipher *tfm, int decrypt, void * iv, void * in, @@ -546,27 +547,27 @@ __u32 krb5_encrypt(struct ll_crypto_cipher *tfm, desc.info = local_iv; desc.flags= 0; - if (length % ll_crypto_blkcipher_blocksize(tfm) != 0) { + if (length % crypto_blkcipher_blocksize(tfm) != 0) { CERROR("output length %d mismatch blocksize %d\n", - length, ll_crypto_blkcipher_blocksize(tfm)); + length, crypto_blkcipher_blocksize(tfm)); goto out; } - if (ll_crypto_blkcipher_ivsize(tfm) > 16) { - CERROR("iv size too large %d\n", ll_crypto_blkcipher_ivsize(tfm)); + if (crypto_blkcipher_ivsize(tfm) > 16) { + CERROR("iv size too large %d\n", crypto_blkcipher_ivsize(tfm)); goto out; } if (iv) - memcpy(local_iv, iv, ll_crypto_blkcipher_ivsize(tfm)); + memcpy(local_iv, iv, crypto_blkcipher_ivsize(tfm)); memcpy(out, in, length); buf_to_sg(&sg, out, length); if (decrypt) - ret = ll_crypto_blkcipher_decrypt_iv(&desc, &sg, &sg, length); + ret = crypto_blkcipher_decrypt_iv(&desc, &sg, &sg, length); else - ret = ll_crypto_blkcipher_encrypt_iv(&desc, &sg, &sg, length); + ret = crypto_blkcipher_encrypt_iv(&desc, &sg, &sg, length); out: return(ret); @@ -574,7 +575,7 @@ out: static inline -int krb5_digest_hmac(struct ll_crypto_hash *tfm, +int krb5_digest_hmac(struct crypto_hash *tfm, rawobj_t *key, struct krb5_header *khdr, int msgcnt, rawobj_t *msgs, @@ -585,17 +586,17 @@ int krb5_digest_hmac(struct ll_crypto_hash *tfm, struct scatterlist sg[1]; int i; - ll_crypto_hash_setkey(tfm, key->data, key->len); + crypto_hash_setkey(tfm, key->data, key->len); desc.tfm = tfm; desc.flags= 0; - ll_crypto_hash_init(&desc); + crypto_hash_init(&desc); for (i = 0; i < msgcnt; i++) { if (msgs[i].len == 0) continue; buf_to_sg(sg, (char *) msgs[i].data, msgs[i].len); - ll_crypto_hash_update(&desc, sg, msgs[i].len); + crypto_hash_update(&desc, sg, msgs[i].len); } for (i = 0; i < iovcnt; i++) { @@ -604,20 +605,20 @@ int krb5_digest_hmac(struct ll_crypto_hash *tfm, sg_set_page(&sg[0], iovs[i].kiov_page, iovs[i].kiov_len, iovs[i].kiov_offset); - ll_crypto_hash_update(&desc, sg, iovs[i].kiov_len); + crypto_hash_update(&desc, sg, iovs[i].kiov_len); } if (khdr) { buf_to_sg(sg, (char *) khdr, sizeof(*khdr)); - ll_crypto_hash_update(&desc, sg, sizeof(*khdr)); + crypto_hash_update(&desc, sg, sizeof(*khdr)); } - return ll_crypto_hash_final(&desc, cksum->data); + return crypto_hash_final(&desc, cksum->data); } static inline -int krb5_digest_norm(struct ll_crypto_hash *tfm, +int krb5_digest_norm(struct crypto_hash *tfm, struct krb5_keyblock *kb, struct krb5_header *khdr, int msgcnt, rawobj_t *msgs, @@ -632,13 +633,13 @@ int krb5_digest_norm(struct ll_crypto_hash *tfm, desc.tfm = tfm; desc.flags= 0; - ll_crypto_hash_init(&desc); + crypto_hash_init(&desc); for (i = 0; i < msgcnt; i++) { if (msgs[i].len == 0) continue; buf_to_sg(sg, (char *) msgs[i].data, msgs[i].len); - ll_crypto_hash_update(&desc, sg, msgs[i].len); + crypto_hash_update(&desc, sg, msgs[i].len); } for (i = 0; i < iovcnt; i++) { @@ -647,15 +648,15 @@ int krb5_digest_norm(struct ll_crypto_hash *tfm, sg_set_page(&sg[0], iovs[i].kiov_page, iovs[i].kiov_len, iovs[i].kiov_offset); - ll_crypto_hash_update(&desc, sg, iovs[i].kiov_len); + crypto_hash_update(&desc, sg, iovs[i].kiov_len); } if (khdr) { buf_to_sg(sg, (char *) khdr, sizeof(*khdr)); - ll_crypto_hash_update(&desc, sg, sizeof(*khdr)); + crypto_hash_update(&desc, sg, sizeof(*khdr)); } - ll_crypto_hash_final(&desc, cksum->data); + crypto_hash_final(&desc, cksum->data); return krb5_encrypt(kb->kb_tfm, 0, NULL, cksum->data, cksum->data, cksum->len); @@ -674,7 +675,7 @@ __s32 krb5_make_checksum(__u32 enctype, rawobj_t *cksum) { struct krb5_enctype *ke = &enctypes[enctype]; - struct ll_crypto_hash *tfm; + struct crypto_hash *tfm; __u32 code = GSS_S_FAILURE; int rc; @@ -683,7 +684,7 @@ __s32 krb5_make_checksum(__u32 enctype, return GSS_S_FAILURE; } - cksum->len = ll_crypto_hash_digestsize(tfm); + cksum->len = crypto_hash_digestsize(tfm); OBD_ALLOC_LARGE(cksum->data, cksum->len); if (!cksum->data) { cksum->len = 0; @@ -700,7 +701,7 @@ __s32 krb5_make_checksum(__u32 enctype, if (rc == 0) code = GSS_S_COMPLETE; out_tfm: - ll_crypto_free_hash(tfm); + crypto_free_hash(tfm); return code; } @@ -878,7 +879,7 @@ int add_padding(rawobj_t *msg, int msg_buflen, int blocksize) } static -int krb5_encrypt_rawobjs(struct ll_crypto_cipher *tfm, +int krb5_encrypt_rawobjs(struct crypto_blkcipher *tfm, int mode_ecb, int inobj_cnt, rawobj_t *inobjs, @@ -890,7 +891,6 @@ int krb5_encrypt_rawobjs(struct ll_crypto_cipher *tfm, __u8 local_iv[16] = {0}, *buf; __u32 datalen = 0; int i, rc; - ENTRY; buf = outobj->data; desc.tfm = tfm; @@ -905,23 +905,23 @@ int krb5_encrypt_rawobjs(struct ll_crypto_cipher *tfm, if (mode_ecb) { if (enc) - rc = ll_crypto_blkcipher_encrypt( + rc = crypto_blkcipher_encrypt( &desc, &dst, &src, src.length); else - rc = ll_crypto_blkcipher_decrypt( + rc = crypto_blkcipher_decrypt( &desc, &dst, &src, src.length); } else { if (enc) - rc = ll_crypto_blkcipher_encrypt_iv( + rc = crypto_blkcipher_encrypt_iv( &desc, &dst, &src, src.length); else - rc = ll_crypto_blkcipher_decrypt_iv( + rc = crypto_blkcipher_decrypt_iv( &desc, &dst, &src, src.length); } if (rc) { CERROR("encrypt error %d\n", rc); - RETURN(rc); + return rc; } datalen += inobjs[i].len; @@ -929,14 +929,14 @@ int krb5_encrypt_rawobjs(struct ll_crypto_cipher *tfm, } outobj->len = datalen; - RETURN(0); + return 0; } /* * if adj_nob != 0, we adjust desc->bd_nob to the actual cipher text size. */ static -int krb5_encrypt_bulk(struct ll_crypto_cipher *tfm, +int krb5_encrypt_bulk(struct crypto_blkcipher *tfm, struct krb5_header *khdr, char *confounder, struct ptlrpc_bulk_desc *desc, @@ -951,7 +951,7 @@ int krb5_encrypt_bulk(struct ll_crypto_cipher *tfm, LASSERT(desc->bd_iov_count); LASSERT(desc->bd_enc_iov); - blocksize = ll_crypto_blkcipher_blocksize(tfm); + blocksize = crypto_blkcipher_blocksize(tfm); LASSERT(blocksize > 1); LASSERT(cipher->len == blocksize + sizeof(*khdr)); @@ -963,7 +963,7 @@ int krb5_encrypt_bulk(struct ll_crypto_cipher *tfm, buf_to_sg(&src, confounder, blocksize); buf_to_sg(&dst, cipher->data, blocksize); - rc = ll_crypto_blkcipher_encrypt_iv(&ciph_desc, &dst, &src, blocksize); + rc = crypto_blkcipher_encrypt_iv(&ciph_desc, &dst, &src, blocksize); if (rc) { CERROR("error to encrypt confounder: %d\n", rc); return rc; @@ -983,7 +983,7 @@ int krb5_encrypt_bulk(struct ll_crypto_cipher *tfm, desc->bd_enc_iov[i].kiov_offset = dst.offset; desc->bd_enc_iov[i].kiov_len = dst.length; - rc = ll_crypto_blkcipher_encrypt_iv(&ciph_desc, &dst, &src, + rc = crypto_blkcipher_encrypt_iv(&ciph_desc, &dst, &src, src.length); if (rc) { CERROR("error to encrypt page: %d\n", rc); @@ -995,7 +995,7 @@ int krb5_encrypt_bulk(struct ll_crypto_cipher *tfm, buf_to_sg(&src, khdr, sizeof(*khdr)); buf_to_sg(&dst, cipher->data + blocksize, sizeof(*khdr)); - rc = ll_crypto_blkcipher_encrypt_iv(&ciph_desc, + rc = crypto_blkcipher_encrypt_iv(&ciph_desc, &dst, &src, sizeof(*khdr)); if (rc) { CERROR("error to encrypt krb5 header: %d\n", rc); @@ -1025,7 +1025,7 @@ int krb5_encrypt_bulk(struct ll_crypto_cipher *tfm, * should have been done by prep_bulk(). */ static -int krb5_decrypt_bulk(struct ll_crypto_cipher *tfm, +int krb5_decrypt_bulk(struct crypto_blkcipher *tfm, struct krb5_header *khdr, struct ptlrpc_bulk_desc *desc, rawobj_t *cipher, @@ -1042,7 +1042,7 @@ int krb5_decrypt_bulk(struct ll_crypto_cipher *tfm, LASSERT(desc->bd_enc_iov); LASSERT(desc->bd_nob_transferred); - blocksize = ll_crypto_blkcipher_blocksize(tfm); + blocksize = crypto_blkcipher_blocksize(tfm); LASSERT(blocksize > 1); LASSERT(cipher->len == blocksize + sizeof(*khdr)); @@ -1059,7 +1059,7 @@ int krb5_decrypt_bulk(struct ll_crypto_cipher *tfm, buf_to_sg(&src, cipher->data, blocksize); buf_to_sg(&dst, plain->data, blocksize); - rc = ll_crypto_blkcipher_decrypt_iv(&ciph_desc, &dst, &src, blocksize); + rc = crypto_blkcipher_decrypt_iv(&ciph_desc, &dst, &src, blocksize); if (rc) { CERROR("error to decrypt confounder: %d\n", rc); return rc; @@ -1102,7 +1102,7 @@ int krb5_decrypt_bulk(struct ll_crypto_cipher *tfm, if (desc->bd_iov[i].kiov_len % blocksize == 0) sg_assign_page(&dst, desc->bd_iov[i].kiov_page); - rc = ll_crypto_blkcipher_decrypt_iv(&ciph_desc, &dst, &src, + rc = crypto_blkcipher_decrypt_iv(&ciph_desc, &dst, &src, src.length); if (rc) { CERROR("error to decrypt page: %d\n", rc); @@ -1142,7 +1142,7 @@ int krb5_decrypt_bulk(struct ll_crypto_cipher *tfm, buf_to_sg(&src, cipher->data + blocksize, sizeof(*khdr)); buf_to_sg(&dst, cipher->data + blocksize, sizeof(*khdr)); - rc = ll_crypto_blkcipher_decrypt_iv(&ciph_desc, + rc = crypto_blkcipher_decrypt_iv(&ciph_desc, &dst, &src, sizeof(*khdr)); if (rc) { CERROR("error to decrypt tail: %d\n", rc); @@ -1177,7 +1177,7 @@ __u32 gss_wrap_kerberos(struct gss_ctx *gctx, LASSERT(ke->ke_conf_size <= GSS_MAX_CIPHER_BLOCK); LASSERT(kctx->kc_keye.kb_tfm == NULL || ke->ke_conf_size >= - ll_crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm)); + crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm)); /* * final token format: @@ -1201,7 +1201,7 @@ __u32 gss_wrap_kerberos(struct gss_ctx *gctx, blocksize = 1; } else { LASSERT(kctx->kc_keye.kb_tfm); - blocksize = ll_crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm); + blocksize = crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm); } LASSERT(blocksize <= ke->ke_conf_size); @@ -1248,7 +1248,7 @@ __u32 gss_wrap_kerberos(struct gss_ctx *gctx, if (kctx->kc_enctype == ENCTYPE_ARCFOUR_HMAC) { rawobj_t arc4_keye; - struct ll_crypto_cipher *arc4_tfm; + struct crypto_blkcipher *arc4_tfm; if (krb5_make_checksum(ENCTYPE_ARCFOUR_HMAC, &kctx->kc_keyi, NULL, 1, &cksum, 0, NULL, &arc4_keye)) { @@ -1256,13 +1256,13 @@ __u32 gss_wrap_kerberos(struct gss_ctx *gctx, GOTO(arc4_out, rc = -EACCES); } - arc4_tfm = ll_crypto_alloc_blkcipher("ecb(arc4)", 0, 0); + arc4_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, 0); if (IS_ERR(arc4_tfm)) { CERROR("failed to alloc tfm arc4 in ECB mode\n"); GOTO(arc4_out_key, rc = -EACCES); } - if (ll_crypto_blkcipher_setkey(arc4_tfm, arc4_keye.data, + if (crypto_blkcipher_setkey(arc4_tfm, arc4_keye.data, arc4_keye.len)) { CERROR("failed to set arc4 key, len %d\n", arc4_keye.len); @@ -1272,7 +1272,7 @@ __u32 gss_wrap_kerberos(struct gss_ctx *gctx, rc = krb5_encrypt_rawobjs(arc4_tfm, 1, 3, data_desc, &cipher, 1); arc4_out_tfm: - ll_crypto_free_blkcipher(arc4_tfm); + crypto_free_blkcipher(arc4_tfm); arc4_out_key: rawobj_free(&arc4_keye); arc4_out: @@ -1310,7 +1310,7 @@ __u32 gss_prep_bulk_kerberos(struct gss_ctx *gctx, LASSERT(desc->bd_enc_iov); LASSERT(kctx->kc_keye.kb_tfm); - blocksize = ll_crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm); + blocksize = crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm); for (i = 0; i < desc->bd_iov_count; i++) { LASSERT(desc->bd_enc_iov[i].kiov_page); @@ -1371,7 +1371,7 @@ __u32 gss_wrap_bulk_kerberos(struct gss_ctx *gctx, blocksize = 1; } else { LASSERT(kctx->kc_keye.kb_tfm); - blocksize = ll_crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm); + blocksize = crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm); } /* @@ -1481,7 +1481,7 @@ __u32 gss_unwrap_kerberos(struct gss_ctx *gctx, blocksize = 1; } else { LASSERT(kctx->kc_keye.kb_tfm); - blocksize = ll_crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm); + blocksize = crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm); } /* expected token layout: @@ -1521,7 +1521,7 @@ __u32 gss_unwrap_kerberos(struct gss_ctx *gctx, if (kctx->kc_enctype == ENCTYPE_ARCFOUR_HMAC) { rawobj_t arc4_keye; - struct ll_crypto_cipher *arc4_tfm; + struct crypto_blkcipher *arc4_tfm; cksum.data = token->data + token->len - ke->ke_hash_size; cksum.len = ke->ke_hash_size; @@ -1532,13 +1532,13 @@ __u32 gss_unwrap_kerberos(struct gss_ctx *gctx, GOTO(arc4_out, rc = -EACCES); } - arc4_tfm = ll_crypto_alloc_blkcipher("ecb(arc4)", 0, 0); + arc4_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, 0); if (IS_ERR(arc4_tfm)) { CERROR("failed to alloc tfm arc4 in ECB mode\n"); GOTO(arc4_out_key, rc = -EACCES); } - if (ll_crypto_blkcipher_setkey(arc4_tfm, + if (crypto_blkcipher_setkey(arc4_tfm, arc4_keye.data, arc4_keye.len)) { CERROR("failed to set arc4 key, len %d\n", arc4_keye.len); @@ -1548,7 +1548,7 @@ __u32 gss_unwrap_kerberos(struct gss_ctx *gctx, rc = krb5_encrypt_rawobjs(arc4_tfm, 1, 1, &cipher_in, &plain_out, 0); arc4_out_tfm: - ll_crypto_free_blkcipher(arc4_tfm); + crypto_free_blkcipher(arc4_tfm); arc4_out_key: rawobj_free(&arc4_keye); arc4_out: @@ -1647,7 +1647,7 @@ __u32 gss_unwrap_bulk_kerberos(struct gss_ctx *gctx, LBUG(); } else { LASSERT(kctx->kc_keye.kb_tfm); - blocksize = ll_crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm); + blocksize = crypto_blkcipher_blocksize(kctx->kc_keye.kb_tfm); } LASSERT(sizeof(*khdr) >= blocksize && sizeof(*khdr) % blocksize == 0); diff --git a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_pipefs.c b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_pipefs.c index 3df7257b7fa0..c624518c181a 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_pipefs.c +++ b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_pipefs.c @@ -262,7 +262,6 @@ void gss_sec_ctx_replace_pf(struct gss_sec *gsec, struct hlist_node *next; HLIST_HEAD(freelist); unsigned int hash; - ENTRY; gsec_pf = container_of(gsec, struct gss_sec_pipefs, gsp_base); @@ -287,7 +286,6 @@ void gss_sec_ctx_replace_pf(struct gss_sec *gsec, spin_unlock(&gsec->gs_base.ps_lock); ctx_list_destroy_pf(&freelist); - EXIT; } static @@ -297,23 +295,22 @@ int gss_install_rvs_cli_ctx_pf(struct gss_sec *gsec, struct vfs_cred vcred; struct ptlrpc_cli_ctx *cli_ctx; int rc; - ENTRY; vcred.vc_uid = 0; vcred.vc_gid = 0; cli_ctx = ctx_create_pf(&gsec->gs_base, &vcred); if (!cli_ctx) - RETURN(-ENOMEM); + return -ENOMEM; rc = gss_copy_rvc_cli_ctx(cli_ctx, svc_ctx); if (rc) { ctx_destroy_pf(cli_ctx->cc_sec, cli_ctx); - RETURN(rc); + return rc; } gss_sec_ctx_replace_pf(gsec, cli_ctx); - RETURN(0); + return 0; } static @@ -324,7 +321,6 @@ void gss_ctx_cache_gc_pf(struct gss_sec_pipefs *gsec_pf, struct ptlrpc_cli_ctx *ctx; struct hlist_node *next; int i; - ENTRY; sec = &gsec_pf->gsp_base.gs_base; @@ -337,7 +333,6 @@ void gss_ctx_cache_gc_pf(struct gss_sec_pipefs *gsec_pf, } sec->ps_gc_next = cfs_time_current_sec() + sec->ps_gc_interval; - EXIT; } static @@ -347,7 +342,6 @@ struct ptlrpc_sec* gss_sec_create_pf(struct obd_import *imp, { struct gss_sec_pipefs *gsec_pf; int alloc_size, hash_size, i; - ENTRY; #define GSS_SEC_PIPEFS_CTX_HASH_SIZE (32) @@ -362,7 +356,7 @@ struct ptlrpc_sec* gss_sec_create_pf(struct obd_import *imp, OBD_ALLOC(gsec_pf, alloc_size); if (!gsec_pf) - RETURN(NULL); + return NULL; gsec_pf->gsp_chash_size = hash_size; for (i = 0; i < hash_size; i++) @@ -380,13 +374,13 @@ struct ptlrpc_sec* gss_sec_create_pf(struct obd_import *imp, goto err_destroy; } - RETURN(&gsec_pf->gsp_base.gs_base); + return &gsec_pf->gsp_base.gs_base; err_destroy: gss_sec_destroy_common(&gsec_pf->gsp_base); err_free: OBD_FREE(gsec_pf, alloc_size); - RETURN(NULL); + return NULL; } static @@ -423,7 +417,6 @@ struct ptlrpc_cli_ctx * gss_sec_lookup_ctx_pf(struct ptlrpc_sec *sec, struct hlist_node *next; HLIST_HEAD(freelist); unsigned int hash, gc = 0, found = 0; - ENTRY; might_sleep(); @@ -473,7 +466,7 @@ retry: /* don't allocate for reverse sec */ if (sec_is_reverse(sec)) { spin_unlock(&sec->ps_lock); - RETURN(NULL); + return NULL; } if (new) { @@ -504,7 +497,7 @@ retry: } ctx_list_destroy_pf(&freelist); - RETURN(ctx); + return ctx; } static @@ -545,7 +538,6 @@ int gss_sec_flush_ctx_cache_pf(struct ptlrpc_sec *sec, struct hlist_node *next; HLIST_HEAD(freelist); int i, busy = 0; - ENTRY; might_sleep_if(grace); @@ -584,7 +576,7 @@ int gss_sec_flush_ctx_cache_pf(struct ptlrpc_sec *sec, spin_unlock(&sec->ps_lock); ctx_list_destroy_pf(&freelist); - RETURN(busy); + return busy; } /**************************************** @@ -704,11 +696,9 @@ void upcall_msg_delist(struct gss_upcall_msg *msg) static void gss_release_msg(struct gss_upcall_msg *gmsg) { - ENTRY; LASSERT(atomic_read(&gmsg->gum_refcount) > 0); if (!atomic_dec_and_test(&gmsg->gum_refcount)) { - EXIT; return; } @@ -721,7 +711,6 @@ void gss_release_msg(struct gss_upcall_msg *gmsg) LASSERT(list_empty(&gmsg->gum_list)); LASSERT(list_empty(&gmsg->gum_base.list)); OBD_FREE_PTR(gmsg); - EXIT; } static @@ -809,19 +798,18 @@ ssize_t gss_pipe_upcall(struct file *filp, struct rpc_pipe_msg *msg, char *data = (char *)msg->data + msg->copied; ssize_t mlen = msg->len; ssize_t left; - ENTRY; if (mlen > buflen) mlen = buflen; left = copy_to_user(dst, data, mlen); if (left < 0) { msg->errno = left; - RETURN(left); + return left; } mlen -= left; msg->copied += mlen; msg->errno = 0; - RETURN(mlen); + return mlen; } static @@ -835,14 +823,13 @@ ssize_t gss_pipe_downcall(struct file *filp, const char *src, size_t mlen) int datalen; int timeout, rc; __u32 mechidx, seq, gss_err; - ENTRY; mechidx = (__u32) (long) rpci->private; LASSERT(mechidx < MECH_MAX); OBD_ALLOC(buf, mlen); if (!buf) - RETURN(-ENOMEM); + return -ENOMEM; if (copy_from_user(buf, src, mlen)) { CERROR("failed copy user space data\n"); @@ -940,7 +927,7 @@ out_free: * hack pipefs: always return asked length unless all following * downcalls might be messed up. */ rc = mlen; - RETURN(rc); + return rc; } static @@ -949,13 +936,11 @@ void gss_pipe_destroy_msg(struct rpc_pipe_msg *msg) struct gss_upcall_msg *gmsg; struct gss_upcall_msg_data *gumd; static cfs_time_t ratelimit = 0; - ENTRY; LASSERT(list_empty(&msg->list)); /* normally errno is >= 0 */ if (msg->errno >= 0) { - EXIT; return; } @@ -980,7 +965,6 @@ void gss_pipe_destroy_msg(struct rpc_pipe_msg *msg) } gss_msg_fail_ctx(gmsg); gss_release_msg(gmsg); - EXIT; } static @@ -988,7 +972,6 @@ void gss_pipe_release(struct inode *inode) { struct rpc_inode *rpci = RPC_I(inode); __u32 idx; - ENTRY; idx = (__u32) (long) rpci->private; LASSERT(idx < MECH_MAX); @@ -1020,7 +1003,6 @@ void gss_pipe_release(struct inode *inode) upcall_list_lock(idx); } upcall_list_unlock(idx); - EXIT; } static struct rpc_pipe_ops gss_upcall_ops = { @@ -1041,7 +1023,6 @@ int gss_ctx_refresh_pf(struct ptlrpc_cli_ctx *ctx) struct gss_sec *gsec; struct gss_upcall_msg *gmsg; int rc = 0; - ENTRY; might_sleep(); @@ -1052,14 +1033,14 @@ int gss_ctx_refresh_pf(struct ptlrpc_cli_ctx *ctx) imp = ctx->cc_sec->ps_import; if (!imp->imp_connection) { CERROR("import has no connection set\n"); - RETURN(-EINVAL); + return -EINVAL; } gsec = container_of(ctx->cc_sec, struct gss_sec, gs_base); OBD_ALLOC_PTR(gmsg); if (!gmsg) - RETURN(-ENOMEM); + return -ENOMEM; /* initialize pipefs base msg */ INIT_LIST_HEAD(&gmsg->gum_base.list); @@ -1107,10 +1088,10 @@ int gss_ctx_refresh_pf(struct ptlrpc_cli_ctx *ctx) goto err_free; } - RETURN(0); + return 0; err_free: OBD_FREE_PTR(gmsg); - RETURN(rc); + return rc; } static diff --git a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_rawobj.c b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_rawobj.c index 474ecf805307..fb298aef66eb 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_rawobj.c +++ b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_rawobj.c @@ -65,7 +65,7 @@ int rawobj_alloc(rawobj_t *obj, char *buf, int len) OBD_ALLOC_LARGE(obj->data, len); if (!obj->data) { obj->len = 0; - RETURN(-ENOMEM); + return -ENOMEM; } memcpy(obj->data, buf, len); } else diff --git a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_svc_upcall.c b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_svc_upcall.c index 31b50ea19c25..5b5365b4629f 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/gss/gss_svc_upcall.c +++ b/drivers/staging/lustre/lustre/ptlrpc/gss/gss_svc_upcall.c @@ -259,8 +259,6 @@ static int rsi_parse(struct cache_detail *cd, char *mesg, int mlen) struct rsi rsii, *rsip = NULL; time_t expiry; int status = -EINVAL; - ENTRY; - memset(&rsii, 0, sizeof(rsii)); @@ -341,7 +339,7 @@ out: if (status) CERROR("rsi parse error %d\n", status); - RETURN(status); + return status; } static struct cache_detail rsi_cache = { @@ -662,7 +660,6 @@ static void rsc_flush(rsc_entry_match *match, long data) struct cache_head **ch; struct rsc *rscp; int n; - ENTRY; write_lock(&rsc_cache.hash_lock); for (n = 0; n < RSC_HASHMAX; n++) { @@ -684,7 +681,6 @@ static void rsc_flush(rsc_entry_match *match, long data) } } write_unlock(&rsc_cache.hash_lock); - EXIT; } static int match_uid(struct rsc *rscp, long uid) @@ -744,7 +740,6 @@ int gss_svc_upcall_install_rvs_ctx(struct obd_import *imp, unsigned long ctx_expiry; __u32 major; int rc; - ENTRY; memset(&rsci, 0, sizeof(rsci)); @@ -792,7 +787,7 @@ out: if (rc) CERROR("create reverse svc ctx: idx "LPX64", rc %d\n", gsec->gs_rvs_hdl, rc); - RETURN(rc); + return rc; } int gss_svc_upcall_expire_rvs_ctx(rawobj_t *handle) @@ -855,7 +850,6 @@ int gss_svc_upcall_handle_init(struct ptlrpc_request *req, struct gss_rep_header *rephdr; int first_check = 1; int rc = SECSVC_DROP; - ENTRY; memset(&rsikey, 0, sizeof(rsikey)); rsikey.lustre_svc = lustre_svc; @@ -1016,7 +1010,7 @@ out: COMPAT_RSC_PUT(&rsci->h, &rsc_cache); } - RETURN(rc); + return rc; } struct gss_svc_ctx *gss_svc_upcall_get_ctx(struct ptlrpc_request *req, diff --git a/drivers/staging/lustre/lustre/ptlrpc/gss/lproc_gss.c b/drivers/staging/lustre/lustre/ptlrpc/gss/lproc_gss.c index 340400089a5a..de100a14ab52 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/gss/lproc_gss.c +++ b/drivers/staging/lustre/lustre/ptlrpc/gss/lproc_gss.c @@ -199,15 +199,17 @@ int gss_init_lproc(void) gss_proc_root = lprocfs_register("gss", sptlrpc_proc_root, gss_lprocfs_vars, NULL); if (IS_ERR(gss_proc_root)) { + rc = PTR_ERR(gss_proc_root); gss_proc_root = NULL; - GOTO(err_out, rc = PTR_ERR(gss_proc_root)); + GOTO(err_out, rc); } gss_proc_lk = lprocfs_register("lgss_keyring", gss_proc_root, gss_lk_lprocfs_vars, NULL); if (IS_ERR(gss_proc_lk)) { + rc = PTR_ERR(gss_proc_lk); gss_proc_lk = NULL; - GOTO(err_out, rc = PTR_ERR(gss_proc_root)); + GOTO(err_out, rc); } return 0; diff --git a/drivers/staging/lustre/lustre/ptlrpc/gss/sec_gss.c b/drivers/staging/lustre/lustre/ptlrpc/gss/sec_gss.c index ebca858ca183..b42ddda9ee25 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/gss/sec_gss.c +++ b/drivers/staging/lustre/lustre/ptlrpc/gss/sec_gss.c @@ -280,11 +280,10 @@ __u32 gss_unseal_msg(struct gss_ctx *mechctx, __u8 *clear_buf; int clear_buflen; __u32 major; - ENTRY; if (msgbuf->lm_bufcount != 2) { CERROR("invalid bufcount %d\n", msgbuf->lm_bufcount); - RETURN(GSS_S_FAILURE); + return GSS_S_FAILURE; } /* allocate a temporary clear text buffer, same sized as token, @@ -292,7 +291,7 @@ __u32 gss_unseal_msg(struct gss_ctx *mechctx, clear_buflen = lustre_msg_buflen(msgbuf, 1); OBD_ALLOC_LARGE(clear_buf, clear_buflen); if (!clear_buf) - RETURN(GSS_S_FAILURE); + return GSS_S_FAILURE; /* buffer objects */ hdrobj.len = lustre_msg_buflen(msgbuf, 0); @@ -317,7 +316,7 @@ __u32 gss_unseal_msg(struct gss_ctx *mechctx, major = GSS_S_COMPLETE; out_free: OBD_FREE_LARGE(clear_buf, clear_buflen); - RETURN(major); + return major; } /******************************************** @@ -646,7 +645,6 @@ int gss_cli_ctx_sign(struct ptlrpc_cli_ctx *ctx, struct gss_cli_ctx *gctx = ctx2gctx(ctx); __u32 flags = 0, seq, svc; int rc; - ENTRY; LASSERT(req->rq_reqbuf); LASSERT(req->rq_reqbuf->lm_bufcount >= 2); @@ -654,7 +652,7 @@ int gss_cli_ctx_sign(struct ptlrpc_cli_ctx *ctx, /* nothing to do for context negotiation RPCs */ if (req->rq_ctx_init) - RETURN(0); + return 0; svc = SPTLRPC_FLVR_SVC(req->rq_flvr.sf_rpc); if (req->rq_pack_bulk) @@ -670,7 +668,7 @@ redo: flags, gctx->gc_proc, seq, svc, &gctx->gc_handle); if (rc < 0) - RETURN(rc); + return rc; /* gss_sign_msg() msg might take long time to finish, in which period * more rpcs could be wrapped up and sent out. if we found too many @@ -689,7 +687,7 @@ redo: } req->rq_reqdata_len = rc; - RETURN(0); + return 0; } static @@ -765,7 +763,6 @@ int gss_cli_ctx_verify(struct ptlrpc_cli_ctx *ctx, struct lustre_msg *msg = req->rq_repdata; __u32 major; int pack_bulk, swabbed, rc = 0; - ENTRY; LASSERT(req->rq_cli_ctx == ctx); LASSERT(msg); @@ -777,12 +774,12 @@ int gss_cli_ctx_verify(struct ptlrpc_cli_ctx *ctx, if (req->rq_ctx_init && !req->rq_early) { req->rq_repmsg = lustre_msg_buf(msg, 1, 0); req->rq_replen = msg->lm_buflens[1]; - RETURN(0); + return 0; } if (msg->lm_bufcount < 2 || msg->lm_bufcount > 4) { CERROR("unexpected bufcount %u\n", msg->lm_bufcount); - RETURN(-EPROTO); + return -EPROTO; } swabbed = ptlrpc_rep_need_swab(req); @@ -790,7 +787,7 @@ int gss_cli_ctx_verify(struct ptlrpc_cli_ctx *ctx, ghdr = gss_swab_header(msg, 0, swabbed); if (ghdr == NULL) { CERROR("can't decode gss header\n"); - RETURN(-EPROTO); + return -EPROTO; } /* sanity checks */ @@ -800,7 +797,7 @@ int gss_cli_ctx_verify(struct ptlrpc_cli_ctx *ctx, if (ghdr->gh_version != reqhdr->gh_version) { CERROR("gss version %u mismatch, expect %u\n", ghdr->gh_version, reqhdr->gh_version); - RETURN(-EPROTO); + return -EPROTO; } switch (ghdr->gh_proc) { @@ -810,19 +807,19 @@ int gss_cli_ctx_verify(struct ptlrpc_cli_ctx *ctx, if (!req->rq_early && !equi(req->rq_pack_bulk == 1, pack_bulk)){ CERROR("%s bulk flag in reply\n", req->rq_pack_bulk ? "missing" : "unexpected"); - RETURN(-EPROTO); + return -EPROTO; } if (ghdr->gh_seq != reqhdr->gh_seq) { CERROR("seqnum %u mismatch, expect %u\n", ghdr->gh_seq, reqhdr->gh_seq); - RETURN(-EPROTO); + return -EPROTO; } if (ghdr->gh_svc != reqhdr->gh_svc) { CERROR("svc %u mismatch, expect %u\n", ghdr->gh_svc, reqhdr->gh_svc); - RETURN(-EPROTO); + return -EPROTO; } if (swabbed) @@ -831,7 +828,7 @@ int gss_cli_ctx_verify(struct ptlrpc_cli_ctx *ctx, major = gss_verify_msg(msg, gctx->gc_mechctx, reqhdr->gh_svc); if (major != GSS_S_COMPLETE) { CERROR("failed to verify reply: %x\n", major); - RETURN(-EPERM); + return -EPERM; } if (req->rq_early && reqhdr->gh_svc == SPTLRPC_SVC_NULL) { @@ -843,7 +840,7 @@ int gss_cli_ctx_verify(struct ptlrpc_cli_ctx *ctx, if (cksum != msg->lm_cksum) { CWARN("early reply checksum mismatch: " "%08x != %08x\n", cksum, msg->lm_cksum); - RETURN(-EPROTO); + return -EPROTO; } } @@ -852,13 +849,13 @@ int gss_cli_ctx_verify(struct ptlrpc_cli_ctx *ctx, if (msg->lm_bufcount < 3) { CERROR("Invalid reply bufcount %u\n", msg->lm_bufcount); - RETURN(-EPROTO); + return -EPROTO; } rc = bulk_sec_desc_unpack(msg, 2, swabbed); if (rc) { CERROR("unpack bulk desc: %d\n", rc); - RETURN(rc); + return rc; } } @@ -878,7 +875,7 @@ int gss_cli_ctx_verify(struct ptlrpc_cli_ctx *ctx, rc = -EPROTO; } - RETURN(rc); + return rc; } int gss_cli_ctx_seal(struct ptlrpc_cli_ctx *ctx, @@ -889,7 +886,6 @@ int gss_cli_ctx_seal(struct ptlrpc_cli_ctx *ctx, struct gss_header *ghdr; __u32 buflens[2], major; int wiresize, rc; - ENTRY; LASSERT(req->rq_clrbuf); LASSERT(req->rq_cli_ctx == ctx); @@ -915,7 +911,7 @@ int gss_cli_ctx_seal(struct ptlrpc_cli_ctx *ctx, } else { OBD_ALLOC_LARGE(req->rq_reqbuf, wiresize); if (!req->rq_reqbuf) - RETURN(-ENOMEM); + return -ENOMEM; req->rq_reqbuf_len = wiresize; } @@ -969,7 +965,7 @@ redo: /* now set the final wire data length */ req->rq_reqdata_len = lustre_shrink_msg(req->rq_reqbuf, 1, token.len,0); - RETURN(0); + return 0; err_free: if (!req->rq_pool) { @@ -977,7 +973,7 @@ err_free: req->rq_reqbuf = NULL; req->rq_reqbuf_len = 0; } - RETURN(rc); + return rc; } int gss_cli_ctx_unseal(struct ptlrpc_cli_ctx *ctx, @@ -988,7 +984,6 @@ int gss_cli_ctx_unseal(struct ptlrpc_cli_ctx *ctx, struct lustre_msg *msg = req->rq_repdata; int msglen, pack_bulk, swabbed, rc; __u32 major; - ENTRY; LASSERT(req->rq_cli_ctx == ctx); LASSERT(req->rq_ctx_init == 0); @@ -1000,14 +995,14 @@ int gss_cli_ctx_unseal(struct ptlrpc_cli_ctx *ctx, ghdr = gss_swab_header(msg, 0, swabbed); if (ghdr == NULL) { CERROR("can't decode gss header\n"); - RETURN(-EPROTO); + return -EPROTO; } /* sanity checks */ if (ghdr->gh_version != PTLRPC_GSS_VERSION) { CERROR("gss version %u mismatch, expect %u\n", ghdr->gh_version, PTLRPC_GSS_VERSION); - RETURN(-EPROTO); + return -EPROTO; } switch (ghdr->gh_proc) { @@ -1017,7 +1012,7 @@ int gss_cli_ctx_unseal(struct ptlrpc_cli_ctx *ctx, if (!req->rq_early && !equi(req->rq_pack_bulk == 1, pack_bulk)){ CERROR("%s bulk flag in reply\n", req->rq_pack_bulk ? "missing" : "unexpected"); - RETURN(-EPROTO); + return -EPROTO; } if (swabbed) @@ -1038,25 +1033,25 @@ int gss_cli_ctx_unseal(struct ptlrpc_cli_ctx *ctx, swabbed = __lustre_unpack_msg(msg, msglen); if (swabbed < 0) { CERROR("Failed to unpack after decryption\n"); - RETURN(-EPROTO); + return -EPROTO; } if (msg->lm_bufcount < 1) { CERROR("Invalid reply buffer: empty\n"); - RETURN(-EPROTO); + return -EPROTO; } if (pack_bulk) { if (msg->lm_bufcount < 2) { CERROR("bufcount %u: missing bulk sec desc\n", msg->lm_bufcount); - RETURN(-EPROTO); + return -EPROTO; } /* bulk checksum is the last segment */ if (bulk_sec_desc_unpack(msg, msg->lm_bufcount - 1, swabbed)) - RETURN(-EPROTO); + return -EPROTO; } req->rq_repmsg = lustre_msg_buf(msg, 0, 0); @@ -1077,7 +1072,7 @@ int gss_cli_ctx_unseal(struct ptlrpc_cli_ctx *ctx, rc = -EPERM; } - RETURN(rc); + return rc; } /********************************************* @@ -1148,7 +1143,6 @@ int gss_sec_create_common(struct gss_sec *gsec, void gss_sec_destroy_common(struct gss_sec *gsec) { struct ptlrpc_sec *sec = &gsec->gs_base; - ENTRY; LASSERT(sec->ps_import); LASSERT(atomic_read(&sec->ps_refcount) == 0); @@ -1163,8 +1157,6 @@ void gss_sec_destroy_common(struct gss_sec *gsec) if (SPTLRPC_FLVR_BULK_SVC(sec->ps_flvr.sf_rpc) == SPTLRPC_BULK_SVC_PRIV) sptlrpc_enc_pool_del_user(); - - EXIT; } void gss_sec_kill(struct ptlrpc_sec *sec) @@ -1260,7 +1252,6 @@ int gss_alloc_reqbuf_intg(struct ptlrpc_sec *sec, int bufsize, txtsize; int bufcnt = 2; __u32 buflens[5]; - ENTRY; /* * on-wire data layout: @@ -1312,7 +1303,7 @@ int gss_alloc_reqbuf_intg(struct ptlrpc_sec *sec, OBD_ALLOC_LARGE(req->rq_reqbuf, bufsize); if (!req->rq_reqbuf) - RETURN(-ENOMEM); + return -ENOMEM; req->rq_reqbuf_len = bufsize; } else { @@ -1331,7 +1322,7 @@ int gss_alloc_reqbuf_intg(struct ptlrpc_sec *sec, if (req->rq_pack_udesc) sptlrpc_pack_user_desc(req->rq_reqbuf, 2); - RETURN(0); + return 0; } static @@ -1342,7 +1333,6 @@ int gss_alloc_reqbuf_priv(struct ptlrpc_sec *sec, __u32 ibuflens[3], wbuflens[2]; int ibufcnt; int clearsize, wiresize; - ENTRY; LASSERT(req->rq_clrbuf == NULL); LASSERT(req->rq_clrbuf_len == 0); @@ -1399,7 +1389,7 @@ int gss_alloc_reqbuf_priv(struct ptlrpc_sec *sec, OBD_ALLOC_LARGE(req->rq_clrbuf, clearsize); if (!req->rq_clrbuf) - RETURN(-ENOMEM); + return -ENOMEM; } req->rq_clrbuf_len = clearsize; @@ -1409,7 +1399,7 @@ int gss_alloc_reqbuf_priv(struct ptlrpc_sec *sec, if (req->rq_pack_udesc) sptlrpc_pack_user_desc(req->rq_clrbuf, 1); - RETURN(0); + return 0; } /* @@ -1442,7 +1432,6 @@ void gss_free_reqbuf(struct ptlrpc_sec *sec, struct ptlrpc_request *req) { int privacy; - ENTRY; LASSERT(!req->rq_pool || req->rq_reqbuf); privacy = SPTLRPC_FLVR_SVC(req->rq_flvr.sf_rpc) == SPTLRPC_SVC_PRIV; @@ -1471,8 +1460,6 @@ release_reqbuf: req->rq_reqbuf = NULL; req->rq_reqbuf_len = 0; } - - EXIT; } static int do_alloc_repbuf(struct ptlrpc_request *req, int bufsize) @@ -1578,7 +1565,6 @@ int gss_alloc_repbuf(struct ptlrpc_sec *sec, int msgsize) { int svc = SPTLRPC_FLVR_SVC(req->rq_flvr.sf_rpc); - ENTRY; LASSERT(!req->rq_pack_bulk || (req->rq_bulk_read || req->rq_bulk_write)); @@ -1697,7 +1683,7 @@ int gss_enlarge_reqbuf_intg(struct ptlrpc_sec *sec, OBD_ALLOC_LARGE(newbuf, newbuf_size); if (newbuf == NULL) - RETURN(-ENOMEM); + return -ENOMEM; memcpy(newbuf, req->rq_reqbuf, req->rq_reqbuf_len); @@ -1717,7 +1703,7 @@ int gss_enlarge_reqbuf_intg(struct ptlrpc_sec *sec, _sptlrpc_enlarge_msg_inplace(req->rq_reqmsg, segment, newsize); req->rq_reqlen = newmsg_size; - RETURN(0); + return 0; } static @@ -1786,7 +1772,7 @@ int gss_enlarge_reqbuf_priv(struct ptlrpc_sec *sec, OBD_ALLOC_LARGE(newclrbuf, newclrbuf_size); if (newclrbuf == NULL) - RETURN(-ENOMEM); + return -ENOMEM; memcpy(newclrbuf, req->rq_clrbuf, req->rq_clrbuf_len); @@ -1806,7 +1792,7 @@ int gss_enlarge_reqbuf_priv(struct ptlrpc_sec *sec, _sptlrpc_enlarge_msg_inplace(req->rq_reqmsg, segment, newsize); req->rq_reqlen = newmsg_size; - RETURN(0); + return 0; } int gss_enlarge_reqbuf(struct ptlrpc_sec *sec, @@ -1891,7 +1877,6 @@ int gss_svc_sign(struct ptlrpc_request *req, { __u32 flags = 0; int rc; - ENTRY; LASSERT(rs->rs_msg == lustre_msg_buf(rs->rs_repbuf, 1, 0)); @@ -1906,7 +1891,7 @@ int gss_svc_sign(struct ptlrpc_request *req, LUSTRE_SP_ANY, flags, PTLRPC_GSS_PROC_DATA, grctx->src_wirectx.gw_seq, svc, NULL); if (rc < 0) - RETURN(rc); + return rc; rs->rs_repdata_len = rc; @@ -1923,7 +1908,7 @@ int gss_svc_sign(struct ptlrpc_request *req, req->rq_reply_off = 0; } - RETURN(0); + return 0; } int gss_pack_err_notify(struct ptlrpc_request *req, __u32 major, __u32 minor) @@ -1933,10 +1918,9 @@ int gss_pack_err_notify(struct ptlrpc_request *req, __u32 major, __u32 minor) struct gss_err_header *ghdr; int replen = sizeof(struct ptlrpc_body); int rc; - ENTRY; //if (OBD_FAIL_CHECK_ORSET(OBD_FAIL_SVCGSS_ERR_NOTIFY, OBD_FAIL_ONCE)) - // RETURN(-EINVAL); + // return -EINVAL; grctx->src_err_notify = 1; grctx->src_reserve_len = 0; @@ -1944,7 +1928,7 @@ int gss_pack_err_notify(struct ptlrpc_request *req, __u32 major, __u32 minor) rc = lustre_pack_reply_v2(req, 1, &replen, NULL, 0); if (rc) { CERROR("could not pack reply, err %d\n", rc); - RETURN(rc); + return rc; } /* gss hdr */ @@ -1963,7 +1947,7 @@ int gss_pack_err_notify(struct ptlrpc_request *req, __u32 major, __u32 minor) CDEBUG(D_SEC, "prepare gss error notify(0x%x/0x%x) to %s\n", major, minor, libcfs_nid2str(req->rq_peer.nid)); - RETURN(0); + return 0; } static @@ -1978,7 +1962,6 @@ int gss_svc_handle_init(struct ptlrpc_request *req, __u32 lustre_svc; __u32 *secdata, seclen; int swabbed, rc; - ENTRY; CDEBUG(D_SEC, "processing gss init(%d) request from %s\n", gw->gw_proc, libcfs_nid2str(req->rq_peer.nid)); @@ -1987,18 +1970,18 @@ int gss_svc_handle_init(struct ptlrpc_request *req, if (gw->gw_flags & LUSTRE_GSS_PACK_BULK) { CERROR("unexpected bulk flag\n"); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } if (gw->gw_proc == PTLRPC_GSS_PROC_INIT && gw->gw_handle.len != 0) { CERROR("proc %u: invalid handle length %u\n", gw->gw_proc, gw->gw_handle.len); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } if (reqbuf->lm_bufcount < 3 || reqbuf->lm_bufcount > 4){ CERROR("Invalid bufcount %d\n", reqbuf->lm_bufcount); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } swabbed = ptlrpc_req_need_swab(req); @@ -2009,7 +1992,7 @@ int gss_svc_handle_init(struct ptlrpc_request *req, if (seclen < 4 + 4) { CERROR("sec size %d too small\n", seclen); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } /* lustre svc type */ @@ -2020,7 +2003,7 @@ int gss_svc_handle_init(struct ptlrpc_request *req, * because touched internal structure of obd_uuid */ if (rawobj_extract(&uuid_obj, &secdata, &seclen)) { CERROR("failed to extract target uuid\n"); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } uuid_obj.data[uuid_obj.len - 1] = '\0'; @@ -2030,25 +2013,25 @@ int gss_svc_handle_init(struct ptlrpc_request *req, CERROR("target '%s' is not available for context init (%s)\n", uuid->uuid, target == NULL ? "no target" : (target->obd_stopping ? "stopping" : "not set up")); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } /* extract reverse handle */ if (rawobj_extract(&rvs_hdl, &secdata, &seclen)) { CERROR("failed extract reverse handle\n"); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } /* extract token */ if (rawobj_extract(&in_token, &secdata, &seclen)) { CERROR("can't extract token\n"); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } rc = gss_svc_upcall_handle_init(req, grctx, gw, target, lustre_svc, &rvs_hdl, &in_token); if (rc != SECSVC_OK) - RETURN(rc); + return rc; if (grctx->src_ctx->gsc_usr_mds || grctx->src_ctx->gsc_usr_oss || grctx->src_ctx->gsc_usr_root) @@ -2064,11 +2047,11 @@ int gss_svc_handle_init(struct ptlrpc_request *req, if (gw->gw_flags & LUSTRE_GSS_PACK_USER) { if (reqbuf->lm_bufcount < 4) { CERROR("missing user descriptor\n"); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } if (sptlrpc_unpack_user_desc(reqbuf, 2, swabbed)) { CERROR("Mal-formed user descriptor\n"); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } req->rq_pack_udesc = 1; @@ -2078,7 +2061,7 @@ int gss_svc_handle_init(struct ptlrpc_request *req, req->rq_reqmsg = lustre_msg_buf(reqbuf, 1, 0); req->rq_reqlen = lustre_msg_buflen(reqbuf, 1); - RETURN(rc); + return rc; } /* @@ -2094,13 +2077,12 @@ int gss_svc_verify_request(struct ptlrpc_request *req, struct lustre_msg *msg = req->rq_reqbuf; int offset = 2; int swabbed; - ENTRY; *major = GSS_S_COMPLETE; if (msg->lm_bufcount < 2) { CERROR("Too few segments (%u) in request\n", msg->lm_bufcount); - RETURN(-EINVAL); + return -EINVAL; } if (gw->gw_svc == SPTLRPC_SVC_NULL) @@ -2109,20 +2091,20 @@ int gss_svc_verify_request(struct ptlrpc_request *req, if (gss_check_seq_num(&gctx->gsc_seqdata, gw->gw_seq, 0)) { CERROR("phase 0: discard replayed req: seq %u\n", gw->gw_seq); *major = GSS_S_DUPLICATE_TOKEN; - RETURN(-EACCES); + return -EACCES; } *major = gss_verify_msg(msg, gctx->gsc_mechctx, gw->gw_svc); if (*major != GSS_S_COMPLETE) { CERROR("failed to verify request: %x\n", *major); - RETURN(-EACCES); + return -EACCES; } if (gctx->gsc_reverse == 0 && gss_check_seq_num(&gctx->gsc_seqdata, gw->gw_seq, 1)) { CERROR("phase 1+: discard replayed req: seq %u\n", gw->gw_seq); *major = GSS_S_DUPLICATE_TOKEN; - RETURN(-EACCES); + return -EACCES; } verified: @@ -2132,12 +2114,12 @@ verified: if (gw->gw_flags & LUSTRE_GSS_PACK_USER) { if (msg->lm_bufcount < (offset + 1)) { CERROR("no user desc included\n"); - RETURN(-EINVAL); + return -EINVAL; } if (sptlrpc_unpack_user_desc(msg, offset, swabbed)) { CERROR("Mal-formed user descriptor\n"); - RETURN(-EINVAL); + return -EINVAL; } req->rq_pack_udesc = 1; @@ -2149,11 +2131,11 @@ verified: if (gw->gw_flags & LUSTRE_GSS_PACK_BULK) { if (msg->lm_bufcount < (offset + 1)) { CERROR("missing bulk sec descriptor\n"); - RETURN(-EINVAL); + return -EINVAL; } if (bulk_sec_desc_unpack(msg, offset, swabbed)) - RETURN(-EINVAL); + return -EINVAL; req->rq_pack_bulk = 1; grctx->src_reqbsd = lustre_msg_buf(msg, offset, 0); @@ -2162,7 +2144,7 @@ verified: req->rq_reqmsg = lustre_msg_buf(msg, 1, 0); req->rq_reqlen = msg->lm_buflens[1]; - RETURN(0); + return 0; } static @@ -2174,48 +2156,47 @@ int gss_svc_unseal_request(struct ptlrpc_request *req, struct gss_svc_ctx *gctx = grctx->src_ctx; struct lustre_msg *msg = req->rq_reqbuf; int swabbed, msglen, offset = 1; - ENTRY; if (gss_check_seq_num(&gctx->gsc_seqdata, gw->gw_seq, 0)) { CERROR("phase 0: discard replayed req: seq %u\n", gw->gw_seq); *major = GSS_S_DUPLICATE_TOKEN; - RETURN(-EACCES); + return -EACCES; } *major = gss_unseal_msg(gctx->gsc_mechctx, msg, &msglen, req->rq_reqdata_len); if (*major != GSS_S_COMPLETE) { CERROR("failed to unwrap request: %x\n", *major); - RETURN(-EACCES); + return -EACCES; } if (gss_check_seq_num(&gctx->gsc_seqdata, gw->gw_seq, 1)) { CERROR("phase 1+: discard replayed req: seq %u\n", gw->gw_seq); *major = GSS_S_DUPLICATE_TOKEN; - RETURN(-EACCES); + return -EACCES; } swabbed = __lustre_unpack_msg(msg, msglen); if (swabbed < 0) { CERROR("Failed to unpack after decryption\n"); - RETURN(-EINVAL); + return -EINVAL; } req->rq_reqdata_len = msglen; if (msg->lm_bufcount < 1) { CERROR("Invalid buffer: is empty\n"); - RETURN(-EINVAL); + return -EINVAL; } if (gw->gw_flags & LUSTRE_GSS_PACK_USER) { if (msg->lm_bufcount < offset + 1) { CERROR("no user descriptor included\n"); - RETURN(-EINVAL); + return -EINVAL; } if (sptlrpc_unpack_user_desc(msg, offset, swabbed)) { CERROR("Mal-formed user descriptor\n"); - RETURN(-EINVAL); + return -EINVAL; } req->rq_pack_udesc = 1; @@ -2226,11 +2207,11 @@ int gss_svc_unseal_request(struct ptlrpc_request *req, if (gw->gw_flags & LUSTRE_GSS_PACK_BULK) { if (msg->lm_bufcount < offset + 1) { CERROR("no bulk checksum included\n"); - RETURN(-EINVAL); + return -EINVAL; } if (bulk_sec_desc_unpack(msg, offset, swabbed)) - RETURN(-EINVAL); + return -EINVAL; req->rq_pack_bulk = 1; grctx->src_reqbsd = lustre_msg_buf(msg, offset, 0); @@ -2239,7 +2220,7 @@ int gss_svc_unseal_request(struct ptlrpc_request *req, req->rq_reqmsg = lustre_msg_buf(req->rq_reqbuf, 0, 0); req->rq_reqlen = req->rq_reqbuf->lm_buflens[0]; - RETURN(0); + return 0; } static @@ -2249,7 +2230,6 @@ int gss_svc_handle_data(struct ptlrpc_request *req, struct gss_svc_reqctx *grctx = gss_svc_ctx2reqctx(req->rq_svc_ctx); __u32 major = 0; int rc = 0; - ENTRY; grctx->src_ctx = gss_svc_upcall_get_ctx(req, gw); if (!grctx->src_ctx) { @@ -2272,7 +2252,7 @@ int gss_svc_handle_data(struct ptlrpc_request *req, } if (rc == 0) - RETURN(SECSVC_OK); + return SECSVC_OK; CERROR("svc %u failed: major 0x%08x: req xid "LPU64" ctx %p idx " LPX64"(%u->%s)\n", gw->gw_svc, major, req->rq_xid, @@ -2283,9 +2263,9 @@ error: * might happen after server reboot, to allow recovery. */ if ((major == GSS_S_NO_CONTEXT || major == GSS_S_BAD_SIG) && gss_pack_err_notify(req, major, 0) == 0) - RETURN(SECSVC_COMPLETE); + return SECSVC_COMPLETE; - RETURN(SECSVC_DROP); + return SECSVC_DROP; } static @@ -2294,7 +2274,6 @@ int gss_svc_handle_destroy(struct ptlrpc_request *req, { struct gss_svc_reqctx *grctx = gss_svc_ctx2reqctx(req->rq_svc_ctx); __u32 major; - ENTRY; req->rq_ctx_fini = 1; req->rq_no_reply = 1; @@ -2302,16 +2281,16 @@ int gss_svc_handle_destroy(struct ptlrpc_request *req, grctx->src_ctx = gss_svc_upcall_get_ctx(req, gw); if (!grctx->src_ctx) { CDEBUG(D_SEC, "invalid gss context handle for destroy.\n"); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } if (gw->gw_svc != SPTLRPC_SVC_INTG) { CERROR("svc %u is not supported in destroy.\n", gw->gw_svc); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } if (gss_svc_verify_request(req, grctx, gw, &major)) - RETURN(SECSVC_DROP); + return SECSVC_DROP; CWARN("destroy svc ctx %p idx "LPX64" (%u->%s)\n", grctx->src_ctx, gss_handle_to_u64(&gw->gw_handle), @@ -2322,19 +2301,19 @@ int gss_svc_handle_destroy(struct ptlrpc_request *req, if (gw->gw_flags & LUSTRE_GSS_PACK_USER) { if (req->rq_reqbuf->lm_bufcount < 4) { CERROR("missing user descriptor, ignore it\n"); - RETURN(SECSVC_OK); + return SECSVC_OK; } if (sptlrpc_unpack_user_desc(req->rq_reqbuf, 2, ptlrpc_req_need_swab(req))) { CERROR("Mal-formed user descriptor, ignore it\n"); - RETURN(SECSVC_OK); + return SECSVC_OK; } req->rq_pack_udesc = 1; req->rq_user_desc = lustre_msg_buf(req->rq_reqbuf, 2, 0); } - RETURN(SECSVC_OK); + return SECSVC_OK; } int gss_svc_accept(struct ptlrpc_sec_policy *policy, struct ptlrpc_request *req) @@ -2343,14 +2322,13 @@ int gss_svc_accept(struct ptlrpc_sec_policy *policy, struct ptlrpc_request *req) struct gss_svc_reqctx *grctx; struct gss_wire_ctx *gw; int swabbed, rc; - ENTRY; LASSERT(req->rq_reqbuf); LASSERT(req->rq_svc_ctx == NULL); if (req->rq_reqbuf->lm_bufcount < 2) { CERROR("buf count only %d\n", req->rq_reqbuf->lm_bufcount); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } swabbed = ptlrpc_req_need_swab(req); @@ -2358,14 +2336,14 @@ int gss_svc_accept(struct ptlrpc_sec_policy *policy, struct ptlrpc_request *req) ghdr = gss_swab_header(req->rq_reqbuf, 0, swabbed); if (ghdr == NULL) { CERROR("can't decode gss header\n"); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } /* sanity checks */ if (ghdr->gh_version != PTLRPC_GSS_VERSION) { CERROR("gss version %u, expect %u\n", ghdr->gh_version, PTLRPC_GSS_VERSION); - RETURN(SECSVC_DROP); + return SECSVC_DROP; } req->rq_sp_from = ghdr->gh_sp; @@ -2373,7 +2351,7 @@ int gss_svc_accept(struct ptlrpc_sec_policy *policy, struct ptlrpc_request *req) /* alloc grctx data */ OBD_ALLOC_PTR(grctx); if (!grctx) - RETURN(SECSVC_DROP); + return SECSVC_DROP; grctx->src_base.sc_policy = sptlrpc_policy_get(policy); atomic_set(&grctx->src_base.sc_refcount, 1); @@ -2428,16 +2406,14 @@ int gss_svc_accept(struct ptlrpc_sec_policy *policy, struct ptlrpc_request *req) break; } - RETURN(rc); + return rc; } void gss_svc_invalidate_ctx(struct ptlrpc_svc_ctx *svc_ctx) { struct gss_svc_reqctx *grctx; - ENTRY; if (svc_ctx == NULL) { - EXIT; return; } @@ -2446,8 +2422,6 @@ void gss_svc_invalidate_ctx(struct ptlrpc_svc_ctx *svc_ctx) CWARN("gss svc invalidate ctx %p(%u)\n", grctx->src_ctx, grctx->src_ctx->gsc_uid); gss_svc_upcall_destroy_ctx(grctx->src_ctx); - - EXIT; } static inline @@ -2496,13 +2470,12 @@ int gss_svc_alloc_rs(struct ptlrpc_request *req, int msglen) __u32 ibuflens[2], buflens[4]; int ibufcnt = 0, bufcnt; int txtsize, wmsg_size, rs_size; - ENTRY; LASSERT(msglen % 8 == 0); if (req->rq_pack_bulk && !req->rq_bulk_read && !req->rq_bulk_write) { CERROR("client request bulk sec on non-bulk rpc\n"); - RETURN(-EPROTO); + return -EPROTO; } svc = SPTLRPC_FLVR_SVC(req->rq_flvr.sf_rpc); @@ -2575,7 +2548,7 @@ int gss_svc_alloc_rs(struct ptlrpc_request *req, int msglen) } else { OBD_ALLOC_LARGE(rs, rs_size); if (rs == NULL) - RETURN(-ENOMEM); + return -ENOMEM; rs->rs_size = rs_size; } @@ -2605,7 +2578,7 @@ int gss_svc_alloc_rs(struct ptlrpc_request *req, int msglen) LASSERT(rs->rs_msg); req->rq_reply_state = rs; - RETURN(0); + return 0; } static int gss_svc_seal(struct ptlrpc_request *req, @@ -2619,7 +2592,6 @@ static int gss_svc_seal(struct ptlrpc_request *req, int token_buflen; __u32 buflens[2], major; int msglen, rc; - ENTRY; /* get clear data length. note embedded lustre_msg might * have been shrinked */ @@ -2647,7 +2619,7 @@ static int gss_svc_seal(struct ptlrpc_request *req, token_buflen = gss_mech_payload(gctx->gsc_mechctx, msglen, 1); OBD_ALLOC_LARGE(token_buf, token_buflen); if (token_buf == NULL) - RETURN(-ENOMEM); + return -ENOMEM; hdrobj.len = PTLRPC_GSS_HEADER_SIZE; hdrobj.data = (__u8 *) ghdr; @@ -2703,7 +2675,7 @@ static int gss_svc_seal(struct ptlrpc_request *req, rc = 0; out_free: OBD_FREE_LARGE(token_buf, token_buflen); - RETURN(rc); + return rc; } int gss_svc_authorize(struct ptlrpc_request *req) @@ -2712,7 +2684,6 @@ int gss_svc_authorize(struct ptlrpc_request *req) struct gss_svc_reqctx *grctx = gss_svc_ctx2reqctx(req->rq_svc_ctx); struct gss_wire_ctx *gw = &grctx->src_wirectx; int early, rc; - ENTRY; early = (req->rq_packed_final == 0); @@ -2720,7 +2691,7 @@ int gss_svc_authorize(struct ptlrpc_request *req) LASSERT(rs->rs_repdata_len != 0); req->rq_reply_off = gss_at_reply_off_integ; - RETURN(0); + return 0; } /* early reply could happen in many cases */ @@ -2728,7 +2699,7 @@ int gss_svc_authorize(struct ptlrpc_request *req) gw->gw_proc != PTLRPC_GSS_PROC_DATA && gw->gw_proc != PTLRPC_GSS_PROC_DESTROY) { CERROR("proc %d not support\n", gw->gw_proc); - RETURN(-EINVAL); + return -EINVAL; } LASSERT(grctx->src_ctx); @@ -2749,7 +2720,7 @@ int gss_svc_authorize(struct ptlrpc_request *req) rc = 0; out: - RETURN(rc); + return rc; } void gss_svc_free_rs(struct ptlrpc_reply_state *rs) |