From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: chuck.lever@oracle.com
Cc: Stephen Rothwell <sfr@canb.auug.org.au>, linux-next@vger.kernel.org
Subject: Re: linux-next: nfs build failure
Date: Wed, 18 Jun 2008 17:15:13 -0400 [thread overview]
Message-ID: <1213823713.25182.35.camel@localhost> (raw)
In-Reply-To: <485971F2.8000005@oracle.com>
On Wed, 2008-06-18 at 16:37 -0400, Chuck Lever wrote:
> Trond Myklebust wrote:
> > On Wed, 2008-06-18 at 12:52 +1000, Stephen Rothwell wrote:
> >> Hi Trond,
> >>
> >> Today's linux-next build (powerpc ppc64_defconfig) failed like this:
> >>
> >> fs/built-in.o: In function `.nfs_parse_ip_address':
> >> super.c:(.text+0xe2f08): undefined reference to `.__ipv6_addr_type'
> >>
> >> Some CONFIG_IPV6 protections are needed ...
> >>
> >> I reverted commit 09491a874d4f9a8676567bc58bce9dec9539740d ("NFS: handle
> >> interface identifiers in incoming IPv6 addresses").
> >
> > I suggest something like the attached patch. Comments Chuck?
> >
> > Trond
> >
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> > Subject:
> > NFS: Don't allow IPv6 addresses if CONFIG_IPv6 isn't set
> > From:
> > Trond Myklebust <Trond.Myklebust@netapp.com>
> > Date:
> > Wed, 18 Jun 2008 16:04:22 -0400
> >
> >
> > Fixes a compile failure in fs/nfs/super.c
> >
> > Also fix the compiler warnings:
> > fs/nfs/super.c:721: warning: field width should have type ‘int’, but
> > argument 2 has type ‘size_t’
>
> I just saw this warning yesterday, and was about to send a fix for it.
> Sorry for the delay, but I had a power supply go south on me today.
>
> > fs/nfs/super.c:809:3: warning: returning void-valued expression
> > fs/nfs/super.c:811:3: warning: returning void-valued expression
>
> But I've never seen that one. Very strange how the warnings vary
> depending on what platform you compile to.
>
> > Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
> > ---
> >
> > fs/nfs/super.c | 19 ++++++++++++++-----
> > 1 files changed, 14 insertions(+), 5 deletions(-)
> >
> > diff --git a/fs/nfs/super.c b/fs/nfs/super.c
> > index e62820c..6a47bc3 100644
> > --- a/fs/nfs/super.c
> > +++ b/fs/nfs/super.c
> > @@ -718,10 +718,10 @@ static void nfs_parse_ipv4_address(char *string, size_t str_len,
> > struct sockaddr_in *sin = (struct sockaddr_in *)sap;
> > u8 *addr = (u8 *)&sin->sin_addr.s_addr;
> >
> > - dfprintk(MOUNT, "NFS: parsing IPv4 address %*s\n",
> > - str_len, string);
> > -
> > if (str_len <= INET_ADDRSTRLEN) {
> > + dfprintk(MOUNT, "NFS: parsing IPv4 address %*s\n",
> > + (int)str_len, string);
> > +
>
> You need the same fix in nfs_parse_ipv6_address().
There is no such printk in nfs_parse_ipv6_address().
> > sin->sin_family = AF_INET;
> > *addr_len = sizeof(*sin);
> > if (in4_pton(string, str_len, addr, '\0', NULL))
> > @@ -732,6 +732,7 @@ static void nfs_parse_ipv4_address(char *string, size_t str_len,
> > *addr_len = 0;
> > }
> >
> > +#ifdef CONFIG_IPV6
> > static void nfs_parse_ipv6_scope_id(const char *string, const size_t str_len,
> > const char *delim,
> > struct sockaddr_in6 *sin6)
> > @@ -787,6 +788,14 @@ static void nfs_parse_ipv6_address(char *string, size_t str_len,
> > sap->sa_family = AF_UNSPEC;
> > *addr_len = 0;
> > }
> > +#else
> > +static void nfs_parse_ipv6_address(char *string, size_t str_len,
> > + struct sockaddr *sap, size_t *addr_len)
> > +{
> > + sap->sa_family = AF_UNSPEC;
> > + *addr_len = 0;
> > +}
> > +#endif
>
> Instead of creating a separate function, you could just wrap everything
> in nfs_parse_ipv6_address() but these two lines with #ifdef CONFIG_IPV6
> / #endif.
Getting rid of those #ifdef eyesores inside function definitions is
worth the extra few lines.
Trond
--
To unsubscribe from this list: send the line "unsubscribe linux-next" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2008-06-18 21:15 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-18 2:52 linux-next: nfs build failure Stephen Rothwell
2008-06-18 20:14 ` Trond Myklebust
2008-06-18 20:37 ` Chuck Lever
2008-06-18 21:15 ` Trond Myklebust [this message]
2008-06-18 21:19 ` Randy Dunlap
2008-06-18 22:18 ` Trond Myklebust
-- strict thread matches above, loose matches on Subject: below --
2008-06-17 9:26 Stephen Rothwell
2008-06-17 20:19 ` Trond Myklebust
2008-06-17 20:37 ` Jeff Layton
2008-06-18 0:49 ` Stephen Rothwell
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=1213823713.25182.35.camel@localhost \
--to=trond.myklebust@fys.uio.no \
--cc=chuck.lever@oracle.com \
--cc=linux-next@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
/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;
as well as URLs for NNTP newsgroup(s).