nvme-pci: Set min align mask before calculating max_hw_sectors
Subsystems (2)
PATCH v2 1/1 nvme-pci: Set min align mask before calculating max_hw_sectors
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.
---
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(-)
drivers/nvme/host/pci.c +2 -1
@@ -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);
Signature · 1 line
2.37.1
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 39 lines · Rishabh
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.
Quoted 10 lines
*/
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.1Hi. Any review on this patch would be much appreciated!
Thanks
Rishabh
[email protected]
maintainerThe patch already made it to Linux 6.0, so I'm not sure what we need to review again.
Quoted 6 lines · 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
Greg KH
maintainerQuoted 9 lines · Rishabh
Quoted 6 lines · 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.
Quoted 6 lines
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>
Quoted 18 lines · Greg KH
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.
Quoted 5 lines · Rishabh
Quoted 4 lines · 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.
Quoted 8 lines
Quoted 2 lines
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.
Quoted 8 lines
<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.