Subject: Re: [PATCH] netlabel: improve domain mapping validation

From: Sergei Shtylyov <[email-masked]>
Date: Sat, 18 May 2013 01:47:15 +0400

On 05/17/2013 11:37 PM, Paul Moore wrote:

>>> The net/netlabel/netlabel_domainhash.c:netlbl_domhsh_add() function
>>> does not properly validate new domain hash entries resulting in
>>> potential problems when an administrator attempts to add an invalid
>>> entry.  One such problem, as reported by Vlad Halilov, is a kernel
>>> BUG (found in netlabel_domainhash.c:netlbl_domhsh_audit_add()) when
>>> adding an IPv6 outbound mapping with a CIPSO configuration.
>>>
>>> This patch corrects this problem by adding the necessary validation
>>> code to netlbl_domhsh_add() via the newly created
>>> netlbl_domhsh_validate() function.
>>>
>>> Ideally this patch should also be pushed to the currently active
>>> -stable trees.
>>>
>>> Reported-by: Vlad Halilov <[email-masked]>
>>> Signed-off-by: Paul Moore <[email-masked]>
> ...
>
>>> +#if IS_ENABLED(CONFIG_IPV6)
>>     Why not:
>>
>>           if (IS_ENABLED(CONFIG_IPV6))
>>
>>      #if's in the function body are frowned upon.
> The dependent functions/types are not defined when !IS_ENABLED(CONFIG_IPV6);
> please look at the rest of the NetLabel code (net/netlabel).

     Sorry, didn't think about declarations.

> Perhaps we can do some work to fixup some of that in the future, but that
> shouldn't hold up this fix.

     Perhaps factoring out the #ifdef'ed code into a separate function 
would help
if at all possible.

WBR, Sergei