Lines Matching refs:prep
88 static int rxrpc_preparse_xdr_rxkad(struct key_preparsed_payload *prep, in rxrpc_preparse_xdr_rxkad() argument
111 prep->quotalen = datalen + plen; in rxrpc_preparse_xdr_rxkad()
152 prep->payload.data[1] = (void *)((unsigned long)prep->payload.data[1] + 1); in rxrpc_preparse_xdr_rxkad()
155 for (pptoken = (struct rxrpc_key_token **)&prep->payload.data[0]; in rxrpc_preparse_xdr_rxkad()
161 if (expiry < prep->expiry) in rxrpc_preparse_xdr_rxkad()
162 prep->expiry = expiry; in rxrpc_preparse_xdr_rxkad()
429 static int rxrpc_preparse_xdr_rxk5(struct key_preparsed_payload *prep, in rxrpc_preparse_xdr_rxk5() argument
445 prep->quotalen = datalen + toklen; in rxrpc_preparse_xdr_rxk5()
532 for (pptoken = (struct rxrpc_key_token **)&prep->payload.data[0]; in rxrpc_preparse_xdr_rxk5()
538 if (expiry < prep->expiry) in rxrpc_preparse_xdr_rxk5()
539 prep->expiry = expiry; in rxrpc_preparse_xdr_rxk5()
557 static int rxrpc_preparse_xdr(struct key_preparsed_payload *prep) in rxrpc_preparse_xdr() argument
559 const __be32 *xdr = prep->data, *token; in rxrpc_preparse_xdr()
562 size_t datalen = prep->datalen; in rxrpc_preparse_xdr()
567 prep->datalen); in rxrpc_preparse_xdr()
648 ret = rxrpc_preparse_xdr_rxkad(prep, datalen, xdr, toklen); in rxrpc_preparse_xdr()
654 ret = rxrpc_preparse_xdr_rxk5(prep, datalen, xdr, toklen); in rxrpc_preparse_xdr()
692 static int rxrpc_preparse(struct key_preparsed_payload *prep) in rxrpc_preparse() argument
701 _enter("%zu", prep->datalen); in rxrpc_preparse()
704 if (!prep->data && prep->datalen == 0) in rxrpc_preparse()
708 if (prep->datalen > 7 * 4) { in rxrpc_preparse()
709 ret = rxrpc_preparse_xdr(prep); in rxrpc_preparse()
716 if (prep->datalen <= 4 || !prep->data) in rxrpc_preparse()
718 memcpy(&kver, prep->data, sizeof(kver)); in rxrpc_preparse()
719 prep->data += sizeof(kver); in rxrpc_preparse()
720 prep->datalen -= sizeof(kver); in rxrpc_preparse()
730 if (prep->datalen < sizeof(*v1)) in rxrpc_preparse()
733 v1 = prep->data; in rxrpc_preparse()
734 if (prep->datalen != sizeof(*v1) + v1->ticket_length) in rxrpc_preparse()
758 prep->quotalen = plen + sizeof(*token); in rxrpc_preparse()
776 prep->payload.data[1] = (void *)((unsigned long)prep->payload.data[1] + 1); in rxrpc_preparse()
779 pp = (struct rxrpc_key_token **)&prep->payload.data[0]; in rxrpc_preparse()
784 if (expiry < prep->expiry) in rxrpc_preparse()
785 prep->expiry = expiry; in rxrpc_preparse()
825 static void rxrpc_free_preparse(struct key_preparsed_payload *prep) in rxrpc_free_preparse() argument
827 rxrpc_free_token_list(prep->payload.data[0]); in rxrpc_free_preparse()
835 static int rxrpc_preparse_s(struct key_preparsed_payload *prep) in rxrpc_preparse_s() argument
839 _enter("%zu", prep->datalen); in rxrpc_preparse_s()
841 if (prep->datalen != 8) in rxrpc_preparse_s()
844 memcpy(&prep->payload.data[2], prep->data, 8); in rxrpc_preparse_s()
852 if (crypto_skcipher_setkey(ci, prep->data, 8) < 0) in rxrpc_preparse_s()
855 prep->payload.data[0] = ci; in rxrpc_preparse_s()
863 static void rxrpc_free_preparse_s(struct key_preparsed_payload *prep) in rxrpc_free_preparse_s() argument
865 if (prep->payload.data[0]) in rxrpc_free_preparse_s()
866 crypto_free_skcipher(prep->payload.data[0]); in rxrpc_free_preparse_s()