lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 01 Aug 2013 16:06:46 -0600 From: Toshi Kani <toshi.kani@...com> To: Tang Chen <tangchen@...fujitsu.com> Cc: rjw@...k.pl, lenb@...nel.org, tglx@...utronix.de, mingo@...e.hu, hpa@...or.com, akpm@...ux-foundation.org, tj@...nel.org, trenn@...e.de, yinghai@...nel.org, jiang.liu@...wei.com, wency@...fujitsu.com, laijs@...fujitsu.com, isimatu.yasuaki@...fujitsu.com, izumi.taku@...fujitsu.com, mgorman@...e.de, minchan@...nel.org, mina86@...a86.com, gong.chen@...ux.intel.com, vasilis.liaskovitis@...fitbricks.com, lwoodman@...hat.com, riel@...hat.com, jweiner@...hat.com, prarit@...hat.com, zhangyanfei@...fujitsu.com, yanghy@...fujitsu.com, x86@...nel.org, linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org, linux-mm@...ck.org, linux-acpi@...r.kernel.org Subject: Re: [PATCH v2 03/18] acpi: Remove "continue" in macro INVALID_TABLE(). On Thu, 2013-08-01 at 15:06 +0800, Tang Chen wrote: > The macro INVALID_TABLE() is defined like this: > > #define INVALID_TABLE(x, path, name) \ > { pr_err("ACPI OVERRIDE: " x " [%s%s]\n", path, name); continue; } > > And it is used like this: > > for (...) { > ... > if (...) > INVALID_TABLE() > ... > } > > The "continue" in the macro makes the code hard to understand. > Change it to the style like other macros: > > #define INVALID_TABLE(x, path, name) \ > do { pr_err("ACPI OVERRIDE: " x " [%s%s]\n", path, name); } while (0) > > So after this patch, this macro should be used like this: > > for (...) { > ... > if (...) { > INVALID_TABLE() > continue; > } > ... > } > > Add the "continue" wherever the macro is called. > (For now, it is only called in acpi_initrd_override().) > > The idea is from Yinghai Lu <yinghai@...nel.org>. > > Signed-off-by: Tang Chen <tangchen@...fujitsu.com> > Signed-off-by: Yinghai Lu <yinghai@...nel.org> > Acked-by: Tejun Heo <tj@...nel.org> > Reviewed-by: Zhang Yanfei <zhangyanfei@...fujitsu.com> > --- > drivers/acpi/osl.c | 18 +++++++++++++----- > 1 files changed, 13 insertions(+), 5 deletions(-) > > diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c > index e721863..91d9f54 100644 > --- a/drivers/acpi/osl.c > +++ b/drivers/acpi/osl.c > @@ -565,7 +565,7 @@ static const char * const table_sigs[] = { > > /* Non-fatal errors: Affected tables/files are ignored */ > #define INVALID_TABLE(x, path, name) \ Since you are touching this macro, I'd suggest to rename it something like ACPI_INVALID_TABLE(). INVALID_TABLE() sounds too generic to me. Otherwise, it looks good. Acked-by: Toshi Kani <toshi.kani@...com> Thanks, -Toshi > - { pr_err("ACPI OVERRIDE: " x " [%s%s]\n", path, name); continue; } > + do { pr_err("ACPI OVERRIDE: " x " [%s%s]\n", path, name); } while (0) > > #define ACPI_HEADER_SIZE sizeof(struct acpi_table_header) > > @@ -593,9 +593,11 @@ void __init acpi_initrd_override(void *data, size_t size) > data += offset; > size -= offset; > > - if (file.size < sizeof(struct acpi_table_header)) > + if (file.size < sizeof(struct acpi_table_header)) { > INVALID_TABLE("Table smaller than ACPI header", > cpio_path, file.name); > + continue; > + } > > table = file.data; > > @@ -603,15 +605,21 @@ void __init acpi_initrd_override(void *data, size_t size) > if (!memcmp(table->signature, table_sigs[sig], 4)) > break; > > - if (!table_sigs[sig]) > + if (!table_sigs[sig]) { > INVALID_TABLE("Unknown signature", > cpio_path, file.name); > - if (file.size != table->length) > + continue; > + } > + if (file.size != table->length) { > INVALID_TABLE("File length does not match table length", > cpio_path, file.name); > - if (acpi_table_checksum(file.data, table->length)) > + continue; > + } > + if (acpi_table_checksum(file.data, table->length)) { > INVALID_TABLE("Bad table checksum", > cpio_path, file.name); > + continue; > + } > > pr_info("%4.4s ACPI table found in initrd [%s%s][0x%x]\n", > table->signature, cpio_path, file.name, table->length); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists