[LTP] [PATCH 5/9] syscalls/fanotify10: Add more verifications and debug info
Petr Vorel
pvorel@suse.cz
Tue Sep 6 19:01:42 CEST 2022
Hi Amir, all,
> Check that non-evictable inode ignore marks exist as expected
> and print mask of unexpected events.
> Fix information printed for events from unexpected pid.
Reviewed-by: Petr Vorel <pvorel@suse.cz>
...
> +++ b/testcases/kernel/syscalls/fanotify/fanotify10.c
...
> @@ -582,14 +591,18 @@ static void test_fanotify(unsigned int n)
> for (p = 1; p < num_classes && !tc->expected_mask_with_ignore; p++) {
> for (i = 0; i < GROUPS_PER_PRIO; i++) {
> ret = read(fd_notify[p][i], event_buf, EVENT_BUF_LEN);
> - if (ret == 0) {
> + if (ret >= 0 && ret < (int)FAN_EVENT_METADATA_LEN) {
> tst_brk(TBROK,
> - "zero length read from fanotify fd");
> + "short read when reading fanotify "
> + "events (%d < %d)", ret,
> + (int)EVENT_BUF_LEN);
Just for the record printing like this...
> }
> + event = (struct fanotify_event_metadata *)event_buf;
> if (ret > 0) {
> tst_res(TFAIL, "group %d (%x) with %s and "
> - "%s ignore mask got event",
> - i, fanotify_class[p], mark->name, ignore_mark->name);
> + "%s ignore mask got unexpected event (mask %llx)",
> + i, fanotify_class[p], mark->name, ignore_mark->name,
> + event->mask);
and this will be possible to avoid with macros include/tst_test_macros.h,
which prints them for free. FYI there can be also custom error text instead
of the failing syscall with parameters printed by default. But IMHO there should
be a reason to use it (mostly the default should be good enough, in case of
failure test reviewers will have to look into the test source anyway).
Kind regards,
Petr
> if (event->fd != FAN_NOFD)
> SAFE_CLOSE(event->fd);
> } else if (errno == EAGAIN) {
More information about the ltp
mailing list