public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: Nathan Chancellor <natechancellor@gmail.com>
Cc: Kirti Wankhede <kwankhede@nvidia.com>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] vfio-mdev/samples: Use u8 instead of char for handle functions
Date: Mon, 17 Dec 2018 11:12:08 -0700	[thread overview]
Message-ID: <20181217111208.3251aa42@x1.home> (raw)
In-Reply-To: <20181019180427.1386-1-natechancellor@gmail.com>

On Fri, 19 Oct 2018 11:04:27 -0700
Nathan Chancellor <natechancellor@gmail.com> wrote:

> Clang warns:
> 
> samples/vfio-mdev/mtty.c:592:39: warning: implicit conversion from 'int'
> to 'char' changes value from 162 to -94 [-Wconstant-conversion]
>                 *buf = UART_MSR_DSR | UART_MSR_DDSR | UART_MSR_DCD;
>                      ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
> 1 warning generated.
> 
> Turns out that all uses of buf in this function ultimately end up stored
> or cast to an unsigned type. Just use u8, which has the same number of
> bits but can store this larger number so Clang no longer warns.
> 
> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
> ---
>  samples/vfio-mdev/mtty.c | 26 +++++++++++++-------------
>  1 file changed, 13 insertions(+), 13 deletions(-)

Applied to vfio next branch for v4.21.  Thanks,

Alex

