• Steve Grubb's avatar
    AUDIT: Clean up logging of untrusted strings · 168b7173
    Steve Grubb authored
    * If vsnprintf returns -1, it will mess up the sk buffer space accounting. 
    This is fixed by not calling skb_put with bogus len values.
    
    * audit_log_hex was a loop that called audit_log_vformat with %02X for each 
    character. This is very inefficient since conversion from unsigned character 
    to Ascii representation is essentially masking, shifting, and byte lookups. 
    Also, the length of the converted string is well known - it's twice the 
    original. Fixed by rewriting the function.
    
    * audit_log_untrustedstring had no comments. This makes it hard for 
    someone to understand what the string format will be.
    
    * audit_log_d_path was never fixed to use untrustedstring. This could mess
    up user space parsers. This was fixed to make a temp buffer, call d_path, 
    and log temp buffer using untrustedstring. 
    
    From: Steve Grubb <sgrubb@redhat.com>
    Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
    168b7173
audit.c 23.6 KB