Fix: liblttng-ctl: poll compatibility symbols inadvertently exported
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 2 Oct 2019 21:25:00 +0000 (17:25 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 2 Oct 2019 23:32:12 +0000 (19:32 -0400)
abidiff reports that the following poll/epoll compatibility layer
symbols were inadventently exported by liblttng-ctl:

'function int compat_epoll_add(compat_epoll_event*, int, uint32_t)'    {compat_epoll_add}
'function int compat_epoll_create(compat_epoll_event*, int, int)'    {compat_epoll_create}
'function int compat_epoll_del(compat_epoll_event*, int)'    {compat_epoll_del}
'function int compat_epoll_mod(compat_epoll_event*, int, uint32_t)'    {compat_epoll_mod}
'function int compat_epoll_set_max_size()'    {compat_epoll_set_max_size}
'function int compat_epoll_wait(compat_epoll_event*, int, bool)'    {compat_epoll_wait}

Those functions and their 'poll' equivalent are marked as
LTTNG_HIDDEN.

The poll_max_size variable is also made static and removed from the
compatibility header since it is never used apart from within the
implementation files.

'unsigned int poll_max_size'    {poll_max_size}

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/common/compat/compat-epoll.c
src/common/compat/compat-poll.c
src/common/compat/poll.h

index 794041726ad51226e331c511526c4ff95de128d5..92abc0a7889ffa96f7c8b61c2280bfffb2eeeeff 100644 (file)
 
 #include "poll.h"
 
-unsigned int poll_max_size;
+/*
+ * Maximum number of fd we can monitor.
+ *
+ * For epoll(7), /proc/sys/fs/epoll/max_user_watches (since Linux 2.6.28) will
+ * be used for the maximum size of the poll set. If this interface is not
+ * available, according to the manpage, the max_user_watches value is 1/25 (4%)
+ * of the available low memory divided by the registration cost in bytes which
+ * is 90 bytes on a 32-bit kernel and 160 bytes on a 64-bit kernel.
+ *
+ */
+static unsigned int poll_max_size;
 
 /*
  * Resize the epoll events structure of the new size.
@@ -68,6 +78,7 @@ error:
 /*
  * Create epoll set and allocate returned events structure.
  */
+LTTNG_HIDDEN
 int compat_epoll_create(struct lttng_poll_event *events, int size, int flags)
 {
        int ret;
@@ -120,6 +131,7 @@ error:
 /*
  * Add a fd to the epoll set with requesting events.
  */
+LTTNG_HIDDEN
 int compat_epoll_add(struct lttng_poll_event *events, int fd, uint32_t req_events)
 {
        int ret;
@@ -167,6 +179,7 @@ error:
 /*
  * Remove a fd from the epoll set.
  */
+LTTNG_HIDDEN
 int compat_epoll_del(struct lttng_poll_event *events, int fd)
 {
        int ret;
@@ -201,6 +214,7 @@ error:
 /*
  * Set an fd's events.
  */
+LTTNG_HIDDEN
 int compat_epoll_mod(struct lttng_poll_event *events, int fd, uint32_t req_events)
 {
        int ret;
@@ -242,6 +256,7 @@ error:
 /*
  * Wait on epoll set. This is a blocking call of timeout value.
  */
+LTTNG_HIDDEN
 int compat_epoll_wait(struct lttng_poll_event *events, int timeout,
                bool interruptible)
 {
@@ -296,6 +311,7 @@ error:
 /*
  * Setup poll set maximum size.
  */
+LTTNG_HIDDEN
 int compat_epoll_set_max_size(void)
 {
        int ret, fd, retval = 0;
index 4ea23c17318e1439f36a94b134194d13b070e4de..79756f5731fa48dd41ac2c646333c4f1080278b3 100644 (file)
 
 #include "poll.h"
 
-unsigned int poll_max_size;
+
+/*
+ * Maximum number of fd we can monitor.
+ *
+ * For poll(2), the max fds must not exceed RLIMIT_NOFILE given by
+ * getrlimit(2).
+ */
+static unsigned int poll_max_size;
 
 /*
  * Resize the epoll events structure of the new size.
@@ -103,6 +110,7 @@ error:
 /*
  * Create pollfd data structure.
  */
+LTTNG_HIDDEN
 int compat_poll_create(struct lttng_poll_event *events, int size)
 {
        struct compat_poll_event_array *current, *wait;
@@ -155,6 +163,7 @@ error:
 /*
  * Add fd to pollfd data structure with requested events.
  */
+LTTNG_HIDDEN
 int compat_poll_add(struct lttng_poll_event *events, int fd,
                uint32_t req_events)
 {
@@ -201,6 +210,7 @@ error:
 /*
  * Modify an fd's events..
  */
+LTTNG_HIDDEN
 int compat_poll_mod(struct lttng_poll_event *events, int fd,
                uint32_t req_events)
 {
@@ -237,6 +247,7 @@ error:
 /*
  * Remove a fd from the pollfd structure.
  */
+LTTNG_HIDDEN
 int compat_poll_del(struct lttng_poll_event *events, int fd)
 {
        int i, count = 0, ret;
@@ -291,6 +302,7 @@ error:
 /*
  * Wait on poll() with timeout. Blocking call.
  */
+LTTNG_HIDDEN
 int compat_poll_wait(struct lttng_poll_event *events, int timeout,
                bool interruptible)
 {
@@ -370,6 +382,7 @@ error:
 /*
  * Setup poll set maximum size.
  */
+LTTNG_HIDDEN
 int compat_poll_set_max_size(void)
 {
        int ret, retval = 0;
index 0b3cb324341a225ab6ab33c588a170e6d9cc23c4..622f5bde41d04e648507c1b3f03233c67c703cd6 100644 (file)
 
 #include <common/common.h>
 
-/*
- * Maximum number of fd we can monitor.
- *
- * For epoll(7), /proc/sys/fs/epoll/max_user_watches (since Linux 2.6.28) will
- * be used for the maximum size of the poll set. If this interface is not
- * available, according to the manpage, the max_user_watches value is 1/25 (4%)
- * of the available low memory divided by the registration cost in bytes which
- * is 90 bytes on a 32-bit kernel and 160 bytes on a 64-bit kernel.
- *
- * For poll(2), the max fds must not exceed RLIMIT_NOFILE given by
- * getrlimit(2).
- */
-extern unsigned int poll_max_size;
-
 /*
  * Used by lttng_poll_clean to free the events structure in a lttng_poll_event.
  */
This page took 0.033122 seconds and 4 git commands to generate.