> 
> diff --git a/samples/vfio-mdev/mtty.c b/samples/vfio-mdev/mtty.c
> index 7abb79d8313d..f6732aa16bb1 100644
> --- a/samples/vfio-mdev/mtty.c
> +++ b/samples/vfio-mdev/mtty.c
> @@ -171,7 +171,7 @@ static struct mdev_state *find_mdev_state_by_uuid(uuid_le uuid)
>  	return NULL;
>  }
>  
> -void dump_buffer(char *buf, uint32_t count)
> +void dump_buffer(u8 *buf, uint32_t count)
>  {
>  #if defined(DEBUG)
>  	int i;
> @@ -250,7 +250,7 @@ static void mtty_create_config_space(struct mdev_state *mdev_state)
>  }
>  
>  static void handle_pci_cfg_write(struct mdev_state *mdev_state, u16 offset,
> -				 char *buf, u32 count)
> +				 u8 *buf, u32 count)
>  {
>  	u32 cfg_addr, bar_mask, bar_index = 0;
>  
> @@ -304,7 +304,7 @@ static void handle_pci_cfg_write(struct mdev_state *mdev_state, u16 offset,
>  }
>  
>  static void handle_bar_write(unsigned int index, struct mdev_state *mdev_state,
> -				u16 offset, char *buf, u32 count)
> +				u16 offset, u8 *buf, u32 count)
>  {
>  	u8 data = *buf;
>  
> @@ -475,7 +475,7 @@ static void handle_bar_write(unsigned int index, struct mdev_state *mdev_state,
>  }
>  
>  static void handle_bar_read(unsigned int index, struct mdev_state *mdev_state,
> -			    u16 offset, char *buf, u32 count)
> +			    u16 offset, u8 *buf, u32 count)
>  {
>  	/* Handle read requests by guest */
>  	switch (offset) {
> @@ -650,7 +650,7 @@ static void mdev_read_base(struct mdev_state *mdev_state)
>  	}
>  }
>  
> -static ssize_t mdev_access(struct mdev_device *mdev, char *buf, size_t count,
> +static ssize_t mdev_access(struct mdev_device *mdev, u8 *buf, size_t count,
>  			   loff_t pos, bool is_write)
>  {
>  	struct mdev_state *mdev_state;
> @@ -698,7 +698,7 @@ static ssize_t mdev_access(struct mdev_device *mdev, char *buf, size_t count,
>  #if defined(DEBUG_REGS)
>  			pr_info("%s: BAR%d  WR @0x%llx %s val:0x%02x dlab:%d\n",
>  				__func__, index, offset, wr_reg[offset],
> -				(u8)*buf, mdev_state->s[index].dlab);
> +				*buf, mdev_state->s[index].dlab);
>  #endif
>  			handle_bar_write(index, mdev_state, offset, buf, count);
>  		} else {
> @@ -708,7 +708,7 @@ static ssize_t mdev_access(struct mdev_device *mdev, char *buf, size_t count,
>  #if defined(DEBUG_REGS)
>  			pr_info("%s: BAR%d  RD @0x%llx %s val:0x%02x dlab:%d\n",
>  				__func__, index, offset, rd_reg[offset],
> -				(u8)*buf, mdev_state->s[index].dlab);
> +				*buf, mdev_state->s[index].dlab);
>  #endif
>  		}
>  		break;
> @@ -827,7 +827,7 @@ ssize_t mtty_read(struct mdev_device *mdev, char __user *buf, size_t count,
>  		if (count >= 4 && !(*ppos % 4)) {
>  			u32 val;
>  
> -			ret =  mdev_access(mdev, (char *)&val, sizeof(val),
> +			ret =  mdev_access(mdev, (u8 *)&val, sizeof(val),
>  					   *ppos, false);
>  			if (ret <= 0)
>  				goto read_err;
> @@ -839,7 +839,7 @@ ssize_t mtty_read(struct mdev_device *mdev, char __user *buf, size_t count,
>  		} else if (count >= 2 && !(*ppos % 2)) {
>  			u16 val;
>  
> -			ret = mdev_access(mdev, (char *)&val, sizeof(val),
> +			ret = mdev_access(mdev, (u8 *)&val, sizeof(val),
>  					  *ppos, false);
>  			if (ret <= 0)
>  				goto read_err;
> @@ -851,7 +851,7 @@ ssize_t mtty_read(struct mdev_device *mdev, char __user *buf, size_t count,
>  		} else {
>  			u8 val;
>  
> -			ret = mdev_access(mdev, (char *)&val, sizeof(val),
> +			ret = mdev_access(mdev, (u8 *)&val, sizeof(val),
>  					  *ppos, false);
>  			if (ret <= 0)
>  				goto read_err;
> @@ -889,7 +889,7 @@ ssize_t mtty_write(struct mdev_device *mdev, const char __user *buf,
>  			if (copy_from_user(&val, buf, sizeof(val)))
>  				goto write_err;
>  
> -			ret = mdev_access(mdev, (char *)&val, sizeof(val),
> +			ret = mdev_access(mdev, (u8 *)&val, sizeof(val),
>  					  *ppos, true);
>  			if (ret <= 0)
>  				goto write_err;
> @@ -901,7 +901,7 @@ ssize_t mtty_write(struct mdev_device *mdev, const char __user *buf,
>  			if (copy_from_user(&val, buf, sizeof(val)))
>  				goto write_err;
>  
> -			ret = mdev_access(mdev, (char *)&val, sizeof(val),
> +			ret = mdev_access(mdev, (u8 *)&val, sizeof(val),
>  					  *ppos, true);
>  			if (ret <= 0)
>  				goto write_err;
> @@ -913,7 +913,7 @@ ssize_t mtty_write(struct mdev_device *mdev, const char __user *buf,
>  			if (copy_from_user(&val, buf, sizeof(val)))
>  				goto write_err;
>  
> -			ret = mdev_access(mdev, (char *)&val, sizeof(val),
> +			ret = mdev_access(mdev, (u8 *)&val, sizeof(val),
>  					  *ppos, true);
>  			if (ret <= 0)
>  				goto write_err;


      parent reply	other threads:[~2018-12-17 18:12 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-19 18:04 [PATCH] vfio-mdev/samples: Use u8 instead of char for handle functions Nathan Chancellor
2018-12-17 17:42 ` Nathan Chancellor
2018-12-17 18:12 ` Alex Williamson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181217111208.3251aa42@x1.home \
    --to=alex.williamson@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=natechancellor@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox