オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Diff of /branches/ccs-patch/security/ccsecurity/policy_io.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3625 by kumaneko, Wed May 5 01:00:40 2010 UTC revision 3627 by kumaneko, Wed May 5 04:55:52 2010 UTC
# Line 2042  static struct ccs_condition *ccs_get_exe Line 2042  static struct ccs_condition *ccs_get_exe
2042          int len = 256;          int len = 256;
2043          char *realpath = NULL;          char *realpath = NULL;
2044          char *argv0 = NULL;          char *argv0 = NULL;
2045          const struct ccs_profile *profile = ccs_profile(ee->r.domain->profile);          const struct ccs_profile *profile = ccs_profile(ccs_current_domain()->
2046                                                            profile);
2047          if (profile->learning->learning_exec_realpath) {          if (profile->learning->learning_exec_realpath) {
2048                  struct file *file = ee->bprm->file;                  struct file *file = ee->bprm->file;
2049  #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)  #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 20)
# Line 2168  int ccs_supervisor(struct ccs_request_in Line 2169  int ccs_supervisor(struct ccs_request_in
2169          struct ccs_query_entry *ccs_query_entry = NULL;          struct ccs_query_entry *ccs_query_entry = NULL;
2170          bool quota_exceeded = false;          bool quota_exceeded = false;
2171          char *header;          char *header;
2172          if (!r->domain)          struct ccs_domain_info * const domain = ccs_current_domain();
                 r->domain = ccs_current_domain();  
2173          switch (r->mode) {          switch (r->mode) {
2174                  char *buffer;                  char *buffer;
2175                  struct ccs_condition *cond;                  struct ccs_condition *cond;
# Line 2195  int ccs_supervisor(struct ccs_request_in Line 2195  int ccs_supervisor(struct ccs_request_in
2195                          cond = ccs_get_condition(str);                          cond = ccs_get_condition(str);
2196                  } else                  } else
2197                          cond = NULL;                          cond = NULL;
2198                  ccs_write_domain_policy2(buffer, r->domain, cond, false);                  ccs_write_domain_policy2(buffer, domain, cond, false);
2199                  ccs_put_condition(cond);                  ccs_put_condition(cond);
2200                  kfree(buffer);                  kfree(buffer);
2201                  /* fall through */                  /* fall through */
# Line 2206  int ccs_supervisor(struct ccs_request_in Line 2206  int ccs_supervisor(struct ccs_request_in
2206                  int i;                  int i;
2207                  if (current->ccs_flags & CCS_DONT_SLEEP_ON_ENFORCE_ERROR)                  if (current->ccs_flags & CCS_DONT_SLEEP_ON_ENFORCE_ERROR)
2208                          return -EPERM;                          return -EPERM;
2209                  for (i = 0; i < ccs_profile(r->domain->profile)->enforcing->                  for (i = 0; i < ccs_profile(domain->profile)->enforcing->
2210                               enforcing_penalty; i++) {                               enforcing_penalty; i++) {
2211                          set_current_state(TASK_INTERRUPTIBLE);                          set_current_state(TASK_INTERRUPTIBLE);
2212                          schedule_timeout(HZ / 10);                          schedule_timeout(HZ / 10);

Legend:
Removed from v.3625  
changed lines
  Added in v.3627

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26