Compare commits

..

No commits in common. "rawhide" and "f28" have entirely different histories.

46 changed files with 7824 additions and 1047 deletions

63
.gitignore vendored
View file

@ -105,66 +105,3 @@ series
/acpitests-unix-20181031.tar.gz
/acpica-unix2-20181213.tar.gz
/acpitests-unix-20181213.tar.gz
/acpica-unix2-20190108.tar.gz
/acpitests-unix-20190108.tar.gz
/acpica-unix2-20190215.tar.gz
/acpitests-unix-20190215.tar.gz
/acpica-unix2-20190329.tar.gz
/acpitests-unix-20190329.tar.gz
/acpica-unix2-20190405.tar.gz
/acpitests-unix-20190405.tar.gz
/acpica-unix2-20190509.tar.gz
/acpitests-unix-20190509.tar.gz
/acpica-unix2-20190703.tar.gz
/acpitests-unix-20190703.tar.gz
/acpica-unix2-20190816.tar.gz
/acpitests-unix-20190816.tar.gz
/acpica-unix2-20191018.tar.gz
/acpitests-unix-20191018.tar.gz
/acpica-unix2-20191213.tar.gz
/acpitests-unix-20191213.tar.gz
/acpica-unix2-20200110.tar.gz
/acpitests-unix-20200110.tar.gz
/acpica-unix2-20200214.tar.gz
/acpitests-unix-20200214.tar.gz
/acpica-unix2-20200326.tar.gz
/acpitests-unix-20200326.tar.gz
/acpica-unix2-20200430.tar.gz
/acpitests-unix-20200430.tar.gz
/acpica-unix2-20200528.tar.gz
/acpitests-unix-20200528.tar.gz
/acpica-unix2-20200717.tar.gz
/acpitests-unix-20200717.tar.gz
/acpica-unix2-20200925.tar.gz
/acpitests-unix-20200925.tar.gz
/acpica-unix2-20201113.tar.gz
/acpitests-unix-20201113.tar.gz
/acpica-unix2-20201217.tar.gz
/acpitests-unix-20201217.tar.gz
/acpica-unix2-20210105.tar.gz
/acpitests-unix-20210105.tar.gz
/acpica-unix2-20210331.tar.gz
/acpitests-unix-20210331.tar.gz
/acpica-unix2-20210604.tar_0.gz
/acpitests-unix-20210604.tar.gz
/acpica-unix2-20210604.tar.gz
/acpica-unix2-20210730.tar.gz
/acpitests-unix-20210730.tar.gz
/acpica-unix2-20210930.tar.gz
/acpitests-unix-20210930.tar.gz
/acpica-unix2-20211217.tar.gz
/acpitests-unix-20211217.tar.gz
/acpica-unix2-20220331.tar.gz
/acpitests-unix-20220331.tar.gz
/acpica-unix2-20230331.tar.gz
/acpitests-unix-20230331.tar.gz
/acpica-unix2-20240321.tar.gz
/acpitests-unix-20240321.tar.gz
/acpica-unix2-20240322.tar.gz
/acpitests-unix-20240322.tar.gz
/acpica-unix2-20250807.tar.gz
/acpitests-unix-20250807.tar.gz
/acpica-unix2-20251212.tar.gz
/acpitests-unix-20251212.tar.gz
/acpica-unix2-20260408.tar.gz
/acpitests-unix-20260408.tar.gz

View file

