From: Coly Li <colyli@suse.de> To: davem@davemloft.net, linux-block@vger.kernel.org, linux-nvme@lists.infradead.org, netdev@vger.kernel.org, open-iscsi@googlegroups.com, linux-scsi@vger.kernel.org, ceph-devel@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Coly Li <colyli@suse.de>, Lee Duncan <lduncan@suse.com>, "Martin K . Petersen" <martin.petersen@oracle.com>, Vasily Averin <vvs@virtuozzo.com>, Cong Wang <amwang@redhat.com>, Mike Christie <michaelc@cs.wisc.edu>, Chris Leech <cleech@redhat.com>, Christoph Hellwig <hch@lst.de>, Hannes Reinecke <hare@suse.de> Subject: [PATCH v10 6/7] scsi: libiscsi: use sendpage_ok() in iscsi_tcp_segment_map() Date: Fri, 2 Oct 2020 16:27:33 +0800 [thread overview] Message-ID: <20201002082734.13925-7-colyli@suse.de> (raw) In-Reply-To: <20201002082734.13925-1-colyli@suse.de> In iscsci driver, iscsi_tcp_segment_map() uses the following code to check whether the page should or not be handled by sendpage: if (!recv && page_count(sg_page(sg)) >= 1 && !PageSlab(sg_page(sg))) The "page_count(sg_page(sg)) >= 1 && !PageSlab(sg_page(sg)" part is to make sure the page can be sent to network layer's zero copy path. This part is exactly what sendpage_ok() does. This patch uses use sendpage_ok() in iscsi_tcp_segment_map() to replace the original open coded checks. Signed-off-by: Coly Li <colyli@suse.de> Reviewed-by: Lee Duncan <lduncan@suse.com> Acked-by: Martin K. Petersen <martin.petersen@oracle.com> Cc: Vasily Averin <vvs@virtuozzo.com> Cc: Cong Wang <amwang@redhat.com> Cc: Mike Christie <michaelc@cs.wisc.edu> Cc: Chris Leech <cleech@redhat.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Hannes Reinecke <hare@suse.de> --- drivers/scsi/libiscsi_tcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/libiscsi_tcp.c b/drivers/scsi/libiscsi_tcp.c index 37e5d4e48c2f..83f14b2c8804 100644 --- a/drivers/scsi/libiscsi_tcp.c +++ b/drivers/scsi/libiscsi_tcp.c @@ -128,7 +128,7 @@ static void iscsi_tcp_segment_map(struct iscsi_segment *segment, int recv) * coalescing neighboring slab objects into a single frag which * triggers one of hardened usercopy checks. */ - if (!recv && page_count(sg_page(sg)) >= 1 && !PageSlab(sg_page(sg))) + if (!recv && sendpage_ok(sg_page(sg))) return; if (recv) { -- 2.26.2
WARNING: multiple messages have this Message-ID (diff)
From: Coly Li <colyli@suse.de> To: davem@davemloft.net, linux-block@vger.kernel.org, linux-nvme@lists.infradead.org, netdev@vger.kernel.org, open-iscsi@googlegroups.com, linux-scsi@vger.kernel.org, ceph-devel@vger.kernel.org Cc: Mike Christie <michaelc@cs.wisc.edu>, Cong Wang <amwang@redhat.com>, "Martin K . Petersen" <martin.petersen@oracle.com>, linux-kernel@vger.kernel.org, Coly Li <colyli@suse.de>, Chris Leech <cleech@redhat.com>, Hannes Reinecke <hare@suse.de>, Lee Duncan <lduncan@suse.com>, Vasily Averin <vvs@virtuozzo.com>, Christoph Hellwig <hch@lst.de> Subject: [PATCH v10 6/7] scsi: libiscsi: use sendpage_ok() in iscsi_tcp_segment_map() Date: Fri, 2 Oct 2020 16:27:33 +0800 [thread overview] Message-ID: <20201002082734.13925-7-colyli@suse.de> (raw) In-Reply-To: <20201002082734.13925-1-colyli@suse.de> In iscsci driver, iscsi_tcp_segment_map() uses the following code to check whether the page should or not be handled by sendpage: if (!recv && page_count(sg_page(sg)) >= 1 && !PageSlab(sg_page(sg))) The "page_count(sg_page(sg)) >= 1 && !PageSlab(sg_page(sg)" part is to make sure the page can be sent to network layer's zero copy path. This part is exactly what sendpage_ok() does. This patch uses use sendpage_ok() in iscsi_tcp_segment_map() to replace the original open coded checks. Signed-off-by: Coly Li <colyli@suse.de> Reviewed-by: Lee Duncan <lduncan@suse.com> Acked-by: Martin K. Petersen <martin.petersen@oracle.com> Cc: Vasily Averin <vvs@virtuozzo.com> Cc: Cong Wang <amwang@redhat.com> Cc: Mike Christie <michaelc@cs.wisc.edu> Cc: Chris Leech <cleech@redhat.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Hannes Reinecke <hare@suse.de> --- drivers/scsi/libiscsi_tcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/libiscsi_tcp.c b/drivers/scsi/libiscsi_tcp.c index 37e5d4e48c2f..83f14b2c8804 100644 --- a/drivers/scsi/libiscsi_tcp.c +++ b/drivers/scsi/libiscsi_tcp.c @@ -128,7 +128,7 @@ static void iscsi_tcp_segment_map(struct iscsi_segment *segment, int recv) * coalescing neighboring slab objects into a single frag which * triggers one of hardened usercopy checks. */ - if (!recv && page_count(sg_page(sg)) >= 1 && !PageSlab(sg_page(sg))) + if (!recv && sendpage_ok(sg_page(sg))) return; if (recv) { -- 2.26.2 _______________________________________________ Linux-nvme mailing list Linux-nvme@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-nvme
next prev parent reply other threads:[~2020-10-02 8:28 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-02 8:27 [PATCH v10 0/7] Introduce sendpage_ok() to detect misused sendpage in network related drivers Coly Li 2020-10-02 8:27 ` Coly Li 2020-10-02 8:27 ` [PATCH v10 1/7] net: introduce helper sendpage_ok() in include/linux/net.h Coly Li 2020-10-02 8:27 ` Coly Li 2020-10-02 8:27 ` [PATCH v10 2/7] net: add WARN_ONCE in kernel_sendpage() for improper zero-copy send Coly Li 2020-10-02 8:27 ` Coly Li 2020-10-02 8:27 ` [PATCH v10 3/7] nvme-tcp: check page by sendpage_ok() before calling kernel_sendpage() Coly Li 2020-10-02 8:27 ` Coly Li 2020-10-02 8:27 ` [PATCH v10 4/7] tcp: use sendpage_ok() to detect misused .sendpage Coly Li 2020-10-02 8:27 ` Coly Li 2020-10-02 8:27 ` [PATCH v10 5/7] drbd: code cleanup by using sendpage_ok() to check page for kernel_sendpage() Coly Li 2020-10-02 8:27 ` Coly Li 2020-10-02 8:27 ` Coly Li [this message] 2020-10-02 8:27 ` [PATCH v10 6/7] scsi: libiscsi: use sendpage_ok() in iscsi_tcp_segment_map() Coly Li 2020-10-02 8:27 ` [PATCH v10 7/7] libceph: use sendpage_ok() in ceph_tcp_sendpage() Coly Li 2020-10-02 8:27 ` Coly Li 2020-10-02 22:28 ` [PATCH v10 0/7] Introduce sendpage_ok() to detect misused sendpage in network related drivers David Miller 2020-10-02 22:28 ` David Miller 2020-10-03 10:42 ` Coly Li 2020-10-04 3:38 ` [PATCH v10 0/7] Introduce sendpage_ok() to detect misused sendpage in network related drivers Coly Li 2020-10-04 3:38 ` Coly Li
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201002082734.13925-7-colyli@suse.de \ --to=colyli@suse.de \ --cc=amwang@redhat.com \ --cc=ceph-devel@vger.kernel.org \ --cc=cleech@redhat.com \ --cc=davem@davemloft.net \ --cc=hare@suse.de \ --cc=hch@lst.de \ --cc=lduncan@suse.com \ --cc=linux-block@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nvme@lists.infradead.org \ --cc=linux-scsi@vger.kernel.org \ --cc=martin.petersen@oracle.com \ --cc=michaelc@cs.wisc.edu \ --cc=netdev@vger.kernel.org \ --cc=open-iscsi@googlegroups.com \ --cc=vvs@virtuozzo.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.