eCryptfs: remove unneeded checks in virt_to_scatterlist()
Subsystems (2)
PATCH 1/1 eCryptfs: remove unneeded checks in virt_to_scatterlist()
This is always called with a valid "sg" pointer. My static checker complains because the call to sg_init_table() dereferences "sg" before we reach the checks.
Signed-off-by Dan Carpenter <[email protected]>
fs/ecryptfs/crypto.c +3 -6
@@ -301,17 +301,14 @@ int virt_to_scatterlist(const void *addr, int size, struct scatterlist *sg,while (size >0 && i < sg_size) { pg =virt_to_page (addr); offset =offset_in_page (addr); -if (sg) -sg_set_page (&sg[i], pg,0 , offset); +sg_set_page (&sg[i], pg,0 , offset); remainder_of_page =PAGE_CACHE_SIZE - offset;if (size >= remainder_of_page) { -if (sg) - sg[i].length = remainder_of_page; + sg[i].length = remainder_of_page; addr += remainder_of_page; size -= remainder_of_page; }else { -if (sg) - sg[i].length = size; + sg[i].length = size; addr += size; size =0 ; }
Quoted 5 lines · Dan Carpenter
This is always called with a valid "sg" pointer. My static checker complains because the call to
sg_init_table()dereferences "sg" before we reach the checks.Signed-off-by Dan Carpenter <[email protected]>
Thanks, Dan! I've tested and pushed this patch to the eCryptfs next branch.
Tyler
Quoted 26 lines
fs/ecryptfs/crypto.c +3
-6@@ -301,17 +301,14 @@ int virt_to_scatterlist(const void *addr, int size, struct scatterlist *sg,while (size >0 && i < sg_size) { pg =virt_to_page (addr); offset =offset_in_page (addr); -if (sg) -sg_set_page (&sg[i], pg,0 , offset); +sg_set_page (&sg[i], pg,0 , offset); remainder_of_page =PAGE_CACHE_SIZE - offset;if (size >= remainder_of_page) { -if (sg) - sg[i].length = remainder_of_page; + sg[i].length = remainder_of_page; addr += remainder_of_page; size -= remainder_of_page; }else { -if (sg) - sg[i].length = size; + sg[i].length = size; addr += size; size =0 ; }