FAILED: patch "[PATCH] misc: pci_endpoint_test: Aggregate params checking for xfer" failed to apply to 5.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Possible dependencies:
3e42deaac065 ("misc: pci_endpoint_test: Aggregate params checking for xfer") cf376b4b59da ("misc: pci_endpoint_test: Add support to get DMA option from userspace")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 3e42deaac06567c7e86d287c305ccda24db4ae3d Mon Sep 17 00:00:00 2001
From: Shunsuke Mie <[email protected]>
Date: Wed, 7 Sep 2022 11:00:59 +0900
Subject: [PATCH] misc: pci_endpoint_test: Aggregate params checking for xfer
Each transfer test functions have same parameter checking code. This patch unites those to an introduced function.
drivers/misc/pci_endpoint_test.c +23 -6
@@ -332,6 +332,17 @@ static bool pci_endpoint_test_msi_irq(struct pci_endpoint_test *test,return false; } +static int pci_endpoint_test_validate_xfer_params (struct device *dev, +struct pci_endpoint_test_xfer_param *param,size_t alignment) +{ +if (param->size >SIZE_MAX - alignment) { +dev_dbg (dev,"Maximum transfer data size exceeded\n" ); +return -EINVAL ; + } + +return 0 ; +} +static bool pci_endpoint_test_copy (struct pci_endpoint_test *test,unsigned long arg) {
@@ -363,9 +374,11 @@ static bool pci_endpoint_test_copy(struct pci_endpoint_test *test,return false; } + err =pci_endpoint_test_validate_xfer_params (dev, ¶m, alignment); +if (err) +return false; + size = param.size; -if (size >SIZE_MAX - alignment) - goto err; use_dma = !!(param.flags &PCITEST_FLAGS_USE_DMA );if (use_dma)
@@ -497,9 +510,11 @@ static bool pci_endpoint_test_write(struct pci_endpoint_test *test,return false; } + err =pci_endpoint_test_validate_xfer_params (dev, ¶m, alignment); +if (err) +return false; + size = param.size; -if (size >SIZE_MAX - alignment) - goto err; use_dma = !!(param.flags &PCITEST_FLAGS_USE_DMA );if (use_dma)
@@ -595,9 +610,11 @@ static bool pci_endpoint_test_read(struct pci_endpoint_test *test,return false; } + err =pci_endpoint_test_validate_xfer_params (dev, ¶m, alignment); +if (err) +return false; + size = param.size; -if (size >SIZE_MAX - alignment) - goto err; use_dma = !!(param.flags &PCITEST_FLAGS_USE_DMA );if (use_dma)