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