diff options
Diffstat (limited to 'security/selinux/ss/mls.c')
| -rw-r--r-- | security/selinux/ss/mls.c | 30 |
1 files changed, 5 insertions, 25 deletions
diff --git a/security/selinux/ss/mls.c b/security/selinux/ss/mls.c index b4f682dc13ff..4a8bab2f3c71 100644 --- a/security/selinux/ss/mls.c +++ b/security/selinux/ss/mls.c | |||
| @@ -270,7 +270,7 @@ int mls_context_to_sid(char oldc, | |||
| 270 | if (!defcon) | 270 | if (!defcon) |
| 271 | goto out; | 271 | goto out; |
| 272 | 272 | ||
| 273 | rc = mls_copy_context(context, defcon); | 273 | rc = mls_context_cpy(context, defcon); |
| 274 | goto out; | 274 | goto out; |
| 275 | } | 275 | } |
| 276 | 276 | ||
| @@ -401,26 +401,6 @@ int mls_from_string(char *str, struct context *context, gfp_t gfp_mask) | |||
| 401 | } | 401 | } |
| 402 | 402 | ||
| 403 | /* | 403 | /* |
| 404 | * Copies the effective MLS range from `src' into `dst'. | ||
| 405 | */ | ||
| 406 | static inline int mls_scopy_context(struct context *dst, | ||
| 407 | struct context *src) | ||
| 408 | { | ||
| 409 | int l, rc = 0; | ||
| 410 | |||
| 411 | /* Copy the MLS range from the source context */ | ||
| 412 | for (l = 0; l < 2; l++) { | ||
| 413 | dst->range.level[l].sens = src->range.level[0].sens; | ||
| 414 | rc = ebitmap_cpy(&dst->range.level[l].cat, | ||
| 415 | &src->range.level[0].cat); | ||
| 416 | if (rc) | ||
| 417 | break; | ||
| 418 | } | ||
| 419 | |||
| 420 | return rc; | ||
| 421 | } | ||
| 422 | |||
| 423 | /* | ||
| 424 | * Copies the MLS range `range' into `context'. | 404 | * Copies the MLS range `range' into `context'. |
| 425 | */ | 405 | */ |
| 426 | static inline int mls_range_set(struct context *context, | 406 | static inline int mls_range_set(struct context *context, |
| @@ -552,19 +532,19 @@ int mls_compute_sid(struct context *scontext, | |||
| 552 | case AVTAB_CHANGE: | 532 | case AVTAB_CHANGE: |
| 553 | if (tclass == SECCLASS_PROCESS) | 533 | if (tclass == SECCLASS_PROCESS) |
| 554 | /* Use the process MLS attributes. */ | 534 | /* Use the process MLS attributes. */ |
| 555 | return mls_copy_context(newcontext, scontext); | 535 | return mls_context_cpy(newcontext, scontext); |
| 556 | else | 536 | else |
| 557 | /* Use the process effective MLS attributes. */ | 537 | /* Use the process effective MLS attributes. */ |
| 558 | return mls_scopy_context(newcontext, scontext); | 538 | return mls_context_cpy_low(newcontext, scontext); |
| 559 | case AVTAB_MEMBER: | 539 | case AVTAB_MEMBER: |
| 560 | /* Only polyinstantiate the MLS attributes if | 540 | /* Only polyinstantiate the MLS attributes if |
| 561 | the type is being polyinstantiated */ | 541 | the type is being polyinstantiated */ |
| 562 | if (newcontext->type != tcontext->type) { | 542 | if (newcontext->type != tcontext->type) { |
| 563 | /* Use the process effective MLS attributes. */ | 543 | /* Use the process effective MLS attributes. */ |
| 564 | return mls_scopy_context(newcontext, scontext); | 544 | return mls_context_cpy_low(newcontext, scontext); |
| 565 | } else { | 545 | } else { |
| 566 | /* Use the related object MLS attributes. */ | 546 | /* Use the related object MLS attributes. */ |
| 567 | return mls_copy_context(newcontext, tcontext); | 547 | return mls_context_cpy(newcontext, tcontext); |
| 568 | } | 548 | } |
| 569 | default: | 549 | default: |
| 570 | return -EINVAL; | 550 | return -EINVAL; |
