Commit f14c64ef authored by Changming Liu's avatar Changming Liu Committed by Greg Kroah-Hartman

USB: sisusbvga: Change port variable from signed to unsigned

commit 2df7405f upstream.

Change a bunch of arguments of wrapper functions which pass signed
integer to an unsigned integer which might cause undefined behaviors
when sign integer overflow.
Signed-off-by: default avatarChangming Liu <liu.changm@northeastern.edu>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/BL0PR06MB45482D71EA822D75A0E60A2EE5D50@BL0PR06MB4548.namprd06.prod.outlook.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 91e99793
...@@ -1200,18 +1200,18 @@ static int sisusb_read_mem_bulk(struct sisusb_usb_data *sisusb, u32 addr, ...@@ -1200,18 +1200,18 @@ static int sisusb_read_mem_bulk(struct sisusb_usb_data *sisusb, u32 addr,
/* High level: Gfx (indexed) register access */ /* High level: Gfx (indexed) register access */
#ifdef INCL_SISUSB_CON #ifdef INCL_SISUSB_CON
int sisusb_setreg(struct sisusb_usb_data *sisusb, int port, u8 data) int sisusb_setreg(struct sisusb_usb_data *sisusb, u32 port, u8 data)
{ {
return sisusb_write_memio_byte(sisusb, SISUSB_TYPE_IO, port, data); return sisusb_write_memio_byte(sisusb, SISUSB_TYPE_IO, port, data);
} }
int sisusb_getreg(struct sisusb_usb_data *sisusb, int port, u8 *data) int sisusb_getreg(struct sisusb_usb_data *sisusb, u32 port, u8 *data)
{ {
return sisusb_read_memio_byte(sisusb, SISUSB_TYPE_IO, port, data); return sisusb_read_memio_byte(sisusb, SISUSB_TYPE_IO, port, data);
} }
#endif #endif
int sisusb_setidxreg(struct sisusb_usb_data *sisusb, int port, int sisusb_setidxreg(struct sisusb_usb_data *sisusb, u32 port,
u8 index, u8 data) u8 index, u8 data)
{ {
int ret; int ret;
...@@ -1221,7 +1221,7 @@ int sisusb_setidxreg(struct sisusb_usb_data *sisusb, int port, ...@@ -1221,7 +1221,7 @@ int sisusb_setidxreg(struct sisusb_usb_data *sisusb, int port,
return ret; return ret;
} }
int sisusb_getidxreg(struct sisusb_usb_data *sisusb, int port, int sisusb_getidxreg(struct sisusb_usb_data *sisusb, u32 port,
u8 index, u8 *data) u8 index, u8 *data)
{ {
int ret; int ret;
...@@ -1231,7 +1231,7 @@ int sisusb_getidxreg(struct sisusb_usb_data *sisusb, int port, ...@@ -1231,7 +1231,7 @@ int sisusb_getidxreg(struct sisusb_usb_data *sisusb, int port,
return ret; return ret;
} }
int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, int port, u8 idx, int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, u32 port, u8 idx,
u8 myand, u8 myor) u8 myand, u8 myor)
{ {
int ret; int ret;
...@@ -1246,7 +1246,7 @@ int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, int port, u8 idx, ...@@ -1246,7 +1246,7 @@ int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, int port, u8 idx,
} }
static int sisusb_setidxregmask(struct sisusb_usb_data *sisusb, static int sisusb_setidxregmask(struct sisusb_usb_data *sisusb,
int port, u8 idx, u8 data, u8 mask) u32 port, u8 idx, u8 data, u8 mask)
{ {
int ret; int ret;
u8 tmp; u8 tmp;
...@@ -1259,13 +1259,13 @@ static int sisusb_setidxregmask(struct sisusb_usb_data *sisusb, ...@@ -1259,13 +1259,13 @@ static int sisusb_setidxregmask(struct sisusb_usb_data *sisusb,
return ret; return ret;
} }
int sisusb_setidxregor(struct sisusb_usb_data *sisusb, int port, int sisusb_setidxregor(struct sisusb_usb_data *sisusb, u32 port,
u8 index, u8 myor) u8 index, u8 myor)
{ {
return sisusb_setidxregandor(sisusb, port, index, 0xff, myor); return sisusb_setidxregandor(sisusb, port, index, 0xff, myor);
} }
int sisusb_setidxregand(struct sisusb_usb_data *sisusb, int port, int sisusb_setidxregand(struct sisusb_usb_data *sisusb, u32 port,
u8 idx, u8 myand) u8 idx, u8 myand)
{ {
return sisusb_setidxregandor(sisusb, port, idx, myand, 0x00); return sisusb_setidxregandor(sisusb, port, idx, myand, 0x00);
...@@ -2796,8 +2796,8 @@ static loff_t sisusb_lseek(struct file *file, loff_t offset, int orig) ...@@ -2796,8 +2796,8 @@ static loff_t sisusb_lseek(struct file *file, loff_t offset, int orig)
static int sisusb_handle_command(struct sisusb_usb_data *sisusb, static int sisusb_handle_command(struct sisusb_usb_data *sisusb,
struct sisusb_command *y, unsigned long arg) struct sisusb_command *y, unsigned long arg)
{ {
int retval, port, length; int retval, length;
u32 address; u32 port, address;
/* All our commands require the device /* All our commands require the device
* to be initialized. * to be initialized.
......
...@@ -811,17 +811,17 @@ static const struct SiS_VCLKData SiSUSB_VCLKData[] = { ...@@ -811,17 +811,17 @@ static const struct SiS_VCLKData SiSUSB_VCLKData[] = {
int SiSUSBSetMode(struct SiS_Private *SiS_Pr, unsigned short ModeNo); int SiSUSBSetMode(struct SiS_Private *SiS_Pr, unsigned short ModeNo);
int SiSUSBSetVESAMode(struct SiS_Private *SiS_Pr, unsigned short VModeNo); int SiSUSBSetVESAMode(struct SiS_Private *SiS_Pr, unsigned short VModeNo);
extern int sisusb_setreg(struct sisusb_usb_data *sisusb, int port, u8 data); extern int sisusb_setreg(struct sisusb_usb_data *sisusb, u32 port, u8 data);
extern int sisusb_getreg(struct sisusb_usb_data *sisusb, int port, u8 * data); extern int sisusb_getreg(struct sisusb_usb_data *sisusb, u32 port, u8 * data);
extern int sisusb_setidxreg(struct sisusb_usb_data *sisusb, int port, extern int sisusb_setidxreg(struct sisusb_usb_data *sisusb, u32 port,
u8 index, u8 data); u8 index, u8 data);
extern int sisusb_getidxreg(struct sisusb_usb_data *sisusb, int port, extern int sisusb_getidxreg(struct sisusb_usb_data *sisusb, u32 port,
u8 index, u8 * data); u8 index, u8 * data);
extern int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, int port, extern int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, u32 port,
u8 idx, u8 myand, u8 myor); u8 idx, u8 myand, u8 myor);
extern int sisusb_setidxregor(struct sisusb_usb_data *sisusb, int port, extern int sisusb_setidxregor(struct sisusb_usb_data *sisusb, u32 port,
u8 index, u8 myor); u8 index, u8 myor);
extern int sisusb_setidxregand(struct sisusb_usb_data *sisusb, int port, extern int sisusb_setidxregand(struct sisusb_usb_data *sisusb, u32 port,
u8 idx, u8 myand); u8 idx, u8 myand);
void sisusb_delete(struct kref *kref); void sisusb_delete(struct kref *kref);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment