Looks good to me. -dros On Oct 18, 2011, at 8:52 PM, Benny Halevy wrote: > squash into "pnfsd: Correctly set netid to tcp or tcp6 for non-local exports" > > Currently, the code looks for ':' using strcspn that requires a null terminated string > while the address buffer isn't null terminated. > > Instead, just use strnchr to look for a ':' and if not found assume > it's an IPv4 address, otherwise it's IPv6 > > Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxx> > --- > fs/nfsd/nfs4pnfsdlm.c | 9 ++------- > 1 files changed, 2 insertions(+), 7 deletions(-) > > diff --git a/fs/nfsd/nfs4pnfsdlm.c b/fs/nfsd/nfs4pnfsdlm.c > index abc4d83..d07a6037 100644 > --- a/fs/nfsd/nfs4pnfsdlm.c > +++ b/fs/nfsd/nfs4pnfsdlm.c > @@ -328,13 +328,8 @@ static int nfsd4_pnfs_dlm_getdevinfo(struct super_block *sb, > memcpy(daddr->r_addr.data + len, ".8.1", 4); > daddr->r_addr.len = len + 4; > > - if (strcspn(daddr->r_addr.data, ":") - 1 == daddr->r_addr.len) { > - daddr->r_netid.data = "tcp"; > - daddr->r_netid.len = 3; > - } else { > - daddr->r_netid.data = "tcp6"; > - daddr->r_netid.len = 4; > - } > + daddr->r_netid.data = "tcp6"; > + daddr->r_netid.len = strnchr(daddr->r_addr.data, len, ':') ? 4 : 3; > > fdev.fl_device_list[i].fl_multipath_length = 1; > fdev.fl_device_list[i].fl_multipath_list = daddr; > -- > 1.7.6 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html
Attachment:
smime.p7s
Description: S/MIME cryptographic signature