ACK: [PATCH 1/2] fwts_acpi_object_eval: add a function to check buffer size
Colin Ian King
colin.king at canonical.com
Fri May 15 21:39:11 UTC 2020
On 15/05/2020 21:15, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung at canonical.com>
> ---
> src/lib/include/fwts_acpi_object_eval.h | 1 +
> src/lib/src/fwts_acpi_object_eval.c | 23 ++++++++++++++++++++++-
> 2 files changed, 23 insertions(+), 1 deletion(-)
>
> diff --git a/src/lib/include/fwts_acpi_object_eval.h b/src/lib/include/fwts_acpi_object_eval.h
> index b13b5239..a8acec78 100644
> --- a/src/lib/include/fwts_acpi_object_eval.h
> +++ b/src/lib/include/fwts_acpi_object_eval.h
> @@ -115,6 +115,7 @@ void fwts_method_passed_sane(fwts_framework *fw, const char *name, const char *t
> void fwts_method_passed_sane_uint64(fwts_framework *fw, const char *name, const uint64_t value);
> void fwts_method_failed_null_object(fwts_framework *fw, const char *name, const char *type);
> bool fwts_method_type_matches(ACPI_OBJECT_TYPE t1, ACPI_OBJECT_TYPE t2);
> +int fwts_method_buffer_size(fwts_framework *fw, const char *name, ACPI_OBJECT *obj, size_t buf_size);
> int fwts_method_package_count_min(fwts_framework *fw, const char *name, const char *objname, const ACPI_OBJECT *obj, const uint32_t min);
> int fwts_method_package_count_equal(fwts_framework *fw, const char *name, const char *objname, const ACPI_OBJECT *obj, const uint32_t count);
> int fwts_method_package_elements_all_type(fwts_framework *fw, const char *name, const char *objname, const ACPI_OBJECT *obj, const ACPI_OBJECT_TYPE type);
> diff --git a/src/lib/src/fwts_acpi_object_eval.c b/src/lib/src/fwts_acpi_object_eval.c
> index 12165b53..7f41fa52 100644
> --- a/src/lib/src/fwts_acpi_object_eval.c
> +++ b/src/lib/src/fwts_acpi_object_eval.c
> @@ -575,7 +575,28 @@ bool fwts_method_type_matches(ACPI_OBJECT_TYPE t1, ACPI_OBJECT_TYPE t2)
> }
>
> /*
> - * method_package_count_min()
> + * fwts_method_buffer_size()
> + * check whether buffer size is matched
> + */
> +int fwts_method_buffer_size(
> + fwts_framework *fw,
> + const char *name,
> + ACPI_OBJECT *obj,
> + size_t buf_size)
> +{
> + if (obj->Buffer.Length != buf_size) {
> + fwts_failed(fw, LOG_LEVEL_CRITICAL,
> + "MethodBadBufferSize",
> + "%s should return a buffer of %" PRIu64 " bytes, "
> + "but instead returned %" PRIu32 " bytes.",
> + name, buf_size, obj->Buffer.Length);
> + return FWTS_ERROR;
> + }
> + return FWTS_OK;
> +}
> +
> +/*
> + * fwts_method_package_count_min()
> * check that an ACPI package has at least 'min' elements
> */
> int fwts_method_package_count_min(
>
Acked-by: Colin Ian King <colin.king at canonical.com>
More information about the fwts-devel
mailing list