src/seek_sanity_test: test seeks from LLONG_MIN
authorMatthew Wilcox <willy@infradead.org>
Tue, 6 Jul 2021 20:14:46 +0000 (21:14 +0100)
committerEryu Guan <guaneryu@gmail.com>
Sun, 18 Jul 2021 14:06:40 +0000 (22:06 +0800)
We don't currently test seeking from LLONG_MIN, which apparently can
produce an UBSAN warning, although I've been unable to reproduce
that.  In any case, it's a good corner case to test and
straightforward to add.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
src/seek_sanity_test.c

index cb036f7bda87859e204f30b465726b770848287e..76587b7f13197d0424183a79434666e7bc0caa1f 100644 (file)
@@ -395,8 +395,12 @@ static int test18(int fd, int testnum)
        int ret = 0;
 
        /* file size doesn't matter in this test, set to 0 */
        int ret = 0;
 
        /* file size doesn't matter in this test, set to 0 */
+       ftruncate(fd, 0);
+
        ret += do_lseek(testnum, 1, fd, 0, SEEK_HOLE, -1, -1);
        ret += do_lseek(testnum, 2, fd, 0, SEEK_DATA, -1, -1);
        ret += do_lseek(testnum, 1, fd, 0, SEEK_HOLE, -1, -1);
        ret += do_lseek(testnum, 2, fd, 0, SEEK_DATA, -1, -1);
+       ret += do_lseek(testnum, 3, fd, 0, SEEK_HOLE, LLONG_MIN, -1);
+       ret += do_lseek(testnum, 4, fd, 0, SEEK_DATA, LLONG_MIN, -1);
 
        return ret;
 }
 
        return ret;
 }