10650 timerfd: NULL pointer errors

Review Request #1624 — Created April 1, 2019 and submitted

tsoome
illumos-gate
10650
01a4923...
general
../../common/io/timerfd.c: In function 'timerfd_open':
../../common/io/timerfd.c:125:10: error: return makes integer from pointer without a cast [-Werror=int-conversion]
   return (NULL);
          ^
../../common/io/timerfd.c: In function 'timerfd_ioctl':
../../common/io/timerfd.c:334:29: error: comparison between pointer and integer [-Werror]
   if (st.tfd_settime_ovalue != NULL) {
                             ^~
../../common/io/timerfd.c:376:41: error: comparison between pointer and integer [-Werror]
   if (err != 0 || st.tfd_settime_ovalue == NULL)
                                         ^~
In file included from ../../common/sys/param.h:48:0,
                 from ../../common/sys/t_lock.h:38,
                 from ../../common/sys/map.h:35,
                 from ../../common/sys/ddi.h:37,
                 from ../../common/io/timerfd.c:22:
../../common/io/timerfd.c: In function 'timerfd_attach':
../../common/sys/null.h:32:14: error: passing argument 6 of 'ddi_create_minor_node' makes integer from pointer without a cast [-Werror=int-conversion]
 #define NULL ((void *)0)
              ^
../../common/io/timerfd.c:458:39: note: in expansion of macro 'NULL'
      TIMERFDMNRN_TIMERFD, DDI_PSEUDO, NULL) == DDI_FAILURE) {
                                       ^~~~
In file included from ../../common/io/timerfd.c:23:0:
../../common/sys/sunddi.h:1564:1: note: expected 'int' but argument is of type 'void *'
 ddi_create_minor_node(dev_info_t *dip, char *name, int spec_type,
 ^~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors


  • 0
  • 0
  • 1
  • 1
  • 2
Description From Last Updated
pmooney
  1. 
      
  2. usr/src/uts/common/io/timerfd.c (Diff revision 1)
     
     

    This is an actual bug in timerfd which needs to be fixed. Returning 0 (or NULL) is inappropriate, since this is a failure branch. ENXIO would probably be best here.

    1. right, it is the same issue as with eventfd:D I need to poke RM what is the state with those:)

  3. 
      
pmooney
  1. 
      
  2. usr/src/uts/common/io/timerfd.c (Diff revision 1)
     
     

    I chatted with Robert and Bryan about this (and the eventfd_open) case, and the consensus was that ENXIO would be the appropriate error to emit here.

  3. 
      
tsoome
pmooney
  1. Ship It!
  2. 
      
domag02
  1. Ship It!
  2. 
      
tsoome
Review request changed

Status: Closed (submitted)

Loading...