RE: [PATCH] acpi: acpica: add acpi status check prior walking through namespace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Another way to look at this is that the kernel should not be calling ACPI interfaces if ACPI is disabled.

> -----Original Message-----
> From: Vadim Lomovtsev [mailto:Vadim.Lomovtsev@xxxxxxxxxxxxxxxxxx]
> Sent: Tuesday, December 12, 2017 7:59 AM
> To: Moore, Robert <robert.moore@xxxxxxxxx>; Zheng, Lv
> <lv.zheng@xxxxxxxxx>; Wysocki, Rafael J <rafael.j.wysocki@xxxxxxxxx>;
> lenb@xxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx; devel@xxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Cc: vadim.lomovtsev@xxxxxxxxxx
> Subject: [PATCH] acpi: acpica: add acpi status check prior walking
> through namespace
> 
> From: Vadim Lomovtsev <vadim.lomovtsev@xxxxxxxxxx>
> 
> While having kernel built with ACPI support enabled and booted over FDT,
> the ltp_acpi test from LTP suite causes kernel crash while calling
> acpi_ns_walk_namespace(). The acpi_get_devices is high level wrapper for
> it, so we need to protect kernel from crashes by adding acpi status
> check before walking through namespace which is not loaded because of
> acpi is disabled.
> 
> Signed-off-by: Vadim Lomovtsev <vadim.lomovtsev@xxxxxxxxxx>
> ---
>  drivers/acpi/acpica/nsxfeval.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/acpi/acpica/nsxfeval.c
> b/drivers/acpi/acpica/nsxfeval.c index 783f4c8..e0eb9ae 100644
> --- a/drivers/acpi/acpica/nsxfeval.c
> +++ b/drivers/acpi/acpica/nsxfeval.c
> @@ -52,6 +52,8 @@
>  #define _COMPONENT          ACPI_NAMESPACE
>  ACPI_MODULE_NAME("nsxfeval")
> 
> +extern int acpi_disabled;
> +
>  /* Local prototypes */
>  static void acpi_ns_resolve_references(struct acpi_evaluate_info
> *info);
> 
> @@ -812,6 +814,11 @@ static void acpi_ns_resolve_references(struct
> acpi_evaluate_info *info)
> 
>  	ACPI_FUNCTION_TRACE(acpi_get_devices);
> 
> +	/* check if ACPI disabled to prevent kernel crash later */
> +	if (acpi_disabled) {
> +		return_ACPI_STATUS(AE_NOT_CONFIGURED);
> +	}
> +
>  	/* Parameter validation */
> 
>  	if (!user_function) {
> --
> 1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux