On Mon, Sep 18, 2017 at 1:53 PM, David Binderman <[email protected]> wrote:
> Hello there,
>
> linux-4.14-rc1/kernel/sysctl.c:2188] -> 
> [linux-4.14-rc1/kernel/sysctl.c:2190]: (warning) Identical condition 
> '*lvalp>UINT_MAX', second condition is always false
>
> Source code is
>
>         if (*lvalp > UINT_MAX)
>             return -EINVAL;
>         if (*lvalp > UINT_MAX)
>             return -EINVAL;
>
> Suggest remove second if test.

commit 4f2fec00afa6 ("sysctl: simplify unsigned int support") removed
"negp", but missed the duplication:

-static int do_proc_douintvec_conv(bool *negp, unsigned long *lvalp,
-                                int *valp,
-                                int write, void *data)
+static int do_proc_douintvec_conv(unsigned long *lvalp,
+                                 unsigned int *valp,
+                                 int write, void *data)
 {
        if (write) {
-               if (*negp)
+               if (*lvalp > UINT_MAX)
                        return -EINVAL;
                if (*lvalp > UINT_MAX)
                        return -EINVAL;

David, do you want to send a patch?

-Kees

-- 
Kees Cook
Pixel Security

Reply via email to