@@ -40,7 +40,6 @@ FIXTURE(audit)
4040{
4141 struct audit_filter audit_filter ;
4242 int audit_fd ;
43- __u64 (* domain_stack )[16 ];
4443};
4544
4645FIXTURE_SETUP (audit )
@@ -60,18 +59,10 @@ FIXTURE_SETUP(audit)
6059 TH_LOG ("Failed to initialize audit: %s" , error_msg );
6160 }
6261 clear_cap (_metadata , CAP_AUDIT_CONTROL );
63-
64- self -> domain_stack = mmap (NULL , sizeof (* self -> domain_stack ),
65- PROT_READ | PROT_WRITE ,
66- MAP_SHARED | MAP_ANONYMOUS , -1 , 0 );
67- ASSERT_NE (MAP_FAILED , self -> domain_stack );
68- memset (self -> domain_stack , 0 , sizeof (* self -> domain_stack ));
6962}
7063
7164FIXTURE_TEARDOWN (audit )
7265{
73- EXPECT_EQ (0 , munmap (self -> domain_stack , sizeof (* self -> domain_stack )));
74-
7566 set_cap (_metadata , CAP_AUDIT_CONTROL );
7667 EXPECT_EQ (0 , audit_cleanup (self -> audit_fd , & self -> audit_filter ));
7768 clear_cap (_metadata , CAP_AUDIT_CONTROL );
@@ -83,9 +74,15 @@ TEST_F(audit, layers)
8374 .scoped = LANDLOCK_SCOPE_SIGNAL ,
8475 };
8576 int status , ruleset_fd , i ;
77+ __u64 (* domain_stack )[16 ];
8678 __u64 prev_dom = 3 ;
8779 pid_t child ;
8880
81+ domain_stack = mmap (NULL , sizeof (* domain_stack ), PROT_READ | PROT_WRITE ,
82+ MAP_SHARED | MAP_ANONYMOUS , -1 , 0 );
83+ ASSERT_NE (MAP_FAILED , domain_stack );
84+ memset (domain_stack , 0 , sizeof (* domain_stack ));
85+
8986 ruleset_fd =
9087 landlock_create_ruleset (& ruleset_attr , sizeof (ruleset_attr ), 0 );
9188 ASSERT_LE (0 , ruleset_fd );
@@ -94,7 +91,7 @@ TEST_F(audit, layers)
9491 child = fork ();
9592 ASSERT_LE (0 , child );
9693 if (child == 0 ) {
97- for (i = 0 ; i < ARRAY_SIZE (* self -> domain_stack ); i ++ ) {
94+ for (i = 0 ; i < ARRAY_SIZE (* domain_stack ); i ++ ) {
9895 __u64 denial_dom = 1 ;
9996 __u64 allocated_dom = 2 ;
10097
@@ -115,7 +112,7 @@ TEST_F(audit, layers)
115112 /* Checks that the new domain is younger than the previous one. */
116113 EXPECT_GT (allocated_dom , prev_dom );
117114 prev_dom = allocated_dom ;
118- (* self -> domain_stack )[i ] = allocated_dom ;
115+ (* domain_stack )[i ] = allocated_dom ;
119116 }
120117
121118 /* Checks that we reached the maximum number of layers. */
@@ -142,20 +139,20 @@ TEST_F(audit, layers)
142139 /* Purges log from deallocated domains. */
143140 EXPECT_EQ (0 , setsockopt (self -> audit_fd , SOL_SOCKET , SO_RCVTIMEO ,
144141 & audit_tv_dom_drop , sizeof (audit_tv_dom_drop )));
145- for (i = ARRAY_SIZE (* self -> domain_stack ) - 1 ; i >= 0 ; i -- ) {
142+ for (i = ARRAY_SIZE (* domain_stack ) - 1 ; i >= 0 ; i -- ) {
146143 __u64 deallocated_dom = 2 ;
147144
148145 EXPECT_EQ (0 , matches_log_domain_deallocated (self -> audit_fd , 1 ,
149146 & deallocated_dom ));
150- EXPECT_EQ ((* self -> domain_stack )[i ], deallocated_dom )
147+ EXPECT_EQ ((* domain_stack )[i ], deallocated_dom )
151148 {
152149 TH_LOG ("Failed to match domain %llx (#%d)" ,
153- (* self -> domain_stack )[i ], i );
150+ (* domain_stack )[i ], i );
154151 }
155152 }
153+ EXPECT_EQ (0 , munmap (domain_stack , sizeof (* domain_stack )));
156154 EXPECT_EQ (0 , setsockopt (self -> audit_fd , SOL_SOCKET , SO_RCVTIMEO ,
157155 & audit_tv_default , sizeof (audit_tv_default )));
158-
159156 EXPECT_EQ (0 , close (ruleset_fd ));
160157}
161158
0 commit comments