Ensure that we only close the selinux netlink socket once.
- Taken from our Android libselinux tree. From Stephen Smalley
This commit is contained in:
parent
6b51ca9aaf
commit
4eed7a5379
@ -281,6 +281,54 @@ index 802a07f..6ff83a7 100644
|
||||
return rc;
|
||||
}
|
||||
|
||||
diff --git a/libselinux/src/avc_internal.c b/libselinux/src/avc_internal.c
|
||||
index a07aa7f..d219331 100644
|
||||
--- a/libselinux/src/avc_internal.c
|
||||
+++ b/libselinux/src/avc_internal.c
|
||||
@@ -53,7 +53,7 @@ int avc_setenforce = 0;
|
||||
int avc_netlink_trouble = 0;
|
||||
|
||||
/* netlink socket code */
|
||||
-static int fd;
|
||||
+static int fd = -1;
|
||||
|
||||
int avc_netlink_open(int blocking)
|
||||
{
|
||||
@@ -69,6 +69,7 @@ int avc_netlink_open(int blocking)
|
||||
fcntl(fd, F_SETFD, FD_CLOEXEC);
|
||||
if (!blocking && fcntl(fd, F_SETFL, O_NONBLOCK)) {
|
||||
close(fd);
|
||||
+ fd = -1;
|
||||
rc = -1;
|
||||
goto out;
|
||||
}
|
||||
@@ -81,6 +82,7 @@ int avc_netlink_open(int blocking)
|
||||
|
||||
if (bind(fd, (struct sockaddr *)&addr, len) < 0) {
|
||||
close(fd);
|
||||
+ fd = -1;
|
||||
rc = -1;
|
||||
goto out;
|
||||
}
|
||||
@@ -90,7 +92,9 @@ int avc_netlink_open(int blocking)
|
||||
|
||||
void avc_netlink_close(void)
|
||||
{
|
||||
- close(fd);
|
||||
+ if (fd >= 0)
|
||||
+ close(fd);
|
||||
+ fd = -1;
|
||||
}
|
||||
|
||||
static int avc_netlink_receive(char *buf, unsigned buflen, int blocking)
|
||||
@@ -269,6 +273,7 @@ void avc_netlink_loop(void)
|
||||
}
|
||||
|
||||
close(fd);
|
||||
+ fd = -1;
|
||||
avc_netlink_trouble = 1;
|
||||
avc_log(SELINUX_ERROR,
|
||||
"%s: netlink thread: errors encountered, terminating\n",
|
||||
diff --git a/libselinux/src/booleans.c b/libselinux/src/booleans.c
|
||||
index 1510043..b5e6655 100644
|
||||
--- a/libselinux/src/booleans.c
|
||||
|
@ -8,7 +8,7 @@
|
||||
Summary: SELinux library and simple utilities
|
||||
Name: libselinux
|
||||
Version: 2.1.11
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
License: Public Domain
|
||||
Group: System Environment/Libraries
|
||||
Source: %{name}-%{version}.tgz
|
||||
@ -233,6 +233,10 @@ rm -rf %{buildroot}
|
||||
%{ruby_sitearch}/selinux.so
|
||||
|
||||
%changelog
|
||||
* Tue Jul 31 2012 Dan Walsh <dwalsh@redhat.com> - 2.1.11-4
|
||||
- Ensure that we only close the selinux netlink socket once.
|
||||
- Taken from our Android libselinux tree. From Stephen Smalley
|
||||
|
||||
* Mon Jul 16 2012 Dan Walsh <dwalsh@redhat.com> - 2.1.11-3
|
||||
- Move the tmpfiles.d content from /etc/tmpfiles.d to /usr/lib/tmpfiles.d
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user