Extend the ring-buffer mapping test coverage by checking an out-of-bound
pgoff which has proven to be problematic in the past.

Cc: Shuah Khan <sk...@linuxfoundation.org>
Cc: linux-kselft...@vger.kernel.org
Signed-off-by: Vincent Donnefort <vdonnef...@google.com>

diff --git a/tools/testing/selftests/ring-buffer/map_test.c 
b/tools/testing/selftests/ring-buffer/map_test.c
index d10a847130fb..a58f520f2f41 100644
--- a/tools/testing/selftests/ring-buffer/map_test.c
+++ b/tools/testing/selftests/ring-buffer/map_test.c
@@ -233,12 +233,18 @@ TEST_F(map, data_mmap)
        ASSERT_NE(data, MAP_FAILED);
        munmap(data, data_len);
 
-       /* Overflow the available subbufs by 1 */
+       /* Offset within ring-buffer bounds, mapping size overflow */
        meta_len += desc->meta->subbuf_size * 2;
        data = mmap(NULL, data_len, PROT_READ, MAP_SHARED,
                    desc->cpu_fd, meta_len);
        ASSERT_EQ(data, MAP_FAILED);
 
+       /* Offset outside ring-buffer bounds */
+       data_len = desc->meta->subbuf_size * desc->meta->nr_subbufs;
+       data = mmap(NULL, data_len, PROT_READ, MAP_SHARED,
+                   desc->cpu_fd, data_len + (desc->meta->subbuf_size * 2));
+       ASSERT_EQ(data, MAP_FAILED);
+
        /* Verify meta-page padding */
        if (desc->meta->meta_page_size > getpagesize()) {
                data_len = desc->meta->meta_page_size;

base-commit: 61baee2dc5341c936e7fa7b1ca33c5607868de69
-- 
2.47.1.613.gc27f4b7a9f-goog


Reply via email to