The casts are safe, since those conditions are only evaluated when sz >= 0.

Signed-off-by: Роман Донченко <d...@corrigendum.ru>
---
 arch/x86/include/asm/uaccess.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h
index a8df874..4c47002 100644
--- a/arch/x86/include/asm/uaccess.h
+++ b/arch/x86/include/asm/uaccess.h
@@ -714,7 +714,7 @@ copy_from_user(void *to, const void __user *from, unsigned 
long n)
         * case, and do only runtime checking for non-constant sizes.
         */
 
-       if (likely(sz < 0 || sz >= n))
+       if (likely(sz < 0 || (unsigned)sz >= n))
                n = _copy_from_user(to, from, n);
        else if(__builtin_constant_p(n))
                copy_from_user_overflow();
@@ -732,7 +732,7 @@ copy_to_user(void __user *to, const void *from, unsigned 
long n)
        might_fault();
 
        /* See the comment in copy_from_user() above. */
-       if (likely(sz < 0 || sz >= n))
+       if (likely(sz < 0 || (unsigned)sz >= n))
                n = _copy_to_user(to, from, n);
        else if(__builtin_constant_p(n))
                copy_to_user_overflow();
-- 
2.3.2

--
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