staging: unisys: visorbus: variable adjustment should be a u64
authorDavid Kershner <david.kershner@unisys.com>
Thu, 3 Mar 2016 18:00:38 +0000 (13:00 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Mar 2016 03:26:05 +0000 (19:26 -0800)
This patch fixes the smatch error:

drivers/staging/unisys/visorbus/visorchipset.c:2217 visorchipset_ioctl()
warn: user controlled 'adjustment' cast to postive rl = 's64min-s64max'

This is because we read a s64 and pass it to a function as u64.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/unisys/visorbus/visorchipset.c

index 5515845..5fbda7b 100644 (file)
@@ -2248,7 +2248,7 @@ static inline int issue_vmcall_update_physical_time(u64 adjustment)
 static long visorchipset_ioctl(struct file *file, unsigned int cmd,
                               unsigned long arg)
 {
-       s64 adjustment;
+       u64 adjustment;
        s64 vrtc_offset;
 
        switch (cmd) {