Project

General

Profile

Bug #10155

ip: cast between incompatible function types

Added by Toomas Soome 10 months ago. Updated 10 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
driver - device drivers
Start date:
2018-12-21
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

issue found by gcc 8 build:

    ../../common/inet/ip/ipmp.c: In function 'ipmp_illgrp_set_cast':
    ../../common/inet/ip/ipmp.c:803:23: error: cast between incompatible function types from 'void (*)(ncec_t *, uchar_t *)' {aka 'void (*)(struct ncec_s *, unsigned char *)'} to 'int (*)()' [-Werror=cast-function-type]
       ncec_walk(ocastill, (pfi_t)ipmp_ncec_delete_nonlocal, ocastill,
                           ^
    ../../common/inet/ip/ipmp.c: In function 'ipmp_ill_deactivate':
    ../../common/inet/ip/ipmp.c:1595:23: error: cast between incompatible function types from 'void (*)(ncec_t *, uchar_t *)' {aka 'void (*)(struct ncec_s *, unsigned char *)'} to 'int (*)()' [-Werror=cast-function-type]
       ncec_walk(ipmp_ill, (pfi_t)ncec_delete_per_ill, ipmp_ill, ipst);
                           ^
    ../../common/inet/ip/ip_squeue.c: In function 'ip_squeue_add_ring':
    ../../common/inet/ip/ip_squeue.c:516:28: error: cast between incompatible function types from 'mac_intr_enable_t' {aka 'int (*)(struct __mac_intr_handle *)'} to 'void (*)(void *)' [-Werror=cast-function-type]
      rx_ring->rr_intr_enable = (ip_mac_intr_enable_t)mrfp->mrf_intr_enable;
                                ^
    ../../common/inet/ip/ip_dummy.c:55:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)putnext, NULL, dummy_modopen, dummy_modclose, NULL,
      ^
    ../../common/inet/ip/ip_dummy.c:60:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)putnext, NULL, NULL, NULL, NULL, &dummy_mod_info
      ^
    ../../common/inet/ip/ip_helper_stream.c:57:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)ip_helper_wput, (pfi_t)ip_wsrv, NULL, NULL, NULL,
      ^
    ../../common/inet/ip/ip_helper_stream.c:57:25: error: cast between incompatible function types from 'void (*)(queue_t *)' {aka 'void (*)(struct queue *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)ip_helper_wput, (pfi_t)ip_wsrv, NULL, NULL, NULL,
                             ^
    ../../common/inet/ip/ip_ndp.c: In function 'ip_nce_reclaim_stack':
    ../../common/inet/ip/ip_ndp.c:3439:18: error: cast between incompatible function types from 'void (*)(ncec_t *, char *)' {aka 'void (*)(struct ncec_s *, char *)'} to 'int (*)()' [-Werror=cast-function-type]
      ncec_walk(NULL, (pfi_t)ncec_cache_reclaim, (uchar_t *)&fraction, ipst);
                      ^
    ../../common/inet/ip/ip_ndp.c: In function 'ip_nce_lookup_and_update':
    ../../common/inet/ip/ip_ndp.c:4366:7: error: cast between incompatible function types from 'void (*)(ncec_t *, void *)' {aka 'void (*)(struct ncec_s *, void *)'} to 'int (*)()' [-Werror=cast-function-type]
           (pfi_t)nce_update_hw_changed, (uchar_t *)&hwm, B_TRUE);
           ^
    ../../common/inet/ip/ip_arp.c:104:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)arp_rput, NULL, arp_open, arp_close, NULL, &arp_mod_info
      ^
    ../../common/inet/ip/ip_arp.c:107:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)arp_wput, NULL, arp_open, arp_close, NULL,
      ^
    ../../common/inet/ip/ip_arp.c: In function 'arp_notify':
    ../../common/inet/ip/ip_arp.c:1509:7: error: cast between incompatible function types from 'void (*)(ncec_t *, void *)' {aka 'void (*)(struct ncec_s *, void *)'} to 'int (*)()' [-Werror=cast-function-type]
           (pfi_t)nce_update_hw_changed, &hwm, B_TRUE);
           ^
    ../../common/inet/ip/icmp.c:184:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)icmp_wput, (pfi_t)ip_wsrv, NULL, NULL, NULL, &icmp_mod_info
      ^
    ../../common/inet/ip/icmp.c:184:20: error: cast between incompatible function types from 'void (*)(queue_t *)' {aka 'void (*)(struct queue *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)icmp_wput, (pfi_t)ip_wsrv, NULL, NULL, NULL, &icmp_mod_info
                        ^
    ../../common/inet/ip/icmp.c:189:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)icmp_wput_fallback, NULL, NULL, NULL, NULL, &icmp_mod_info
      ^
    ../../common/inet/ip/rts.c:144:8: error: cast between incompatible function types from 'void (*)(queue_t *)' {aka 'void (*)(struct queue *)'} to 'int (*)()' [-Werror=cast-function-type]
      NULL, (pfi_t)rts_rsrv, rts_stream_open, rts_stream_close, NULL,
            ^
    ../../common/inet/ip/rts.c:149:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)rts_wput, NULL, NULL, NULL, NULL, &rts_mod_info,
      ^
    ../../common/inet/tcp/tcp.c:319:8: error: cast between incompatible function types from 'void (*)(queue_t *)' {aka 'void (*)(struct queue *)'} to 'int (*)()' [-Werror=cast-function-type]
      NULL, (pfi_t)tcp_rsrv, tcp_openv4, tcp_tpi_close, NULL, &tcp_rinfo
            ^
    ../../common/inet/tcp/tcp.c:323:8: error: cast between incompatible function types from 'void (*)(queue_t *)' {aka 'void (*)(struct queue *)'} to 'int (*)()' [-Werror=cast-function-type]
      NULL, (pfi_t)tcp_rsrv, tcp_openv6, tcp_tpi_close, NULL, &tcp_rinfo
            ^
    ../../common/inet/tcp/tcp.c:327:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)tcp_wput, (pfi_t)tcp_wsrv, NULL, NULL, NULL, &tcp_winfo
      ^
    ../../common/inet/tcp/tcp.c:327:19: error: cast between incompatible function types from 'void (*)(queue_t *)' {aka 'void (*)(struct queue *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)tcp_wput, (pfi_t)tcp_wsrv, NULL, NULL, NULL, &tcp_winfo
                       ^
    ../../common/inet/tcp/tcp.c:332:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)tcp_wput_sock, (pfi_t)tcp_wsrv, NULL, NULL, NULL, &tcp_winfo
      ^
    ../../common/inet/tcp/tcp.c:332:24: error: cast between incompatible function types from 'void (*)(queue_t *)' {aka 'void (*)(struct queue *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)tcp_wput_sock, (pfi_t)tcp_wsrv, NULL, NULL, NULL, &tcp_winfo
                            ^
    ../../common/inet/tcp/tcp.c:337:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)tcp_wput_fallback, NULL, NULL, NULL, NULL, &tcp_winfo
      ^
    ../../common/inet/tcp/tcp.c:346:8: error: cast between incompatible function types from 'void (*)(queue_t *)' {aka 'void (*)(struct queue *)'} to 'int (*)()' [-Werror=cast-function-type]
      NULL, (pfi_t)tcp_rsrv, NULL, tcp_tpi_close_accept, NULL, &tcp_winfo
            ^
    ../../common/inet/tcp/tcp.c:350:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)tcp_tpi_accept, NULL, NULL, NULL, NULL, &tcp_winfo
      ^
    ../../common/inet/ip/ip.c:1187:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)ip_rput, NULL, ip_openv4, ip_close, NULL,
      ^
    ../../common/inet/ip/ip.c:1192:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)ip_rput_v6, NULL, ip_openv6, ip_close, NULL,
      ^
    ../../common/inet/ip/ip.c:1197:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)ip_wput_nondata, (pfi_t)ip_wsrv, NULL, NULL, NULL,
      ^
    ../../common/inet/ip/ip.c:1197:26: error: cast between incompatible function types from 'void (*)(queue_t *)' {aka 'void (*)(struct queue *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)ip_wput_nondata, (pfi_t)ip_wsrv, NULL, NULL, NULL,
                              ^
    ../../common/inet/ip/ip.c:1202:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)ip_lrput, NULL, ip_openv4, ip_close, NULL,
      ^
    ../../common/inet/ip/ip.c:1207:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)ip_lwput, NULL, NULL, NULL, NULL,
      ^
    ../../common/inet/ip/ip_if.c: In function 'ip_sioctl_plink_ipmod':
    ../../common/inet/ip/ip_if.c:8640:25: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
           qinfo->qi_putp != (pfi_t)ip_lwput && ipwq->q_next != NULL) {
                             ^
    ../../common/inet/ip/ip_if.c:8645:25: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
           qinfo->qi_putp != (pfi_t)ip_lwput && ipwq->q_next != NULL) {
                             ^
    ../../common/inet/ip/ip_if.c: In function 'ipif_nce_down':
    ../../common/inet/ip/ip_if.c:18999:18: error: cast between incompatible function types from 'void (*)(ncec_t *, uchar_t *)' {aka 'void (*)(struct ncec_s *, unsigned char *)'} to 'int (*)()' [-Werror=cast-function-type]
       ncec_walk(ill, (pfi_t)ncec_delete_per_ill,
                      ^
    ../../common/inet/udp/udp.c:261:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)udp_wput, (pfi_t)ip_wsrv, NULL, NULL, NULL, &udp_mod_info
      ^
    ../../common/inet/udp/udp.c:261:19: error: cast between incompatible function types from 'void (*)(queue_t *)' {aka 'void (*)(struct queue *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)udp_wput, (pfi_t)ip_wsrv, NULL, NULL, NULL, &udp_mod_info
                       ^
    ../../common/inet/udp/udp.c:266:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)udp_wput_fallback, NULL, NULL, NULL, NULL, &udp_mod_info
      ^
    ../../common/inet/udp/udp.c:274:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)udp_lrput, NULL, udp_openv4, udp_tpi_close, NULL, &udp_mod_info
      ^
    ../../common/inet/udp/udp.c:278:2: error: cast between incompatible function types from 'void (*)(queue_t *, mblk_t *)' {aka 'void (*)(struct queue *, struct msgb *)'} to 'int (*)()' [-Werror=cast-function-type]
      (pfi_t)udp_lwput, NULL, udp_openv4, udp_tpi_close, NULL, &udp_mod_info
      ^

History

#1

Updated by Electric Monk 10 months ago

  • % Done changed from 90 to 100
  • Status changed from In Progress to Closed

git commit 8a06b3d6467c15646e663c05086378f16288af85

commit  8a06b3d6467c15646e663c05086378f16288af85
Author: Toomas Soome <tsoome@me.com>
Date:   2019-01-04T12:36:33.000Z

    10155 ip: cast between incompatible function types
    Reviewed by: Robert Mustacchi <rm@joyent.com>
    Reviewed by: Gergő Mihály Doma <domag02@gmail.com>
    Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>

Also available in: Atom PDF