Re: [PATCH] ACPICA: Linuxize: Fix a NULL pointer dereference in acpi_db_convert_to_package()

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

 



On Tue, Jan 25, 2022 at 12:40:14AM +0800, Zhou Qingyang wrote:
> In acpi_db_convert_to_package(), the variable elements is assigned by
> ACPI_ALLOCATE_ZEROED() and passes its address to 
> acpi_db_convert_to_object(). In that function we may have a dereference
> of elements without checks. ACPI_ALLOCATE_ZEROED() would return NULL on
> failure, which may lead to NULL pointer dereference.
> 
> Fix this bug by adding a NULL check of elements.
> 
> This bug was found by a static analyzer.
> 
> Builds with 'make allyesconfig' show no new warnings,
> and our static analyzer no longer warns about this code.
> 
> Fixes: 995751025572 ("ACPICA: Linuxize: Export debugger files to Linux")
> Signed-off-by: Zhou Qingyang <zhou1615@xxxxxxx>
> ---
> The analysis employs differential checking to identify inconsistent 
> security operations (e.g., checks or kfrees) between two code paths 
> and confirms that the inconsistent operations are not recovered in the
> current function or the callers, so they constitute bugs. 
> 
> Note that, as a bug found by static analysis, it can be a false
> positive or hard to trigger. Multiple researchers have cross-reviewed
> the bug.
> 
>  drivers/acpi/acpica/dbconvert.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/acpi/acpica/dbconvert.c b/drivers/acpi/acpica/dbconvert.c
> index 2b84ac093698..8dbab6932049 100644
> --- a/drivers/acpi/acpica/dbconvert.c
> +++ b/drivers/acpi/acpica/dbconvert.c
> @@ -174,6 +174,8 @@ acpi_status acpi_db_convert_to_package(char *string, union acpi_object *object)
>  	elements =
>  	    ACPI_ALLOCATE_ZEROED(DB_DEFAULT_PKG_ELEMENTS *
>  				 sizeof(union acpi_object));
> +	if (!elements)
> +		return (AE_NO_MEMORY);
>  
>  	this = string;
>  	for (i = 0; i < (DB_DEFAULT_PKG_ELEMENTS - 1); i++) {
> -- 
> 2.25.1
>

As stated before, umn.edu is still not allowed to contribute to the
Linux kernel.  Please work with your administration to resolve this
issue.




[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