@@ -119,6 +119,12 @@ static u64 get_id_range(size_t number_of_ids, atomic64_t *const counter,
119
119
120
120
#ifdef CONFIG_SECURITY_LANDLOCK_KUNIT_TEST
121
121
122
+ static u8 get_random_u8_positive (void )
123
+ {
124
+ /* max() evaluates its arguments once. */
125
+ return max (1 , get_random_u8 ());
126
+ }
127
+
122
128
static void test_range1_rand0 (struct kunit * const test )
123
129
{
124
130
atomic64_t counter ;
@@ -127,9 +133,10 @@ static void test_range1_rand0(struct kunit *const test)
127
133
init = get_random_u32 ();
128
134
atomic64_set (& counter , init );
129
135
KUNIT_EXPECT_EQ (test , get_id_range (1 , & counter , 0 ), init );
130
- KUNIT_EXPECT_EQ (
131
- test , get_id_range (get_random_u8 (), & counter , get_random_u8 ()),
132
- init + 1 );
136
+ KUNIT_EXPECT_EQ (test ,
137
+ get_id_range (get_random_u8_positive (), & counter ,
138
+ get_random_u8 ()),
139
+ init + 1 );
133
140
}
134
141
135
142
static void test_range1_rand1 (struct kunit * const test )
@@ -140,9 +147,10 @@ static void test_range1_rand1(struct kunit *const test)
140
147
init = get_random_u32 ();
141
148
atomic64_set (& counter , init );
142
149
KUNIT_EXPECT_EQ (test , get_id_range (1 , & counter , 1 ), init );
143
- KUNIT_EXPECT_EQ (
144
- test , get_id_range (get_random_u8 (), & counter , get_random_u8 ()),
145
- init + 2 );
150
+ KUNIT_EXPECT_EQ (test ,
151
+ get_id_range (get_random_u8_positive (), & counter ,
152
+ get_random_u8 ()),
153
+ init + 2 );
146
154
}
147
155
148
156
static void test_range1_rand15 (struct kunit * const test )
@@ -153,9 +161,10 @@ static void test_range1_rand15(struct kunit *const test)
153
161
init = get_random_u32 ();
154
162
atomic64_set (& counter , init );
155
163
KUNIT_EXPECT_EQ (test , get_id_range (1 , & counter , 15 ), init );
156
- KUNIT_EXPECT_EQ (
157
- test , get_id_range (get_random_u8 (), & counter , get_random_u8 ()),
158
- init + 16 );
164
+ KUNIT_EXPECT_EQ (test ,
165
+ get_id_range (get_random_u8_positive (), & counter ,
166
+ get_random_u8 ()),
167
+ init + 16 );
159
168
}
160
169
161
170
static void test_range1_rand16 (struct kunit * const test )
@@ -166,9 +175,10 @@ static void test_range1_rand16(struct kunit *const test)
166
175
init = get_random_u32 ();
167
176
atomic64_set (& counter , init );
168
177
KUNIT_EXPECT_EQ (test , get_id_range (1 , & counter , 16 ), init );
169
- KUNIT_EXPECT_EQ (
170
- test , get_id_range (get_random_u8 (), & counter , get_random_u8 ()),
171
- init + 1 );
178
+ KUNIT_EXPECT_EQ (test ,
179
+ get_id_range (get_random_u8_positive (), & counter ,
180
+ get_random_u8 ()),
181
+ init + 1 );
172
182
}
173
183
174
184
static void test_range2_rand0 (struct kunit * const test )
@@ -179,9 +189,10 @@ static void test_range2_rand0(struct kunit *const test)
179
189
init = get_random_u32 ();
180
190
atomic64_set (& counter , init );
181
191
KUNIT_EXPECT_EQ (test , get_id_range (2 , & counter , 0 ), init );
182
- KUNIT_EXPECT_EQ (
183
- test , get_id_range (get_random_u8 (), & counter , get_random_u8 ()),
184
- init + 2 );
192
+ KUNIT_EXPECT_EQ (test ,
193
+ get_id_range (get_random_u8_positive (), & counter ,
194
+ get_random_u8 ()),
195
+ init + 2 );
185
196
}
186
197
187
198
static void test_range2_rand1 (struct kunit * const test )
@@ -192,9 +203,10 @@ static void test_range2_rand1(struct kunit *const test)
192
203
init = get_random_u32 ();
193
204
atomic64_set (& counter , init );
194
205
KUNIT_EXPECT_EQ (test , get_id_range (2 , & counter , 1 ), init );
195
- KUNIT_EXPECT_EQ (
196
- test , get_id_range (get_random_u8 (), & counter , get_random_u8 ()),
197
- init + 3 );
206
+ KUNIT_EXPECT_EQ (test ,
207
+ get_id_range (get_random_u8_positive (), & counter ,
208
+ get_random_u8 ()),
209
+ init + 3 );
198
210
}
199
211
200
212
static void test_range2_rand2 (struct kunit * const test )
@@ -205,9 +217,10 @@ static void test_range2_rand2(struct kunit *const test)
205
217
init = get_random_u32 ();
206
218
atomic64_set (& counter , init );
207
219
KUNIT_EXPECT_EQ (test , get_id_range (2 , & counter , 2 ), init );
208
- KUNIT_EXPECT_EQ (
209
- test , get_id_range (get_random_u8 (), & counter , get_random_u8 ()),
210
- init + 4 );
220
+ KUNIT_EXPECT_EQ (test ,
221
+ get_id_range (get_random_u8_positive (), & counter ,
222
+ get_random_u8 ()),
223
+ init + 4 );
211
224
}
212
225
213
226
static void test_range2_rand15 (struct kunit * const test )
@@ -218,9 +231,10 @@ static void test_range2_rand15(struct kunit *const test)
218
231
init = get_random_u32 ();
219
232
atomic64_set (& counter , init );
220
233
KUNIT_EXPECT_EQ (test , get_id_range (2 , & counter , 15 ), init );
221
- KUNIT_EXPECT_EQ (
222
- test , get_id_range (get_random_u8 (), & counter , get_random_u8 ()),
223
- init + 17 );
234
+ KUNIT_EXPECT_EQ (test ,
235
+ get_id_range (get_random_u8_positive (), & counter ,
236
+ get_random_u8 ()),
237
+ init + 17 );
224
238
}
225
239
226
240
static void test_range2_rand16 (struct kunit * const test )
@@ -231,9 +245,10 @@ static void test_range2_rand16(struct kunit *const test)
231
245
init = get_random_u32 ();
232
246
atomic64_set (& counter , init );
233
247
KUNIT_EXPECT_EQ (test , get_id_range (2 , & counter , 16 ), init );
234
- KUNIT_EXPECT_EQ (
235
- test , get_id_range (get_random_u8 (), & counter , get_random_u8 ()),
236
- init + 2 );
248
+ KUNIT_EXPECT_EQ (test ,
249
+ get_id_range (get_random_u8_positive (), & counter ,
250
+ get_random_u8 ()),
251
+ init + 2 );
237
252
}
238
253
239
254
#endif /* CONFIG_SECURITY_LANDLOCK_KUNIT_TEST */
0 commit comments