-
-
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.
10650 timerfd: NULL pointer errors
Review Request #1624 — Created April 1, 2019 and submitted
Information | |
---|---|
tsoome | |
illumos-gate | |
10650 | |
01a4923... | |
Reviewers | |
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
-
-
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.
Change Summary:
return ENXIO as suggested.
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 2 (+4 -4) |