chown
} else if (chown(file, attrs->ia_uid, -1)) {
} else if (chown(file, -1, attrs->ia_gid)) {
SYSCALL_DEFINE3(chown, const char __user *, filename, uid_t, user, gid_t, group)
if (chown("validate_cap_suidroot", 0, -1) != 0)
if (chown("validate_cap_suidnonroot", uid + 1, -1) != 0)
if (chown("validate_cap_sgidroot", -1, 0) != 0)
if (chown("validate_cap_sgidnonroot", -1, gid + 1) != 0)
if (chown(cg_test_a_procs, test_euid, -1) ||
chown(cg_test_b_procs, test_euid, -1))
if (chown(cg_test_a_procs, test_euid, -1) ||
chown(cg_test_b_procs, test_euid, -1))
if (chown(child_src_procs, test_euid, -1) ||
chown(child_dst_procs, test_euid, -1))
if (allow && chown(parent_procs, test_euid, -1))
if (chown(parent_procs, test_euid, -1) ||
chown(parent_subctl, test_euid, -1) ||
chown(child_procs, test_euid, -1))
ASSERT_EQ(chown("/tmp/B/b", 0, 0), 0);
ASSERT_EQ(chown("/tmp/B/BB/b", 0, 0), 0);
CASE_TEST(chown_self); EXPECT_SYSER(proc, chown("/proc/self", 0, 0), -1, EPERM); break;