*/
/*
* This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
*
* lustre/ptlrpc/sec_plain.c
*
unsigned int off, i;
for (i = 0; i < desc->bd_iov_count; i++) {
- if (desc->bd_vec[i].kiov_len == 0)
+ if (desc->bd_vec[i].bv_len == 0)
continue;
- ptr = kmap(desc->bd_vec[i].kiov_page);
- off = desc->bd_vec[i].kiov_offset & ~PAGE_MASK;
+ ptr = kmap(desc->bd_vec[i].bv_page);
+ off = desc->bd_vec[i].bv_offset & ~PAGE_MASK;
ptr[off] ^= 0x1;
- kunmap(desc->bd_vec[i].kiov_page);
+ kunmap(desc->bd_vec[i].bv_page);
return;
}
}
{
struct lustre_msg *msg = req->rq_repdata;
struct plain_header *phdr;
- __u32 cksum;
bool swabbed;
ENTRY;
RETURN(-EPROTO);
}
- swabbed = ptlrpc_rep_need_swab(req);
+ swabbed = req_capsule_rep_need_swab(&req->rq_pill);
phdr = lustre_msg_buf(msg, PLAIN_PACK_HDR_OFF, sizeof(*phdr));
if (phdr == NULL) {
}
if (unlikely(req->rq_early)) {
- unsigned int hsize = 4;
+ __u32 cksum = lustre_msg_calc_cksum(msg, PLAIN_PACK_MSG_OFF);
- cfs_crypto_hash_digest(CFS_HASH_ALG_CRC32,
- lustre_msg_buf(msg, PLAIN_PACK_MSG_OFF, 0),
- lustre_msg_buflen(msg, PLAIN_PACK_MSG_OFF),
- NULL, 0, (unsigned char *)&cksum, &hsize);
if (cksum != msg->lm_cksum) {
CDEBUG(D_SEC,
"early reply checksum mismatch: %08x != %08x\n",
/* fix the actual data size */
for (i = 0, nob = 0; i < desc->bd_iov_count; i++) {
- if (desc->bd_vec[i].kiov_len +
+ if (desc->bd_vec[i].bv_len +
nob > desc->bd_nob_transferred) {
- desc->bd_vec[i].kiov_len =
+ desc->bd_vec[i].bv_len =
desc->bd_nob_transferred - nob;
}
- nob += desc->bd_vec[i].kiov_len;
+ nob += desc->bd_vec[i].bv_len;
}
rc = plain_verify_bulk_csum(desc, req->rq_flvr.u_bulk.hash.hash_alg,
RETURN(SECSVC_DROP);
}
- swabbed = ptlrpc_req_need_swab(req);
+ swabbed = req_capsule_req_need_swab(&req->rq_pill);
phdr = lustre_msg_buf(msg, PLAIN_PACK_HDR_OFF, sizeof(*phdr));
if (phdr == NULL) {
phdr->ph_flags |= PLAIN_FL_BULK;
rs->rs_repdata_len = len;
+ req->rq_reply_off = 0;
if (likely(req->rq_packed_final)) {
if (lustre_msghdr_get_flags(req->rq_reqmsg) & MSGHDR_AT_SUPPORT)
req->rq_reply_off = plain_at_offset;
- else
- req->rq_reply_off = 0;
} else {
- unsigned int hsize = 4;
-
- cfs_crypto_hash_digest(CFS_HASH_ALG_CRC32,
- lustre_msg_buf(msg, PLAIN_PACK_MSG_OFF, 0),
- lustre_msg_buflen(msg, PLAIN_PACK_MSG_OFF),
- NULL, 0, (unsigned char *)&msg->lm_cksum, &hsize);
- req->rq_reply_off = 0;
+ msg->lm_cksum = lustre_msg_calc_cksum(msg, PLAIN_PACK_MSG_OFF);
}
RETURN(0);