On PowerPC allmodconfig build we get this:
security/selinux/xfrm.c:214: warning: comparison is always false due to limited range of data type
Signed-off-by: Stephen Rothwell <[email protected]>
---
security/selinux/xfrm.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
--
Cheers,
Stephen Rothwell [email protected]
diff --git a/security/selinux/xfrm.c b/security/selinux/xfrm.c
index 36a191e..602beb0 100644
--- a/security/selinux/xfrm.c
+++ b/security/selinux/xfrm.c
@@ -211,8 +211,11 @@ static int selinux_xfrm_sec_ctx_alloc(struct xfrm_sec_ctx **ctxp,
if (uctx->ctx_doi != XFRM_SC_ALG_SELINUX)
return -EINVAL;
+ /* ctx_len is __u16 */
+#if PAGE_SIZE < (1 << 16)
if (uctx->ctx_len >= PAGE_SIZE)
return -ENOMEM;
+#endif
*ctxp = ctx = kmalloc(sizeof(*ctx) +
uctx->ctx_len + 1,
--
1.5.3.4
On PowerPC allmodconfig build we get this:
security/selinux/xfrm.c:214: warning: comparison is always false due to limited range of data type
Signed-off-by: Stephen Rothwell <[email protected]>
---
security/selinux/xfrm.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
This version suppresses the warning without ugly ifdefs.
--
Cheers,
Stephen Rothwell [email protected]
diff --git a/security/selinux/xfrm.c b/security/selinux/xfrm.c
index 36a191e..e076039 100644
--- a/security/selinux/xfrm.c
+++ b/security/selinux/xfrm.c
@@ -211,26 +211,27 @@ static int selinux_xfrm_sec_ctx_alloc(struct xfrm_sec_ctx **ctxp,
if (uctx->ctx_doi != XFRM_SC_ALG_SELINUX)
return -EINVAL;
- if (uctx->ctx_len >= PAGE_SIZE)
+ str_len = uctx->ctx_len;
+ if (str_len >= PAGE_SIZE)
return -ENOMEM;
*ctxp = ctx = kmalloc(sizeof(*ctx) +
- uctx->ctx_len + 1,
+ str_len + 1,
GFP_KERNEL);
if (!ctx)
return -ENOMEM;
ctx->ctx_doi = uctx->ctx_doi;
- ctx->ctx_len = uctx->ctx_len;
+ ctx->ctx_len = str_len;
ctx->ctx_alg = uctx->ctx_alg;
memcpy(ctx->ctx_str,
uctx+1,
- ctx->ctx_len);
- ctx->ctx_str[ctx->ctx_len] = 0;
+ str_len);
+ ctx->ctx_str[str_len] = 0;
rc = security_context_to_sid(ctx->ctx_str,
- ctx->ctx_len,
+ str_len,
&ctx->ctx_sid);
if (rc)
--
1.5.3.4
On Wed, 31 Oct 2007, Stephen Rothwell wrote:
> On PowerPC allmodconfig build we get this:
>
> security/selinux/xfrm.c:214: warning: comparison is always false due to limited range of data type
>
> Signed-off-by: Stephen Rothwell <[email protected]>
> ---
> security/selinux/xfrm.c | 13 +++++++------
> 1 files changed, 7 insertions(+), 6 deletions(-)
>
> This version suppresses the warning without ugly ifdefs.
Thanks, Stephen.
Applied to
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6.git#for-linus
--
James Morris
<[email protected]>