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: [email protected]
Signed-off-by: Rishabh Bhatnagar <[email protected]>
---
Changes in V2:
- Add Cc: <[email protected]> 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
On 10/4/22 9:27 AM, Bhatnagar, Rishabh wrote:
> On 9/29/22, 11:23 AM, "Rishabh Bhatnagar" <[email protected]> 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: [email protected]
> Signed-off-by: Rishabh Bhatnagar <[email protected]>
> ---
> Changes in V2:
> - Add Cc: <[email protected]> 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
The patch already made it to Linux 6.0, so I'm not sure what we need
to review again.
On 10/10/22 11:08 PM, [email protected] 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
On Tue, Oct 11, 2022 at 10:05:38AM -0700, Bhatnagar, Rishabh wrote:
>
> On 10/10/22 11:08 PM, [email protected] 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>
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, [email protected] 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:[email protected],
using option 2
makes sense as there is no special handling required to apply this for
5.10/5.15.