stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] nvme-pci: Set min align mask before calculating max_hw_sectors
@ 2022-09-29 18:22 Rishabh Bhatnagar
       [not found] ` <EB43F4D1-BFD0-408B-93E7-10643B59F766@amazon.com>
  0 siblings, 1 reply; 6+ messages in thread
From: Rishabh Bhatnagar @ 2022-09-29 18:22 UTC (permalink / raw)
  To: linux-kernel, linux-nvme, stable
  Cc: hch, sagi, axboe, kbusch, mbacco, benh, sjpark, Rishabh Bhatnagar

In cases where swiotlb is enabled dma_max_mapping_size takes into
account the min align mask for the device. Right now the mask is
set after the max hw sectors are calculated which might result in
a request size that overflows the swiotlb buffer.
Set the min align mask for nvme driver before calling
dma_max_mapping_size while calculating max hw sectors.

Fixes: 7637de311bd2 ("nvme-pci: limit max_hw_sectors based on the DMA max mapping size")
Cc: stable@vger.kernel.org
Signed-off-by: Rishabh Bhatnagar <risbhat@amazon.com>
---
 Changes in V2:
 - Add Cc: <stable@vger.kernel.org> tag
 - Improve the commit text
 - Add patch version

 Changes in V1:
 - Add fixes tag

 drivers/nvme/host/pci.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 98864b853eef..30e71e41a0a2 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -2834,6 +2834,8 @@ static void nvme_reset_work(struct work_struct *work)
 		nvme_start_admin_queue(&dev->ctrl);
 	}
 
+	dma_set_min_align_mask(dev->dev, NVME_CTRL_PAGE_SIZE - 1);
+
 	/*
 	 * Limit the max command size to prevent iod->sg allocations going
 	 * over a single page.
@@ -2846,7 +2848,6 @@ static void nvme_reset_work(struct work_struct *work)
 	 * Don't limit the IOMMU merged segment size.
 	 */
 	dma_set_max_seg_size(dev->dev, 0xffffffff);
-	dma_set_min_align_mask(dev->dev, NVME_CTRL_PAGE_SIZE - 1);
 
 	mutex_unlock(&dev->shutdown_lock);
 
-- 
2.37.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] nvme-pci: Set min align mask before calculating max_hw_sectors
       [not found] ` <EB43F4D1-BFD0-408B-93E7-10643B59F766@amazon.com>
@ 2022-10-10 17:55   ` Bhatnagar, Rishabh
  2022-10-11  6:08     ` hch
  0 siblings, 1 reply; 6+ messages in thread
From: Bhatnagar, Rishabh @ 2022-10-10 17:55 UTC (permalink / raw)
  To: linux-kernel, linux-nvme, stable
  Cc: hch, sagi, axboe, kbusch, Bacco, Mike, Herrenschmidt, Benjamin,
	Park, SeongJae


On 10/4/22 9:27 AM, Bhatnagar, Rishabh wrote:
> On 9/29/22, 11:23 AM, "Rishabh Bhatnagar" <risbhat@amazon.com> wrote:
>
>      In cases where swiotlb is enabled dma_max_mapping_size takes into
>      account the min align mask for the device. Right now the mask is
>      set after the max hw sectors are calculated which might result in
>      a request size that overflows the swiotlb buffer.
>      Set the min align mask for nvme driver before calling
>      dma_max_mapping_size while calculating max hw sectors.
>      
>      Fixes: 7637de311bd2 ("nvme-pci: limit max_hw_sectors based on the DMA max mapping size")
>      Cc: stable@vger.kernel.org
>      Signed-off-by: Rishabh Bhatnagar <risbhat@amazon.com>
>      ---
>       Changes in V2:
>       - Add Cc: <stable@vger.kernel.org> tag
>       - Improve the commit text
>       - Add patch version
>      
>       Changes in V1:
>       - Add fixes tag
>      
>       drivers/nvme/host/pci.c | 3 ++-
>       1 file changed, 2 insertions(+), 1 deletion(-)
>      
>      diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
>      index 98864b853eef..30e71e41a0a2 100644
>      --- a/drivers/nvme/host/pci.c
>      +++ b/drivers/nvme/host/pci.c
>      @@ -2834,6 +2834,8 @@ static void nvme_reset_work(struct work_struct *work)
>       		nvme_start_admin_queue(&dev->ctrl);
>       	}
>       
>      +	dma_set_min_align_mask(dev->dev, NVME_CTRL_PAGE_SIZE - 1);
>      +
>       	/*
>       	 * Limit the max command size to prevent iod->sg allocations going
>       	 * over a single page.
>      @@ -2846,7 +2848,6 @@ static void nvme_reset_work(struct work_struct *work)
>       	 * Don't limit the IOMMU merged segment size.
>       	 */
>       	dma_set_max_seg_size(dev->dev, 0xffffffff);
>      -	dma_set_min_align_mask(dev->dev, NVME_CTRL_PAGE_SIZE - 1);
>       
>       	mutex_unlock(&dev->shutdown_lock);
>       
>      --
>      2.37.1
>      
>      

Hi. Any review on this patch would be much appreciated!

