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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to