Author: andrew
Date: Tue Nov 17 10:27:42 2020
New Revision: 367755
URL: https://svnweb.freebsd.org/changeset/base/367755
Log:
Stop calling gic_v3_detach when we haven't called gic_v3_attach
The former tries to dereference memory allocated by the latter. If counting
the redistributor fails it may try to dereference memory that was never
allocated.
Sponsored by: Innovate UK
Modified:
head/sys/arm64/arm64/gic_v3_acpi.c
Modified: head/sys/arm64/arm64/gic_v3_acpi.c
==============================================================================
--- head/sys/arm64/arm64/gic_v3_acpi.c Tue Nov 17 10:17:18 2020
(r367754)
+++ head/sys/arm64/arm64/gic_v3_acpi.c Tue Nov 17 10:27:42 2020
(r367755)
@@ -262,7 +262,7 @@ gic_v3_acpi_attach(device_t dev)
err = gic_v3_acpi_count_regions(dev);
if (err != 0)
- goto error;
+ goto count_error;
err = gic_v3_attach(dev);
if (err != 0)
@@ -294,12 +294,13 @@ gic_v3_acpi_attach(device_t dev)
return (0);
error:
+ /* Failure so free resources */
+ gic_v3_detach(dev);
+count_error:
if (bootverbose) {
device_printf(dev,
"Failed to attach. Error %d\n", err);
}
- /* Failure so free resources */
- gic_v3_detach(dev);
return (err);
}
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"