Re: [patch] svcrdma: endian bug in send_write_chunks()
From: J. Bruce Fields <hidden>
Date: 2012-01-12 19:28:21
Also in:
kernel-janitors, linux-nfs
On Thu, Jan 12, 2012 at 02:15:59PM -0500, Trond Myklebust wrote:
On Thu, 2012-01-12 at 11:21 -0500, J. Bruce Fields wrote:quoted
On Thu, Jan 12, 2012 at 09:47:22AM +0300, Dan Carpenter wrote:quoted
Sparse complains because arg_ch->rs_length is declared as network endian but we're treating it as CPU endian.This looks like it would actually change behavior on a little endian architecture, so how did this work before?quoted
From some quick grepping, I see assignments both of the form...rs_length = ntohl(...) and ...rs_length = htonl(...) but only see one declaration for a field named rs_length. So my best guess would be that the code is ugly but working as is, and needs cleanup by someone who knows how this field was intended to be used.It looks to me as if rs_handle and rs_offset are being similarly abused. Basically, we need a serious clean up in svc_rdma_marshall.c to separate out those variables that are in XDR-encoded form and those that are not.
(Here everybody takes one step back and pretends to be engrossed in some other thread.) --b. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html