b4a002889d
DAMON debugfs interface users were able to trigger warning by writing some files with arbitrarily large 'count' parameter. The issue is fixed with commit db7a347b26fe ("mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation"). This commit adds a test case for the issue in DAMON selftests to avoid future regressions. Link: https://lkml.kernel.org/r/20211201150440.1088-11-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Cc: Brendan Higgins <brendanhiggins@google.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40 lines
711 B
C
40 lines
711 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* Author: SeongJae Park <sj@kernel.org>
|
|
*/
|
|
|
|
#include <fcntl.h>
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
#include <stdio.h>
|
|
|
|
void write_read_with_huge_count(char *file)
|
|
{
|
|
int filedesc = open(file, O_RDWR);
|
|
char buf[25];
|
|
int ret;
|
|
|
|
printf("%s %s\n", __func__, file);
|
|
if (filedesc < 0) {
|
|
fprintf(stderr, "failed opening %s\n", file);
|
|
exit(1);
|
|
}
|
|
|
|
write(filedesc, "", 0xfffffffful);
|
|
perror("after write: ");
|
|
ret = read(filedesc, buf, 0xfffffffful);
|
|
perror("after read: ");
|
|
close(filedesc);
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
if (argc != 2) {
|
|
fprintf(stderr, "Usage: %s <file>\n", argv[0]);
|
|
exit(1);
|
|
}
|
|
write_read_with_huge_count(argv[1]);
|
|
|
|
return 0;
|
|
}
|