Message ID | 1363675687-7839-1-git-send-email-gong.chen@linux.intel.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
On Tue, 2013-03-19 at 02:48 -0400, Chen Gong wrote: > In Table 18-289, ACPI5.0 SPEC, the error data length in CPER > Generic Error Data Entry can be 0, which means this generic > error data entry can have only one header. So fix the check > conditon for it. > > Signed-off-by: Chen Gong <gong.chen@linux.intel.com> Good catch! Reviewed-by: Huang Ying <ying.huang@intel.com> > --- > drivers/acpi/apei/cper.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/acpi/apei/cper.c b/drivers/acpi/apei/cper.c > index 1e5d8a4..fefc2ca 100644 > --- a/drivers/acpi/apei/cper.c > +++ b/drivers/acpi/apei/cper.c > @@ -405,7 +405,7 @@ int apei_estatus_check(const struct acpi_hest_generic_status *estatus) > return rc; > data_len = estatus->data_length; > gdata = (struct acpi_hest_generic_data *)(estatus + 1); > - while (data_len > sizeof(*gdata)) { > + while (data_len >= sizeof(*gdata)) { > gedata_len = gdata->error_data_length; > if (gedata_len > data_len - sizeof(*gdata)) > return -EINVAL; -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wednesday, March 20, 2013 09:36:56 AM Huang Ying wrote: > On Tue, 2013-03-19 at 02:48 -0400, Chen Gong wrote: > > In Table 18-289, ACPI5.0 SPEC, the error data length in CPER > > Generic Error Data Entry can be 0, which means this generic > > error data entry can have only one header. So fix the check > > conditon for it. > > > > Signed-off-by: Chen Gong <gong.chen@linux.intel.com> > > Good catch! > > Reviewed-by: Huang Ying <ying.huang@intel.com> Applied. I'm going to push it for 3.9. Thanks, Rafael > > --- > > drivers/acpi/apei/cper.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/acpi/apei/cper.c b/drivers/acpi/apei/cper.c > > index 1e5d8a4..fefc2ca 100644 > > --- a/drivers/acpi/apei/cper.c > > +++ b/drivers/acpi/apei/cper.c > > @@ -405,7 +405,7 @@ int apei_estatus_check(const struct acpi_hest_generic_status *estatus) > > return rc; > > data_len = estatus->data_length; > > gdata = (struct acpi_hest_generic_data *)(estatus + 1); > > - while (data_len > sizeof(*gdata)) { > > + while (data_len >= sizeof(*gdata)) { > > gedata_len = gdata->error_data_length; > > if (gedata_len > data_len - sizeof(*gdata)) > > return -EINVAL; > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-acpi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/acpi/apei/cper.c b/drivers/acpi/apei/cper.c index 1e5d8a4..fefc2ca 100644 --- a/drivers/acpi/apei/cper.c +++ b/drivers/acpi/apei/cper.c @@ -405,7 +405,7 @@ int apei_estatus_check(const struct acpi_hest_generic_status *estatus) return rc; data_len = estatus->data_length; gdata = (struct acpi_hest_generic_data *)(estatus + 1); - while (data_len > sizeof(*gdata)) { + while (data_len >= sizeof(*gdata)) { gedata_len = gdata->error_data_length; if (gedata_len > data_len - sizeof(*gdata)) return -EINVAL;
In Table 18-289, ACPI5.0 SPEC, the error data length in CPER Generic Error Data Entry can be 0, which means this generic error data entry can have only one header. So fix the check conditon for it. Signed-off-by: Chen Gong <gong.chen@linux.intel.com> --- drivers/acpi/apei/cper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)