@ -1,28 +0,0 @@
From 312c162f61f8775cec2979bb786baa2d27fbfc2a Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgallagh@redhat.com>
Date: Mon, 2 Feb 2026 15:16:23 -0500
Subject: [PATCH] Fix unused attribute error
This attribute is only used if debug logging is enabled at compile-time.
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
---
source/components/namespace/nsaccess.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/components/namespace/nsaccess.c b/source/components/namespace/nsaccess.c
index 5f044e198543e032164168dbceef621cee040add..c3e86eee6ea548457370ddab7d68f6cf35885d02 100644
--- a/source/components/namespace/nsaccess.c
+++ b/source/components/namespace/nsaccess.c
@@ -449,7 +449,7 @@ AcpiNsLookup (
ACPI_NAMESPACE_NODE *CurrentNode = NULL;
ACPI_NAMESPACE_NODE *ThisNode = NULL;
UINT32 NumSegments;
- UINT32 NumCarats;
+ UINT32 ACPI_UNUSED_VAR NumCarats;
ACPI_NAME SimpleName;
ACPI_OBJECT_TYPE TypeToCheckFor;
ACPI_OBJECT_TYPE ThisSearchType;
--
2.52.0

View file

@ -1,30 +0,0 @@
From 957662e99f6ec38849a9cf47eaebe1c232f74bbd Mon Sep 17 00:00:00 2001
From: Al Stone <ahs3@ahs3.net>
Date: Wed, 14 Apr 2021 21:18:12 -0600
Subject: [PATCH 2/2] Correct dumping of SLIC tables
When dumping the SLIC table, the code was not starting at the proper
offset. Set the offset to the first byte after the header.
Signed-off-by: Al Stone <ahs3@ahs3.net>
---
source/common/dmtbdump3.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/source/common/dmtbdump3.c b/source/common/dmtbdump3.c
index 6e5f5d7ff..9a5b5ecd5 100644
--- a/source/common/dmtbdump3.c
+++ b/source/common/dmtbdump3.c
@@ -177,7 +177,8 @@ AcpiDmDumpSlic (
ACPI_TABLE_HEADER *Table)
{
- (void) AcpiDmDumpTable (Table->Length, sizeof (ACPI_TABLE_HEADER), Table,
+ (void) AcpiDmDumpTable (Table->Length, sizeof (ACPI_TABLE_HEADER),
+ (void *) (Table + sizeof (*Table)),
Table->Length - sizeof (*Table), AcpiDmTableInfoSlic);
}
--
2.45.2

View file

@ -1,37 +0,0 @@
From 1fb473e41bcbfbe21c02bcb30983b87aa94a6cb8 Mon Sep 17 00:00:00 2001
From: Al Stone <ahs3@ahs3.net>
Date: Tue, 13 Aug 2024 09:50:37 -0600
Subject: [PATCH] PHAT FW health table can be zero-length
When calculating the VendorLength of the PHAT FW health data subtable,
the result becomes a negative integer. However, since UINT32 is being
used, it looks like a huge positive integer instead. Conditionalize
the length calculation to handle this case properly.
This was discovered by using the command: iasl -T phat
Signed-off-by: Al Stone <ahs3@ahs3.net>
---
source/common/dmtbdump2.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/source/common/dmtbdump2.c b/source/common/dmtbdump2.c
index 32b76b382..dd4d4878e 100644
--- a/source/common/dmtbdump2.c
+++ b/source/common/dmtbdump2.c
@@ -2432,8 +2432,10 @@ AcpiDmDumpPhat (
/* Get Device-Specific Data - length of which is the remaining subtable length. */
- VendorLength =
- Subtable->Length - sizeof (ACPI_PHAT_HEALTH_DATA) - PathLength;
+ VendorLength = 0;
+ if (Subtable->Length > sizeof (ACPI_PHAT_HEALTH_DATA) + PathLength)
+ VendorLength =
+ Subtable->Length - sizeof (ACPI_PHAT_HEALTH_DATA) - PathLength;
DbgPrint (ASL_DEBUG_OUTPUT, "%u, Subtable->Length %X, VendorLength %X, Offset %X PathLength: %X\n",
__LINE__, Subtable->Length, VendorLength, Offset, PathLength);
--
2.45.2

26
OPT_LDFLAGS.patch Normal file
View file

@ -0,0 +1,26 @@
Index: acpica-unix2-20170728/generate/unix/Makefile.config
===================================================================
--- acpica-unix2-20170728.orig/generate/unix/Makefile.config
+++ acpica-unix2-20170728/generate/unix/Makefile.config
@@ -23,6 +23,9 @@
# OPT_CFLAGS can be overridden on the make command line by
# adding OPT_CFLAGS="..." to the invocation.
#
+# OPT_LDFLAGS can be overridden on the make command line by
+# adding OPT_LDFLAGS="..." to the invocation.
+#
# Notes:
# gcc should be version 4 or greater, otherwise some of the options
# used will not be recognized.
@@ -157,6 +160,11 @@ LDFLAGS +=-m32
endif
#
+# Common linker flags
+#
+OPT_LDFLAGS ?=
+
+#
# Optionally disable optimizations. Optimization causes problems on
# some compilers such as gcc 4.4
#

View file

@ -1,22 +1,21 @@
Name: acpica-tools
Version: 20260408
Release: 2%{?dist}
Version: 20181213
Release: 1%{?dist}
Summary: ACPICA tools for the development and debug of ACPI tables
# Automatically converted from old format: GPLv2 - review is highly recommended.
License: GPL-2.0-only
URL: https://www.intel.com/content/www/us/en/developer/topic-technology/open/acpica/overview.html
Group: Development/Languages
License: GPLv2
URL: https://www.acpica.org/
ExcludeArch: i686 armv7hl s390x
Source0: https://github.com/acpica/acpica/releases/download/%{version}/acpica-unix2-%{version}.tar.gz
Source1: https://github.com/acpica/acpica/releases/download/%{version}/acpitests-unix-%{version}.tar.gz
Source0: https://acpica.org/sites/acpica/files/acpica-unix2-%{version}.tar.gz
Source1: https://acpica.org/sites/acpica/files/acpitests-unix-%{version}.tar.gz
Source2: README.Fedora
Source3: iasl.1
Source4: acpibin.1
Source5: acpidump.1
Source6: acpiexec.1
Source7: acpihelp.1
Source8: acpinames.1
Source9: acpisrc.1
Source10: acpixtract.1
Source11: acpiexamples.1
@ -26,18 +25,25 @@ Source14: converterSample.asl.result
Source15: run-misc-tests.sh
Source16: COPYING
# other miscellaneous patches
Patch00: unaligned.patch
Patch01: template.patch
Patch04: cve-2017-13695.patch
Patch05: str-trunc-warn.patch
Patch07: dangling-ptr.patch
Patch08: uuid-len.patch
Patch09: 0001-Fix-unused-attribute-error.patch
#Patch11: 0002-Correct-dumping-of-SLIC-tables.patch
#Patch12: 0003-PHAT-FW-health-table-can-be-zero-length.patch
Patch0: big-endian.patch
Patch1: unaligned.patch
Patch2: OPT_LDFLAGS.patch
Patch3: int-format.patch
Patch4: f23-harden.patch
Patch5: template.patch
Patch6: free.patch
Patch7: ppc64le.patch
Patch8: arm7hl.patch
Patch9: big-endian-v2.patch
Patch10: simple-64bit.patch
Patch11: mips-be-fix.patch
Patch12: cve-2017-13693.patch
Patch13: cve-2017-13694.patch
Patch14: cve-2017-13695.patch
Patch15: str-trunc-warn.patch
Patch16: ptr-cast.patch
Patch17: aslcodegen.patch
BuildRequires: make
BuildRequires: bison patchutils flex gcc
# The previous iasl package contained only a very small subset of these tools
@ -74,6 +80,7 @@ are installed:
-- acpidump: write out the current contents of ACPI tables
-- acpiexec: simulate AML execution in order to debug method definitions
-- acpihelp: display help messages describing ASL keywords and op-codes
-- acpinames: display complete ACPI name space from input AML
-- acpisrc: manipulate the ACPICA source tree and format source files
for specific environments
-- acpixtract: extract binary ACPI tables from acpidump output (see
@ -85,7 +92,24 @@ This version of the tools is being released under GPLv2 license.
%setup -q -n acpica-unix2-%{version}
gzip -dc %{SOURCE1} | tar -x --strip-components=1 -f -
%autopatch -p1
%patch0 -p1 -b .big-endian
%patch1 -p1 -b .unaligned
%patch2 -p1 -b .OPT_LDFLAGS
%patch3 -p1 -b .int-format
%patch4 -p1 -b .f23-harden
%patch5 -p1 -b .template
%patch6 -p1 -b .free
%patch7 -p1 -b .ppc64le
%patch8 -p1 -b .arm7hl
%patch9 -p1 -b .big-endian-v2
%patch10 -p1 -b .simple-64bit
%patch11 -p1 -b .mips-be-fix
%patch12 -p1 -b .cve-2017-13693
%patch13 -p1 -b .cve-2017-13694
%patch14 -p1 -b .cve-2017-13695
%patch15 -p1 -b .str-trunc-warn
%patch16 -p1 -b .ptr-cast
%patch17 -p1 -b .aslcodegen
cp -p %{SOURCE2} README.Fedora
cp -p %{SOURCE3} iasl.1
@ -93,6 +117,7 @@ cp -p %{SOURCE4} acpibin.1
cp -p %{SOURCE5} acpidump.1
cp -p %{SOURCE6} acpiexec.1
cp -p %{SOURCE7} acpihelp.1
cp -p %{SOURCE8} acpinames.1
cp -p %{SOURCE9} acpisrc.1
cp -p %{SOURCE10} acpixtract.1
cp -p %{SOURCE11} acpiexamples.1
@ -145,7 +170,7 @@ OPT_LDFLAGS="%{__global_ldflags}"
export OPT_CFLAGS
export OPT_LDFLAGS
%{make_build}
make
%install
@ -169,7 +194,19 @@ cd tests
[ $? -eq 0 ] || exit 1
# misc tests
#./run-misc-tests.sh %{buildroot}%{_bindir} %{version}
./run-misc-tests.sh %{buildroot}%{_bindir} %{version}
# Template tests
cd templates
make
if [ -f diff.log ]
then
if [ -s diff.log ]
then
exit 1 # implies errors occurred
fi
fi
cd ..
%pre
if [ -e %{_bindir}/acpixtract-acpica ]
@ -201,218 +238,6 @@ fi
%changelog
* Wed Jul 15 2026 Fedora Release Engineering <releng@fedoraproject.org> - 20260408-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Thu Apr 09 2026 Gwyn Ciesla <gwync@protonmail.com> - 20260408-1
- 20260408
* Mon Feb 02 2026 Stephen Gallagher <sgallagh@redhat.com> - 20251212-4
- Fix build failure from -Werror=unused-but-set-variable
- Drop broken s390x patch
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 20251212-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 20251212-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Mon Dec 15 2025 Gwyn Ciesla <gwync@protonmail.com> - 20251212-1
- 20251212
* Fri Aug 15 2025 Gwyn Ciesla <gwync@protonmail.com> - 20250807-1
- 20250807
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20240322-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20240322-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Aug 12 2024 Al Stone <ahs3@fedoraproject.org> - 20240322-1
- Update source tree to 20240322 version from upstream. NB: this update
is done in conjunction with removing s390x support due to the large
number of patches that are now rendered obsolete. Closes BZ#2138250.
- Note, too, that the upstream version of the tarball is missing two
commits and has the wrong name; discussed this with upstream and
included a patch with the two commits to correct this, and renamed
the tarballs to try to maintain consistency. So, upstream is actually
named version 20240321, but it should be 20240322 according to their
own git tree (see tag G20240322 on github).
- Removed executable bit from all the upstream source files
- Remove big-endian support, aka s390x. Closes BZ#2298855.
- Remove several 32-bit only patches that are also obsolete since they
are for unsupported architectures (thanks to pbonzini and PR#5).
- Remove PIE patches since that is currently the default (again, thanks
to pbonzini and PR#5)
* Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 20220331-10
- convert license to SPDX
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20220331-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Apr 3 2022 Al Stone <ahs3@redhat.com> - 20220331-3
- Correct typo in ExcludeArch syntax
* Sun Apr 3 2022 Al Stone <ahs3@redhat.com> - 20220331-2
- Stop building 32-bit architecture (i686 and armv7hl); they have been
deprecated in Fedora
* Sun Apr 3 2022 Al Stone <ahs3@redhat.com> - 20220331-1
- Update to 20220331 upstream source. Bring all the patches up to date.
- Update the results of misc test cases.
- Add in big-endian patches for PRMT, RGRT and SVKL tables (thanks, Dean!)
* Mon Mar 28 2022 Al Stone <ahs3@redhat.com> - 20211217-2
- Stop building i686; it is the only Arch that stumbles across a problem
in using varargs but since the Arch has been essentially deprecated,
take this as an opportunity to finally drop support for it.
* Fri Mar 18 2022 Al Stone <ahs3@redhat.com> - 20211217-1
- Update to 20211217 upstream source. Bring all the patches up to date.
- Rawhide use of GCC 12 introduces a new check for dangling pointers which
causes non-portable code in utdebug.c stack functions to not compile; add
a patch to disable -Wdangling-pointer=2 for the specific functions
- The AeRegionHandler() code in acpiexec call a UUID function with a buffer
too small for the UUID output string; add a patch to correct this.
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20210604-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Oct 4 2021 Al Stone <ahs3@redhat.com> - 20210730-1
- Update to 20210730 upstream source. Bring all the patches up to date.
* Tue Jul 27 2021 Al Stone <ahs3@redhat.com> - 20210604-3
- Running 'iasl -T all' would segfault when dumping the PHAT template;
fixed AcpiDmDumpPhat() by removing unnecessary assignments from patch
- Borrowed a patch from upstream to fix Unicode usage in WPBTs
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20210604-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun Jul 11 2021 Al Stone <ahs3@redhat.com> - 20210604-1
- Update to 20210604 source tree (please note that tarballs for versions
between 20200925 and 20210604 have been uploaded for archival reasons
but no packaged version of these has been commited to the Fedora project)
- Bring the big-endian patches up-to-date with what has been submitted
upstream (not accepted currently).
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20200925-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Oct 19 2020 Al Stone <ahs3@redhat.com> - 20200925-1
- Update to 20200925 source tree
- Completely revamp the old big-endian patches (maintainability was the goal).
This results in a much larger patch set, but each patch is more clearly used
for a specific purpose.
- The acpinames command has been deprecated upstream; acpiexec provides
replacement functionality.
* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200430-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200430-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jun 8 2020 Al Stone <ahs3@redhat.com> - 202004306-1
- Update to 202004306 source tree, including patch refreshes
* Wed Apr 1 2020 Al Stone <ahs3@redhat.com> - 20200326-1
- Update to 20200326 source tree, including patch refreshes
- Removed a couple of patches that got included upstream
* Wed Feb 26 2020 Al Stone <ahs3@redhat.com> - 20200214-1
- Update to 20200214 source tree, including patch refreshes
- Add patch to fix up issues where strings and 4-byte quantities
get interchanged; C strings want to be null terminated now, but
AML does not so using strncpy is painful.
- Add patch for s390x specific issue (dbtest), where initializing a
string on the stack behaves a little differently
- "PCC" is a defined Register() type, but "PlatformCommChannel" was
being used instead; put it back to "PCC" as it should be in pcc.patch
- Add another big-endian patch to compensate for changes to nsutils.c
* Mon Feb 24 2020 Al Stone <ahs3@redhat.com> - 20200110-1
- Update to 20200110 source tree, including patch refreshes
* Sun Feb 23 2020 Al Stone <ahs3@redhat.com> - 20191213-1
- Update to 20191213 source tree, including patch refeshes.
- badexit patch no longer needed, so removed
- GCC10 enforces -fno-common now, catching multiple places where linkage
is not explicitly stated; added a patch to resolve the linker errors
* Sun Feb 23 2020 Al Stone <ahs3@redhat.com> - 20191018-2
- Upstream does not build from source -- this release not pushed into
the archives and noted here just for record keeping
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20190816-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Nov 23 2019 Al Stone <ahs3@redhat.com> - 20191018-1
- Update to 20191019 source tree, including patch refeshes.
* Tue Oct 29 2019 Al Stone <ahs3@redhat.com> - 20190816-1
- Update to 20190816 source tree, including patch refeshes.
- Add a patch to fix a non-zero exit from iasl -T ALL that actually succeeds
- Remove the "template" tests; they have been subsumed by aslts.sh as they
should be
* Thu Oct 24 2019 Al Stone <ahs3@redhat.com> - 20190703-1
- Update to 20190703 source tree, including patch refeshes.
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20190509-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun May 26 2019 Peter Robinson <pbrobinson@fedoraproject.org> 20190509-4
- Bump release for clean upgrade from F-29
* Mon May 13 2019 Al Stone <ahs3@redhat.com> - 20190509-2
- Added an arm7hl specific fix acenv.h; GCC9 on arm7hl can now deal
with misalignments so the unaligned patch could be relaxed a bit
- the templates test was failing because of the backup left behind
by the patch macro, so change the invocation of the macro.
* Sat May 11 2019 Al Stone <ahs3@redhat.com> - 20190509-1
- Update to 20190509 source tree, including patch refeshes.
* Fri May 10 2019 Al Stone <ahs3@redhat.com> - 20190405-1
- Update to 20190405 source tree, including patch refeshes.
* Fri May 10 2019 Al Stone <ahs3@redhat.com> - 20190329-1
- Update to 20190329 source tree, including patch refeshes.
* Fri May 10 2019 Al Stone <ahs3@redhat.com> - 20190215-1
- Update to 20190215 source tree, including patch refeshes.
* Fri May 10 2019 Al Stone <ahs3@redhat.com> - 20190108-1
- Update to 20190108 source tree, including patch refeshes.
- Replace use of strncpy() with memcpy() when moving ASCII bytes around;
the tables use "strings" but they are seldom null terminated, causing
GCC9 to complain. Closes BZ#1674629.
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20181213-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Dec 19 2018 Al Stone <ahs3@redhat.com> - 20181213-2
- Add a patch to allow zero DSDT addresses in the FADT when compiling
* Thu Dec 13 2018 Al Stone <ahs3@redhat.com> - 20181213-1
- Update to 20181213 source tree, including patch refeshes.
- Refresh patches; folded be-tpm2 into the larger big-endian patch after

49
acpinames.1 Normal file
View file

@ -0,0 +1,49 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH ACPINAMES 1 "January 23, 2013"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
acpinames \- ACPI name space dump utility
.SH SYNOPSIS
.B acpinames
.RI <option> ...
.RI <aml-file>
.SH DESCRIPTION
This manual page briefly documents the
.B acpinames
command. The option list is taken from the acpinames interactive help.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
.\" respectively.
.B acpinames
prints out the complete ACPI name space for an AML file.
.PP
Much more detailed documentation may be found at
http://www.acpica.org/documentation/.
.SH OPTIONS
.PP
.TP
.B \-? [<name-prefix>]
Display this help message
.SH AUTHOR
acpinames was written by Robert Moore <robert.moore@intel.com>.
.PP
This manual page was written by Al Stone <ahs3@redhat.com> for the
Fedora project (but may be used by others).

20
arm7hl.patch Normal file
View file

@ -0,0 +1,20 @@
diff -Naur acpica-unix2-20170119/source/include/acmacros.h acpica-unix2-20170119-arm7hl/source/include/acmacros.h
--- acpica-unix2-20170119/source/include/acmacros.h 2017-01-30 17:25:54.346151952 -0700
+++ acpica-unix2-20170119-arm7hl/source/include/acmacros.h 2017-01-30 17:22:25.249388742 -0700
@@ -178,6 +178,8 @@
/* 16-bit source, 16/32/64 destination */
+#define ACPI_MOVE_16_TO_8(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];}
+
#define ACPI_MOVE_16_TO_16(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];\
(( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[1];}
@@ -199,6 +201,7 @@
/* 64-bit source, 16/32/64 destination */
+#define ACPI_MOVE_64_TO_8(d, s) ACPI_MOVE_16_TO_8(d, s) /* Truncate to 8 */
#define ACPI_MOVE_64_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16 */
#define ACPI_MOVE_64_TO_32(d, s) ACPI_MOVE_32_TO_32(d, s) /* Truncate to 32 */
#define ACPI_MOVE_64_TO_64(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];\

29
aslcodegen.patch Normal file
View file

@ -0,0 +1,29 @@
Changes in the handling of comments caused some length fields to be used
in new ways. The new way broke the existing adaptation for big endian
support; this patch repairs that adaptation.
Signed-off-by: Al Stone <ahs3@redhat.com>
Index: acpica-unix2-20181003/source/compiler/aslcodegen.c
===================================================================
--- acpica-unix2-20181003.orig/source/compiler/aslcodegen.c
+++ acpica-unix2-20181003/source/compiler/aslcodegen.c
@@ -494,8 +494,7 @@ CgWriteTableHeader (
/* Table length. Checksum zero for now, will rewrite later */
- DWord = sizeof (ACPI_TABLE_HEADER) + Op->Asl.AmlSubtreeLength;
- ACPI_MOVE_32_TO_32(&AslGbl_TableHeader.Length, &DWord);
+ AslGbl_TableHeader.Length = sizeof (ACPI_TABLE_HEADER) + Op->Asl.AmlSubtreeLength;
/* Calculate the comment lengths for this definition block parseOp */
@@ -541,6 +540,8 @@ CgWriteTableHeader (
CvDbgPrint (" Length: %u\n", CommentLength);
}
}
+ DWord = AslGbl_TableHeader.Length;
+ ACPI_MOVE_32_TO_32(&AslGbl_TableHeader.Length, &DWord);
AslGbl_TableHeader.Checksum = 0;
Op->Asl.FinalAmlOffset = ftell (AslGbl_Files[ASL_FILE_AML_OUTPUT].Handle);

View file

@ -1,12 +1,3 @@
badcode.asl 37: Name (PATH, Buffer() {"\_SB_.PCI2._CRS"})
Warning 3046 - ^ Invalid or unknown escape sequence
badcode.asl 41: Name (ESC1, "abcdefg\x00hijklmn")
Warning 3055 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
badcode.asl 268: QWordSpace (0xB0, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xA5,
Error 6139 - Constant out of range ^ (0xB0, allowable: 0xC0-0xFF)
badcode.asl 25: Mutex (MTX1, 32)
Error 6125 - ^ SyncLevel must be in the range 0-15
@ -59,7 +50,7 @@ badcode.asl 80: CreateField (BUF1, 0, Subtract (4, 4), FLD1)
Remark 2089 - Object is not referenced ^ (Name [FLD1] is within a method [MTH1])
badcode.asl 80: CreateField (BUF1, 0, Subtract (4, 4), FLD1)
Warning 3083 - Field length must be non-zero ^
Error 6083 - Operand evaluates to zero ^
badcode.asl 84: Acquire (MTX1, 100)
Warning 3130 - ^ Result is not used, possible operator timeout will be missed
@ -77,7 +68,7 @@ badcode.asl 97: Method (MTH2)
Remark 2119 - ^ Control Method marked Serialized (Due to use of Switch operator)
badcode.asl 97: Method (MTH2)
Warning 3115 - ^ Not all control paths return a value (\MTH2)
Warning 3115 - ^ Not all control paths return a value (MTH2)
badcode.asl 101: Switch (ToInteger (INT1))
Error 6078 - ^ No Case statements under Switch
@ -86,13 +77,13 @@ badcode.asl 120: Store (MTH2 (), Local0)
Warning 3144 - ^ Method Local is set but never used (Local0)
badcode.asl 120: Store (MTH2 (), Local0)
Warning 3122 - ^ Called method may not always return a value (\MTH2)
Warning 3122 - ^ Called method may not always return a value
badcode.asl 126: Method (MTH5) {Store (MTH4(), Local0)}
Warning 3144 - Method Local is set but never used ^ (Local0)
badcode.asl 126: Method (MTH5) {Store (MTH4(), Local0)}
Error 6080 - Called method returns no value ^ (\MTH4)
Error 6080 - Called method returns no value ^
badcode.asl 132: Name (_HID, "*PNP0C0A") // Illegal leading asterisk
Error 6061 - Invalid leading asterisk ^ (*PNP0C0A)
@ -155,7 +146,7 @@ badcode.asl 197: Return ("Unexpected Return Value")
Warning 3104 - Reserved method should not return a value ^ (_Q22)
badcode.asl 203: Device (EC)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
badcode.asl 205: Method (_REG, 2)
Warning 3079 - ^ _REG has no corresponding Operation Region
@ -265,11 +256,11 @@ Warning 3144 - ^ Method Local is set but never used
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version VVVVVVVV
Copyright (c) 2000 - 2023 Intel Corporation
Copyright (c) 2000 - 2018 Intel Corporation
Ignoring all errors, forcing AML file generation
ASL Input: badcode.asl - 11588 bytes 81 keywords 0 source lines
AML Output: badcode.aml - 1195 bytes 20 opcodes 61 named objects
ASL Input: badcode.asl - 408 lines, 11587 bytes, 81 keywords
AML Output: badcode.aml - 1195 bytes, 61 named objects, 20 executable opcodes
Compilation successful. 46 Errors, 28 Warnings, 11 Remarks, 16 Optimizations, 1 Constants Folded
Compilation complete. 46 Errors, 28 Warnings, 11 Remarks, 16 Optimizations, 1 Constants Folded

18
big-endian-v2.patch Normal file
View file

@ -0,0 +1,18 @@
Updated versions of upstream often contain fixes that were not seen
in the original big-endian patch; we try to capture those here.
Signed-off-by: Al Stone <ahs3@redhat.com>
diff -Naur acpica-unix2-20170929.orig/source/compiler/asllookup.c acpica-unix2-20170929/source/compiler/asllookup.c
--- acpica-unix2-20170929.orig/source/compiler/asllookup.c 2017-10-09 12:26:25.893508481 -0600
+++ acpica-unix2-20170929/source/compiler/asllookup.c 2017-10-17 11:45:42.230763844 -0600
@@ -249,7 +249,8 @@
* ACPI names and are typically not referenced since they are meant
* to be called by the host OS.
*/
- if (Node->Name.Ascii[0] == '_')
+ ACPI_MOVE_32_TO_32(&tmp.Ascii, Node->Name.Ascii);
+ if (tmp.Ascii[0] == '_')
{
return (AE_OK);
}

6643
big-endian.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,53 +1,24 @@
converterSample.asl 15: Name (b, 5)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (B___)
converterSample.asl 16: Name(p008, Package()
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (P008)
converterSample.asl 48: Name(b,0);
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (B___)
converterSample.asl 53: Name (a,
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (A___)
converterSample.asl 68: Name (a1, 0x04)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (A1__)
converterSample.asl 15: Name (b, 5)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (B___)
converterSample.asl 16: Name(p008, Package()
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (P008)
converterSample.asl 37: Method(MAIN) {
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\MAIN)
converterSample.asl 48: Name(b,0);
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (B___)
Remark 2120 - ^ Control Method should be made Serialized (due to creation of named objects within)
converterSample.asl 48: Name(b,0);
Remark 2089 - Object is not referenced ^ (Name [B___] is within a method [MAIN])
converterSample.asl 53: Name (a,
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (A___)
converterSample.asl 65: Method(SCOP)
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\SCOP)
converterSample.asl 68: Name (a1, 0x04)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (A1__)
Remark 2120 - ^ Control Method should be made Serialized (due to creation of named objects within)
converterSample.asl 68: Name (a1, 0x04)
Remark 2089 - Object is not referenced ^ (Name [A1__] is within a method [SCOP])
converterSample.asl 76: Offset(0),//c37
Remark 2158 - ^ Unnecessary/redundant use of Offset operator
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version VVVVVVVV
Copyright (c) 2000 - 2023 Intel Corporation
Copyright (c) 2000 - 2018 Intel Corporation
Ignoring all errors, forcing AML file generation
ASL Input: converterSample.asl - 85 lines, 1968 bytes, 11 keywords
AML Output: converterSample.aml - 180 bytes, 9 named objects, 2 executable opcodes
ASL Input: converterSample.asl - 1968 bytes 11 keywords 0 source lines
AML Output: converterSample.aml - 184 bytes 2 opcodes 9 named objects
Compilation successful. 0 Errors, 0 Warnings, 9 Remarks, 9 Optimizations
Compilation complete. 0 Errors, 0 Warnings, 5 Remarks, 12 Optimizations, 1 Constants Folded

99
cve-2017-13693.patch Normal file
View file

@ -0,0 +1,99 @@
From 987a3b5cf7175916e2a4b6ea5b8e70f830dfe732 Mon Sep 17 00:00:00 2001
From: Seunghun Han <kkamagui@gmail.com>
Date: Wed, 19 Jul 2017 16:47:53 +0900
Subject: [PATCH] acpi: acpica: fix acpi operand cache leak in dswstate.c
I found an ACPI cache leak in ACPI early termination and boot continuing case.
When early termination occurs due to malicious ACPI table, Linux kernel
terminates ACPI function and continues to boot process. While kernel terminates
ACPI function, kmem_cache_destroy() reports Acpi-Operand cache leak.
Boot log of ACPI operand cache leak is as follows:
>[ 0.585957] ACPI: Added _OSI(Module Device)
>[ 0.587218] ACPI: Added _OSI(Processor Device)
>[ 0.588530] ACPI: Added _OSI(3.0 _SCP Extensions)
>[ 0.589790] ACPI: Added _OSI(Processor Aggregator Device)
>[ 0.591534] ACPI Error: Illegal I/O port address/length above 64K: C806E00000004002/0x2 (20170303/hwvalid-155)
>[ 0.594351] ACPI Exception: AE_LIMIT, Unable to initialize fixed events (20170303/evevent-88)
>[ 0.597858] ACPI: Unable to start the ACPI Interpreter
>[ 0.599162] ACPI Error: Could not remove SCI handler (20170303/evmisc-281)
>[ 0.601836] kmem_cache_destroy Acpi-Operand: Slab cache still has objects
>[ 0.603556] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc5 #26
>[ 0.605159] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
>[ 0.609177] Call Trace:
>[ 0.610063] ? dump_stack+0x5c/0x81
>[ 0.611118] ? kmem_cache_destroy+0x1aa/0x1c0
>[ 0.612632] ? acpi_sleep_proc_init+0x27/0x27
>[ 0.613906] ? acpi_os_delete_cache+0xa/0x10
>[ 0.617986] ? acpi_ut_delete_caches+0x3f/0x7b
>[ 0.619293] ? acpi_terminate+0xa/0x14
>[ 0.620394] ? acpi_init+0x2af/0x34f
>[ 0.621616] ? __class_create+0x4c/0x80
>[ 0.623412] ? video_setup+0x7f/0x7f
>[ 0.624585] ? acpi_sleep_proc_init+0x27/0x27
>[ 0.625861] ? do_one_initcall+0x4e/0x1a0
>[ 0.627513] ? kernel_init_freeable+0x19e/0x21f
>[ 0.628972] ? rest_init+0x80/0x80
>[ 0.630043] ? kernel_init+0xa/0x100
>[ 0.631084] ? ret_from_fork+0x25/0x30
>[ 0.633343] vgaarb: loaded
>[ 0.635036] EDAC MC: Ver: 3.0.0
>[ 0.638601] PCI: Probing PCI hardware
>[ 0.639833] PCI host bridge to bus 0000:00
>[ 0.641031] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
> ... Continue to boot and log is omitted ...
I analyzed this memory leak in detail and found acpi_ds_obj_stack_pop_and_
delete() function miscalculated the top of the stack. acpi_ds_obj_stack_push()
function uses walk_state->operand_index for start position of the top, but
acpi_ds_obj_stack_pop_and_delete() function considers index 0 for it.
Therefore, this causes acpi operand memory leak.
This cache leak causes a security threat because an old kernel (<= 4.9) shows
memory locations of kernel functions in stack dump. Some malicious users
could use this information to neutralize kernel ASLR.
I made a patch to fix ACPI operand cache leak.
Signed-off-by: Seunghun Han <kkamagui@gmail.com>
Github-Location: https://github.com/acpica/acpica/pull/295/commits/987a3b5cf7175916e2a4b6ea5b8e70f830dfe732
---
source/components/dispatcher/dsutils.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
Index: acpica-unix2-20181213/source/components/dispatcher/dsutils.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/dispatcher/dsutils.c
+++ acpica-unix2-20181213/source/components/dispatcher/dsutils.c
@@ -759,6 +759,8 @@ AcpiDsCreateOperands (
ACPI_PARSE_OBJECT *Arguments[ACPI_OBJ_NUM_OPERANDS];
UINT32 ArgCount = 0;
UINT32 Index = WalkState->NumOperands;
+ UINT32 PrevNumOperands = WalkState->NumOperands;
+ UINT32 NewNumOperands;
UINT32 i;
@@ -791,6 +793,7 @@ AcpiDsCreateOperands (
/* Create the interpreter arguments, in reverse order */
+ NewNumOperands = Index;
Index--;
for (i = 0; i < ArgCount; i++)
{
@@ -818,7 +821,11 @@ Cleanup:
* pop everything off of the operand stack and delete those
* objects
*/
- AcpiDsObjStackPopAndDelete (ArgCount, WalkState);
+ WalkState->NumOperands = i;
+ AcpiDsObjStackPopAndDelete (NewNumOperands, WalkState);
+
+ /* Restore operand count */
+ WalkState->NumOperands = PrevNumOperands;
ACPI_EXCEPTION ((AE_INFO, Status, "While creating Arg %u", Index));
return_ACPI_STATUS (Status);

216
cve-2017-13694.patch Normal file
View file

@ -0,0 +1,216 @@
From 4a0243ecb4c94e2d73510d096c5ea4d0711fc6c0 Mon Sep 17 00:00:00 2001
From: Seunghun Han <kkamagui@gmail.com>
Date: Fri, 23 Jun 2017 14:19:48 +0900
Subject: [PATCH] acpi: acpica: fix acpi parse and parseext cache leaks
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
I'm Seunghun Han, and I work for National Security Research Institute of
South Korea.
I have been doing a research on ACPI and found an ACPI cache leak in ACPI
early abort cases.
Boot log of ACPI cache leak is as follows:
[ 0.352414] ACPI: Added _OSI(Module Device)
[ 0.353182] ACPI: Added _OSI(Processor Device)
[ 0.353182] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.353182] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.356028] ACPI: Unable to start the ACPI Interpreter
[ 0.356799] ACPI Error: Could not remove SCI handler (20170303/evmisc-281)
[ 0.360215] kmem_cache_destroy Acpi-State: Slab cache still has objects
[ 0.360648] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W
4.12.0-rc4-next-20170608+ #10
[ 0.361273] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
VirtualBox 12/01/2006
[ 0.361873] Call Trace:
[ 0.362243] ? dump_stack+0x5c/0x81
[ 0.362591] ? kmem_cache_destroy+0x1aa/0x1c0
[ 0.362944] ? acpi_sleep_proc_init+0x27/0x27
[ 0.363296] ? acpi_os_delete_cache+0xa/0x10
[ 0.363646] ? acpi_ut_delete_caches+0x6d/0x7b
[ 0.364000] ? acpi_terminate+0xa/0x14
[ 0.364000] ? acpi_init+0x2af/0x34f
[ 0.364000] ? __class_create+0x4c/0x80
[ 0.364000] ? video_setup+0x7f/0x7f
[ 0.364000] ? acpi_sleep_proc_init+0x27/0x27
[ 0.364000] ? do_one_initcall+0x4e/0x1a0
[ 0.364000] ? kernel_init_freeable+0x189/0x20a
[ 0.364000] ? rest_init+0xc0/0xc0
[ 0.364000] ? kernel_init+0xa/0x100
[ 0.364000] ? ret_from_fork+0x25/0x30
I analyzed this memory leak in detail. I found that “Acpi-State” cache and
“Acpi-Parse” cache were merged because the size of cache objects was same
slab cache size.
I finally found “Acpi-Parse” cache and “Acpi-ParseExt” cache were leaked
using SLAB_NEVER_MERGE flag in kmem_cache_create() function.
Real ACPI cache leak point is as follows:
[ 0.360101] ACPI: Added _OSI(Module Device)
[ 0.360101] ACPI: Added _OSI(Processor Device)
[ 0.360101] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.361043] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.364016] ACPI: Unable to start the ACPI Interpreter
[ 0.365061] ACPI Error: Could not remove SCI handler (20170303/evmisc-281)
[ 0.368174] kmem_cache_destroy Acpi-Parse: Slab cache still has objects
[ 0.369332] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W
4.12.0-rc4-next-20170608+ #8
[ 0.371256] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
VirtualBox 12/01/2006
[ 0.372000] Call Trace:
[ 0.372000] ? dump_stack+0x5c/0x81
[ 0.372000] ? kmem_cache_destroy+0x1aa/0x1c0
[ 0.372000] ? acpi_sleep_proc_init+0x27/0x27
[ 0.372000] ? acpi_os_delete_cache+0xa/0x10
[ 0.372000] ? acpi_ut_delete_caches+0x56/0x7b
[ 0.372000] ? acpi_terminate+0xa/0x14
[ 0.372000] ? acpi_init+0x2af/0x34f
[ 0.372000] ? __class_create+0x4c/0x80
[ 0.372000] ? video_setup+0x7f/0x7f
[ 0.372000] ? acpi_sleep_proc_init+0x27/0x27
[ 0.372000] ? do_one_initcall+0x4e/0x1a0
[ 0.372000] ? kernel_init_freeable+0x189/0x20a
[ 0.372000] ? rest_init+0xc0/0xc0
[ 0.372000] ? kernel_init+0xa/0x100
[ 0.372000] ? ret_from_fork+0x25/0x30
[ 0.388039] kmem_cache_destroy Acpi-ParseExt: Slab cache still has objects
[ 0.389063] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W
4.12.0-rc4-next-20170608+ #8
[ 0.390557] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
VirtualBox 12/01/2006
[ 0.392000] Call Trace:
[ 0.392000] ? dump_stack+0x5c/0x81
[ 0.392000] ? kmem_cache_destroy+0x1aa/0x1c0
[ 0.392000] ? acpi_sleep_proc_init+0x27/0x27
[ 0.392000] ? acpi_os_delete_cache+0xa/0x10
[ 0.392000] ? acpi_ut_delete_caches+0x6d/0x7b
[ 0.392000] ? acpi_terminate+0xa/0x14
[ 0.392000] ? acpi_init+0x2af/0x34f
[ 0.392000] ? __class_create+0x4c/0x80
[ 0.392000] ? video_setup+0x7f/0x7f
[ 0.392000] ? acpi_sleep_proc_init+0x27/0x27
[ 0.392000] ? do_one_initcall+0x4e/0x1a0
[ 0.392000] ? kernel_init_freeable+0x189/0x20a
[ 0.392000] ? rest_init+0xc0/0xc0
[ 0.392000] ? kernel_init+0xa/0x100
[ 0.392000] ? ret_from_fork+0x25/0x30
When early abort is occurred due to invalid ACPI information, Linux kernel
terminates ACPI by calling acpi_terminate() function. The function calls
acpi_ut_delete_caches() function to delete local caches (acpi_gbl_namespace_
cache, state_cache, operand_cache, ps_node_cache, ps_node_ext_cache).
But the deletion codes in acpi_ut_delete_caches() function only delete
slab caches using kmem_cache_destroy() function, therefore the cache
objects should be flushed before acpi_ut_delete_caches() function.
“Acpi-Parse” cache and “Acpi-ParseExt” cache are used in an AML parse
function, acpi_ps_parse_loop(). The function should have flush codes to
handle an error state due to invalid AML codes.
This cache leak has a security threat because an old kernel (<= 4.9) shows
memory locations of kernel functions in stack dump. Some malicious users
could use this information to neutralize kernel ASLR.
To fix ACPI cache leak for enhancing security, I made a patch which has
flush codes in acpi_ps_parse_loop() function.
I hope that this patch improves the security of Linux kernel.
Thank you.
Signed-off-by: Seunghun Han <kkamagui@gmail.com>
Github-Location: https://github.com/acpica/acpica/pull/278/commits/4a0243ecb4c94e2d73510d096c5ea4d0711fc6c0
---
source/components/parser/psobject.c | 44 ++++++++++++++-----------------------
1 file changed, 16 insertions(+), 28 deletions(-)
Index: acpica-unix2-20180531/source/components/parser/psobject.c
===================================================================
--- acpica-unix2-20180531.orig/source/components/parser/psobject.c
+++ acpica-unix2-20180531/source/components/parser/psobject.c
@@ -709,7 +709,8 @@ AcpiPsCompleteFinalOp (
ACPI_PARSE_OBJECT *Op,
ACPI_STATUS Status)
{
- ACPI_STATUS Status2;
+ ACPI_STATUS ReturnStatus = AE_OK;
+ BOOLEAN Ascending = TRUE;
ACPI_FUNCTION_TRACE_PTR (PsCompleteFinalOp, WalkState);
@@ -726,7 +727,7 @@ AcpiPsCompleteFinalOp (
{
if (Op)
{
- if (WalkState->AscendingCallback != NULL)
+ if (Ascending && WalkState->AscendingCallback != NULL)
{
WalkState->Op = Op;
WalkState->OpInfo = AcpiPsGetOpcodeInfo (Op->Common.AmlOpcode);
@@ -745,41 +746,28 @@ AcpiPsCompleteFinalOp (
if (Status == AE_CTRL_TERMINATE)
{
- Status = AE_OK;
-
- /* Clean up */
- do
- {
- if (Op)
- {
- Status2 = AcpiPsCompleteThisOp (WalkState, Op);
- if (ACPI_FAILURE (Status2))
- {
- return_ACPI_STATUS (Status2);
- }
- }
-
- AcpiPsPopScope (&(WalkState->ParserState), &Op,
- &WalkState->ArgTypes, &WalkState->ArgCount);
-
- } while (Op);
-
- return_ACPI_STATUS (Status);
+ Ascending = FALSE;
+ ReturnStatus = AE_CTRL_TERMINATE;
}
else if (ACPI_FAILURE (Status))
{
/* First error is most important */
- (void) AcpiPsCompleteThisOp (WalkState, Op);
- return_ACPI_STATUS (Status);
+ Ascending = FALSE;
+ ReturnStatus = Status;
}
}
- Status2 = AcpiPsCompleteThisOp (WalkState, Op);
- if (ACPI_FAILURE (Status2))
+ Status = AcpiPsCompleteThisOp (WalkState, Op);
+ if (ACPI_FAILURE (Status))
{
- return_ACPI_STATUS (Status2);
+ Ascending = FALSE;
+ if (ACPI_SUCCESS (ReturnStatus) ||
+ ReturnStatus == AE_CTRL_TERMINATE)
+ {
+ ReturnStatus = Status;
+ }
}
}
@@ -788,5 +776,5 @@ AcpiPsCompleteFinalOp (
} while (Op);
- return_ACPI_STATUS (Status);
+ return_ACPI_STATUS (ReturnStatus);
}

View file

@ -67,11 +67,11 @@ Github-Location: https://github.com/acpica/acpica/pull/296/commits/37f2c716f2c6a
source/components/namespace/nseval.c | 10 ++++++++++
1 file changed, 10 insertions(+)
Index: acpica-unix2-20240321/source/components/namespace/nseval.c
Index: acpica-unix2-20181213/source/components/namespace/nseval.c
===================================================================
--- acpica-unix2-20240321.orig/source/components/namespace/nseval.c
+++ acpica-unix2-20240321/source/components/namespace/nseval.c
@@ -329,6 +329,16 @@ AcpiNsEvaluate (
--- acpica-unix2-20181213.orig/source/components/namespace/nseval.c
+++ acpica-unix2-20181213/source/components/namespace/nseval.c
@@ -336,6 +336,16 @@ AcpiNsEvaluate (
Info->ReturnObject = NULL;
}
}

View file

@ -1,25 +0,0 @@
Index: acpica-unix2-20240321/source/components/utilities/utdebug.c
===================================================================
--- acpica-unix2-20240321.orig/source/components/utilities/utdebug.c
+++ acpica-unix2-20240321/source/components/utilities/utdebug.c
@@ -58,6 +58,10 @@ static const char *AcpiGbl_Fun
static const char *AcpiGbl_FunctionExitPrefix = "----Exit-";
+#if defined(__GNUC__) && (__GNUC__ > 11)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdangling-pointer"
+#endif
/*******************************************************************************
*
* FUNCTION: AcpiUtInitStackPtrTrace
@@ -120,6 +124,9 @@ AcpiUtTrackStackPtr (
AcpiGbl_DeepestNesting = AcpiGbl_NestingLevel;
}
}
+#if defined(__GNUC__) && (__GNUC__ > 11)
+#pragma GCC diagnostic pop
+#endif
/*******************************************************************************

61
f23-harden.patch Normal file
View file

@ -0,0 +1,61 @@
Introduce build hardening flags for f23
From: Al Stone <ahs3@redhat.com>
---
generate/unix/Makefile.config | 2 ++
generate/unix/iasl/Makefile | 13 +++++++------
2 files changed, 9 insertions(+), 6 deletions(-)
Index: acpica-unix2-20180209/generate/unix/Makefile.config
===================================================================
--- acpica-unix2-20180209.orig/generate/unix/Makefile.config
+++ acpica-unix2-20180209/generate/unix/Makefile.config
@@ -182,6 +182,8 @@ ifneq ($(NOFORTIFY),TRUE)
OPT_CFLAGS += -D_FORTIFY_SOURCE=2
endif
+OPT_CFLAGS += -fPIC -pie
+
CFLAGS += \
-D$(HOST)\
-D_GNU_SOURCE\
Index: acpica-unix2-20180209/generate/unix/iasl/Makefile
===================================================================
--- acpica-unix2-20180209.orig/generate/unix/iasl/Makefile
+++ acpica-unix2-20180209/generate/unix/iasl/Makefile
@@ -344,26 +344,27 @@ $(OBJDIR)/prparserparse.c $(OBJDIR)/prpa
# Cannot use the common compile warning flags since the C files are created
# by the utilities above and they are not necessarily ANSI C, etc.
#
+HARDENING_FLAGS = -fPIC -pie
$(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<
$(OBJDIR)/prparserparse.o : $(OBJDIR)/prparserparse.c
@echo "- " "Intermediate" $<
- @$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ @$(CC) -c $(CFLAGS) $(HARDENING_FLAGS) -Wall -Werror -o$@ $<

15
free.patch Normal file
View file

@ -0,0 +1,15 @@
This prevents a segfault when an Include file does not exist.
Index: acpica-unix2-20181003/source/compiler/aslfiles.c
===================================================================
--- acpica-unix2-20181003.orig/source/compiler/aslfiles.c
+++ acpica-unix2-20181003/source/compiler/aslfiles.c
@@ -319,7 +319,7 @@ FlOpenIncludeWithPrefix (
if (!IncludeFile)
{
fprintf (stderr, "Could not open include file %s\n", Pathname);
- ACPI_FREE (Pathname);
+ /* ACPI_FREE (Pathname); <-- forces free() segfault */
return (NULL);
}

View file

@ -1,57 +1,27 @@
grammar.asl 522: NAME (ESC1, "abcdefg\x00hijklmn")
Warning 3055 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
grammar.asl 523: NAME (ESC2, "abcdefg\000hijklmn")
Warning 3055 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
grammar.asl 552: IRQNoFlags(xxxt){3,4,10,11}
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (XXXT)
grammar.asl 566: Name(Bxxx,0xFFFFFFFF)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (BXXX)
grammar.asl 6478: Name (_CRS, Buffer(26) {"\_SB_.PCI2._CRS..........."})
Warning 3046 - Invalid or unknown escape sequence ^
grammar.asl 120: Device (A1)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 135: Device (A2)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 145: Device (A3)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 155: Device (A4)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 171: Device (IRES)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 171: Device (IRES)
Warning 3141 - ^ Missing dependency (Device has a _SRS, missing a _PRS, required)
grammar.asl 171: Device (IRES)
Remark 2141 - ^ Missing dependency (Device has a _SRS, no corresponding _DIS)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 199: Name (_NPK, Package ()
Warning 3133 - ^ Unknown reserved name (_NPK)
grammar.asl 208: Device (RES)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 208: Device (RES)
Remark 2141 - ^ Missing dependency (Device has a _SRS, no corresponding _DIS)
grammar.asl 247: Name (PRT0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\RES._CRS)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 399: CreateByteField (PRT0, R000._ASZ, RSIZ)
Remark 2089 - Object is not referenced ^ (Name [RSIZ] is within a method [_CRS])
grammar.asl 406: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\RES._PRS)
grammar.asl 513: Name (_STR, Unicode ("test"))
Remark 2089 - ^ Object is not referenced (Name [_STR] is within a method [TCOP])
@ -64,18 +34,9 @@ Warning 3055 - ^ Invalid Hex/Octal Escape - Non-
grammar.asl 523: NAME (ESC2, "abcdefg\000hijklmn")
Warning 3055 - ^ Invalid Hex/Octal Escape - Non-ASCII or NULL
grammar.asl 552: IRQNoFlags(xxxt){3,4,10,11}
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (XXXT)
grammar.asl 566: Name(Bxxx,0xFFFFFFFF)
Remark 2182 - ^ At least one lower case letter found in NameSeg, ASL is case insensitive - converting to upper case (BXXX)
grammar.asl 620: RCIV (Subtract (Arg0, 1))
Remark 2098 - ^ Recursive method call (RCIV)
grammar.asl 631: Processor(CPU0,0x0,0xFFFFFFFF,0x0) {}
Warning 3168 - ^ Legacy Processor() keyword detected. Use Device() keyword instead.
grammar.asl 668: Method(SMWE, 4)
Remark 2146 - ^ Method Argument is never used (Arg0)
@ -103,29 +64,17 @@ Remark 2146 - ^ Method Argument is never used (Arg3)
grammar.asl 701: CreateField (\_SB_.SBUF, 148, 96, FLDV)
Remark 2089 - Object is not referenced ^ (Name [FLDV] is within a method [_INI])
grammar.asl 705: Device(PCI0)
Warning 3073 - Multiple types ^ (Device object requires either a _HID or _ADR, but not both)
grammar.asl 705: Device(PCI0)
Warning 3141 - Missing dependency ^ (Device has a _SRS, missing a _PRS, required)
grammar.asl 705: Device(PCI0)
Remark 2141 - Missing dependency ^ (Device has a _SRS, no corresponding _DIS)
grammar.asl 712: Name(PRT0, ResourceTemplate() {
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0._CRS)
grammar.asl 733: Method(_SRS)
Warning 3102 - ^ Reserved method has too few arguments (_SRS requires 1)
grammar.asl 738: Device(EIO)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 822: If(LNot(SMRE(0x09,0x17,Local2,RefOf(Local3)))){
Warning 3144 - Method Local is set but never used ^ (Local3)
grammar.asl 913: Device (DEV1)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 963: Divide (Local0, Local1, Local3)
Warning 3144 - Method Local is set but never used ^ (Local3)
@ -145,21 +94,9 @@ Remark 2146 - ^ Method Argument is never used (Arg0)
grammar.asl 1300: Name(BUFR, Buffer (Local0) {})
Remark 2089 - ^ Object is not referenced (Name [BUFR] is within a method [OBJ1])
grammar.asl 1300: Name(BUFR, Buffer (Local0) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ1)
grammar.asl 1301: Name(BUF1, Buffer (4) {1,2,3,4})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ1)
grammar.asl 1302: Name(BUF2, Buffer (4) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ1)
grammar.asl 1307: Alias (MTX1, MTX2)
Remark 2089 - Object is not referenced ^ (Name [MTX2] is within a method [OBJ1])
grammar.asl 1321: Name (BUF2, Buffer (128) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\FLDS)
grammar.asl 1329: CreateField (BUF2, 148, 96, FLD3)
Remark 2089 - Object is not referenced ^ (Name [FLD3] is within a method [FLDS])
@ -169,24 +106,9 @@ Warning 3038 - ^ Truncating 64-bit constant
grammar.asl 1396: if (LNotEqual (Local0, 0x1234567887654321))
Warning 3038 - Truncating 64-bit constant found in 32-bit table ^
grammar.asl 1445: Name (BUFO, Buffer (32) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ2)
grammar.asl 1448: OperationRegion (OPR2, SystemMemory, Arg0, 256)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ2)
grammar.asl 1462: BankField (OPR2, BNK2, 0, ByteAcc, NoLock, Preserve)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ2)
grammar.asl 1469: IndexField (IDX2, DAT2, ByteAcc, NoLock, Preserve)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ2)
grammar.asl 1476: SizeOf (BUFO)
Error 6114 - ^ Result is not used, operator has no effect
grammar.asl 1490: Event (EVT2)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\OBJ2)
grammar.asl 1496: Alias (MTX2, MTXA)
Remark 2089 - Object is not referenced ^ (Name [MTXA] is within a method [OBJ2])
@ -218,28 +140,19 @@ grammar.asl 1792: Store (LLessEqual (0xFFFFFFFF, 0x11111111), Local5)
Warning 3144 - Method Local is set but never used ^ (Local5)
grammar.asl 1821: Method (COND)
Warning 3115 - ^ Not all control paths return a value (\COND)
grammar.asl 1916: Name (BBUF, Buffer() {0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\REFS)
grammar.asl 1918: Name (NEST, Package ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\REFS)
Warning 3115 - ^ Not all control paths return a value (COND)
grammar.asl 1930: Store (RefOf (MAIN), Local5)
Warning 3144 - Method Local is set but never used ^ (Local5)
grammar.asl 2005: Device (IFEL)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2162: Device (NOSV)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 2168: Name (WRD, 0x1234)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\NOSV.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2583: Device (IDXF)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2611: Store (IFE0, Local0)
Warning 3144 - ^ Method Local is set but never used (Local0)
@ -251,136 +164,85 @@ grammar.asl 2613: Store (IFE2, Local2)
Warning 3144 - ^ Method Local is set but never used (Local2)
grammar.asl 2630: Device (NSTL)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 2658: Device (RTBF)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 2667: Name (ABUF, Buffer() {"ARBITRARY_BUFFER"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\RTBF.RBUF)
grammar.asl 2695: Name (BUFR, Buffer(Local1) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\RTBF.RBUF)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2756: Device (GPE2)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2771: Device (PRW2)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2819: Device (PRW1)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 2886: Store (Arg0, Local0)
Warning 3144 - ^ Method Local is set but never used (Local0)
grammar.asl 2889: Device (RTLV)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
grammar.asl 2989: Device (PCI1)
Warning 3073 - Multiple types ^ (Device object requires either a _HID or _ADR, but not both)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 2993: Name (_CRS,0)
Error 6105 - ^ Invalid object type for reserved name (_CRS: found Integer, Buffer required)
grammar.asl 3017: Device (RETP)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 3053: Device (WHLR)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3109: Device (ANDO)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 3343: Name(RSLT,1)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\ANDO.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3383: Device (BRKP)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3420: Device (ADSU)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 3435: Name (DWRD, 0x12345678)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\ADSU.TEST)
grammar.asl 3436: Name (WRD, 0x1234)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\ADSU.TEST)
grammar.asl 3437: Name (BYT, 0x12)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\ADSU.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3513: Device (INDC)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 3528: Name (DWRD, 0x12345678)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\INDC.TEST)
grammar.asl 3529: Name (WRD, 0x1234)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\INDC.TEST)
grammar.asl 3530: Name (BYT, 0x12)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\INDC.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3611: Device (LOPS)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 3956: Device (FDSO)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 4120: Device (MLDV)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 4135: Name (RMDR, 0)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MLDV.TEST)
grammar.asl 4136: Name (DWRD, 0x12345678)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MLDV.TEST)
grammar.asl 4137: Name (WRD, 0x1234)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MLDV.TEST)
grammar.asl 4138: Name (BYT, 0x12)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MLDV.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 4253: Device (NBIT)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 4489: Device (SHFT)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 4685: Device (XORD)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 4693: OperationRegion (RAM, SystemMemory, 0x800000, 256)
Warning 3175 - ^ Static OperationRegion should be declared outside control method
grammar.asl 4693: OperationRegion (RAM, SystemMemory, 0x800000, 256)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\XORD.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 5022: Device (CRBF)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 5100: Device (IDX4)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 5117: OperationRegion (RAM, SystemMemory, Arg0, 0x100)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX4.MADM)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 5639: Device (EVNT)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 5867: Device (SZLV)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 5960: Device (BYTF)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 5970: Device (C005)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 5972: Device (C013)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 6027: Name (_HID, "*PNP0A06")
Error 6061 - Invalid leading asterisk ^ (*PNP0A06)
@ -389,13 +251,13 @@ grammar.asl 6166: Name (C18C, Package (2)
Remark 2063 - ^ Initializer list shorter than declared package length
grammar.asl 6190: Device (C19B)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 6199: Divide (Local1, 10, Local0, Local2) // Local0 = Local1 / 10
Warning 3144 - Method Local is set but never used ^ (Local0)
grammar.asl 6244: Device (DWDF)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 6276: Method (MKW_, 2)
Remark 2146 - ^ Method Argument is never used (Arg0)
@ -404,13 +266,13 @@ grammar.asl 6276: Method (MKW_, 2)
Remark 2146 - ^ Method Argument is never used (Arg1)
grammar.asl 6285: Device (DVAX)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 6328: Device (IDX6)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 6352: Device (TST_)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 6371: Store (IFE0, Local0)
Warning 3144 - ^ Method Local is set but never used (Local0)
@ -434,100 +296,28 @@ grammar.asl 6380: Store (\IDX6.TST_.IFE1, Local6)
Warning 3144 - Method Local is set but never used ^ (Local6)
grammar.asl 6393: Device (IDX5)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 6416: Name (BUF0, Buffer (Local0) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX5.MCTH)
grammar.asl 6417: Name (BUF1, Buffer (Local0) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX5.MCTH)
grammar.asl 6474: Device (PCI2)
Warning 3073 - Multiple types ^ (Device object requires either a _HID or _ADR, but not both)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 6478: Name (_CRS, Buffer(26) {"\_SB_.PCI2._CRS..........."})
Warning 3046 - Invalid or unknown escape sequence ^
grammar.asl 6554: Name (BUFR, Package(13) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX0._BIF)
grammar.asl 6578: Name (BUFR, Package(4) {1, 0x100, 0x76543210, 0x180})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX0._BST)
grammar.asl 6593: Name (PBUF, Package(4) {}) // leave uninitialized
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX0.TEST)
grammar.asl 6625: Name (BUFR, Buffer(16)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX0.TEST)
grammar.asl 6709: Device (BITI)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 6817: And (Local0, 1, Local0) // Local0 &= 1
Error 6066 - ^ Method local variable is not initialized (Local0)
grammar.asl 6846: Name (C17C, Package (13)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.C17B)
grammar.asl 6903: Name (_HID, "*PNP0C0A") // Control Method Battey ID
Error 6061 - Invalid leading asterisk ^ (*PNP0C0A)
grammar.asl 6912: Device (IDX3)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
grammar.asl 6922: Name (BUFR, Buffer () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX3.LCLB)
grammar.asl 6974: Name (PKG, Package () {0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX3.LCLP)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 7057: Device(IDX7)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 7074: Name (DEST, Buffer () // 62 characters plus NULL
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TST1)
grammar.asl 7093: Name (BUF0, Buffer() {0x1, 0x2, 0x3, 0x4, 0x5})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TST2)
grammar.asl 7110: Name (BUF1, Buffer() {0x1, 0x2, 0x3, 0x4, 0x5})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TST3)
grammar.asl 7301: Name (SRCB, Buffer (12) {}) // 12 characters
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTF)
grammar.asl 7304: Name (DEST, Buffer () // 62 characters plus NULL
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTF)
grammar.asl 7327: Name (SRCB, Buffer (12) {}) // 12 characters
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTG)
grammar.asl 7330: Name (DEST, Buffer () // 62 characters plus NULL
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTG)
grammar.asl 7412: Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTH)
grammar.asl 7448: Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTI)
grammar.asl 7484: Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTJ)
grammar.asl 7520: Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTK)
grammar.asl 7556: Name (DBUF, Buffer () {"abcdefghijklmnopqrstuvwxyz"})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\IDX7.TSTL)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 7736: Device (MTCH)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 7743: Name (TIM0, Package ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MTCH.TEST)
grammar.asl 7755: Name (TMD0, Buffer (20) {0xFF, 0xFF, 0xFF, 0xFF })
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\MTCH.TEST)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 7757: CreateDWordField (TMD0, 4, DMA0)
Remark 2089 - Object is not referenced ^ (Name [DMA0] is within a method [TEST])
@ -542,79 +332,43 @@ grammar.asl 7760: CreateDWordField (TMD0, 16, CHNF)
Remark 2089 - Object is not referenced ^ (Name [CHNF] is within a method [TEST])
grammar.asl 7934: Device (WHLB)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 8275: Name (BUFR, Package (13) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.BAT1._BIF)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 8295: Device (IDX2)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
grammar.asl 8300: Name (SRCB, Buffer () {"Short Buffer"}) // 12 characters plus NULL
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX2.B2IB)
grammar.asl 8302: Name (DEST, Buffer () // 62 characters plus NULL
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX2.B2IB)
grammar.asl 8493: Name (DEST, Package (2) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.IDX2.FB2P)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 8678: Device (SIZO)
Error 6141 - ^ Missing dependency (Device object requires a _HID or _ADR)
grammar.asl 8708: Name (BUFR, Buffer (12) {}) // uninitialized Buffer
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SARG)
grammar.asl 8709: Name (BUF1, Buffer() {0x01, 0x02, 0x03, 0x04, 0x05})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SARG)
grammar.asl 8710: Name (PKG0, Package (4) {}) // uninitialized Package
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SARG)
grammar.asl 8712: Name (PKG1, Package (4)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SARG)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
grammar.asl 8720: Name (PKG2, Package (4)
Remark 2063 - ^ Initializer list shorter than declared package length
grammar.asl 8720: Name (PKG2, Package (4)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SARG)
grammar.asl 8973: Name (BUFR, Buffer (12) {})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SBUF)
grammar.asl 9034: Name (BUFR, Buffer (12) {}) // uninitialized Buffer
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SLOC)
grammar.asl 9036: Name (PKG0, Package (4) {}) // uninitialized Package
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SIZO.SLOC)
grammar.asl 9132: Store (_OS, Local0)
Warning 3144 - ^ Method Local is set but never used (Local0)
grammar.asl 9262: Device (MBIT)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 9273: Device (MWRD)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 9281: Device (MBYT)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 9354: Device (SMIS)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
grammar.asl 9408: Device(CNDT)
Error 6141 - Missing dependency ^ (Device object requires a _HID or _ADR)
Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR in same scope)
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version VVVVVVVV
Copyright (c) 2000 - 2023 Intel Corporation
Copyright (c) 2000 - 2018 Intel Corporation
Ignoring all errors, forcing AML file generation
ASL Input: grammar.asl - 323653 bytes 4818 keywords 0 source lines
AML Output: grammar.aml - 43758 bytes 4148 opcodes 670 named objects
ASL Input: grammar.asl - 10284 lines, 323650 bytes, 4818 keywords
AML Output: grammar.aml - 43758 bytes, 670 named objects, 4148 executable opcodes
Compilation successful. 60 Errors, 41 Warnings, 97 Remarks, 1106 Optimizations
Compilation complete. 6 Errors, 88 Warnings, 27 Remarks, 1106 Optimizations

