From: Bodo Stroesser Date: Wed, 13 Oct 2021 17:16:06 +0000 (+0200) Subject: scsi: target: tcmu: Allocate zeroed pages for data area X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1d2ac7b69d6a984d0f58b82d0f658ebd9aa05428;p=linux.git scsi: target: tcmu: Allocate zeroed pages for data area Tcmu populates the data area (used for communication with userspace) with pages that are allocated by calling alloc_page(GFP_NOIO). Therefore previous content of the allocated pages is exposed to user space. Avoid this by adding __GFP_ZERO flag. Zeroing the pages does (nearly) not affect tcmu throughput, because allocated pages are re-used for the data transfers of later SCSI cmds. Link: https://lore.kernel.org/r/20211013171606.25197-1-bostroesser@gmail.com Signed-off-by: Bodo Stroesser Signed-off-by: Martin K. Petersen --- diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c index dc220fad06fab..7b2a89a67cdba 100644 --- a/drivers/target/target_core_user.c +++ b/drivers/target/target_core_user.c @@ -523,8 +523,8 @@ static inline int tcmu_get_empty_block(struct tcmu_dev *udev, rcu_read_unlock(); for (i = cnt; i < page_cnt; i++) { - /* try to get new page from the mm */ - page = alloc_page(GFP_NOIO); + /* try to get new zeroed page from the mm */ + page = alloc_page(GFP_NOIO | __GFP_ZERO); if (!page) break;