sg = walk->sg;
        walk->offset = sg->offset;
-       walk->pg = sg_page(walk->sg) + (walk->offset >> PAGE_SHIFT);
+       walk->pg = nth_page(sg_page(walk->sg), (walk->offset >> PAGE_SHIFT));
        walk->offset = offset_in_page(walk->offset);
        walk->entrylen = sg->length;
 
        if (!IS_ENABLED(CONFIG_HIGHMEM))
                return crypto_shash_digest(desc, data, nbytes, req->result);
 
-       page += offset >> PAGE_SHIFT;
+       page = nth_page(page, offset >> PAGE_SHIFT);
        offset = offset_in_page(offset);
 
        if (nbytes > (unsigned int)PAGE_SIZE - offset)