283
int-format.patch Normal file
View file

@ -0,0 +1,283 @@
Use proper integer formatting
From: Al Stone <ahs3@redhat.com>
---
source/compiler/aslerror.c | 4 ++--
source/compiler/aslopt.c | 2 +-
source/compiler/aslprepkg.c | 2 +-
source/components/debugger/dbexec.c | 2 +-
source/components/dispatcher/dsmthdat.c | 4 ++--
source/components/dispatcher/dsutils.c | 2 +-
source/components/dispatcher/dswscope.c | 4 ++--
source/components/events/evgpe.c | 4 ++--
source/components/executer/exdump.c | 2 +-
source/components/executer/exfldio.c | 4 ++--
source/components/executer/exnames.c | 4 ++--
source/components/hardware/hwregs.c | 2 +-
source/components/tables/tbfadt.c | 6 +++---
source/components/tables/tbxfroot.c | 6 +++---
source/components/utilities/utownerid.c | 2 +-
18 files changed, 28 insertions(+), 28 deletions(-)
Index: acpica-unix2-20181213/source/compiler/aslerror.c
===================================================================
--- acpica-unix2-20181213.orig/source/compiler/aslerror.c
+++ acpica-unix2-20181213/source/compiler/aslerror.c
@@ -886,7 +886,7 @@ AslLogNewError (
AslGbl_ExceptionCount[ModifiedLevel]++;
if (AslGbl_ExceptionCount[ASL_ERROR] > ASL_MAX_ERROR_COUNT)
{
- printf ("\nMaximum error count (%u) exceeded\n", ASL_MAX_ERROR_COUNT);
+ printf ("\nMaximum error count (%d) exceeded\n", ASL_MAX_ERROR_COUNT);
AslGbl_SourceLine = 0;
AslGbl_NextError = AslGbl_ErrorLog;
Index: acpica-unix2-20181213/source/compiler/aslopt.c
===================================================================
--- acpica-unix2-20181213.orig/source/compiler/aslopt.c
+++ acpica-unix2-20181213/source/compiler/aslopt.c
@@ -583,7 +583,7 @@ OptOptimizeNamePath (
}
ACPI_DEBUG_PRINT_RAW ((ACPI_DB_OPTIMIZATIONS,
- "PATH OPTIMIZE: Line %5d ParentOp [%12.12s] ThisOp [%12.12s] ",
+ "PATH OPTIMIZE: Line %5u ParentOp [%12.12s] ThisOp [%12.12s] ",
Op->Asl.LogicalLineNumber,
AcpiPsGetOpcodeName (Op->Common.Parent->Common.AmlOpcode),
AcpiPsGetOpcodeName (Op->Common.AmlOpcode)));
Index: acpica-unix2-20181213/source/compiler/aslprepkg.c
===================================================================
--- acpica-unix2-20181213.orig/source/compiler/aslprepkg.c
+++ acpica-unix2-20181213/source/compiler/aslprepkg.c
@@ -309,7 +309,7 @@ ApCheckPackage (
if (Count & 1)
{
- sprintf (AslGbl_MsgBuffer, "%4.4s: Package length, %d, must be even.",
+ sprintf (AslGbl_MsgBuffer, "%4.4s: Package length, %u, must be even.",
Predefined->Info.Name, Count);
AslError (ASL_ERROR, ASL_MSG_RESERVED_PACKAGE_LENGTH,
Index: acpica-unix2-20181213/source/components/debugger/dbexec.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/debugger/dbexec.c
+++ acpica-unix2-20181213/source/components/debugger/dbexec.c
@@ -230,7 +230,7 @@ AcpiDbExecuteMethod (
ACPI_ERROR ((AE_INFO,
"Possible overflow of internal debugger "
"buffer (size 0x%X needed 0x%X)",
- ACPI_DEBUG_BUFFER_SIZE, (UINT32) ReturnObj->Length));
+ (UINT32) ACPI_DEBUG_BUFFER_SIZE, (UINT32) ReturnObj->Length));
}
}
Index: acpica-unix2-20181213/source/components/dispatcher/dsmthdat.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/dispatcher/dsmthdat.c
+++ acpica-unix2-20181213/source/components/dispatcher/dsmthdat.c
@@ -291,7 +291,7 @@ AcpiDsMethodDataGetNode (
if (Index > ACPI_METHOD_MAX_LOCAL)
{
ACPI_ERROR ((AE_INFO,
- "Local index %u is invalid (max %u)",
+ "Local index %u is invalid (max %d)",
Index, ACPI_METHOD_MAX_LOCAL));
return_ACPI_STATUS (AE_AML_INVALID_INDEX);
}
@@ -306,7 +306,7 @@ AcpiDsMethodDataGetNode (
if (Index > ACPI_METHOD_MAX_ARG)
{
ACPI_ERROR ((AE_INFO,
- "Arg index %u is invalid (max %u)",
+ "Arg index %u is invalid (max %d)",
Index, ACPI_METHOD_MAX_ARG));
return_ACPI_STATUS (AE_AML_INVALID_INDEX);
}
Index: acpica-unix2-20181213/source/components/dispatcher/dsutils.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/dispatcher/dsutils.c
+++ acpica-unix2-20181213/source/components/dispatcher/dsutils.c
@@ -786,7 +786,7 @@ AcpiDsCreateOperands (
}
ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
- "NumOperands %d, ArgCount %d, Index %d\n",
+ "NumOperands %d, ArgCount %u, Index %u\n",
WalkState->NumOperands, ArgCount, Index));
/* Create the interpreter arguments, in reverse order */
Index: acpica-unix2-20181213/source/components/dispatcher/dswscope.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/dispatcher/dswscope.c
+++ acpica-unix2-20181213/source/components/dispatcher/dswscope.c
@@ -149,7 +149,7 @@ AcpiDsScopeStackPush (
WalkState->ScopeDepth++;
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
- "[%.2d] Pushed scope ", (UINT32) WalkState->ScopeDepth));
+ "[%.2d] Pushed scope ", WalkState->ScopeDepth));
OldScopeInfo = WalkState->ScopeInfo;
if (OldScopeInfo)
@@ -211,7 +211,7 @@ AcpiDsScopeStackPop (
WalkState->ScopeDepth--;
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
- "[%.2d] Popped scope [%4.4s] (%s), New scope -> ",
+ "[%.2u] Popped scope [%4.4s] (%s), New scope -> ",
(UINT32) WalkState->ScopeDepth,
AcpiUtGetNodeName (ScopeInfo->Scope.Node),
AcpiUtGetTypeName (ScopeInfo->Common.Value)));
Index: acpica-unix2-20181213/source/components/events/evgpe.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/events/evgpe.c
+++ acpica-unix2-20181213/source/components/events/evgpe.c
@@ -481,7 +481,7 @@ AcpiEvGpeDetect (
"Ignore disabled registers for GPE %02X-%02X: "
"RunEnable=%02X, WakeEnable=%02X\n",
GpeRegisterInfo->BaseGpeNumber,
- GpeRegisterInfo->BaseGpeNumber + (ACPI_GPE_REGISTER_WIDTH - 1),
+ (unsigned int) (GpeRegisterInfo->BaseGpeNumber + (ACPI_GPE_REGISTER_WIDTH - 1)),
GpeRegisterInfo->EnableForRun,
GpeRegisterInfo->EnableForWake));
continue;
Index: acpica-unix2-20181213/source/components/executer/exdump.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/executer/exdump.c
+++ acpica-unix2-20181213/source/components/executer/exdump.c
@@ -678,7 +678,7 @@ AcpiExDumpOperand (
if (Depth > 0)
{
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%*s[%u] %p Refs=%u ",
- Depth, " ", Depth, ObjDesc, ObjDesc->Common.ReferenceCount));
+ (int) Depth, " ", Depth, ObjDesc, ObjDesc->Common.ReferenceCount));
}
else
{
Index: acpica-unix2-20181213/source/components/executer/exfldio.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/executer/exfldio.c
+++ acpica-unix2-20181213/source/components/executer/exfldio.c
@@ -681,8 +681,8 @@ AcpiExWriteWithUpdateRule (
ACPI_ERROR ((AE_INFO,
"Unknown UpdateRule value: 0x%X",
- (ObjDesc->CommonField.FieldFlags &
- AML_FIELD_UPDATE_RULE_MASK)));
+ (unsigned int) (ObjDesc->CommonField.FieldFlags &
+ AML_FIELD_UPDATE_RULE_MASK)));
return_ACPI_STATUS (AE_AML_OPERAND_VALUE);
}
}
Index: acpica-unix2-20181213/source/components/executer/exnames.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/executer/exnames.c
+++ acpica-unix2-20181213/source/components/executer/exnames.c
@@ -237,7 +237,7 @@ AcpiExNameSegment (
*/
ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
"Leading character is not alpha: %02Xh (not a name)\n",
- CharBuf[0]));
+ (unsigned int) CharBuf[0]));
Status = AE_CTRL_PENDING;
}
else
@@ -249,7 +249,7 @@ AcpiExNameSegment (
Status = AE_AML_BAD_NAME;
ACPI_ERROR ((AE_INFO,
"Bad character 0x%02x in name, at %p",
- *AmlAddress, AmlAddress));
+ (unsigned int) (*AmlAddress), AmlAddress));
}
*InAmlAddress = ACPI_CAST_PTR (UINT8, AmlAddress);
Index: acpica-unix2-20181213/source/components/hardware/hwregs.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/hardware/hwregs.c
+++ acpica-unix2-20181213/source/components/hardware/hwregs.c
@@ -460,7 +460,7 @@ AcpiHwClearAcpiStatus (
ACPI_DEBUG_PRINT ((ACPI_DB_IO, "About to write %04X to %8.8X%8.8X\n",
- ACPI_BITMASK_ALL_FIXED_STATUS,
+ (UINT32) ACPI_BITMASK_ALL_FIXED_STATUS,
ACPI_FORMAT_UINT64 (AcpiGbl_XPm1aStatus.Address)));
LockFlags = AcpiOsAcquireLock (AcpiGbl_HardwareLock);
Index: acpica-unix2-20181213/source/components/tables/tbfadt.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/tables/tbfadt.c
+++ acpica-unix2-20181213/source/components/tables/tbfadt.c
@@ -233,7 +233,7 @@ AcpiTbInitGenericAddress (
if (!(Flags & ACPI_FADT_GPE_REGISTER))
{
ACPI_ERROR ((AE_INFO,
- "%s - 32-bit FADT register is too long (%u bytes, %u bits) "
+ "%s - 32-bit FADT register is too long (%u bytes, %d bits) "
"to convert to GAS struct - 255 bits max, truncating",
RegisterName, ByteWidth, (ByteWidth * 8)));
}
@@ -304,7 +304,7 @@ AcpiTbSelectAddress (
ACPI_BIOS_WARNING ((AE_INFO,
"32/64X %s address mismatch in FADT: "
- "0x%8.8X/0x%8.8X%8.8X, using %u-bit address",
+ "0x%8.8X/0x%8.8X%8.8X, using %d-bit address",
RegisterName, Address32, ACPI_FORMAT_UINT64 (Address64),
AcpiGbl_Use32BitFadtAddresses ? 32 : 64));
@@ -628,7 +628,7 @@ AcpiTbConvertFadt (
ACPI_BIOS_WARNING ((AE_INFO,
"32/64X address mismatch in FADT/%s: "
- "0x%8.8X/0x%8.8X%8.8X, using %u-bit address",
+ "0x%8.8X/0x%8.8X%8.8X, using %d-bit address",
Name, Address32,
ACPI_FORMAT_UINT64 (Address64->Address),
AcpiGbl_Use32BitFadtAddresses ? 32 : 64));
Index: acpica-unix2-20181213/source/components/tables/tbxfroot.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/tables/tbxfroot.c
+++ acpica-unix2-20181213/source/components/tables/tbxfroot.c
@@ -177,7 +177,7 @@ AcpiFindRootPointer (
{
ACPI_ERROR ((AE_INFO,
"Could not map memory at 0x%8.8X for length %u",
- ACPI_EBDA_PTR_LOCATION, ACPI_EBDA_PTR_LENGTH));
+ (UINT32) ACPI_EBDA_PTR_LOCATION, (UINT32) ACPI_EBDA_PTR_LENGTH));
return_ACPI_STATUS (AE_NO_MEMORY);
}
@@ -204,7 +204,7 @@ AcpiFindRootPointer (
{
ACPI_ERROR ((AE_INFO,
"Could not map memory at 0x%8.8X for length %u",
- PhysicalAddress, ACPI_EBDA_WINDOW_SIZE));
+ PhysicalAddress, (UINT32) ACPI_EBDA_WINDOW_SIZE));
return_ACPI_STATUS (AE_NO_MEMORY);
}
@@ -236,7 +236,7 @@ AcpiFindRootPointer (
{
ACPI_ERROR ((AE_INFO,
"Could not map memory at 0x%8.8X for length %u",
- ACPI_HI_RSDP_WINDOW_BASE, ACPI_HI_RSDP_WINDOW_SIZE));
+ (UINT32) ACPI_HI_RSDP_WINDOW_BASE, (UINT32) ACPI_HI_RSDP_WINDOW_SIZE));
return_ACPI_STATUS (AE_NO_MEMORY);
}
Index: acpica-unix2-20181213/source/components/utilities/utownerid.c
===================================================================
--- acpica-unix2-20181213.orig/source/components/utilities/utownerid.c
+++ acpica-unix2-20181213/source/components/utilities/utownerid.c
@@ -237,7 +237,7 @@ AcpiUtReleaseOwnerId (
else
{
ACPI_ERROR ((AE_INFO,
- "Release of non-allocated OwnerId: 0x%2.2X", OwnerId + 1));
+ "Release of non-allocated OwnerId: 0x%2.2X", (UINT32) OwnerId + 1));
}
(void) AcpiUtReleaseMutex (ACPI_MTX_CACHES);

