amd-xgbe: Fix possible uninitialized variable
authorLendacky, Thomas <Thomas.Lendacky@amd.com>
Tue, 15 Nov 2016 22:11:05 +0000 (16:11 -0600)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 Nov 2016 18:57:44 +0000 (13:57 -0500)
The debugfs support in the driver uses a common routine to write the
debugfs values. In this routine, if the input file position is non-zero
then the write routine will not return an error and an output parameter
will not have been set. Because an error isn't returned an uninitialized
value will be written into a register.

Fix the common write routine to return an error if the input file position
is non-zero, which will propagate back to the caller.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c

index 0c0140decbc2fb2b1ea81178a0253308c89236b0..7546b660d6b52a2e0138ea667ad6a733ba185325 100644 (file)
@@ -153,7 +153,7 @@ static ssize_t xgbe_common_write(const char __user *buffer, size_t count,
        int ret;
 
        if (*ppos != 0)
-               return 0;
+               return -EINVAL;
 
        if (count >= sizeof(workarea))
                return -ENOSPC;