From owner-freebsd-current@freebsd.org Mon Jan 29 17:29:18 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B1D61ED3446 for ; Mon, 29 Jan 2018 17:29:18 +0000 (UTC) (envelope-from lists@jnielsen.net) Received: from webmail4.jnielsen.net (webmail4.jnielsen.net [IPv6:2607:f7a0:a:18c::c0de]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "webmail2.jnielsen.net", Issuer "freebsdsolutions.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4C3BF7CAF1; Mon, 29 Jan 2018 17:29:18 +0000 (UTC) (envelope-from lists@jnielsen.net) Received: from [10.3.135.19] (50-207-240-162-static.hfc.comcastbusiness.net [50.207.240.162]) (authenticated bits=0) by webmail4.jnielsen.net (8.15.2/8.15.2) with ESMTPSA id w0THTBxc030860 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 29 Jan 2018 10:29:13 -0700 (MST) (envelope-from lists@jnielsen.net) X-Authentication-Warning: webmail4.jnielsen.net: Host 50-207-240-162-static.hfc.comcastbusiness.net [50.207.240.162] claimed to be [10.3.135.19] Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: Error compiling isboot-kmod From: John Nielsen In-Reply-To: <1517070032.84051.6.camel@freebsd.org> Date: Mon, 29 Jan 2018 10:29:10 -0700 Cc: freebsd-current , Warner Losh , Maurizio Vairani Content-Transfer-Encoding: quoted-printable Message-Id: <8C0D755C-5DD8-40BE-A0F8-180152A0BF84@jnielsen.net> References: <9D0C6C9E-3020-4EC0-97AF-6498FB7356C7@jnielsen.net> <1516988137.42536.255.camel@freebsd.org> <09C92929-BC36-4C75-A2F2-0607C9701D40@jnielsen.net> <1517070032.84051.6.camel@freebsd.org> To: Ian Lepore X-Mailer: Apple Mail (2.3273) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jan 2018 17:29:19 -0000 > On Jan 27, 2018, at 9:20 AM, Ian Lepore wrote: >=20 > On Fri, 2018-01-26 at 23:20 -0700, John Nielsen wrote: >>>=20 >>> On Jan 26, 2018, at 9:42 PM, John Nielsen = wrote: >>>=20 >>>>=20 >>>> [...] >>> --- iscsi.o --- >>> iscsi.c:1146:3: error: incompatible pointer types passing 'void = (struct mbuf *, void *, void *)' to parameter of type 'm_ext_free_t *' = (aka 'void (*)(struct mbuf *)') [-Werror,-Wincompatible-pointer-types] >>> MEXTADD(md, (caddr_t)ds_dd, (ISCSI_ALIGN(pp->ds_len) >>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> /usr/src/sys/sys/mbuf.h:887:42: note: expanded from macro 'MEXTADD' >>> m_extadd((m), (char *)(buf), (size), (free), (arg1), (arg2), = \ >>> ^~~~~~ >>> /usr/src/sys/sys/mbuf.h:634:59: note: passing argument to parameter = here >>> void m_extadd(struct mbuf *, char *, u_int, = m_ext_free_t, >> Looks like iscsi.c needs to be fixed up following r324446 >> (https://svnweb.freebsd.org/changeset/base/324446). Starting to be >> out of my depth unless there's a mechanical way to make the changes? >=20 > I'm not set up to test-compile this against -current right now, so I'm > not sure if this is all that remains or just another breadcrumb on the > trail, but... try the attached patch. >=20 > -- Ian > --- iscsi.c.orig 2018-01-27 08:43:26.937858000 -0700 > +++ iscsi.c 2018-01-27 09:15:39.631501000 -0700 > @@ -1071,17 +1071,23 @@ > } >=20 >=20 > -#if __FreeBSD_version >=3D 1100000 > +#if __FreeBSD_version >=3D 1200051 > +static void > +isboot_free_mbufext(struct mbuf *m) > +{ > + void *p =3D m->m_ext.ext_arg1; > +#elif __FreeBSD_version >=3D 1100000 > static void > isboot_free_mbufext(struct mbuf *m, void *p, void *optarg) > #elif __FreeBSD_version >=3D 1000050 && __FreeBSD_version < 1100000 > static int > isboot_free_mbufext(struct mbuf *m, void *p, void *optarg) > +{ > #else > static void > isboot_free_mbufext(void *p, void *optarg) > -#endif > { > +#endif Thanks Ian. I think I ran in to a copy/paste issue on my end with the = above but I can compile with this similar patch. Is it functionally = equivalent to yours? --- iscsi.c.orig 2015-11-05 09:50:51.000000000 -0700 +++ iscsi.c 2018-01-29 10:20:00.586277000 -0700 @@ -1070,9 +1070,11 @@ return (n); } =20 - -#if __FreeBSD_version >=3D 1100000 +#if __FreeBSD_version >=3D 1200051 static void +isboot_free_mbufext(struct mbuf *m) +#elif __FreeBSD_version >=3D 1100000 +static void isboot_free_mbufext(struct mbuf *m, void *p, void *optarg) #elif __FreeBSD_version >=3D 1000050 && __FreeBSD_version < 1100000 static int @@ -1082,7 +1084,9 @@ isboot_free_mbufext(void *p, void *optarg) #endif { - +#if __FreeBSD_version >=3D 1200051 + void *p =3D m->m_ext.ext_arg1; +#endif ISBOOT_TRACE("isboot_free_mbufext\n"); if (p =3D=3D NULL) #if __FreeBSD_version >=3D 1000050 && __FreeBSD_version < 1100000