mirror of https://gitee.com/openkylin/linux.git
selftests: openat2: add RESOLVE_ conflict test
Now that we reject conflicting RESOLVE_ flags, add a selftest to avoid regressions. Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> Link: https://lore.kernel.org/r/20201027235044.5240-3-cyphar@cyphar.com Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
parent
398840f8bb
commit
4e62d55d77
|
@ -155,7 +155,7 @@ struct flag_test {
|
||||||
int err;
|
int err;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NUM_OPENAT2_FLAG_TESTS 23
|
#define NUM_OPENAT2_FLAG_TESTS 24
|
||||||
|
|
||||||
void test_openat2_flags(void)
|
void test_openat2_flags(void)
|
||||||
{
|
{
|
||||||
|
@ -210,6 +210,12 @@ void test_openat2_flags(void)
|
||||||
.how.flags = O_TMPFILE | O_RDWR,
|
.how.flags = O_TMPFILE | O_RDWR,
|
||||||
.how.mode = 0x0000A00000000000ULL, .err = -EINVAL },
|
.how.mode = 0x0000A00000000000ULL, .err = -EINVAL },
|
||||||
|
|
||||||
|
/* ->resolve flags must not conflict. */
|
||||||
|
{ .name = "incompatible resolve flags (BENEATH | IN_ROOT)",
|
||||||
|
.how.flags = O_RDONLY,
|
||||||
|
.how.resolve = RESOLVE_BENEATH | RESOLVE_IN_ROOT,
|
||||||
|
.err = -EINVAL },
|
||||||
|
|
||||||
/* ->resolve must only contain RESOLVE_* flags. */
|
/* ->resolve must only contain RESOLVE_* flags. */
|
||||||
{ .name = "invalid how.resolve and O_RDONLY",
|
{ .name = "invalid how.resolve and O_RDONLY",
|
||||||
.how.flags = O_RDONLY,
|
.how.flags = O_RDONLY,
|
||||||
|
|
Loading…
Reference in New Issue