37
mips-be-fix.patch Normal file
View file

@ -0,0 +1,37 @@
Index: acpica-unix2-20180313/source/compiler/aslparseop.c
===================================================================
--- acpica-unix2-20180313.orig/source/compiler/aslparseop.c
+++ acpica-unix2-20180313/source/compiler/aslparseop.c
@@ -283,7 +283,16 @@ TrCreateValuedLeafOp (
Op = TrAllocateOp (ParseOpcode);
- Op->Asl.Value.Integer = Value;
+ if (ParseOpcode == PARSEOP_NAMESTRING ||
+ ParseOpcode == PARSEOP_NAMESEG ||
+ ParseOpcode == PARSEOP_STRING_LITERAL)
+ {
+ Op->Asl.Value.String = (char *) Value;
+ }
+ else
+ {
+ Op->Asl.Value.Integer = Value;
+ }
DbgPrint (ASL_PARSE_OUTPUT,
"\nCreateValuedLeafOp Ln/Col %u/%u NewOp %p "
Index: acpica-unix2-20180313/source/include/platform/aclinux.h
===================================================================
--- acpica-unix2-20180313.orig/source/include/platform/aclinux.h
+++ acpica-unix2-20180313/source/include/platform/aclinux.h
@@ -227,10 +227,8 @@
#endif
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-#if defined(__PPC64__) || defined(__s390x__)
#define ACPI_BIG_ENDIAN
#endif
-#endif
#endif /* __KERNEL__ */

16
ppc64le.patch Normal file
View file

@ -0,0 +1,16 @@
Index: acpica-unix2-20180313/source/include/platform/aclinux.h
===================================================================
--- acpica-unix2-20180313.orig/source/include/platform/aclinux.h
+++ acpica-unix2-20180313/source/include/platform/aclinux.h
@@ -228,9 +228,11 @@
#define __cdecl
#endif
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
#if defined(__PPC64__) || defined(__s390x__)
#define ACPI_BIG_ENDIAN
#endif
+#endif
#endif /* __KERNEL__ */

48
ptr-cast.patch Normal file
View file

@ -0,0 +1,48 @@
diff -Naur acpica-unix2-20180209.orig/source/components/tables/tbutils.c acpica-unix2-20180209/source/components/tables/tbutils.c
--- acpica-unix2-20180209.orig/source/components/tables/tbutils.c 2018-03-15 16:47:21.831526264 -0600
+++ acpica-unix2-20180209/source/components/tables/tbutils.c 2018-03-15 16:58:20.030097284 -0600
@@ -238,9 +238,11 @@
* 64-bit platform, XSDT: Move (unaligned) 64-bit to local,
* return 64-bit
*/
- Address64 = (UINT64) TableEntry;
#if ACPI_MACHINE_WIDTH == 32
+ UINT32 Tmp32 = (UINT32) TableEntry;
+
+ Address64 = (UINT64) Tmp32;
if (Address64 > ACPI_UINT32_MAX)
{
/* Will truncate 64-bit address to 32 bits, issue warning */
@@ -250,9 +252,15 @@
" truncating",
ACPI_FORMAT_UINT64 (Address64)));
}
-#endif
+
+ return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
+ UINT32, TableEntry)));
+#else
+ Address64 = (UINT64) TableEntry;
+
return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
UINT64, Address64)));
+#endif
}
}
diff -Naur acpica-unix2-20180209.orig/source/compiler/aslparseop.c acpica-unix2-20180209/source/compiler/aslparseop.c
--- acpica-unix2-20180209.orig/source/compiler/aslparseop.c 2018-03-15 17:20:09.844338074 -0600
+++ acpica-unix2-20180209/source/compiler/aslparseop.c 2018-03-15 17:28:19.570800797 -0600
@@ -287,7 +287,11 @@
ParseOpcode == PARSEOP_NAMESEG ||
ParseOpcode == PARSEOP_STRING_LITERAL)
{
+#if ACPI_MACHINE_WIDTH == 32
+ Op->Asl.Value.String = (char *) (UINT32) Value;
+#else
Op->Asl.Value.String = (char *) Value;
+#endif
}
else
{

View file

@ -39,10 +39,9 @@ $BINDIR/iasl -f -of grammar.asl 2>&1 | tee grammar.asl.actual
diff grammar.asl.actual grammar.asl.expected >/dev/null 2>&1
[ $? -eq 0 ] || exit 1
# see if converterSample.asl failed as expected
# NB: the -f option is required so we can see all of the errors
$BINDIR/iasl -f -of converterSample.asl 2>&1 | tee converterSample.asl.actual
# see if converterSample.asl succeeded as expected
$BINDIR/iasl converterSample.asl 2>&1 | tee converterSample.asl.actual
diff converterSample.asl.actual converterSample.asl.expected >/dev/null 2>&1
[ $? -eq 0 ] || exit 1
[ $? -ne 0 ] && exit 1
exit 0

20
simple-64bit.patch Normal file
View file

@ -0,0 +1,20 @@
Description: Stop listing all 64bit architectures
Check __LP64__ instead of maintaining a list of all
64bit architectures.
Author: Adrian Bunk <bunk@debian.org>
Index: acpica-unix2-20180313/source/include/platform/aclinux.h
===================================================================
--- acpica-unix2-20180313.orig/source/include/platform/aclinux.h
+++ acpica-unix2-20180313/source/include/platform/aclinux.h
@@ -210,9 +210,7 @@
#define ACPI_FLUSH_CPU_CACHE()
#define ACPI_CAST_PTHREAD_T(Pthread) ((ACPI_THREAD_ID) (Pthread))
-#if defined(__ia64__) || (defined(__x86_64__) && !defined(__ILP32__)) ||\
- defined(__aarch64__) || defined(__PPC64__) ||\
- defined(__s390x__)
+#if defined(__LP64__)
#define ACPI_MACHINE_WIDTH 64
#define COMPILER_DEPENDENT_INT64 long
#define COMPILER_DEPENDENT_UINT64 unsigned long

View file

@ -1,2 +1,2 @@
SHA512 (acpica-unix2-20260408.tar.gz) = d7adbea5725a7dbd9acb7ec863a06603c5683fb24388e51054cd569705815cb32fba5f425eb79224f2b8f4318db3dd0f856d29f90921b6d709b4ddd101e34416
SHA512 (acpitests-unix-20260408.tar.gz) = 2cb80d80b2ab9ee7d89558467faa3fef616faac8678bdfae5a4401e969b23ae7082e219c76e78ec50440eed262a5b491a22d7a552ed32e9229f66affb4765ef2
SHA512 (acpica-unix2-20181213.tar.gz) = 98269e90deabf19ba9f717a9778fc3340b4ffe3461a98660099d9dfcb9ddc2cfc429c9724a019df96ca44e663111de5bcdde2df4cad42db025f3f93faad7412b
SHA512 (acpitests-unix-20181213.tar.gz) = 4c8adb76640574399fc1939db623a5d05c56c09e6c6531ebfa452c30adf92313ac97020fe358115a9624f1b039f946c0a6d63b4fb2e340123b9747c0f94d9cd6

View file

@ -1,8 +1,8 @@
Index: acpica-unix2-20240321/source/compiler/aslanalyze.c
Index: acpica-unix2-20181003/source/compiler/aslanalyze.c
===================================================================
--- acpica-unix2-20240321.orig/source/compiler/aslanalyze.c
+++ acpica-unix2-20240321/source/compiler/aslanalyze.c
@@ -358,11 +358,16 @@ AnCheckMethodReturnValue (
--- acpica-unix2-20181003.orig/source/compiler/aslanalyze.c
+++ acpica-unix2-20181003/source/compiler/aslanalyze.c
@@ -355,11 +355,16 @@ AnCheckMethodReturnValue (
*/
if (ThisNodeBtype != 0)
{
@ -14,17 +14,17 @@ Index: acpica-unix2-20240321/source/compiler/aslanalyze.c
"Method returns [%s], %s operator requires [%s]",
AslGbl_StringBuffer, OpInfo->Name, AslGbl_StringBuffer2);
- AslError (ASL_WARNING, ASL_MSG_INVALID_TYPE, ArgOp, AslGbl_MsgBuffer);
+ AslError (ASL_WARNING, ASL_MSG_INVALID_TYPE, ArgOp, strp);
- AslError (ASL_ERROR, ASL_MSG_INVALID_TYPE, ArgOp, AslGbl_MsgBuffer);
+ AslError (ASL_ERROR, ASL_MSG_INVALID_TYPE, ArgOp, strp);
+ if (cnt > 0)
+ free(strp);
}
}
Index: acpica-unix2-20240321/source/compiler/aslpredef.c
}
Index: acpica-unix2-20181003/source/compiler/aslpredef.c
===================================================================
--- acpica-unix2-20240321.orig/source/compiler/aslpredef.c
+++ acpica-unix2-20240321/source/compiler/aslpredef.c
--- acpica-unix2-20181003.orig/source/compiler/aslpredef.c
+++ acpica-unix2-20181003/source/compiler/aslpredef.c
@@ -159,14 +159,19 @@ ApCheckForPredefinedMethod (
if (MethodInfo->NumReturnNoValue &&
ThisName->Info.ExpectedBtypes)
@ -84,11 +84,11 @@ Index: acpica-unix2-20240321/source/compiler/aslpredef.c
return (AE_TYPE);
}
Index: acpica-unix2-20240321/source/compiler/aslwalks.c
Index: acpica-unix2-20181003/source/compiler/aslwalks.c
===================================================================
--- acpica-unix2-20240321.orig/source/compiler/aslwalks.c
+++ acpica-unix2-20240321/source/compiler/aslwalks.c
@@ -515,15 +515,19 @@ AnOperandTypecheckWalkEnd (
--- acpica-unix2-20181003.orig/source/compiler/aslwalks.c
+++ acpica-unix2-20181003/source/compiler/aslwalks.c
@@ -507,15 +507,19 @@ AnOperandTypecheckWalkEnd (
else if (!CommonBtypes)
{
/* No match -- this is a type mismatch error */

View file

@ -7,16 +7,16 @@ From: Al Stone <ahs3@redhat.com>
tests/templates/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: acpica-unix2-20240321/tests/templates/Makefile
Index: acpica-unix2-20161222/tests/templates/Makefile
===================================================================
--- acpica-unix2-20240321.orig/tests/templates/Makefile
+++ acpica-unix2-20240321/tests/templates/Makefile
@@ -26,7 +26,7 @@ $(aml_obj): %.aml: %.asl
--- acpica-unix2-20161222.orig/tests/templates/Makefile
+++ acpica-unix2-20161222/tests/templates/Makefile
@@ -2,7 +2,7 @@
PROG= templates
templates :
- sh templates.sh
+ sh templates.sh 1
.PHONY: clean
clean:
clean :
rm -f *.asl *.aml *.dsl *.hex diff.log

View file

@ -1,3 +0,0 @@
PURPOSE of tests/acpidump
Description: sanity check that system ACPI tables can be read
Author: Al Stone <ahs3@redhat.com>

View file

@ -1,30 +0,0 @@
#!/bin/bash
#
# simple script to run acpidump and verify we got
# some output.
#
PWD=$(pwd)
BINDIR="/usr/bin"
# see if acpidump runs
rm -f /tmp/acpi.tables
$BINDIR/acpidump -o /tmp/acpi.tables 2>&1
RET=$?
if [ $RET -ne 0 ]
then
echo FAIL acpidump
exit $RET
fi
RET=2
sz=$(ls -s /tmp/acpi.tables | cut -d' ' -f1)
[[ $sz -gt 0 ]] && RET=0
if [ $RET -ne 0 ]
then
echo FAIL acpidump
exit $RET
fi
echo PASS acpidump
exit $RET

View file

@ -1,3 +0,0 @@
PURPOSE of tests/acpixtract
Description: sanity check that ACPI tables created by acpidump can be read
Author: Al Stone <ahs3@redhat.com>

View file

@ -1,39 +0,0 @@
#!/bin/bash
#
# simple script to run acpixtract and verify we got
# some output.
#
PWD=$(pwd)
BINDIR="/usr/bin"
# see if acpidump runs
rm -f /tmp/acpi.tables
$BINDIR/acpidump -o /tmp/acpi.tables 2>&1
RET=$?
if [ $RET -ne 0 ]
then
echo FAIL acpixtract-dump
exit $RET
fi
RET=2
sz=$(ls -s /tmp/acpi.tables | cut -d' ' -f1)
[[ $sz -gt 0 ]] && RET=0
if [ $RET -ne 0 ]
then
echo FAIL acpixtract-size
exit $RET
fi
# see if acpixtract runs
$BINDIR/acpixtract -a /tmp/acpi.tables 2>&1
RET=$?
if [ $RET -ne 0 ]
then
echo FAIL acpixtract-read
exit $RET
fi
echo PASS acpixtract
exit $RET

View file

@ -50,7 +50,7 @@ badcode.asl 80: CreateField (BUF1, 0, Subtract (4, 4), FLD1)
Remark 2089 - Object is not referenced ^ (Name [FLD1] is within a method [MTH1])
badcode.asl 80: CreateField (BUF1, 0, Subtract (4, 4), FLD1)
Warning 3083 - Field length must be non-zero ^
Error 6083 - Operand evaluates to zero ^
badcode.asl 84: Acquire (MTX1, 100)
Warning 3130 - ^ Result is not used, possible operator timeout will be missed
@ -256,11 +256,11 @@ Warning 3144 - ^ Method Local is set but never used
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version VVVVVVVV
Copyright (c) 2000 - 2019 Intel Corporation
Copyright (c) 2000 - 2018 Intel Corporation
Ignoring all errors, forcing AML file generation
ASL Input: badcode.asl - 11587 bytes 81 keywords 408 source lines
AML Output: badcode.aml - 1195 bytes 20 opcodes 61 named objects
ASL Input: badcode.asl - 408 lines, 11587 bytes, 81 keywords
AML Output: badcode.aml - 1195 bytes, 61 named objects, 20 executable opcodes
Compilation successful. 45 Errors, 29 Warnings, 11 Remarks, 16 Optimizations, 1 Constants Folded
Compilation complete. 46 Errors, 28 Warnings, 11 Remarks, 16 Optimizations, 1 Constants Folded

View file

@ -10,15 +10,12 @@ Remark 2120 - ^ Control Method should be made Seriali
converterSample.asl 68: Name (a1, 0x04)
Remark 2089 - Object is not referenced ^ (Name [A1__] is within a method [SCOP])
converterSample.asl 76: Offset(0),//c37
Remark 2158 - ^ Unnecessary/redundant use of Offset operator
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version VVVVVVVV
Copyright (c) 2000 - 2019 Intel Corporation
Copyright (c) 2000 - 2018 Intel Corporation
ASL Input: converterSample.asl - 1968 bytes 11 keywords 85 source lines
AML Output: converterSample.aml - 180 bytes 2 opcodes 9 named objects
ASL Input: converterSample.asl - 85 lines, 1968 bytes, 11 keywords
AML Output: converterSample.aml - 180 bytes, 9 named objects, 2 executable opcodes
Compilation successful. 0 Errors, 0 Warnings, 5 Remarks, 12 Optimizations, 1 Constants Folded
Compilation complete. 0 Errors, 0 Warnings, 4 Remarks, 11 Optimizations, 1 Constants Folded

View file

@ -1,10 +1,3 @@
ACPI Warning: NsLookup: Type mismatch on GIDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on IDX2 (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on INDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on AIDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on C05D (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on INDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on IND2 (RegionField), searching for (Region) (20190509/nsaccess-728)
grammar.asl 120: Device (A1)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
@ -371,11 +364,11 @@ Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR i
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version VVVVVVVV
Copyright (c) 2000 - 2019 Intel Corporation
Copyright (c) 2000 - 2018 Intel Corporation
Ignoring all errors, forcing AML file generation
ASL Input: grammar.asl - 323650 bytes 4818 keywords 10284 source lines
AML Output: grammar.aml - 43469 bytes 4148 opcodes 670 named objects
ASL Input: grammar.asl - 10284 lines, 323650 bytes, 4818 keywords
AML Output: grammar.aml - 43469 bytes, 670 named objects, 4148 executable opcodes
Compilation successful. 6 Errors, 88 Warnings, 27 Remarks, 1232 Optimizations, 75 Constants Folded
Compilation complete. 6 Errors, 88 Warnings, 27 Remarks, 1232 Optimizations, 75 Constants Folded

View file

@ -1,10 +1,3 @@
ACPI Warning: NsLookup: Type mismatch on GIDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on IDX2 (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on INDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on AIDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on C05D (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on INDX (RegionField), searching for (Region) (20190509/nsaccess-728)
ACPI Warning: NsLookup: Type mismatch on IND2 (RegionField), searching for (Region) (20190509/nsaccess-728)
grammar2.asl 106: Device (A1)
Warning 3141 - ^ Missing dependency (Device object requires a _HID or _ADR in same scope)
@ -364,12 +357,12 @@ Warning 3141 - Missing dependency ^ (Device object requires a _HID or _ADR
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version VVVVVVVV
Copyright (c) 2000 - 2019 Intel Corporation
ASL+ Optimizing Compiler/Disassembler version 20180508
Copyright (c) 2000 - 2018 Intel Corporation
Ignoring all errors, forcing AML file generation
ASL Input: grammar2.asl - 378020 bytes 4899 keywords 11654 source lines
AML Output: grammar2.aml - 43758 bytes 4229 opcodes 670 named objects
ASL Input: grammar2.asl - 11654 lines, 378020 bytes, 4899 keywords
AML Output: grammar2.aml - 43758 bytes, 670 named objects, 4229 executable opcodes
Compilation successful. 6 Errors, 86 Warnings, 27 Remarks, 1109 Optimizations
Compilation complete. 6 Errors, 86 Warnings, 27 Remarks, 1109 Optimizations

View file

@ -1,27 +0,0 @@
- hosts: localhost
vars:
- artifacts: "{{ lookup('env', 'TEST_ARTIFACTS')|default('./artifacts', true) }}"
tags:
- classic
roles:
- role: standard-test-basic
tests:
- acpidump
required_packages:
- acpica-tools
remote_user: root
tasks:
- name: acpidump
block:
- name: run acpidump
shell: exec > /tmp/acpidump.test.log 2>&1 && ./acpidump/runtest.sh
always:
- name: pull out results
fetch:
dest: "{{ artifacts }}/"
src: "{{ item }}"
flat: yes
with_items:
- /tmp/acpidump.test.log
- /tmp/acpi.tables

View file

@ -1,26 +0,0 @@
- hosts: localhost
vars:
- artifacts: "{{ lookup('env', 'TEST_ARTIFACTS')|default('./artifacts', true) }}"
tags:
- classic
roles:
- role: standard-test-basic
tests:
- acpixtract
required_packages:
- acpica-tools
remote_user: root
tasks:
- name: acpixtract
block:
- name: run acpixtract
shell: exec > /tmp/acpixtract.test.log 2>&1 && ./acpixtract/runtest.sh
always:
- name: pull out results
fetch:
dest: "{{ artifacts }}/"
src: "{{ item }}"
flat: yes
with_items:
- /tmp/acpixtract.test.log

View file

@ -1,14 +1,8 @@
- hosts: localhost
vars:
- artifacts: "{{ lookup('env', 'TEST_ARTIFACTS')|default('./artifacts', true) }}"
- artifacts: ./artifacts
tags:
- classic
roles:
- role: standard-test-basic
tests:
- badcode
required_packages:
- acpica-tools
remote_user: root
tasks:
- name: badcode
@ -17,12 +11,18 @@
shell: exec > /tmp/badcode.test.log 2>&1 && ./badcode/runtest.sh
always:
- name: pull out results
- name: pull out logs
fetch:
dest: "{{ artifacts }}/"
src: "{{ item }}"
src: "/tmp/badcode.test.log"
flat: yes
- name: pull out expected
fetch:
dest: "{{ artifacts }}/"
src: "./badcode/badcode.asl.expected"
flat: yes
- name: pull out actual
fetch:
dest: "{{ artifacts }}/"
src: "./badcode/badcode.asl.actual"
flat: yes
with_items:
- /tmp/badcode.test.log
- ./badcode/badcode.asl.expected
- ./badcode/badcode.asl.actual

View file

@ -1,14 +1,8 @@
- hosts: localhost
vars:
- artifacts: "{{ lookup('env', 'TEST_ARTIFACTS')|default('./artifacts', true) }}"
- artifacts: ./artifacts
tags:
- classic
roles:
- role: standard-test-basic
tests:
- converterSample
required_packages:
- acpica-tools
remote_user: root
tasks:
- name: converterSample
@ -17,12 +11,18 @@
shell: exec > /tmp/converterSample.test.log 2>&1 && ./converterSample/runtest.sh
always:
- name: pull out results
- name: pull out logs
fetch:
dest: "{{ artifacts }}/"
src: "{{ item }}"
src: "/tmp/converterSample.test.log"
flat: yes
- name: pull out expected
fetch:
dest: "{{ artifacts }}/"
src: "./converterSample/converterSample.asl.expected"
flat: yes
- name: pull out actual
fetch:
dest: "{{ artifacts }}/"
src: "./converterSample/converterSample.asl.actual"
flat: yes
with_items:
- /tmp/converterSample.test.log
- ./converterSample/converterSample.asl.expected
- ./converterSample/converterSample.asl.actual

View file

@ -1,14 +1,8 @@
- hosts: localhost
vars:
- artifacts: "{{ lookup('env', 'TEST_ARTIFACTS')|default('./artifacts', true) }}"
- artifacts: ./artifacts
tags:
- classic
roles:
- role: standard-test-basic
tests:
- grammar
required_packages:
- acpica-tools
remote_user: root
tasks:
- name: grammar
@ -17,12 +11,18 @@
shell: exec > /tmp/grammar.test.log 2>&1 && ./grammar/runtest.sh
always:
- name: pull out results
- name: pull out logs
fetch:
dest: "{{ artifacts }}/"
src: "{{ item }}"
src: "/tmp/grammar.test.log"
flat: yes
- name: pull out expected
fetch:
dest: "{{ artifacts }}/"
src: "./grammar/grammar.asl.expected"
flat: yes
- name: pull out actual
fetch:
dest: "{{ artifacts }}/"
src: "./grammar/grammar.asl.actual"
flat: yes
with_items:
- /tmp/grammar.test.log
- ./grammar/grammar.asl.expected
- ./grammar/grammar.asl.actual

View file

@ -1,14 +1,8 @@
- hosts: localhost
vars:
- artifacts: "{{ lookup('env', 'TEST_ARTIFACTS')|default('./artifacts', true) }}"
- artifacts: ./artifacts
tags:
- classic
roles:
- role: standard-test-basic
tests:
- grammar2
required_packages:
- acpica-tools
remote_user: root
tasks:
- name: grammar2
@ -17,12 +11,18 @@
shell: exec > /tmp/grammar2.test.log 2>&1 && ./grammar2/runtest.sh
always:
- name: pull out results
- name: pull out logs
fetch:
dest: "{{ artifacts }}/"
src: "{{ item }}"
src: "/tmp/grammar2.test.log"
flat: yes
- name: pull out expected
fetch:
dest: "{{ artifacts }}/"
src: "./grammar2/grammar2.asl.expected"
flat: yes
- name: pull out actual
fetch:
dest: "{{ artifacts }}/"
src: "./grammar2/grammar2.asl.actual"
flat: yes
with_items:
- /tmp/grammar2.test.log
- ./grammar2/grammar2.asl.expected
- ./grammar2/grammar2.asl.actual

View file

@ -1,5 +1,3 @@
- import_playbook: test_acpidump.yml
- import_playbook: test_acpixtract.yml
- import_playbook: test_badcode.yml
- import_playbook: test_grammar.yml
- import_playbook: test_grammar2.yml

View file

@ -14,10 +14,10 @@ Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
source/include/actypes.h | 26 +++++++++++++-------------
3 files changed, 32 insertions(+), 21 deletions(-)
Index: acpica-unix2-20240321/source/components/executer/exoparg2.c
Index: acpica-unix2-20170728/source/components/executer/exoparg2.c
===================================================================
--- acpica-unix2-20240321.orig/source/components/executer/exoparg2.c
+++ acpica-unix2-20240321/source/components/executer/exoparg2.c
--- acpica-unix2-20170728.orig/source/components/executer/exoparg2.c
+++ acpica-unix2-20170728/source/components/executer/exoparg2.c
@@ -172,6 +172,8 @@ AcpiExOpcode_2A_2T_1R (
ACPI_OPERAND_OBJECT **Operand = &WalkState->Operands[0];
ACPI_OPERAND_OBJECT *ReturnDesc1 = NULL;
@ -58,10 +58,10 @@ Index: acpica-unix2-20240321/source/components/executer/exoparg2.c
break;
case AML_CONCATENATE_OP: /* Concatenate (Data1, Data2, Result) */
Index: acpica-unix2-20240321/source/include/actypes.h
Index: acpica-unix2-20170728/source/include/actypes.h
===================================================================
--- acpica-unix2-20240321.orig/source/include/actypes.h
+++ acpica-unix2-20240321/source/include/actypes.h
--- acpica-unix2-20170728.orig/source/include/actypes.h
+++ acpica-unix2-20170728/source/include/actypes.h
@@ -143,6 +143,19 @@ typedef COMPILER_DEPENDENT_INT64
*/
#define ACPI_THREAD_ID UINT64

View file

@ -1,13 +0,0 @@
Index: acpica-unix2-20240321/source/tools/acpiexec/aeregion.c
===================================================================
--- acpica-unix2-20240321.orig/source/tools/acpiexec/aeregion.c
+++ acpica-unix2-20240321/source/tools/acpiexec/aeregion.c
@@ -97,7 +97,7 @@ AeRegionHandler (
UINT32 Value1;
UINT32 Value2;
ACPI_RESOURCE *Resource;
- char Uuid[ACPI_PRM_INPUT_BUFFER_SIZE + 1];
+ char Uuid[UUID_STRING_LENGTH + 1];
ACPI_FUNCTION_NAME (AeRegionHandler);