diff for duplicates of <5417E322.9090201@linux.intel.com> diff --git a/a/1.txt b/N1/1.txt index 4e546fc..70cb455 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -4,7 +4,7 @@ On 2014/9/12 17:16, Yijing Wang wrote: >> in DMAR table and ACPI buffer object returned by ACPI _DSM method >> for IOMMU hot-plug. >> ->> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> +>> Signed-off-by: Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> > > Hi Gerry. some comments below. Hi Yijing, @@ -53,9 +53,9 @@ Good suggestion, I like dmar_walk_remapping_entries(). >> + struct acpi_dmar_header *iter, *next; >> + struct acpi_dmar_header *end = ((void *)start) + len; >> + ->> + for (iter = start; iter < end && ret = 0; iter = next) { +>> + for (iter = start; iter < end && ret == 0; iter = next) { >> + next = (void *)iter + iter->length; ->> + if (iter->length = 0) { +>> + if (iter->length == 0) { >> + /* Avoid looping forever on bad ACPI tables */ >> + pr_debug(FW_BUG "Invalid 0-length structure\n"); > @@ -138,7 +138,7 @@ hardware platform with older linux kernel. >> - while (((unsigned long)entry_header) < >> - (((unsigned long)dmar) + dmar_tbl->length)) { >> - /* Avoid looping forever on bad ACPI tables */ ->> - if (entry_header->length = 0) { +>> - if (entry_header->length == 0) { >> - pr_warn("Invalid 0-length structure\n"); >> - ret = -EINVAL; >> - break; @@ -176,9 +176,9 @@ hardware platform with older linux kernel. >> - >> - entry_header = ((void *)entry_header + entry_header->length); >> - } ->> - if (drhd_count = 0) +>> - if (drhd_count == 0) >> + ret = dmar_walk_dmar_table(dmar, &cb); ->> + if (ret = 0 && drhd_count = 0) +>> + if (ret == 0 && drhd_count == 0) >> pr_warn(FW_BUG "No DRHD structure found in DMAR table\n"); >> + >> return ret; @@ -204,12 +204,12 @@ hardware platform with older linux kernel. >> - while (((unsigned long)entry_header) < >> - (((unsigned long)dmar) + dmar_tbl->length)) { >> - /* Avoid looping forever on bad ACPI tables */ ->> - if (entry_header->length = 0) { +>> - if (entry_header->length == 0) { >> - pr_warn("Invalid 0-length structure\n"); >> - return 0; >> - } >> - ->> - if (entry_header->type = ACPI_DMAR_TYPE_HARDWARE_UNIT) { +>> - if (entry_header->type == ACPI_DMAR_TYPE_HARDWARE_UNIT) { >> - void __iomem *addr; >> - u64 cap, ecap; >> - @@ -232,7 +232,7 @@ hardware platform with older linux kernel. >> - cap = dmar_readq(addr + DMAR_CAP_REG); >> - ecap = dmar_readq(addr + DMAR_ECAP_REG); >> - early_iounmap(addr, VTD_PAGE_SIZE); ->> - if (cap = (uint64_t)-1 && ecap = (uint64_t)-1) { +>> - if (cap == (uint64_t)-1 && ecap == (uint64_t)-1) { >> - warn_invalid_dmar(drhd->address, >> - " returns all ones"); >> - goto failed; @@ -248,7 +248,7 @@ hardware platform with older linux kernel. >> + early_iounmap(addr, VTD_PAGE_SIZE); >> >> - entry_header = ((void *)entry_header + entry_header->length); ->> + if (cap = (uint64_t)-1 && ecap = (uint64_t)-1) { +>> + if (cap == (uint64_t)-1 && ecap == (uint64_t)-1) { >> + warn_invalid_dmar(drhd->address, " returns all ones"); >> + return -EINVAL; >> } diff --git a/a/content_digest b/N1/content_digest index 68cd391..d7ef8d7 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,24 +1,24 @@ "ref\01410487848-6027-1-git-send-email-jiang.liu@linux.intel.com\0" "ref\01410487848-6027-2-git-send-email-jiang.liu@linux.intel.com\0" "ref\05412B9EE.3070708@huawei.com\0" - "From\0Jiang Liu <jiang.liu@linux.intel.com>\0" + "ref\05412B9EE.3070708-hv44wF8Li93QT0dZR+AlfA@public.gmane.org\0" + "From\0Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>\0" "Subject\0Re: [Patch Part3 V5 1/8] iommu/vt-d: Introduce helper function dmar_walk_resources()\0" - "Date\0Tue, 16 Sep 2014 07:13:38 +0000\0" - "To\0Yijing Wang <wangyijing@huawei.com>" - Joerg Roedel <joro@8bytes.org> - David Woodhouse <dwmw2@infradead.org> - Yinghai Lu <yinghai@kernel.org> - Bjorn Helgaas <bhelgaas@google.com> - Dan Williams <dan.j.williams@intel.com> - Vinod Koul <vinod.koul@intel.com> - " Rafael J . Wysocki <rafael.j.wysocki@intel.com>\0" - "Cc\0Ashok Raj <ashok.raj@intel.com>" - Tony Luck <tony.luck@intel.com> - iommu@lists.linux-foundation.org - linux-pci@vger.kernel.org - linux-hotplug@vger.kernel.org - linux-kernel@vger.kernel.org - " dmaengine@vger.kernel.org\0" + "Date\0Tue, 16 Sep 2014 15:13:38 +0800\0" + "To\0Yijing Wang <wangyijing-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>" + Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org> + David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> + Yinghai Lu <yinghai-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> + Bjorn Helgaas <bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org> + Dan Williams <dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> + Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> + " Rafael J . Wysocki <rafael.j.wysocki-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>\0" + "Cc\0Tony Luck <tony.luck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>" + linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org + linux-hotplug-u79uwXL29TY76Z2rM5mHXA@public.gmane.org + linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org + iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org + " dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org\0" "\00:1\0" "b\0" "On 2014/9/12 17:16, Yijing Wang wrote:\n" @@ -27,7 +27,7 @@ ">> in DMAR table and ACPI buffer object returned by ACPI _DSM method\n" ">> for IOMMU hot-plug.\n" ">>\n" - ">> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>\n" + ">> Signed-off-by: Jiang Liu <jiang.liu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>\n" "> \n" "> Hi Gerry. some comments below.\n" "Hi Yijing,\n" @@ -76,9 +76,9 @@ ">> +\tstruct acpi_dmar_header *iter, *next;\n" ">> +\tstruct acpi_dmar_header *end = ((void *)start) + len;\n" ">> +\n" - ">> +\tfor (iter = start; iter < end && ret = 0; iter = next) {\n" + ">> +\tfor (iter = start; iter < end && ret == 0; iter = next) {\n" ">> +\t\tnext = (void *)iter + iter->length;\n" - ">> +\t\tif (iter->length = 0) {\n" + ">> +\t\tif (iter->length == 0) {\n" ">> +\t\t\t/* Avoid looping forever on bad ACPI tables */\n" ">> +\t\t\tpr_debug(FW_BUG \"Invalid 0-length structure\\n\");\n" "> \n" @@ -161,7 +161,7 @@ ">> -\twhile (((unsigned long)entry_header) <\n" ">> -\t\t\t(((unsigned long)dmar) + dmar_tbl->length)) {\n" ">> -\t\t/* Avoid looping forever on bad ACPI tables */\n" - ">> -\t\tif (entry_header->length = 0) {\n" + ">> -\t\tif (entry_header->length == 0) {\n" ">> -\t\t\tpr_warn(\"Invalid 0-length structure\\n\");\n" ">> -\t\t\tret = -EINVAL;\n" ">> -\t\t\tbreak;\n" @@ -199,9 +199,9 @@ ">> -\n" ">> -\t\tentry_header = ((void *)entry_header + entry_header->length);\n" ">> -\t}\n" - ">> -\tif (drhd_count = 0)\n" + ">> -\tif (drhd_count == 0)\n" ">> +\tret = dmar_walk_dmar_table(dmar, &cb);\n" - ">> +\tif (ret = 0 && drhd_count = 0)\n" + ">> +\tif (ret == 0 && drhd_count == 0)\n" ">> \t\tpr_warn(FW_BUG \"No DRHD structure found in DMAR table\\n\");\n" ">> +\n" ">> \treturn ret;\n" @@ -227,12 +227,12 @@ ">> -\twhile (((unsigned long)entry_header) <\n" ">> -\t\t\t(((unsigned long)dmar) + dmar_tbl->length)) {\n" ">> -\t\t/* Avoid looping forever on bad ACPI tables */\n" - ">> -\t\tif (entry_header->length = 0) {\n" + ">> -\t\tif (entry_header->length == 0) {\n" ">> -\t\t\tpr_warn(\"Invalid 0-length structure\\n\");\n" ">> -\t\t\treturn 0;\n" ">> -\t\t}\n" ">> -\n" - ">> -\t\tif (entry_header->type = ACPI_DMAR_TYPE_HARDWARE_UNIT) {\n" + ">> -\t\tif (entry_header->type == ACPI_DMAR_TYPE_HARDWARE_UNIT) {\n" ">> -\t\t\tvoid __iomem *addr;\n" ">> -\t\t\tu64 cap, ecap;\n" ">> -\n" @@ -255,7 +255,7 @@ ">> -\t\t\tcap = dmar_readq(addr + DMAR_CAP_REG);\n" ">> -\t\t\tecap = dmar_readq(addr + DMAR_ECAP_REG);\n" ">> -\t\t\tearly_iounmap(addr, VTD_PAGE_SIZE);\n" - ">> -\t\t\tif (cap = (uint64_t)-1 && ecap = (uint64_t)-1) {\n" + ">> -\t\t\tif (cap == (uint64_t)-1 && ecap == (uint64_t)-1) {\n" ">> -\t\t\t\twarn_invalid_dmar(drhd->address,\n" ">> -\t\t\t\t\t\t \" returns all ones\");\n" ">> -\t\t\t\tgoto failed;\n" @@ -271,7 +271,7 @@ ">> +\tearly_iounmap(addr, VTD_PAGE_SIZE);\n" ">> \n" ">> -\t\tentry_header = ((void *)entry_header + entry_header->length);\n" - ">> +\tif (cap = (uint64_t)-1 && ecap = (uint64_t)-1) {\n" + ">> +\tif (cap == (uint64_t)-1 && ecap == (uint64_t)-1) {\n" ">> +\t\twarn_invalid_dmar(drhd->address, \" returns all ones\");\n" ">> +\t\treturn -EINVAL;\n" ">> \t}\n" @@ -380,4 +380,4 @@ "> \n" > -7a5e7aa26a53b703bbbd8b1d69b86a0f73e0d2141c387878089ef5b23f64e8ac +f916733939b1db72db7e222dac5216f3facb48f5e5b79d721e4b5ad7bd778c32
diff --git a/a/1.txt b/N2/1.txt index 4e546fc..e9167c5 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -53,9 +53,9 @@ Good suggestion, I like dmar_walk_remapping_entries(). >> + struct acpi_dmar_header *iter, *next; >> + struct acpi_dmar_header *end = ((void *)start) + len; >> + ->> + for (iter = start; iter < end && ret = 0; iter = next) { +>> + for (iter = start; iter < end && ret == 0; iter = next) { >> + next = (void *)iter + iter->length; ->> + if (iter->length = 0) { +>> + if (iter->length == 0) { >> + /* Avoid looping forever on bad ACPI tables */ >> + pr_debug(FW_BUG "Invalid 0-length structure\n"); > @@ -138,7 +138,7 @@ hardware platform with older linux kernel. >> - while (((unsigned long)entry_header) < >> - (((unsigned long)dmar) + dmar_tbl->length)) { >> - /* Avoid looping forever on bad ACPI tables */ ->> - if (entry_header->length = 0) { +>> - if (entry_header->length == 0) { >> - pr_warn("Invalid 0-length structure\n"); >> - ret = -EINVAL; >> - break; @@ -176,9 +176,9 @@ hardware platform with older linux kernel. >> - >> - entry_header = ((void *)entry_header + entry_header->length); >> - } ->> - if (drhd_count = 0) +>> - if (drhd_count == 0) >> + ret = dmar_walk_dmar_table(dmar, &cb); ->> + if (ret = 0 && drhd_count = 0) +>> + if (ret == 0 && drhd_count == 0) >> pr_warn(FW_BUG "No DRHD structure found in DMAR table\n"); >> + >> return ret; @@ -204,12 +204,12 @@ hardware platform with older linux kernel. >> - while (((unsigned long)entry_header) < >> - (((unsigned long)dmar) + dmar_tbl->length)) { >> - /* Avoid looping forever on bad ACPI tables */ ->> - if (entry_header->length = 0) { +>> - if (entry_header->length == 0) { >> - pr_warn("Invalid 0-length structure\n"); >> - return 0; >> - } >> - ->> - if (entry_header->type = ACPI_DMAR_TYPE_HARDWARE_UNIT) { +>> - if (entry_header->type == ACPI_DMAR_TYPE_HARDWARE_UNIT) { >> - void __iomem *addr; >> - u64 cap, ecap; >> - @@ -232,7 +232,7 @@ hardware platform with older linux kernel. >> - cap = dmar_readq(addr + DMAR_CAP_REG); >> - ecap = dmar_readq(addr + DMAR_ECAP_REG); >> - early_iounmap(addr, VTD_PAGE_SIZE); ->> - if (cap = (uint64_t)-1 && ecap = (uint64_t)-1) { +>> - if (cap == (uint64_t)-1 && ecap == (uint64_t)-1) { >> - warn_invalid_dmar(drhd->address, >> - " returns all ones"); >> - goto failed; @@ -248,7 +248,7 @@ hardware platform with older linux kernel. >> + early_iounmap(addr, VTD_PAGE_SIZE); >> >> - entry_header = ((void *)entry_header + entry_header->length); ->> + if (cap = (uint64_t)-1 && ecap = (uint64_t)-1) { +>> + if (cap == (uint64_t)-1 && ecap == (uint64_t)-1) { >> + warn_invalid_dmar(drhd->address, " returns all ones"); >> + return -EINVAL; >> } diff --git a/a/content_digest b/N2/content_digest index 68cd391..593cb13 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -3,7 +3,7 @@ "ref\05412B9EE.3070708@huawei.com\0" "From\0Jiang Liu <jiang.liu@linux.intel.com>\0" "Subject\0Re: [Patch Part3 V5 1/8] iommu/vt-d: Introduce helper function dmar_walk_resources()\0" - "Date\0Tue, 16 Sep 2014 07:13:38 +0000\0" + "Date\0Tue, 16 Sep 2014 15:13:38 +0800\0" "To\0Yijing Wang <wangyijing@huawei.com>" Joerg Roedel <joro@8bytes.org> David Woodhouse <dwmw2@infradead.org> @@ -76,9 +76,9 @@ ">> +\tstruct acpi_dmar_header *iter, *next;\n" ">> +\tstruct acpi_dmar_header *end = ((void *)start) + len;\n" ">> +\n" - ">> +\tfor (iter = start; iter < end && ret = 0; iter = next) {\n" + ">> +\tfor (iter = start; iter < end && ret == 0; iter = next) {\n" ">> +\t\tnext = (void *)iter + iter->length;\n" - ">> +\t\tif (iter->length = 0) {\n" + ">> +\t\tif (iter->length == 0) {\n" ">> +\t\t\t/* Avoid looping forever on bad ACPI tables */\n" ">> +\t\t\tpr_debug(FW_BUG \"Invalid 0-length structure\\n\");\n" "> \n" @@ -161,7 +161,7 @@ ">> -\twhile (((unsigned long)entry_header) <\n" ">> -\t\t\t(((unsigned long)dmar) + dmar_tbl->length)) {\n" ">> -\t\t/* Avoid looping forever on bad ACPI tables */\n" - ">> -\t\tif (entry_header->length = 0) {\n" + ">> -\t\tif (entry_header->length == 0) {\n" ">> -\t\t\tpr_warn(\"Invalid 0-length structure\\n\");\n" ">> -\t\t\tret = -EINVAL;\n" ">> -\t\t\tbreak;\n" @@ -199,9 +199,9 @@ ">> -\n" ">> -\t\tentry_header = ((void *)entry_header + entry_header->length);\n" ">> -\t}\n" - ">> -\tif (drhd_count = 0)\n" + ">> -\tif (drhd_count == 0)\n" ">> +\tret = dmar_walk_dmar_table(dmar, &cb);\n" - ">> +\tif (ret = 0 && drhd_count = 0)\n" + ">> +\tif (ret == 0 && drhd_count == 0)\n" ">> \t\tpr_warn(FW_BUG \"No DRHD structure found in DMAR table\\n\");\n" ">> +\n" ">> \treturn ret;\n" @@ -227,12 +227,12 @@ ">> -\twhile (((unsigned long)entry_header) <\n" ">> -\t\t\t(((unsigned long)dmar) + dmar_tbl->length)) {\n" ">> -\t\t/* Avoid looping forever on bad ACPI tables */\n" - ">> -\t\tif (entry_header->length = 0) {\n" + ">> -\t\tif (entry_header->length == 0) {\n" ">> -\t\t\tpr_warn(\"Invalid 0-length structure\\n\");\n" ">> -\t\t\treturn 0;\n" ">> -\t\t}\n" ">> -\n" - ">> -\t\tif (entry_header->type = ACPI_DMAR_TYPE_HARDWARE_UNIT) {\n" + ">> -\t\tif (entry_header->type == ACPI_DMAR_TYPE_HARDWARE_UNIT) {\n" ">> -\t\t\tvoid __iomem *addr;\n" ">> -\t\t\tu64 cap, ecap;\n" ">> -\n" @@ -255,7 +255,7 @@ ">> -\t\t\tcap = dmar_readq(addr + DMAR_CAP_REG);\n" ">> -\t\t\tecap = dmar_readq(addr + DMAR_ECAP_REG);\n" ">> -\t\t\tearly_iounmap(addr, VTD_PAGE_SIZE);\n" - ">> -\t\t\tif (cap = (uint64_t)-1 && ecap = (uint64_t)-1) {\n" + ">> -\t\t\tif (cap == (uint64_t)-1 && ecap == (uint64_t)-1) {\n" ">> -\t\t\t\twarn_invalid_dmar(drhd->address,\n" ">> -\t\t\t\t\t\t \" returns all ones\");\n" ">> -\t\t\t\tgoto failed;\n" @@ -271,7 +271,7 @@ ">> +\tearly_iounmap(addr, VTD_PAGE_SIZE);\n" ">> \n" ">> -\t\tentry_header = ((void *)entry_header + entry_header->length);\n" - ">> +\tif (cap = (uint64_t)-1 && ecap = (uint64_t)-1) {\n" + ">> +\tif (cap == (uint64_t)-1 && ecap == (uint64_t)-1) {\n" ">> +\t\twarn_invalid_dmar(drhd->address, \" returns all ones\");\n" ">> +\t\treturn -EINVAL;\n" ">> \t}\n" @@ -380,4 +380,4 @@ "> \n" > -7a5e7aa26a53b703bbbd8b1d69b86a0f73e0d2141c387878089ef5b23f64e8ac +67c9db3d5ccbf736b2c97c3474528c5f923b24976ad3d39fd37fe92f42d4a791
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.