lib/scatterlist: Fix offset type in sg_alloc_table_from_pages

Scatterlist entries have an unsigned int for the offset so
correct the sg_alloc_table_from_pages function accordingly.

Since these are offsets withing a page, unsigned int is
wide enough.

Also converts callers which were using unsigned long locally
with the lower_32_bits annotation to make it explicitly
clear what is happening.

v2: Use offset_in_page. (Chris Wilson)

Signed-off-by: Tvrtko Ursulin <[email protected]>
Cc: Masahiro Yamada <[email protected]>
Cc: Pawel Osciak <[email protected]>
Cc: Marek Szyprowski <[email protected]>
Cc: Kyungmin Park <[email protected]>
Cc: Tomasz Stanislawski <[email protected]>
Cc: Matt Porter <[email protected]>
Cc: Alexandre Bounine <[email protected]>
Cc: [email protected]
Cc: [email protected]
Acked-by: Marek Szyprowski <[email protected]> (v1)
Reviewed-by: Chris Wilson <[email protected]>
Reviewed-by: Mauro Carvalho Chehab <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
diff --git a/lib/scatterlist.c b/lib/scatterlist.c
index be7b4dd..dee0c50 100644
--- a/lib/scatterlist.c
+++ b/lib/scatterlist.c
@@ -391,7 +391,7 @@ EXPORT_SYMBOL(sg_alloc_table);
  */
 int sg_alloc_table_from_pages(struct sg_table *sgt,
 	struct page **pages, unsigned int n_pages,
-	unsigned long offset, unsigned long size,
+	unsigned int offset, unsigned long size,
 	gfp_t gfp_mask)
 {
 	unsigned int chunks;