Thanks
Rishabh


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] nvme-pci: Set min align mask before calculating max_hw_sectors
  2022-10-10 17:55   ` Bhatnagar, Rishabh
@ 2022-10-11  6:08     ` hch
  2022-10-11 17:05       ` Bhatnagar, Rishabh
  0 siblings, 1 reply; 6+ messages in thread
From: hch @ 2022-10-11  6:08 UTC (permalink / raw)
  To: Bhatnagar, Rishabh
  Cc: linux-kernel, linux-nvme, stable, hch, sagi, axboe, kbusch,
	Bacco, Mike, Herrenschmidt, Benjamin, Park, SeongJae

The patch already made it to Linux 6.0, so I'm not sure what we need
to review again.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] nvme-pci: Set min align mask before calculating max_hw_sectors
  2022-10-11  6:08     ` hch
@ 2022-10-11 17:05       ` Bhatnagar, Rishabh
  2022-10-11 18:24         ` Greg KH
  0 siblings, 1 reply; 6+ messages in thread
From: Bhatnagar, Rishabh @ 2022-10-11 17:05 UTC (permalink / raw)
  To: hch
  Cc: linux-kernel, linux-nvme, stable, sagi, axboe, kbusch, Bacco,
	Mike, Herrenschmidt, Benjamin, Park, SeongJae


On 10/10/22 11:08 PM, hch@lst.de wrote:
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.
>
>
>
> The patch already made it to Linux 6.0, so I'm not sure what we need
> to review again.

Oh, I never got any email that this was being picked up so sent it 
again. Anyways thanks for taking it.
We need this patch for 5.10/5.15 stable kernels as well. I can send 
backport patches to stable tree
maintainers unless there is a way for you to mark it so that its 
automatically picked for stable trees.

Thanks
Rishabh


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] nvme-pci: Set min align mask before calculating max_hw_sectors
  2022-10-11 17:05       ` Bhatnagar, Rishabh
@ 2022-10-11 18:24         ` Greg KH
  2022-10-11 20:35           ` Bhatnagar, Rishabh
  0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2022-10-11 18:24 UTC (permalink / raw)
  To: Bhatnagar, Rishabh
  Cc: hch, linux-kernel, linux-nvme, stable, sagi, axboe, kbusch,
	Bacco, Mike, Herrenschmidt, Benjamin, Park, SeongJae

On Tue, Oct 11, 2022 at 10:05:38AM -0700, Bhatnagar, Rishabh wrote:
> 
> On 10/10/22 11:08 PM, hch@lst.de wrote:
> > CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.
> > 
> > 
> > 
> > The patch already made it to Linux 6.0, so I'm not sure what we need
> > to review again.
> 
> Oh, I never got any email that this was being picked up so sent it again.
> Anyways thanks for taking it.
> We need this patch for 5.10/5.15 stable kernels as well. I can send backport
> patches to stable tree
> maintainers unless there is a way for you to mark it so that its
> automatically picked for stable trees.

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read:
    https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] nvme-pci: Set min align mask before calculating max_hw_sectors
  2022-10-11 18:24         ` Greg KH
@ 2022-10-11 20:35           ` Bhatnagar, Rishabh
  0 siblings, 0 replies; 6+ messages in thread
From: Bhatnagar, Rishabh @ 2022-10-11 20:35 UTC (permalink / raw)
  To: Greg KH
  Cc: hch, linux-kernel, linux-nvme, stable, sagi, axboe, kbusch,
	Bacco, Mike, Herrenschmidt, Benjamin, Park, SeongJae


On 10/11/22 11:24 AM, Greg KH wrote:
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.
>
>
>
> On Tue, Oct 11, 2022 at 10:05:38AM -0700, Bhatnagar, Rishabh wrote:
>> On 10/10/22 11:08 PM, hch@lst.de wrote:
>>> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.
>>>
>>>
>>>
>>> The patch already made it to Linux 6.0, so I'm not sure what we need
>>> to review again.
>> Oh, I never got any email that this was being picked up so sent it again.
>> Anyways thanks for taking it.
>> We need this patch for 5.10/5.15 stable kernels as well. I can send backport
>> patches to stable tree
>> maintainers unless there is a way for you to mark it so that its
>> automatically picked for stable trees.
> <formletter>
>
> This is not the correct way to submit patches for inclusion in the
> stable kernel tree.  Please read:
>      https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
> for how to do this properly.
>
> </formletter>

Since the original patch doesn't contain the CC:stable@vger.kernel.org, 
using option 2
makes sense as there is no special handling required to apply this for 
5.10/5.15.


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-10-11 20:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-29 18:22 [PATCH v2] nvme-pci: Set min align mask before calculating max_hw_sectors Rishabh Bhatnagar
     [not found] ` <EB43F4D1-BFD0-408B-93E7-10643B59F766@amazon.com>
2022-10-10 17:55   ` Bhatnagar, Rishabh
2022-10-11  6:08     ` hch
2022-10-11 17:05       ` Bhatnagar, Rishabh
2022-10-11 18:24         ` Greg KH
2022-10-11 20:35           ` Bhatnagar, Rishabh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).