[RFC PATCH] audit: Use hex_byte_pack_upper

From: Joe Perches
Date: Tue Jan 14 2014 - 02:31:40 EST


Using the generic kernel function causes the
object size to increase with gcc 4.8.1.

$ size kernel/audit.o*
text data bss dec hex filename
18577 6079 8436 33092 8144 kernel/audit.o.new
18579 6015 8420 33014 80f6 kernel/audit.o.old

Unsigned...
---
Generally, it makes sense to use generic functions
but when it increases object size? blech.

kernel/audit.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/kernel/audit.c b/kernel/audit.c
index 2dc7573..af8ad29 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -1455,7 +1455,6 @@ void audit_log_n_hex(struct audit_buffer *ab, const unsigned char *buf,
int i, avail, new_len;
unsigned char *ptr;
struct sk_buff *skb;
- static const unsigned char *hex = "0123456789ABCDEF";

if (!ab)
return;
@@ -1473,10 +1472,8 @@ void audit_log_n_hex(struct audit_buffer *ab, const unsigned char *buf,
}

ptr = skb_tail_pointer(skb);
- for (i=0; i<len; i++) {
- *ptr++ = hex[(buf[i] & 0xF0)>>4]; /* Upper nibble */
- *ptr++ = hex[buf[i] & 0x0F]; /* Lower nibble */
- }
+ for (i = 0; i < len; i++)
+ ptr = hex_byte_pack_upper(ptr, buf[i]);
*ptr = 0;
skb_put(skb, len << 1); /* new string is twice the old string */
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/