[PATCH] x86/acpi: remove dead code

Roger Pau Monne posted 1 patch 3 years, 3 months ago
Test gitlab-ci failed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20210111092640.98423-1-roger.pau@citrix.com
xen/arch/x86/acpi/boot.c | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
[PATCH] x86/acpi: remove dead code
Posted by Roger Pau Monne 3 years, 3 months ago
After the recent changes to acpi_fadt_parse_sleep_info the bad label
can never be called with facs mapped, and hence the unmap can be
removed.

Additionally remove the whole label, since it was used by a
single caller. Move the relevant code from the label.

No functional change intended.

CID: 1471722
Fixes: 16ca5b3f873 ('x86/ACPI: don't invalidate S5 data when S3 wakeup vector cannot be determined')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/acpi/boot.c | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c
index 6345490f93..73a321d83c 100644
--- a/xen/arch/x86/acpi/boot.c
+++ b/xen/arch/x86/acpi/boot.c
@@ -389,8 +389,14 @@ acpi_fadt_parse_sleep_info(struct acpi_table_fadt *fadt)
 		}
 	}
 
-	if (fadt->flags & ACPI_FADT_HW_REDUCED)
-		goto bad;
+	if (fadt->flags & ACPI_FADT_HW_REDUCED) {
+		memset(&acpi_sinfo, 0,
+		       offsetof(struct acpi_sleep_info, sleep_control));
+		memset(&acpi_sinfo.sleep_status + 1, 0,
+		       (long)(&acpi_sinfo + 1) -
+		       (long)(&acpi_sinfo.sleep_status + 1));
+		return;
+	}
 
 	acpi_fadt_copy_address(pm1a_cnt, pm1a_control, pm1_control);
 	acpi_fadt_copy_address(pm1b_cnt, pm1b_control, pm1_control);
@@ -458,15 +464,6 @@ acpi_fadt_parse_sleep_info(struct acpi_table_fadt *fadt)
 	printk(KERN_INFO PREFIX
 	       "            wakeup_vec[%"PRIx64"], vec_size[%x]\n",
 	       acpi_sinfo.wakeup_vector, acpi_sinfo.vector_width);
-	return;
-
- bad:
-	if (facs)
-		acpi_os_unmap_memory(facs, sizeof(*facs));
-	memset(&acpi_sinfo, 0,
-	       offsetof(struct acpi_sleep_info, sleep_control));
-	memset(&acpi_sinfo.sleep_status + 1, 0,
-	       (long)(&acpi_sinfo + 1) - (long)(&acpi_sinfo.sleep_status + 1));
 }
 
 static int __init acpi_parse_fadt(struct acpi_table_header *table)
-- 
2.29.2


Re: [PATCH] x86/acpi: remove dead code
Posted by Jan Beulich 3 years, 3 months ago
On 11.01.2021 10:26, Roger Pau Monne wrote:
> After the recent changes to acpi_fadt_parse_sleep_info the bad label
> can never be called with facs mapped, and hence the unmap can be
> removed.
> 
> Additionally remove the whole label, since it was used by a
> single caller. Move the relevant code from the label.
> 
> No functional change intended.
> 
> CID: 1471722
> Fixes: 16ca5b3f873 ('x86/ACPI: don't invalidate S5 data when S3 wakeup vector cannot be determined')

I kind of consider a "Fixes:" tag contrary to "No functional change
intended", but I guess Coverity considering this an issue warrants
the tag at least in a way.

> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan

Re: [PATCH] x86/acpi: remove dead code
Posted by Roger Pau Monné 3 years, 3 months ago
On Mon, Jan 11, 2021 at 10:33:28AM +0100, Jan Beulich wrote:
> On 11.01.2021 10:26, Roger Pau Monne wrote:
> > After the recent changes to acpi_fadt_parse_sleep_info the bad label
> > can never be called with facs mapped, and hence the unmap can be
> > removed.
> > 
> > Additionally remove the whole label, since it was used by a
> > single caller. Move the relevant code from the label.
> > 
> > No functional change intended.
> > 
> > CID: 1471722
> > Fixes: 16ca5b3f873 ('x86/ACPI: don't invalidate S5 data when S3 wakeup vector cannot be determined')
> 
> I kind of consider a "Fixes:" tag contrary to "No functional change
> intended", but I guess Coverity considering this an issue warrants
> the tag at least in a way.

I've just added the tag so that if the original patch was backported
this was also, in order to prevent Coverity complaining again.

Thanks, Roger.