Date: Tue, 17 Nov 2020 10:27:42 +0000 (UTC) From: Andrew Turner <andrew@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r367755 - head/sys/arm64/arm64 Message-ID: <202011171027.0AHARgCt061611@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011171027.0AHARgCt061611>