2017-03-16 22:35:02

by Matthias Kaehlcke

[permalink] [raw]
Subject: [PATCH] selinux: Remove unnecessary check of array base in selinux_set_mapping()

'perms' will never be NULL since it isn't a plain pointer but an array
of u32 values.

This fixes the following warning when building with clang:

security/selinux/ss/services.c:158:16: error: address of array
'p_in->perms' will always evaluate to 'true'
[-Werror,-Wpointer-bool-conversion]
while (p_in->perms && p_in->perms[k]) {

Signed-off-by: Matthias Kaehlcke <[email protected]>
---
security/selinux/ss/services.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
index 082b20c78363..2f20b5f974f4 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -155,7 +155,7 @@ static int selinux_set_mapping(struct policydb *pol,
}

k = 0;
- while (p_in->perms && p_in->perms[k]) {
+ while (p_in->perms[k]) {
/* An empty permission string skips ahead */
if (!*p_in->perms[k]) {
k++;
--
2.12.0.367.g23dc2f6d3c-goog


2017-03-23 00:30:27

by Grant Grundler

[permalink] [raw]
Subject: Re: [PATCH] selinux: Remove unnecessary check of array base in selinux_set_mapping()

[resending as plain text only - sorry]

Ping? Any feedback on this patch?

LGTM.

cheers,
grant

On Thu, Mar 16, 2017 at 3:26 PM, Matthias Kaehlcke <[email protected]> wrote:
> 'perms' will never be NULL since it isn't a plain pointer but an array
> of u32 values.
>
> This fixes the following warning when building with clang:
>
> security/selinux/ss/services.c:158:16: error: address of array
> 'p_in->perms' will always evaluate to 'true'
> [-Werror,-Wpointer-bool-conversion]
> while (p_in->perms && p_in->perms[k]) {
>
> Signed-off-by: Matthias Kaehlcke <[email protected]>
> ---
> security/selinux/ss/services.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
> index 082b20c78363..2f20b5f974f4 100644
> --- a/security/selinux/ss/services.c
> +++ b/security/selinux/ss/services.c
> @@ -155,7 +155,7 @@ static int selinux_set_mapping(struct policydb *pol,
> }
>
> k = 0;
> - while (p_in->perms && p_in->perms[k]) {
> + while (p_in->perms[k]) {
> /* An empty permission string skips ahead */
> if (!*p_in->perms[k]) {
> k++;
> --
> 2.12.0.367.g23dc2f6d3c-goog
>

2017-03-23 12:08:09

by Paul Moore

[permalink] [raw]
Subject: Re: [PATCH] selinux: Remove unnecessary check of array base in selinux_set_mapping()

On Wed, Mar 22, 2017 at 8:28 PM, Grant Grundler <[email protected]> wrote:
> Ping? Any feedback on this patch?

It's on my list of patches to review, patience please.

> On Thu, Mar 16, 2017 at 3:26 PM, Matthias Kaehlcke <[email protected]> wrote:
>>
>> 'perms' will never be NULL since it isn't a plain pointer but an array
>> of u32 values.
>>
>> This fixes the following warning when building with clang:
>>
>> security/selinux/ss/services.c:158:16: error: address of array
>> 'p_in->perms' will always evaluate to 'true'
>> [-Werror,-Wpointer-bool-conversion]
>> while (p_in->perms && p_in->perms[k]) {
>>
>> Signed-off-by: Matthias Kaehlcke <[email protected]>
>> ---
>> security/selinux/ss/services.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/security/selinux/ss/services.c
>> b/security/selinux/ss/services.c
>> index 082b20c78363..2f20b5f974f4 100644
>> --- a/security/selinux/ss/services.c
>> +++ b/security/selinux/ss/services.c
>> @@ -155,7 +155,7 @@ static int selinux_set_mapping(struct policydb *pol,
>> }
>>
>> k = 0;
>> - while (p_in->perms && p_in->perms[k]) {
>> + while (p_in->perms[k]) {
>> /* An empty permission string skips ahead */
>> if (!*p_in->perms[k]) {
>> k++;
>> --
>> 2.12.0.367.g23dc2f6d3c-goog
>>
>



--
paul moore
http://www.paul-moore.com

2017-03-23 17:34:37

by Grant Grundler

[permalink] [raw]
Subject: Re: [PATCH] selinux: Remove unnecessary check of array base in selinux_set_mapping()

On Thu, Mar 23, 2017 at 5:08 AM, Paul Moore <[email protected]> wrote:
> On Wed, Mar 22, 2017 at 8:28 PM, Grant Grundler <[email protected]> wrote:
>> Ping? Any feedback on this patch?
>
> It's on my list of patches to review, patience please.

No problem! Thank you!

just wanted confirmation it wasn't overlooked.

cheers,
grant

>
>> On Thu, Mar 16, 2017 at 3:26 PM, Matthias Kaehlcke <[email protected]> wrote:
>>>
>>> 'perms' will never be NULL since it isn't a plain pointer but an array
>>> of u32 values.
>>>
>>> This fixes the following warning when building with clang:
>>>
>>> security/selinux/ss/services.c:158:16: error: address of array
>>> 'p_in->perms' will always evaluate to 'true'
>>> [-Werror,-Wpointer-bool-conversion]
>>> while (p_in->perms && p_in->perms[k]) {
>>>
>>> Signed-off-by: Matthias Kaehlcke <[email protected]>
>>> ---
>>> security/selinux/ss/services.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/security/selinux/ss/services.c
>>> b/security/selinux/ss/services.c
>>> index 082b20c78363..2f20b5f974f4 100644
>>> --- a/security/selinux/ss/services.c
>>> +++ b/security/selinux/ss/services.c
>>> @@ -155,7 +155,7 @@ static int selinux_set_mapping(struct policydb *pol,
>>> }
>>>
>>> k = 0;
>>> - while (p_in->perms && p_in->perms[k]) {
>>> + while (p_in->perms[k]) {
>>> /* An empty permission string skips ahead */
>>> if (!*p_in->perms[k]) {
>>> k++;
>>> --
>>> 2.12.0.367.g23dc2f6d3c-goog
>>>
>>
>
>
>
> --
> paul moore
> http://www.paul-moore.com

2017-03-29 22:59:52

by Paul Moore

[permalink] [raw]
Subject: Re: [PATCH] selinux: Remove unnecessary check of array base in selinux_set_mapping()

On Thu, Mar 23, 2017 at 1:34 PM, Grant Grundler <[email protected]> wrote:
> On Thu, Mar 23, 2017 at 5:08 AM, Paul Moore <[email protected]> wrote:
>> On Wed, Mar 22, 2017 at 8:28 PM, Grant Grundler <[email protected]> wrote:
>>> Ping? Any feedback on this patch?
>>
>> It's on my list of patches to review, patience please.
>
> No problem! Thank you!
>
> just wanted confirmation it wasn't overlooked.

Merged, thanks for your patience.

--
paul moore
http://www.paul-moore.com