aboutsummaryrefslogtreecommitdiffstats
path: root/security/tomoyo
diff options
context:
space:
mode:
authorTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>2009-06-02 07:42:24 -0400
committerJames Morris <jmorris@namei.org>2009-06-02 17:51:51 -0400
commit7d2948b1248109dbc7f4aaf9867c54b1912d494c (patch)
tree24edc8fa319598bc32b7d53c7b61fb3ec9ae9e92 /security/tomoyo
parentab588ccadc80f6ef5495e83e176e88c5c0fc2d0e (diff)
TOMOYO: Simplify policy reader.
We can directly assign the result of tomoyo_io_printf() to done flag. Signed-off-by: Kentaro Takeda <takedakn@nttdata.co.jp> Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Toshiharu Harada <haradats@nttdata.co.jp> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'security/tomoyo')
-rw-r--r--security/tomoyo/common.c41
-rw-r--r--security/tomoyo/domain.c31
-rw-r--r--security/tomoyo/file.c21
3 files changed, 41 insertions, 52 deletions
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c
index a42fe02c6144..6d2561276a7b 100644
--- a/security/tomoyo/common.c
+++ b/security/tomoyo/common.c
@@ -1113,10 +1113,9 @@ static int tomoyo_read_manager_policy(struct tomoyo_io_buffer *head)
1113 list); 1113 list);
1114 if (ptr->is_deleted) 1114 if (ptr->is_deleted)
1115 continue; 1115 continue;
1116 if (!tomoyo_io_printf(head, "%s\n", ptr->manager->name)) { 1116 done = tomoyo_io_printf(head, "%s\n", ptr->manager->name);
1117 done = false; 1117 if (!done)
1118 break; 1118 break;
1119 }
1120 } 1119 }
1121 up_read(&tomoyo_policy_manager_list_lock); 1120 up_read(&tomoyo_policy_manager_list_lock);
1122 head->read_eof = done; 1121 head->read_eof = done;
@@ -1441,15 +1440,14 @@ static int tomoyo_read_domain_policy(struct tomoyo_io_buffer *head)
1441 TOMOYO_DOMAIN_FLAGS_IGNORE_GLOBAL_ALLOW_READ) 1440 TOMOYO_DOMAIN_FLAGS_IGNORE_GLOBAL_ALLOW_READ)
1442 ignore_global_allow_read 1441 ignore_global_allow_read
1443 = TOMOYO_KEYWORD_IGNORE_GLOBAL_ALLOW_READ "\n"; 1442 = TOMOYO_KEYWORD_IGNORE_GLOBAL_ALLOW_READ "\n";
1444 if (!tomoyo_io_printf(head, 1443 done = tomoyo_io_printf(head, "%s\n" TOMOYO_KEYWORD_USE_PROFILE
1445 "%s\n" TOMOYO_KEYWORD_USE_PROFILE "%u\n" 1444 "%u\n%s%s%s\n",
1446 "%s%s%s\n", domain->domainname->name, 1445 domain->domainname->name,
1447 domain->profile, quota_exceeded, 1446 domain->profile, quota_exceeded,
1448 transition_failed, 1447 transition_failed,
1449 ignore_global_allow_read)) { 1448 ignore_global_allow_read);
1450 done = false; 1449 if (!done)
1451 break; 1450 break;
1452 }
1453 head->read_step = 2; 1451 head->read_step = 2;
1454acl_loop: 1452acl_loop:
1455 if (head->read_step == 3) 1453 if (head->read_step == 3)
@@ -1457,24 +1455,22 @@ acl_loop:
1457 /* Print ACL entries in the domain. */ 1455 /* Print ACL entries in the domain. */
1458 down_read(&tomoyo_domain_acl_info_list_lock); 1456 down_read(&tomoyo_domain_acl_info_list_lock);
1459 list_for_each_cookie(apos, head->read_var2, 1457 list_for_each_cookie(apos, head->read_var2,
1460 &domain->acl_info_list) { 1458 &domain->acl_info_list) {
1461 struct tomoyo_acl_info *ptr 1459 struct tomoyo_acl_info *ptr
1462 = list_entry(apos, struct tomoyo_acl_info, 1460 = list_entry(apos, struct tomoyo_acl_info,
1463 list); 1461 list);
1464 if (!tomoyo_print_entry(head, ptr)) { 1462 done = tomoyo_print_entry(head, ptr);
1465 done = false; 1463 if (!done)
1466 break; 1464 break;
1467 }
1468 } 1465 }
1469 up_read(&tomoyo_domain_acl_info_list_lock); 1466 up_read(&tomoyo_domain_acl_info_list_lock);
1470 if (!done) 1467 if (!done)
1471 break; 1468 break;
1472 head->read_step = 3; 1469 head->read_step = 3;
1473tail_mark: 1470tail_mark:
1474 if (!tomoyo_io_printf(head, "\n")) { 1471 done = tomoyo_io_printf(head, "\n");
1475 done = false; 1472 if (!done)
1476 break; 1473 break;
1477 }
1478 head->read_step = 1; 1474 head->read_step = 1;
1479 if (head->read_single_domain) 1475 if (head->read_single_domain)
1480 break; 1476 break;
@@ -1544,11 +1540,10 @@ static int tomoyo_read_domain_profile(struct tomoyo_io_buffer *head)
1544 domain = list_entry(pos, struct tomoyo_domain_info, list); 1540 domain = list_entry(pos, struct tomoyo_domain_info, list);
1545 if (domain->is_deleted) 1541 if (domain->is_deleted)
1546 continue; 1542 continue;
1547 if (!tomoyo_io_printf(head, "%u %s\n", domain->profile, 1543 done = tomoyo_io_printf(head, "%u %s\n", domain->profile,
1548 domain->domainname->name)) { 1544 domain->domainname->name);
1549 done = false; 1545 if (!done)
1550 break; 1546 break;
1551 }
1552 } 1547 }
1553 up_read(&tomoyo_domain_list_lock); 1548 up_read(&tomoyo_domain_list_lock);
1554 head->read_eof = done; 1549 head->read_eof = done;
diff --git a/security/tomoyo/domain.c b/security/tomoyo/domain.c
index aa119ca5a782..34bb641c6743 100644
--- a/security/tomoyo/domain.c
+++ b/security/tomoyo/domain.c
@@ -189,13 +189,12 @@ bool tomoyo_read_domain_initializer_policy(struct tomoyo_io_buffer *head)
189 from = " from "; 189 from = " from ";
190 domain = ptr->domainname->name; 190 domain = ptr->domainname->name;
191 } 191 }
192 if (!tomoyo_io_printf(head, 192 done = tomoyo_io_printf(head,
193 "%s" TOMOYO_KEYWORD_INITIALIZE_DOMAIN 193 "%s" TOMOYO_KEYWORD_INITIALIZE_DOMAIN
194 "%s%s%s\n", no, ptr->program->name, from, 194 "%s%s%s\n", no, ptr->program->name,
195 domain)) { 195 from, domain);
196 done = false; 196 if (!done)
197 break; 197 break;
198 }
199 } 198 }
200 up_read(&tomoyo_domain_initializer_list_lock); 199 up_read(&tomoyo_domain_initializer_list_lock);
201 return done; 200 return done;
@@ -387,13 +386,12 @@ bool tomoyo_read_domain_keeper_policy(struct tomoyo_io_buffer *head)
387 from = " from "; 386 from = " from ";
388 program = ptr->program->name; 387 program = ptr->program->name;
389 } 388 }
390 if (!tomoyo_io_printf(head, 389 done = tomoyo_io_printf(head,
391 "%s" TOMOYO_KEYWORD_KEEP_DOMAIN 390 "%s" TOMOYO_KEYWORD_KEEP_DOMAIN
392 "%s%s%s\n", no, program, from, 391 "%s%s%s\n", no, program, from,
393 ptr->domainname->name)) { 392 ptr->domainname->name);
394 done = false; 393 if (!done)
395 break; 394 break;
396 }
397 } 395 }
398 up_read(&tomoyo_domain_keeper_list_lock); 396 up_read(&tomoyo_domain_keeper_list_lock);
399 return done; 397 return done;
@@ -513,12 +511,11 @@ bool tomoyo_read_alias_policy(struct tomoyo_io_buffer *head)
513 ptr = list_entry(pos, struct tomoyo_alias_entry, list); 511 ptr = list_entry(pos, struct tomoyo_alias_entry, list);
514 if (ptr->is_deleted) 512 if (ptr->is_deleted)
515 continue; 513 continue;
516 if (!tomoyo_io_printf(head, TOMOYO_KEYWORD_ALIAS "%s %s\n", 514 done = tomoyo_io_printf(head, TOMOYO_KEYWORD_ALIAS "%s %s\n",
517 ptr->original_name->name, 515 ptr->original_name->name,
518 ptr->aliased_name->name)) { 516 ptr->aliased_name->name);
519 done = false; 517 if (!done)
520 break; 518 break;
521 }
522 } 519 }
523 up_read(&tomoyo_alias_list_lock); 520 up_read(&tomoyo_alias_list_lock);
524 return done; 521 return done;
diff --git a/security/tomoyo/file.c b/security/tomoyo/file.c
index adf786d7421d..a67f9e61ee60 100644
--- a/security/tomoyo/file.c
+++ b/security/tomoyo/file.c
@@ -247,11 +247,10 @@ bool tomoyo_read_globally_readable_policy(struct tomoyo_io_buffer *head)
247 list); 247 list);
248 if (ptr->is_deleted) 248 if (ptr->is_deleted)
249 continue; 249 continue;
250 if (!tomoyo_io_printf(head, TOMOYO_KEYWORD_ALLOW_READ "%s\n", 250 done = tomoyo_io_printf(head, TOMOYO_KEYWORD_ALLOW_READ "%s\n",
251 ptr->filename->name)) { 251 ptr->filename->name);
252 done = false; 252 if (!done)
253 break; 253 break;
254 }
255 } 254 }
256 up_read(&tomoyo_globally_readable_list_lock); 255 up_read(&tomoyo_globally_readable_list_lock);
257 return done; 256 return done;
@@ -369,11 +368,10 @@ bool tomoyo_read_file_pattern(struct tomoyo_io_buffer *head)
369 ptr = list_entry(pos, struct tomoyo_pattern_entry, list); 368 ptr = list_entry(pos, struct tomoyo_pattern_entry, list);
370 if (ptr->is_deleted) 369 if (ptr->is_deleted)
371 continue; 370 continue;
372 if (!tomoyo_io_printf(head, TOMOYO_KEYWORD_FILE_PATTERN "%s\n", 371 done = tomoyo_io_printf(head, TOMOYO_KEYWORD_FILE_PATTERN
373 ptr->pattern->name)) { 372 "%s\n", ptr->pattern->name);
374 done = false; 373 if (!done)
375 break; 374 break;
376 }
377 } 375 }
378 up_read(&tomoyo_pattern_list_lock); 376 up_read(&tomoyo_pattern_list_lock);
379 return done; 377 return done;
@@ -483,11 +481,10 @@ bool tomoyo_read_no_rewrite_policy(struct tomoyo_io_buffer *head)
483 ptr = list_entry(pos, struct tomoyo_no_rewrite_entry, list); 481 ptr = list_entry(pos, struct tomoyo_no_rewrite_entry, list);
484 if (ptr->is_deleted) 482 if (ptr->is_deleted)
485 continue; 483 continue;
486 if (!tomoyo_io_printf(head, TOMOYO_KEYWORD_DENY_REWRITE "%s\n", 484 done = tomoyo_io_printf(head, TOMOYO_KEYWORD_DENY_REWRITE
487 ptr->pattern->name)) { 485 "%s\n", ptr->pattern->name);
488 done = false; 486 if (!done)
489 break; 487 break;
490 }
491 } 488 }
492 up_read(&tomoyo_no_rewrite_list_lock); 489 up_read(&tomoyo_no_rewrite_list_lock);
493 return done; 490 return done;