intel_scu_ipcutil: underflow in scu_reg_access()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 26 Jan 2016 09:24:25 +0000 (12:24 +0300)
committerSasha Levin <sasha.levin@oracle.com>
Sun, 28 Feb 2016 05:04:23 +0000 (00:04 -0500)
[ Upstream commit b1d353ad3d5835b16724653b33c05124e1b5acf1 ]

"count" is controlled by the user and it can be negative.  Let's prevent
that by making it unsigned.  You have to have CAP_SYS_RAWIO to call this
function so the bug is not as serious as it could be.

Fixes: 5369c02d951a ('intel_scu_ipc: Utility driver for intel scu ipc')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: stable@vger.kernel.org
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/platform/x86/intel_scu_ipcutil.c

index 02bc5a6..aa45424 100644 (file)
@@ -49,7 +49,7 @@ struct scu_ipc_data {
 
 static int scu_reg_access(u32 cmd, struct scu_ipc_data  *data)
 {
-       int count = data->count;
+       unsigned int count = data->count;
 
        if (count == 0 || count == 3 || count > 4)
                return -EINVAL;