From: Gabriel Krisman Bertazi <krisman@collabora.com> To: pvorel@suse.cz, jack@suse.com, amir73il@gmail.com, repnop@google.com Cc: linux-ext4@vger.kernel.org, kernel@collabora.com, khazhy@google.com, ltp@lists.linux.it, Gabriel Krisman Bertazi <krisman@collabora.com> Subject: [PATCH v4 7/9] syscalls/fanotify22: Create a corrupted file Date: Thu, 18 Nov 2021 18:57:42 -0500 [thread overview] Message-ID: <20211118235744.802584-8-krisman@collabora.com> (raw) In-Reply-To: <20211118235744.802584-1-krisman@collabora.com> Allocate a test directory and corrupt it with debugfs. The corruption is done by writing an invalid inode mode. This file can be later looked up to trigger a corruption error. Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> --- testcases/kernel/syscalls/fanotify/fanotify22.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/testcases/kernel/syscalls/fanotify/fanotify22.c b/testcases/kernel/syscalls/fanotify/fanotify22.c index bb44ed55e96e..5d8b4eec74bd 100644 --- a/testcases/kernel/syscalls/fanotify/fanotify22.c +++ b/testcases/kernel/syscalls/fanotify/fanotify22.c @@ -39,9 +39,12 @@ static char event_buf[BUF_SIZE]; int fd_notify; #define MOUNT_PATH "test_mnt" +#define BASE_DIR "internal_dir" +#define BAD_DIR BASE_DIR"/bad_dir" /* These expected FIDs are common to multiple tests */ static struct fanotify_fid_t null_fid; +static struct fanotify_fid_t bad_file_fid; static void trigger_fs_abort(void) { @@ -197,6 +200,18 @@ static void do_test(unsigned int i) check_event(event_buf, read_len, tcase); } +static void pre_corrupt_fs(void) +{ + SAFE_MKDIR(MOUNT_PATH"/"BASE_DIR, 0777); + SAFE_MKDIR(MOUNT_PATH"/"BAD_DIR, 0777); + + fanotify_save_fid(MOUNT_PATH"/"BAD_DIR, &bad_file_fid); + + SAFE_UMOUNT(MOUNT_PATH); + do_debugfs_request(tst_device->dev, "sif " BAD_DIR " mode 0xff"); + SAFE_MOUNT(tst_device->dev, MOUNT_PATH, tst_device->fs_type, 0, NULL); +} + static void init_null_fid(void) { /* Use fanotify_save_fid to fill the fsid and overwrite the @@ -213,6 +228,7 @@ static void setup(void) REQUIRE_FANOTIFY_EVENTS_SUPPORTED_ON_FS(FAN_CLASS_NOTIF|FAN_REPORT_FID, FAN_MARK_FILESYSTEM, FAN_FS_ERROR, "."); + pre_corrupt_fs(); fd_notify = SAFE_FANOTIFY_INIT(FAN_CLASS_NOTIF|FAN_REPORT_FID, O_RDONLY); -- 2.33.0
WARNING: multiple messages have this Message-ID (diff)
From: Gabriel Krisman Bertazi <krisman@collabora.com> To: pvorel@suse.cz, jack@suse.com, amir73il@gmail.com, repnop@google.com Cc: Gabriel Krisman Bertazi <krisman@collabora.com>, linux-ext4@vger.kernel.org, kernel@collabora.com, ltp@lists.linux.it, khazhy@google.com Subject: [LTP] [PATCH v4 7/9] syscalls/fanotify22: Create a corrupted file Date: Thu, 18 Nov 2021 18:57:42 -0500 [thread overview] Message-ID: <20211118235744.802584-8-krisman@collabora.com> (raw) In-Reply-To: <20211118235744.802584-1-krisman@collabora.com> Allocate a test directory and corrupt it with debugfs. The corruption is done by writing an invalid inode mode. This file can be later looked up to trigger a corruption error. Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> --- testcases/kernel/syscalls/fanotify/fanotify22.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/testcases/kernel/syscalls/fanotify/fanotify22.c b/testcases/kernel/syscalls/fanotify/fanotify22.c index bb44ed55e96e..5d8b4eec74bd 100644 --- a/testcases/kernel/syscalls/fanotify/fanotify22.c +++ b/testcases/kernel/syscalls/fanotify/fanotify22.c @@ -39,9 +39,12 @@ static char event_buf[BUF_SIZE]; int fd_notify; #define MOUNT_PATH "test_mnt" +#define BASE_DIR "internal_dir" +#define BAD_DIR BASE_DIR"/bad_dir" /* These expected FIDs are common to multiple tests */ static struct fanotify_fid_t null_fid; +static struct fanotify_fid_t bad_file_fid; static void trigger_fs_abort(void) { @@ -197,6 +200,18 @@ static void do_test(unsigned int i) check_event(event_buf, read_len, tcase); } +static void pre_corrupt_fs(void) +{ + SAFE_MKDIR(MOUNT_PATH"/"BASE_DIR, 0777); + SAFE_MKDIR(MOUNT_PATH"/"BAD_DIR, 0777); + + fanotify_save_fid(MOUNT_PATH"/"BAD_DIR, &bad_file_fid); + + SAFE_UMOUNT(MOUNT_PATH); + do_debugfs_request(tst_device->dev, "sif " BAD_DIR " mode 0xff"); + SAFE_MOUNT(tst_device->dev, MOUNT_PATH, tst_device->fs_type, 0, NULL); +} + static void init_null_fid(void) { /* Use fanotify_save_fid to fill the fsid and overwrite the @@ -213,6 +228,7 @@ static void setup(void) REQUIRE_FANOTIFY_EVENTS_SUPPORTED_ON_FS(FAN_CLASS_NOTIF|FAN_REPORT_FID, FAN_MARK_FILESYSTEM, FAN_FS_ERROR, "."); + pre_corrupt_fs(); fd_notify = SAFE_FANOTIFY_INIT(FAN_CLASS_NOTIF|FAN_REPORT_FID, O_RDONLY); -- 2.33.0 -- Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2021-11-18 23:58 UTC|newest] Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-11-18 23:57 [PATCH v4 0/9] Test the new fanotify FAN_FS_ERROR event Gabriel Krisman Bertazi 2021-11-18 23:57 ` [LTP] " Gabriel Krisman Bertazi 2021-11-18 23:57 ` [PATCH v4 1/9] syscalls: fanotify: Add macro to require specific mark types Gabriel Krisman Bertazi 2021-11-18 23:57 ` [LTP] " Gabriel Krisman Bertazi 2021-11-18 23:57 ` [PATCH v4 2/9] syscalls: fanotify: Add macro to require specific events Gabriel Krisman Bertazi 2021-11-18 23:57 ` [LTP] " Gabriel Krisman Bertazi 2021-11-18 23:57 ` [PATCH v4 3/9] syscalls/fanotify22: Introduce FAN_FS_ERROR test Gabriel Krisman Bertazi 2021-11-18 23:57 ` [LTP] " Gabriel Krisman Bertazi 2021-11-18 23:57 ` [PATCH v4 4/9] syscalls/fanotify22: Validate the generic error info Gabriel Krisman Bertazi 2021-11-18 23:57 ` [LTP] " Gabriel Krisman Bertazi 2021-11-19 5:38 ` Amir Goldstein 2021-11-19 5:38 ` [LTP] " Amir Goldstein 2021-11-19 19:29 ` Petr Vorel 2021-11-19 19:29 ` [LTP] " Petr Vorel 2021-11-19 22:39 ` Petr Vorel 2021-11-19 22:39 ` [LTP] " Petr Vorel 2021-11-18 23:57 ` [PATCH v4 5/9] syscalls/fanotify22: Validate incoming FID in FAN_FS_ERROR Gabriel Krisman Bertazi 2021-11-18 23:57 ` [LTP] " Gabriel Krisman Bertazi 2021-11-18 23:57 ` [PATCH v4 6/9] syscalls/fanotify22: Support submission of debugfs commands Gabriel Krisman Bertazi 2021-11-18 23:57 ` [LTP] " Gabriel Krisman Bertazi 2021-11-18 23:57 ` Gabriel Krisman Bertazi [this message] 2021-11-18 23:57 ` [LTP] [PATCH v4 7/9] syscalls/fanotify22: Create a corrupted file Gabriel Krisman Bertazi 2021-11-18 23:57 ` [PATCH v4 8/9] syscalls/fanotify22: Test file event with broken inode Gabriel Krisman Bertazi 2021-11-18 23:57 ` [LTP] " Gabriel Krisman Bertazi 2021-11-18 23:57 ` [PATCH v4 9/9] syscalls/fanotify22: Test capture of multiple errors Gabriel Krisman Bertazi 2021-11-18 23:57 ` [LTP] " Gabriel Krisman Bertazi 2021-11-19 5:48 ` [PATCH v4 0/9] Test the new fanotify FAN_FS_ERROR event Amir Goldstein 2021-11-19 5:48 ` [LTP] " Amir Goldstein 2021-11-19 19:29 ` Gabriel Krisman Bertazi 2021-11-19 19:29 ` [LTP] " Gabriel Krisman Bertazi 2021-11-20 10:43 ` Amir Goldstein 2021-11-20 10:43 ` [LTP] " Amir Goldstein 2021-11-22 7:47 ` Petr Vorel 2021-11-22 7:47 ` [LTP] " Petr Vorel 2021-11-22 17:35 ` Gabriel Krisman Bertazi 2021-11-22 17:35 ` [LTP] " Gabriel Krisman Bertazi 2021-11-22 21:09 ` Petr Vorel 2021-11-22 21:09 ` [LTP] " Petr Vorel 2021-11-24 10:39 ` Petr Vorel 2021-11-24 10:39 ` Petr Vorel 2021-12-20 11:48 ` Amir Goldstein 2021-12-20 11:48 ` Amir Goldstein 2021-12-20 18:07 ` Petr Vorel 2021-12-20 18:07 ` Petr Vorel 2022-01-10 15:16 ` Petr Vorel 2022-01-10 15:16 ` [LTP] " Petr Vorel 2022-02-02 13:49 ` Amir Goldstein 2022-02-02 13:49 ` [LTP] " Amir Goldstein 2022-02-02 14:10 ` Jan Stancek 2022-02-02 14:10 ` Jan Stancek 2022-02-02 16:45 ` Gabriel Krisman Bertazi 2022-02-02 16:45 ` Gabriel Krisman Bertazi 2022-02-02 14:22 ` Petr Vorel 2022-02-02 14:22 ` [LTP] " Petr Vorel 2022-02-02 16:13 ` Cyril Hrubis 2022-02-02 16:13 ` Cyril Hrubis 2022-02-02 16:57 ` Petr Vorel 2022-02-02 16:57 ` Petr Vorel
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211118235744.802584-8-krisman@collabora.com \ --to=krisman@collabora.com \ --cc=amir73il@gmail.com \ --cc=jack@suse.com \ --cc=kernel@collabora.com \ --cc=khazhy@google.com \ --cc=linux-ext4@vger.kernel.org \ --cc=ltp@lists.linux.it \ --cc=pvorel@suse.cz \ --cc=repnop@google.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.