diff options
| author | KaiGai Kohei <kaigai@kaigai.gr.jp> | 2007-10-03 10:42:56 -0400 |
|---|---|---|
| committer | James Morris <jmorris@namei.org> | 2007-10-16 18:59:36 -0400 |
| commit | 087feb980443aadc7c62f6c26d3867543b470d8c (patch) | |
| tree | 06922e22b5390aeb2ad9ef8ea64b4f05d1d354e3 | |
| parent | 9fe79ad1e43d236bbbb8edb3cf634356de714c79 (diff) | |
SELinux: kills warnings in Improve SELinux performance when AVC misses
This patch kills ugly warnings when the "Improve SELinux performance
when ACV misses" patch.
Signed-off-by: KaiGai Kohei <kaigai@ak.jp.nec.com>
Signed-off-by: James Morris <jmorris@namei.org>
| -rw-r--r-- | security/selinux/ss/ebitmap.c | 11 | ||||
| -rw-r--r-- | security/selinux/ss/ebitmap.h | 2 |
2 files changed, 7 insertions, 6 deletions
diff --git a/security/selinux/ss/ebitmap.c b/security/selinux/ss/ebitmap.c index ae44c0c9401d..c1a6b22d48d9 100644 --- a/security/selinux/ss/ebitmap.c +++ b/security/selinux/ss/ebitmap.c | |||
| @@ -193,7 +193,7 @@ int ebitmap_netlbl_import(struct ebitmap *ebmap, | |||
| 193 | e_sft = delta % EBITMAP_UNIT_SIZE; | 193 | e_sft = delta % EBITMAP_UNIT_SIZE; |
| 194 | while (map) { | 194 | while (map) { |
| 195 | e_iter->maps[e_idx++] |= map & (-1UL); | 195 | e_iter->maps[e_idx++] |= map & (-1UL); |
| 196 | map >>= EBITMAP_UNIT_SIZE; | 196 | map = EBITMAP_SHIFT_UNIT_SIZE(map); |
| 197 | } | 197 | } |
| 198 | } | 198 | } |
| 199 | c_iter = c_iter->next; | 199 | c_iter = c_iter->next; |
| @@ -389,13 +389,13 @@ int ebitmap_read(struct ebitmap *e, void *fp) | |||
| 389 | 389 | ||
| 390 | if (startbit & (mapunit - 1)) { | 390 | if (startbit & (mapunit - 1)) { |
| 391 | printk(KERN_ERR "security: ebitmap start bit (%d) is " | 391 | printk(KERN_ERR "security: ebitmap start bit (%d) is " |
| 392 | "not a multiple of the map unit size (%Zd)\n", | 392 | "not a multiple of the map unit size (%u)\n", |
| 393 | startbit, mapunit); | 393 | startbit, mapunit); |
| 394 | goto bad; | 394 | goto bad; |
| 395 | } | 395 | } |
| 396 | if (startbit > e->highbit - mapunit) { | 396 | if (startbit > e->highbit - mapunit) { |
| 397 | printk(KERN_ERR "security: ebitmap start bit (%d) is " | 397 | printk(KERN_ERR "security: ebitmap start bit (%d) is " |
| 398 | "beyond the end of the bitmap (%Zd)\n", | 398 | "beyond the end of the bitmap (%u)\n", |
| 399 | startbit, (e->highbit - mapunit)); | 399 | startbit, (e->highbit - mapunit)); |
| 400 | goto bad; | 400 | goto bad; |
| 401 | } | 401 | } |
| @@ -433,9 +433,8 @@ int ebitmap_read(struct ebitmap *e, void *fp) | |||
| 433 | 433 | ||
| 434 | index = (startbit - n->startbit) / EBITMAP_UNIT_SIZE; | 434 | index = (startbit - n->startbit) / EBITMAP_UNIT_SIZE; |
| 435 | while (map) { | 435 | while (map) { |
| 436 | n->maps[index] = map & (-1UL); | 436 | n->maps[index++] = map & (-1UL); |
| 437 | map = map >> EBITMAP_UNIT_SIZE; | 437 | map = EBITMAP_SHIFT_UNIT_SIZE(map); |
| 438 | index++; | ||
| 439 | } | 438 | } |
| 440 | } | 439 | } |
| 441 | ok: | 440 | ok: |
diff --git a/security/selinux/ss/ebitmap.h b/security/selinux/ss/ebitmap.h index e38a327dd703..f283b4367f54 100644 --- a/security/selinux/ss/ebitmap.h +++ b/security/selinux/ss/ebitmap.h | |||
| @@ -21,6 +21,8 @@ | |||
| 21 | #define EBITMAP_UNIT_SIZE BITS_PER_LONG | 21 | #define EBITMAP_UNIT_SIZE BITS_PER_LONG |
| 22 | #define EBITMAP_SIZE (EBITMAP_UNIT_NUMS * EBITMAP_UNIT_SIZE) | 22 | #define EBITMAP_SIZE (EBITMAP_UNIT_NUMS * EBITMAP_UNIT_SIZE) |
| 23 | #define EBITMAP_BIT 1ULL | 23 | #define EBITMAP_BIT 1ULL |
| 24 | #define EBITMAP_SHIFT_UNIT_SIZE(x) \ | ||
| 25 | (((x) >> EBITMAP_UNIT_SIZE / 2) >> EBITMAP_UNIT_SIZE / 2) | ||
| 24 | 26 | ||
| 25 | struct ebitmap_node { | 27 | struct ebitmap_node { |
| 26 | struct ebitmap_node *next; | 28 | struct ebitmap_node *next; |
