svn commit: r254799 - in head/sys: dev/cas dev/hatm dev/iscsi_initiator dev/lge dev/mwl kern sys

Glen Barber gjb at FreeBSD.org
Sun Aug 25 06:30:58 UTC 2013


On Sat, Aug 24, 2013 at 04:57:44PM +0000, Andre Oppermann wrote:
> Author: andre
> Date: Sat Aug 24 16:57:44 2013
> New Revision: 254799
> URL: http://svnweb.freebsd.org/changeset/base/254799
> 
> Log:
>   Add an mbuf pointer parameter to (*ext_free) to give the external
>   free function access to the mbuf the external memory was attached
>   to.
>   
>   Mechanically adjust all users to include the mbuf parameter.
>   
>   This fixes a long standing annoyance for external free functions.
>   Before one had to sacrifice one of the argument pointers for this.
>   

> Modified: head/sys/kern/uipc_mbuf.c
> ==============================================================================
> --- head/sys/kern/uipc_mbuf.c	Sat Aug 24 16:55:53 2013	(r254798)
> +++ head/sys/kern/uipc_mbuf.c	Sat Aug 24 16:57:44 2013	(r254799)
> @@ -247,8 +247,8 @@ m_freem(struct mbuf *mb)
>   */
>  int
>  m_extadd(struct mbuf *mb, caddr_t buf, u_int size,
> -    void (*freef)(void *, void *), void *arg1, void *arg2, int flags, int type,
> -    int wait)
> +    void (*freef)(struct mbuf *, void *, void *), void *arg1, void *arg2,
> +    int flags, int type, int wait)
>  {
>  	KASSERT(type != EXT_CLUSTER, ("%s: EXT_CLUSTER not allowed", __func__));
>  

I think this breaks head/.

cc  -c -O2 -pipe -fno-strict-aliasing  -std=c99  -Wall -Wredundant-decls
-Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes
-Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign
-fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option
-Wno-error-tautological-compare -Wno-error-empty-body
-Wno-error-parentheses-equality  -nostdinc  -I. -I/src/sys
-I/src/sys/contrib/altq -I/src/sys/contrib/libfdt -D_KERNEL
-DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -DGPROF -DGPROF4
-DGUPROF -fno-builtin -mno-aes -mno-avx -mno-mmx -mno-sse -msoft-float
-ffreestanding -fstack-protector -Werror -pg /src/sys/kern/uipc_cow.c
/src/sys/kern/uipc_cow.c:164:2: error: incompatible pointer types
passing 'void (void *, void *)' to parameter of type 'void (*)(struct
mbuf *, void *, void *)' [-Werror,-Wincompatible-pointer-types]
        MEXTADD(m0, sf_buf_kva(sf), PAGE_SIZE, socow_iodone,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/src/sys/sys/mbuf.h:760:50: note: expanded from macro 'MEXTADD'
    (void )m_extadd((m), (caddr_t)(buf), (size), (free), (arg1),
(arg2),\
                                                 ^~~~~~
/src/sys/sys/mbuf.h:898:14: note: passing argument to parameter here
                    void (*)(struct mbuf *, void *, void *), void *,
void *,
                           ^
1 error generated.
*** Error code 1

Stop.
bmake[1]: stopped in /obj/i386.i386/src/sys/LINT
*** Error code 1

http://tinderbox.freebsd.org/tinderbox-head-build-HEAD-i386-i386.full

Glen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20130825/26c9bd4b/attachment.sig>


More information about the svn-src-all mailing list