Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 201856
b: refs/heads/master
c: cb917cf
h: refs/heads/master
v: v3
  • Loading branch information
Tetsuo Handa authored and James Morris committed Aug 2, 2010
1 parent f0c69eb commit edd45b3
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 42 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 71c282362d0672235c5205a7db1f3ac3fcf32981
refs/heads/master: cb917cf517075a357ce43b74e8a5a57f2c69a734
50 changes: 9 additions & 41 deletions trunk/security/tomoyo/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -265,14 +265,6 @@ static int tomoyo_audit_path_number_log(struct tomoyo_request_info *r)
tomoyo_file_pattern(filename), buffer);
}

static int tomoyo_update_path2_acl(const u8 type, const char *filename1,
const char *filename2,
struct tomoyo_domain_info *const domain,
const bool is_delete);
static int tomoyo_update_path_acl(const u8 type, const char *filename,
struct tomoyo_domain_info *const domain,
const bool is_delete);

/*
* tomoyo_globally_readable_list is used for holding list of pathnames which
* are by default allowed to be open()ed for reading by any process.
Expand Down Expand Up @@ -1045,37 +1037,6 @@ static int tomoyo_update_path_number_acl(const u8 type, const char *filename,
return error;
}

/**
* tomoyo_path_number_perm2 - Check permission for "create", "mkdir", "mkfifo", "mksock", "ioctl", "chmod", "chown", "chgrp".
*
* @r: Pointer to "strct tomoyo_request_info".
* @filename: Filename to check.
* @number: Number.
*
* Returns 0 on success, negative value otherwise.
*
* Caller holds tomoyo_read_lock().
*/
static int tomoyo_path_number_perm2(struct tomoyo_request_info *r,
const u8 type,
const struct tomoyo_path_info *filename,
const unsigned long number)
{
int error;

if (!filename)
return 0;
r->param_type = TOMOYO_TYPE_PATH_NUMBER_ACL;
r->param.path_number.operation = type;
r->param.path_number.filename = filename;
r->param.path_number.number = number;
do {
tomoyo_check_acl(r, tomoyo_check_path_number_acl);
error = tomoyo_audit_path_number_log(r);
} while (error == TOMOYO_RETRY_REQUEST);
return error;
}

/**
* tomoyo_path_number_perm - Check permission for "create", "mkdir", "mkfifo", "mksock", "ioctl", "chmod", "chown", "chgrp".
*
Expand All @@ -1101,9 +1062,16 @@ int tomoyo_path_number_perm(const u8 type, struct path *path,
goto out;
if (type == TOMOYO_TYPE_MKDIR)
tomoyo_add_slash(&buf);
error = tomoyo_path_number_perm2(&r, type, &buf, number);
out:
r.param_type = TOMOYO_TYPE_PATH_NUMBER_ACL;
r.param.path_number.operation = type;
r.param.path_number.filename = &buf;
r.param.path_number.number = number;
do {
tomoyo_check_acl(&r, tomoyo_check_path_number_acl);
error = tomoyo_audit_path_number_log(&r);
} while (error == TOMOYO_RETRY_REQUEST);
kfree(buf.name);
out:
tomoyo_read_unlock(idx);
if (r.mode != TOMOYO_CONFIG_ENFORCING)
error = 0;
Expand Down

0 comments on commit edd45b3

Please sign in to comment.