| From: Rong Tao <rongtao@cestc.cn> |
| Subject: selftests/damon: fix unnecessary compilation warnings |
| Date: Sun, 13 Nov 2022 08:38:45 +0800 |
| |
| When testing overflow and overread, there is no need to keep unnecessary |
| compilation warnings, we should simply ignore them. |
| |
| The motivation for this patch is to eliminate the compilation warning, |
| maybe one day we will compile the kernel with "-Werror -Wall", at which |
| point this compilation warning will turn into a compilation error, we |
| should fix this error in advance. |
| |
| How to reproduce the problem (with gcc-11.3.1): |
| |
| $ make -C tools/testing/selftests/ |
| ... |
| warning: `write' reading 4294967295 bytes from a region of size 1 |
| [-Wstringop-overread] |
| warning: `read' writing 4294967295 bytes into a region of size 25 |
| overflows the destination [-Wstringop-overflow=] |
| |
| "-Wno-stringop-overread" is supported at least in gcc-11.1.0. |
| |
| Link: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d14c547abd484d3540b692bb8048c4a6efe92c8b |
| Link: https://lkml.kernel.org/r/tencent_51C4ACA8CB3895C2D7F35178440283602107@qq.com |
| Signed-off-by: Rong Tao <rongtao@cestc.cn> |
| Reviewed-by: SeongJae Park <sj@kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| tools/testing/selftests/damon/huge_count_read_write.c | 9 +++++++++ |
| 1 file changed, 9 insertions(+) |
| |
| --- a/tools/testing/selftests/damon/huge_count_read_write.c~selftests-damon-fix-unnecessary-compilation-warnings |
| +++ a/tools/testing/selftests/damon/huge_count_read_write.c |
| @@ -8,6 +8,13 @@ |
| #include <unistd.h> |
| #include <stdio.h> |
| |
| +#pragma GCC diagnostic push |
| +#if __GNUC__ >= 11 && __GNUC_MINOR__ >= 1 |
| +/* Ignore read(2) overflow and write(2) overread compile warnings */ |
| +#pragma GCC diagnostic ignored "-Wstringop-overread" |
| +#pragma GCC diagnostic ignored "-Wstringop-overflow" |
| +#endif |
| + |
| void write_read_with_huge_count(char *file) |
| { |
| int filedesc = open(file, O_RDWR); |
| @@ -27,6 +34,8 @@ void write_read_with_huge_count(char *fi |
| close(filedesc); |
| } |
| |
| +#pragma GCC diagnostic pop |
| + |
| int main(int argc, char *argv[]) |
| { |
| if (argc != 2) { |
| _ |