diff options
Diffstat (limited to 'source/components/namespace')
-rw-r--r-- | source/components/namespace/nsalloc.c | 1 | ||||
-rw-r--r-- | source/components/namespace/nsinit.c | 1 | ||||
-rw-r--r-- | source/components/namespace/nsobject.c | 20 | ||||
-rw-r--r-- | source/components/namespace/nsprepkg.c | 40 | ||||
-rw-r--r-- | source/components/namespace/nswalk.c | 1 | ||||
-rw-r--r-- | source/components/namespace/nsxfeval.c | 1 | ||||
-rw-r--r-- | source/components/namespace/nsxfobj.c | 1 |
7 files changed, 49 insertions, 16 deletions
diff --git a/source/components/namespace/nsalloc.c b/source/components/namespace/nsalloc.c index 0f29a8491622..d465a37e5b8b 100644 --- a/source/components/namespace/nsalloc.c +++ b/source/components/namespace/nsalloc.c @@ -41,7 +41,6 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #define __NSALLOC_C__ #include "acpi.h" diff --git a/source/components/namespace/nsinit.c b/source/components/namespace/nsinit.c index 27ff7a13244c..53155977f39f 100644 --- a/source/components/namespace/nsinit.c +++ b/source/components/namespace/nsinit.c @@ -41,7 +41,6 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #define __NSXFINIT_C__ #include "acpi.h" diff --git a/source/components/namespace/nsobject.c b/source/components/namespace/nsobject.c index 9221ac00aa2e..5247ca61b41b 100644 --- a/source/components/namespace/nsobject.c +++ b/source/components/namespace/nsobject.c @@ -42,7 +42,6 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #define __NSOBJECT_C__ #include "acpi.h" @@ -263,17 +262,16 @@ AcpiNsDetachObject ( { Node->Object = Node->Object->Common.NextObject; } - } - - /* - * Detach the object from any data objects (which are still held by - * the namespace node) - */ - if (ObjDesc->Common.NextObject && - ((ObjDesc->Common.NextObject)->Common.Type == ACPI_TYPE_LOCAL_DATA)) - { - ObjDesc->Common.NextObject = NULL; + /* + * Detach the object from any data objects (which are still held by + * the namespace node) + */ + if (ObjDesc->Common.NextObject && + ((ObjDesc->Common.NextObject)->Common.Type == ACPI_TYPE_LOCAL_DATA)) + { + ObjDesc->Common.NextObject = NULL; + } } /* Reset the node type to untyped */ diff --git a/source/components/namespace/nsprepkg.c b/source/components/namespace/nsprepkg.c index 1e66b5aee2da..6cc3c700f29b 100644 --- a/source/components/namespace/nsprepkg.c +++ b/source/components/namespace/nsprepkg.c @@ -321,6 +321,46 @@ AcpiNsCheckPackage ( Status = AcpiNsCheckPackageList (Info, Package, Elements, Count); break; + case ACPI_PTYPE2_UUID_PAIR: + + /* The package must contain pairs of (UUID + type) */ + + if (Count & 1) + { + ExpectedCount = Count + 1; + goto PackageTooSmall; + } + + while (Count > 0) + { + Status = AcpiNsCheckObjectType(Info, Elements, + Package->RetInfo.ObjectType1, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + /* Validate length of the UUID buffer */ + + if ((*Elements)->Buffer.Length != 16) + { + ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname, + Info->NodeFlags, "Invalid length for UUID Buffer")); + return (AE_AML_OPERAND_VALUE); + } + + Status = AcpiNsCheckObjectType(Info, Elements + 1, + Package->RetInfo.ObjectType2, 0); + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + Elements += 2; + Count -= 2; + } + break; + default: /* Should not get here if predefined info table is correct */ diff --git a/source/components/namespace/nswalk.c b/source/components/namespace/nswalk.c index 48b5a27f0f53..147e4ce816c7 100644 --- a/source/components/namespace/nswalk.c +++ b/source/components/namespace/nswalk.c @@ -41,7 +41,6 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #define __NSWALK_C__ #include "acpi.h" diff --git a/source/components/namespace/nsxfeval.c b/source/components/namespace/nsxfeval.c index 1423da30349a..2b2663cabb56 100644 --- a/source/components/namespace/nsxfeval.c +++ b/source/components/namespace/nsxfeval.c @@ -42,7 +42,6 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #define __NSXFEVAL_C__ #define EXPORT_ACPI_INTERFACES diff --git a/source/components/namespace/nsxfobj.c b/source/components/namespace/nsxfobj.c index 86e109778524..69b656e12620 100644 --- a/source/components/namespace/nsxfobj.c +++ b/source/components/namespace/nsxfobj.c @@ -42,7 +42,6 @@ * POSSIBILITY OF SUCH DAMAGES. */ - #define __NSXFOBJ_C__ #define EXPORT_ACPI_INTERFACES |