Skip to content

Commit 2df7405

Browse files
Lawliargregkh
authored andcommitted
USB: sisusbvga: Change port variable from signed to unsigned
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: Changming Liu <[email protected]> Cc: stable <[email protected]> Link: https://lore.kernel.org/r/BL0PR06MB45482D71EA822D75A0E60A2EE5D50@BL0PR06MB4548.namprd06.prod.outlook.com Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 94f9c8c commit 2df7405

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

drivers/usb/misc/sisusbvga/sisusb.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1199,18 +1199,18 @@ static int sisusb_read_mem_bulk(struct sisusb_usb_data *sisusb, u32 addr,
11991199
/* High level: Gfx (indexed) register access */
12001200

12011201
#ifdef CONFIG_USB_SISUSBVGA_CON
1202-
int sisusb_setreg(struct sisusb_usb_data *sisusb, int port, u8 data)
1202+
int sisusb_setreg(struct sisusb_usb_data *sisusb, u32 port, u8 data)
12031203
{
12041204
return sisusb_write_memio_byte(sisusb, SISUSB_TYPE_IO, port, data);
12051205
}
12061206

1207-
int sisusb_getreg(struct sisusb_usb_data *sisusb, int port, u8 *data)
1207+
int sisusb_getreg(struct sisusb_usb_data *sisusb, u32 port, u8 *data)
12081208
{
12091209
return sisusb_read_memio_byte(sisusb, SISUSB_TYPE_IO, port, data);
12101210
}
12111211
#endif
12121212

1213-
int sisusb_setidxreg(struct sisusb_usb_data *sisusb, int port,
1213+
int sisusb_setidxreg(struct sisusb_usb_data *sisusb, u32 port,
12141214
u8 index, u8 data)
12151215
{
12161216
int ret;
@@ -1220,7 +1220,7 @@ int sisusb_setidxreg(struct sisusb_usb_data *sisusb, int port,
12201220
return ret;
12211221
}
12221222

1223-
int sisusb_getidxreg(struct sisusb_usb_data *sisusb, int port,
1223+
int sisusb_getidxreg(struct sisusb_usb_data *sisusb, u32 port,
12241224
u8 index, u8 *data)
12251225
{
12261226
int ret;
@@ -1230,7 +1230,7 @@ int sisusb_getidxreg(struct sisusb_usb_data *sisusb, int port,
12301230
return ret;
12311231
}
12321232

1233-
int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, int port, u8 idx,
1233+
int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, u32 port, u8 idx,
12341234
u8 myand, u8 myor)
12351235
{
12361236
int ret;
@@ -1245,7 +1245,7 @@ int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, int port, u8 idx,
12451245
}
12461246

12471247
static int sisusb_setidxregmask(struct sisusb_usb_data *sisusb,
1248-
int port, u8 idx, u8 data, u8 mask)
1248+
u32 port, u8 idx, u8 data, u8 mask)
12491249
{
12501250
int ret;
12511251
u8 tmp;
@@ -1258,13 +1258,13 @@ static int sisusb_setidxregmask(struct sisusb_usb_data *sisusb,
12581258
return ret;
12591259
}
12601260

1261-
int sisusb_setidxregor(struct sisusb_usb_data *sisusb, int port,
1261+
int sisusb_setidxregor(struct sisusb_usb_data *sisusb, u32 port,
12621262
u8 index, u8 myor)
12631263
{
12641264
return sisusb_setidxregandor(sisusb, port, index, 0xff, myor);
12651265
}
12661266

1267-
int sisusb_setidxregand(struct sisusb_usb_data *sisusb, int port,
1267+
int sisusb_setidxregand(struct sisusb_usb_data *sisusb, u32 port,
12681268
u8 idx, u8 myand)
12691269
{
12701270
return sisusb_setidxregandor(sisusb, port, idx, myand, 0x00);
@@ -2785,8 +2785,8 @@ static loff_t sisusb_lseek(struct file *file, loff_t offset, int orig)
27852785
static int sisusb_handle_command(struct sisusb_usb_data *sisusb,
27862786
struct sisusb_command *y, unsigned long arg)
27872787
{
2788-
int retval, port, length;
2789-
u32 address;
2788+
int retval, length;
2789+
u32 port, address;
27902790

27912791
/* All our commands require the device
27922792
* to be initialized.

drivers/usb/misc/sisusbvga/sisusb_init.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -812,17 +812,17 @@ static const struct SiS_VCLKData SiSUSB_VCLKData[] = {
812812
int SiSUSBSetMode(struct SiS_Private *SiS_Pr, unsigned short ModeNo);
813813
int SiSUSBSetVESAMode(struct SiS_Private *SiS_Pr, unsigned short VModeNo);
814814

815-
extern int sisusb_setreg(struct sisusb_usb_data *sisusb, int port, u8 data);
816-
extern int sisusb_getreg(struct sisusb_usb_data *sisusb, int port, u8 * data);
817-
extern int sisusb_setidxreg(struct sisusb_usb_data *sisusb, int port,
815+
extern int sisusb_setreg(struct sisusb_usb_data *sisusb, u32 port, u8 data);
816+
extern int sisusb_getreg(struct sisusb_usb_data *sisusb, u32 port, u8 * data);
817+
extern int sisusb_setidxreg(struct sisusb_usb_data *sisusb, u32 port,
818818
u8 index, u8 data);
819-
extern int sisusb_getidxreg(struct sisusb_usb_data *sisusb, int port,
819+
extern int sisusb_getidxreg(struct sisusb_usb_data *sisusb, u32 port,
820820
u8 index, u8 * data);
821-
extern int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, int port,
821+
extern int sisusb_setidxregandor(struct sisusb_usb_data *sisusb, u32 port,
822822
u8 idx, u8 myand, u8 myor);
823-
extern int sisusb_setidxregor(struct sisusb_usb_data *sisusb, int port,
823+
extern int sisusb_setidxregor(struct sisusb_usb_data *sisusb, u32 port,
824824
u8 index, u8 myor);
825-
extern int sisusb_setidxregand(struct sisusb_usb_data *sisusb, int port,
825+
extern int sisusb_setidxregand(struct sisusb_usb_data *sisusb, u32 port,
826826
u8 idx, u8 myand);
827827

828828
void sisusb_delete(struct kref *kref);

0 commit comments

Comments
 (0)