diff mbox series

[2/4] USB: sisusbvga: change the buffer members in sisusb_usb_data from char to u8

Message ID 1593200057-245-3-git-send-email-charley.ashbringer@gmail.com (mailing list archive)
State New, archived
Headers show
Series USB: sisusbvga: cleaning up char buffers to u8 buffer | expand

Commit Message

Changming June 26, 2020, 7:34 p.m. UTC
This patch changes the buffer within struct sisusb_usb_data, 
namely, ibuf,obuf and font_backup
from char* to unsigned char* to avoid any related UB.

Thia patch also changes the buffer declared in the code that gets 
assigned to by these buffers from char to u8 as well.

Signed-off-by: Changming Liu <charley.ashbringer@gmail.com>
---
 drivers/usb/misc/sisusbvga/sisusb.c | 4 ++--
 drivers/usb/misc/sisusbvga/sisusb.h | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

Comments

Greg Kroah-Hartman June 27, 2020, 11:29 a.m. UTC | #1
On Fri, Jun 26, 2020 at 03:34:15PM -0400, Changming Liu wrote:
> This patch changes the buffer within struct sisusb_usb_data, 
> namely, ibuf,obuf and font_backup
> from char* to unsigned char* to avoid any related UB.
> 
> Thia patch also changes the buffer declared in the code that gets 
> assigned to by these buffers from char to u8 as well.
> 
> Signed-off-by: Changming Liu <charley.ashbringer@gmail.com>
> ---
>  drivers/usb/misc/sisusbvga/sisusb.c | 4 ++--
>  drivers/usb/misc/sisusbvga/sisusb.h | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c
> index 4aa717a..8878c28 100644
> --- a/drivers/usb/misc/sisusbvga/sisusb.c
> +++ b/drivers/usb/misc/sisusbvga/sisusb.c
> @@ -335,7 +335,7 @@ static int sisusb_send_bulk_msg(struct sisusb_usb_data *sisusb, int ep, int len,
>  	int fromuser = (userbuffer != NULL) ? 1 : 0;
>  	int fromkern = (kernbuffer != NULL) ? 1 : 0;
>  	unsigned int pipe;
> -	char *buffer;
> +	u8 *buffer;
>  
>  	(*bytes_written) = 0;
>  
> @@ -454,7 +454,7 @@ static int sisusb_recv_bulk_msg(struct sisusb_usb_data *sisusb, int ep, int len,
>  	int result = 0, retry, count = len;
>  	int bufsize, thispass, transferred_len;
>  	unsigned int pipe;
> -	char *buffer;
> +	u8 *buffer;
>  
>  	(*bytes_read) = 0;
>  
> diff --git a/drivers/usb/misc/sisusbvga/sisusb.h b/drivers/usb/misc/sisusbvga/sisusb.h
> index c0fb9e1..8fe5d07 100644
> --- a/drivers/usb/misc/sisusbvga/sisusb.h
> +++ b/drivers/usb/misc/sisusbvga/sisusb.h
> @@ -109,7 +109,7 @@ struct sisusb_usb_data {
>  	int present;		/* !=0 if device is present on the bus */
>  	int ready;		/* !=0 if device is ready for userland */
>  	int numobufs;		/* number of obufs = number of out urbs */
> -	char *obuf[NUMOBUFS], *ibuf;	/* transfer buffers */
> +	unsigned char *obuf[NUMOBUFS], *ibuf;	/* transfer buffers */

u8 for this?

>  	int obufsize, ibufsize;
>  	struct urb *sisurbout[NUMOBUFS];
>  	struct urb *sisurbin;
> @@ -140,7 +140,7 @@ struct sisusb_usb_data {
>  	int sisusb_cursor_size_to;
>  	int current_font_height, current_font_512;
>  	int font_backup_size, font_backup_height, font_backup_512;
> -	char *font_backup;
> +	unsigned char *font_backup;

u8 like you say you are changing in the above text?

thanks,

greg k-h
diff mbox series

Patch

diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c
index 4aa717a..8878c28 100644
--- a/drivers/usb/misc/sisusbvga/sisusb.c
+++ b/drivers/usb/misc/sisusbvga/sisusb.c
@@ -335,7 +335,7 @@  static int sisusb_send_bulk_msg(struct sisusb_usb_data *sisusb, int ep, int len,
 	int fromuser = (userbuffer != NULL) ? 1 : 0;
 	int fromkern = (kernbuffer != NULL) ? 1 : 0;
 	unsigned int pipe;
-	char *buffer;
+	u8 *buffer;
 
 	(*bytes_written) = 0;
 
@@ -454,7 +454,7 @@  static int sisusb_recv_bulk_msg(struct sisusb_usb_data *sisusb, int ep, int len,
 	int result = 0, retry, count = len;
 	int bufsize, thispass, transferred_len;
 	unsigned int pipe;
-	char *buffer;
+	u8 *buffer;
 
 	(*bytes_read) = 0;
 
diff --git a/drivers/usb/misc/sisusbvga/sisusb.h b/drivers/usb/misc/sisusbvga/sisusb.h
index c0fb9e1..8fe5d07 100644
--- a/drivers/usb/misc/sisusbvga/sisusb.h
+++ b/drivers/usb/misc/sisusbvga/sisusb.h
@@ -109,7 +109,7 @@  struct sisusb_usb_data {
 	int present;		/* !=0 if device is present on the bus */
 	int ready;		/* !=0 if device is ready for userland */
 	int numobufs;		/* number of obufs = number of out urbs */
-	char *obuf[NUMOBUFS], *ibuf;	/* transfer buffers */
+	unsigned char *obuf[NUMOBUFS], *ibuf;	/* transfer buffers */
 	int obufsize, ibufsize;
 	struct urb *sisurbout[NUMOBUFS];
 	struct urb *sisurbin;
@@ -140,7 +140,7 @@  struct sisusb_usb_data {
 	int sisusb_cursor_size_to;
 	int current_font_height, current_font_512;
 	int font_backup_size, font_backup_height, font_backup_512;
-	char *font_backup;
+	unsigned char *font_backup;
 	int font_slot;
 	struct vc_data *sisusb_display_fg;
 	int is_gfx;