All of lore.kernel.org
 help / color / mirror / Atom feed
From: Harvey Harrison <harvey.harrison@gmail.com>
To: ericvh@gmail.com
Cc: v9fs-developer@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] net/9p: fix endian issues
Date: Tue, 03 Feb 2009 17:50:26 -0800	[thread overview]
Message-ID: <1233712226.5752.32.camel@brick> (raw)
In-Reply-To: <1233676289-1933-1-git-send-email-ericvh@gmail.com>

On Tue, 2009-02-03 at 09:51 -0600, ericvh@gmail.com wrote:
> From: Eric Van Hensbergen <ericvh@gmail.com>
> 
> When the changes were done to the protocol last release, some endian
> bugs crept in.  This patch fixes those endian problems and has been
> verified to run on 32/64 bit and x86/ppc architectures.
> 
> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
> ---
>  net/9p/protocol.c |   12 ++++++------
>  1 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/net/9p/protocol.c b/net/9p/protocol.c
> index dcd7666..19ad5d2 100644
> --- a/net/9p/protocol.c
> +++ b/net/9p/protocol.c
> @@ -164,7 +164,7 @@ p9pdu_vreadf(struct p9_fcall *pdu, int optional, const char *fmt, va_list ap)
>  					errcode = -EFAULT;
>  					break;
>  				}
> -				*val = cpu_to_le16(*val);
> +				*val = le16_to_cpu(*val);
>  			}
>  			break;
>  		case 'd':{
> @@ -173,7 +173,7 @@ p9pdu_vreadf(struct p9_fcall *pdu, int optional, const char *fmt, va_list ap)
>  					errcode = -EFAULT;
>  					break;
>  				}
> -				*val = cpu_to_le32(*val);
> +				*val = le32_to_cpu(*val);
>  			}
>  			break;
>  		case 'q':{
> @@ -182,7 +182,7 @@ p9pdu_vreadf(struct p9_fcall *pdu, int optional, const char *fmt, va_list ap)
>  					errcode = -EFAULT;
>  					break;
>  				}
> -				*val = cpu_to_le64(*val);
> +				*val = le64_to_cpu(*val);
>  			}

Umm, the above three have absolutely no functional effect you know.  And you're just
trading one set of sparse warnings for another.

>  			break;
>  		case 's':{
> @@ -362,19 +362,19 @@ p9pdu_vwritef(struct p9_fcall *pdu, int optional, const char *fmt, va_list ap)
>  			}
>  			break;
>  		case 'w':{
> -				int16_t val = va_arg(ap, int);
> +				int16_t val = cpu_to_le16(va_arg(ap, int));
>  				if (pdu_write(pdu, &val, sizeof(val)))
>  					errcode = -EFAULT;
>  			}
>  			break;
>  		case 'd':{
> -				int32_t val = va_arg(ap, int32_t);
> +				int32_t val = cpu_to_le32(va_arg(ap, int32_t));
>  				if (pdu_write(pdu, &val, sizeof(val)))
>  					errcode = -EFAULT;
>  			}
>  			break;
>  		case 'q':{
> -				int64_t val = va_arg(ap, int64_t);
> +				int64_t val = cpu_to_le64(va_arg(ap, int64_t));
>  				if (pdu_write(pdu, &val, sizeof(val)))
>  					errcode = -EFAULT;
>  			}

And here even if you are fixing endian bugs, you're actively _introducing_
sparse warnings, it would be nice if you could annotate the variable types
properly too.

Cheers,

Harvey


      reply	other threads:[~2009-02-04  1:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-03 15:51 [PATCH] net/9p: fix endian issues ericvh
2009-02-04  1:50 ` Harvey Harrison [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=1233712226.5752.32.camel@brick \
    --to=harvey.harrison@gmail.com \
    --cc=ericvh@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=v9fs-developer@lists.sourceforge.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.