Message ID | 20190407011222.38963-1-cai@lca.pw (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | [-next] acpi/hmat: fix an uninitialized memory_target | expand |
On 4/7/2019 6:42 AM, Qian Cai wrote: > The commit 665ac7e92757 ("acpi/hmat: Register processor domain to its > memory") introduced an uninitialized "struct memory_target" that could > cause an incorrect branching. > > drivers/acpi/hmat/hmat.c:385:6: warning: variable 'target' is used > uninitialized whenever 'if' condition is false > [-Wsometimes-uninitialized] > if (p->flags & ACPI_HMAT_MEMORY_PD_VALID) { > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/acpi/hmat/hmat.c:392:6: note: uninitialized use occurs here > if (target && p->flags & ACPI_HMAT_PROCESSOR_PD_VALID) { > ^~~~~~ > drivers/acpi/hmat/hmat.c:385:2: note: remove the 'if' if its condition > is always true > if (p->flags & ACPI_HMAT_MEMORY_PD_VALID) { > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/acpi/hmat/hmat.c:369:30: note: initialize the variable 'target' > to silence this warning > struct memory_target *target; > ^ > = NULL > > Signed-off-by: Qian Cai <cai@lca.pw> Reviewed-by: Mukesh Ojha <mojha@codeaurora.org> Cheers, -Mukesh > --- > drivers/acpi/hmat/hmat.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c > index c9b8abcf012c..6653dba3b377 100644 > --- a/drivers/acpi/hmat/hmat.c > +++ b/drivers/acpi/hmat/hmat.c > @@ -366,7 +366,7 @@ static int __init hmat_parse_proximity_domain(union acpi_subtable_headers *heade > const unsigned long end) > { > struct acpi_hmat_proximity_domain *p = (void *)header; > - struct memory_target *target; > + struct memory_target *target = NULL; > > if (p->header.length != sizeof(*p)) { > pr_notice("HMAT: Unexpected address range header length: %d\n",
On Sat, Apr 06, 2019 at 09:12:22PM -0400, Qian Cai wrote: > The commit 665ac7e92757 ("acpi/hmat: Register processor domain to its > memory") introduced an uninitialized "struct memory_target" that could > cause an incorrect branching. > > drivers/acpi/hmat/hmat.c:385:6: warning: variable 'target' is used > uninitialized whenever 'if' condition is false > [-Wsometimes-uninitialized] > if (p->flags & ACPI_HMAT_MEMORY_PD_VALID) { > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/acpi/hmat/hmat.c:392:6: note: uninitialized use occurs here > if (target && p->flags & ACPI_HMAT_PROCESSOR_PD_VALID) { > ^~~~~~ > drivers/acpi/hmat/hmat.c:385:2: note: remove the 'if' if its condition > is always true > if (p->flags & ACPI_HMAT_MEMORY_PD_VALID) { > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/acpi/hmat/hmat.c:369:30: note: initialize the variable 'target' > to silence this warning > struct memory_target *target; > ^ > = NULL > > Signed-off-by: Qian Cai <cai@lca.pw> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> > --- > drivers/acpi/hmat/hmat.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c > index c9b8abcf012c..6653dba3b377 100644 > --- a/drivers/acpi/hmat/hmat.c > +++ b/drivers/acpi/hmat/hmat.c > @@ -366,7 +366,7 @@ static int __init hmat_parse_proximity_domain(union acpi_subtable_headers *heade > const unsigned long end) > { > struct acpi_hmat_proximity_domain *p = (void *)header; > - struct memory_target *target; > + struct memory_target *target = NULL; > > if (p->header.length != sizeof(*p)) { > pr_notice("HMAT: Unexpected address range header length: %d\n", > -- > 2.17.2 (Apple Git-113) >
On Sat, Apr 06, 2019 at 09:12:22PM -0400, Qian Cai wrote: > The commit 665ac7e92757 ("acpi/hmat: Register processor domain to its > memory") introduced an uninitialized "struct memory_target" that could > cause an incorrect branching. Thanks for the catch. We do have another patch submitted a few days that fixes this, though: https://patchwork.kernel.org/patch/10887487/
diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c index c9b8abcf012c..6653dba3b377 100644 --- a/drivers/acpi/hmat/hmat.c +++ b/drivers/acpi/hmat/hmat.c @@ -366,7 +366,7 @@ static int __init hmat_parse_proximity_domain(union acpi_subtable_headers *heade const unsigned long end) { struct acpi_hmat_proximity_domain *p = (void *)header; - struct memory_target *target; + struct memory_target *target = NULL; if (p->header.length != sizeof(*p)) { pr_notice("HMAT: Unexpected address range header length: %d\n",
The commit 665ac7e92757 ("acpi/hmat: Register processor domain to its memory") introduced an uninitialized "struct memory_target" that could cause an incorrect branching. drivers/acpi/hmat/hmat.c:385:6: warning: variable 'target' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (p->flags & ACPI_HMAT_MEMORY_PD_VALID) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/acpi/hmat/hmat.c:392:6: note: uninitialized use occurs here if (target && p->flags & ACPI_HMAT_PROCESSOR_PD_VALID) { ^~~~~~ drivers/acpi/hmat/hmat.c:385:2: note: remove the 'if' if its condition is always true if (p->flags & ACPI_HMAT_MEMORY_PD_VALID) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/acpi/hmat/hmat.c:369:30: note: initialize the variable 'target' to silence this warning struct memory_target *target; ^ = NULL Signed-off-by: Qian Cai <cai@lca.pw> --- drivers/acpi/hmat/hmat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)