CIFS: Pass page offset for calculating signature

When calculating signature for the packet, it needs to read into the
correct page offset for the data.

Signed-off-by: Long Li <longli@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Este commit está contenido en:
Long Li
2018-05-30 12:48:03 -07:00
cometido por Steve French
padre 7cf20bce77
commit 4c0d2a5a64

Ver fichero

@@ -66,11 +66,12 @@ int __cifs_calc_signature(struct smb_rqst *rqst,
/* now hash over the rq_pages array */
for (i = 0; i < rqst->rq_npages; i++) {
void *kaddr = kmap(rqst->rq_pages[i]);
size_t len = rqst->rq_pagesz;
void *kaddr;
unsigned int len, offset;
if (i == rqst->rq_npages - 1)
len = rqst->rq_tailsz;
rqst_page_get_length(rqst, i, &len, &offset);
kaddr = (char *) kmap(rqst->rq_pages[i]) + offset;
crypto_shash_update(shash, kaddr, len);