cifs: skip alloc when request has no pages
authorPaulo Alcantara <pc@cjr.nz>
Tue, 6 Dec 2022 02:31:53 +0000 (23:31 -0300)
committerSteve French <stfrench@microsoft.com>
Thu, 8 Dec 2022 15:51:53 +0000 (09:51 -0600)
commitd406d26745aba3365ab9171b2d5cbea9c1757305
tree83500b44a6ab13755303fea484c69c47a7a34e88
parentebaad77c89921c8237ca17791d5462bd289052d0
cifs: skip alloc when request has no pages

When smb3_init_transform_rq() was being called with requests (@old_rq)
which had no pages, it was unnecessarily allocating a single page for
every request in @new_rq.

Fix this by skipping page array allocation when requests have no pages
(e.g. !smb_rqst::rq_npages).

Also get rid of deprecated kmap() and use kmap_local_page() instead
while we're at it.

Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2ops.c