Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

tools/testing/vma: add test for vma_flags_test(), vma_desc_test()

Now we have helpers which test singular VMA flags - vma_flags_test() and
vma_desc_test() - add a test to explicitly assert that these behave as
expected.

[ljs@kernel.org: test_vma_flags_test(): use struct initializer, per David]
Link: https://lkml.kernel.org/r/f6f396d2-1ba2-426f-b756-d8cc5985cc7c@lucifer.local
Link: https://lkml.kernel.org/r/376a39eb9e134d2c8ab10e32720dd292970b080a.1772704455.git.ljs@kernel.org
Signed-off-by: Lorenzo Stoakes (Oracle) <ljs@kernel.org>
Acked-by: David Hildenbrand (Arm) <david@kernel.org>
Reviewed-by: Pedro Falcato <pfalcato@suse.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Babu Moger <babu.moger@amd.com>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Chao Yu <chao@kernel.org>
Cc: Chatre, Reinette <reinette.chatre@intel.com>
Cc: Chunhai Guo <guochunhai@vivo.com>
Cc: Damien Le Maol <dlemoal@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Dave Martin <dave.martin@arm.com>
Cc: Gao Xiang <xiang@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Hongbo Li <lihongbo22@huawei.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: James Morse <james.morse@arm.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jann Horn <jannh@google.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Jeffle Xu <jefflexu@linux.alibaba.com>
Cc: Johannes Thumshirn <jth@kernel.org>
Cc: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Cc: Liam Howlett <liam.howlett@oracle.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Naohiro Aota <naohiro.aota@wdc.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Sandeep Dhavale <dhavale@google.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Vlastimil Babka <vbabka@kernel.org>
Cc: Yue Hu <zbestahu@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Lorenzo Stoakes (Oracle) and committed by
Andrew Morton
5cfb95f3 0c2aa663

+36
+36
tools/testing/vma/tests/vma.c
··· 159 159 return true; 160 160 } 161 161 162 + /* Ensure that vma_flags_test() and friends works correctly. */ 163 + static bool test_vma_flags_test(void) 164 + { 165 + const vma_flags_t flags = mk_vma_flags(VMA_READ_BIT, VMA_WRITE_BIT, 166 + VMA_EXEC_BIT, 64, 65); 167 + struct vm_area_desc desc = { 168 + .vma_flags = flags, 169 + }; 170 + 171 + #define do_test(_flag) \ 172 + ASSERT_TRUE(vma_flags_test(&flags, _flag)); \ 173 + ASSERT_TRUE(vma_desc_test(&desc, _flag)) 174 + 175 + #define do_test_false(_flag) \ 176 + ASSERT_FALSE(vma_flags_test(&flags, _flag)); \ 177 + ASSERT_FALSE(vma_desc_test(&desc, _flag)) 178 + 179 + do_test(VMA_READ_BIT); 180 + do_test(VMA_WRITE_BIT); 181 + do_test(VMA_EXEC_BIT); 182 + #if NUM_VMA_FLAG_BITS > 64 183 + do_test(64); 184 + do_test(65); 185 + #endif 186 + do_test_false(VMA_MAYWRITE_BIT); 187 + #if NUM_VMA_FLAG_BITS > 64 188 + do_test_false(66); 189 + #endif 190 + 191 + #undef do_test 192 + #undef do_test_false 193 + 194 + return true; 195 + } 196 + 162 197 /* Ensure that vma_flags_test_any() and friends works correctly. */ 163 198 static bool test_vma_flags_test_any(void) 164 199 { ··· 369 334 TEST(vma_flags_unchanged); 370 335 TEST(vma_flags_cleared); 371 336 TEST(vma_flags_word); 337 + TEST(vma_flags_test); 372 338 TEST(vma_flags_test_any); 373 339 TEST(vma_flags_clear); 374 340 }