Commit b6f9cd83 authored by Vincent Donnefort's avatar Vincent Donnefort Committed by Shuah Khan
Browse files

selftests/ring-buffer: Add test for out-of-bound pgoff mapping

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

Link: https://lore.kernel.org/r/20241218170318.2814991-1-vdonnefort@google.com


Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: linux-kselftest@vger.kernel.org
Signed-off-by: default avatarVincent Donnefort <vdonnefort@google.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 103c0b5e
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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;