xserver: Branch 'master' - 2 commits

Keith Packard keithp at kemper.freedesktop.org
Wed Apr 30 08:57:49 PDT 2014


 Xext/xselinux_hooks.c |    4 ++--
 config/dbus-core.c    |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit a26578dbb93dbaab1910b52f9fa1c87f8c9e6d1e
Author: Ray Strode <rstrode at redhat.com>
Date:   Thu Apr 24 13:38:29 2014 -0400

    selinux: don't checkout for AVCs on select() EINTR
    
    wakeup handlers are called even when select() returns EINTR,
    and when they're called the passed fd set is undefined.
    
    This commit fixes the selinux wakeup handler to avoid checking
    for AVCs over the netlink socket spuriously.
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Ray Strode <rstrode at redhat.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c
index 376d575..48219a9 100644
--- a/Xext/xselinux_hooks.c
+++ b/Xext/xselinux_hooks.c
@@ -812,9 +812,9 @@ SELinuxBlockHandler(void *data, struct timeval **tv, void *read_mask)
 }
 
 static void
-SELinuxWakeupHandler(void *data, int err, void *read_mask)
+SELinuxWakeupHandler(void *data, int num_fds, void *read_mask)
 {
-    if (FD_ISSET(netlink_fd, (fd_set *) read_mask))
+    if (num_fds > 0 && FD_ISSET(netlink_fd, (fd_set *) read_mask))
         avc_netlink_check_nb();
 }
 
commit bcb17b99873f020f2639b860ce99d260def0cd97
Author: Ray Strode <rstrode at redhat.com>
Date:   Thu Apr 24 13:38:28 2014 -0400

    dbus: don't dispatch dbus events on select() EINTR
    
    wakeup handlers are called even when select() returns EINTR,
    and when they're called the passed fd set is undefined.
    
    This commit fixes the dbus wakeup handler to avoid dispatching
    into dbus spuriously.
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Ray Strode <rstrode at redhat.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/config/dbus-core.c b/config/dbus-core.c
index b0fd92d..8351ea4 100644
--- a/config/dbus-core.c
+++ b/config/dbus-core.c
@@ -48,11 +48,11 @@ static struct dbus_core_info bus_info;
 static CARD32 reconnect_timer(OsTimerPtr timer, CARD32 time, void *arg);
 
 static void
-wakeup_handler(void *data, int err, void *read_mask)
+wakeup_handler(void *data, int num_fds, void *read_mask)
 {
     struct dbus_core_info *info = data;
 
-    if (info->connection && FD_ISSET(info->fd, (fd_set *) read_mask)) {
+    if (info->connection && num_fds > 0 && FD_ISSET(info->fd, (fd_set *) read_mask)) {
         do {
             dbus_connection_read_write_dispatch(info->connection, 0);
         } while (info->connection &&


More information about the xorg-commit mailing list