Change-Id: I26718e341bb0c746f7a8567c77126dc40e74f56d
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/6264
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Sharath George
1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,45 @@ |
0 |
+From fce98161d9815ea016855d9f00274276452c2c4b Mon Sep 17 00:00:00 2001 |
|
1 |
+From: Steve Dickson <steved@redhat.com> |
|
2 |
+Date: Thu, 3 Mar 2016 14:31:08 -0500 |
|
3 |
+Subject: [PATCH 1/1] rendezvous_request: fix endless loop in EMFILE case |
|
4 |
+ |
|
5 |
+With the port to poll, and endless loop can be created |
|
6 |
+when we run out of file descriptors. Remove the code |
|
7 |
+that tries to recover from that error |
|
8 |
+ |
|
9 |
+Signed-off-by: Steve Dickson <steved@redhat.com> |
|
10 |
+--- |
|
11 |
+ src/svc_vc.c | 16 ++-------------- |
|
12 |
+ 1 file changed, 2 insertions(+), 14 deletions(-) |
|
13 |
+ |
|
14 |
+diff --git a/src/svc_vc.c b/src/svc_vc.c |
|
15 |
+index 7415244..97a76a3 100644 |
|
16 |
+--- a/src/svc_vc.c |
|
17 |
+@@ -332,22 +332,10 @@ rendezvous_request(xprt, msg) |
|
18 |
+ r = (struct cf_rendezvous *)xprt->xp_p1; |
|
19 |
+ again: |
|
20 |
+ len = sizeof addr; |
|
21 |
+- if ((sock = accept(xprt->xp_fd, (struct sockaddr *)(void *)&addr, |
|
22 |
+- &len)) < 0) { |
|
23 |
++ sock = accept(xprt->xp_fd, (struct sockaddr *)(void *)&addr, &len); |
|
24 |
++ if (sock < 0) { |
|
25 |
+ if (errno == EINTR) |
|
26 |
+ goto again; |
|
27 |
+- |
|
28 |
+- if (errno == EMFILE || errno == ENFILE) { |
|
29 |
+- /* If there are no file descriptors available, then accept will fail. |
|
30 |
+- We want to delay here so the connection request can be dequeued; |
|
31 |
+- otherwise we can bounce between polling and accepting, never |
|
32 |
+- giving the request a chance to dequeue and eating an enormous |
|
33 |
+- amount of cpu time in svc_run if we're polling on many file |
|
34 |
+- descriptors. */ |
|
35 |
+- struct timespec ts = { .tv_sec = 0, .tv_nsec = 50000000 }; |
|
36 |
+- nanosleep (&ts, NULL); |
|
37 |
+- goto again; |
|
38 |
+- } |
|
39 |
+ return (FALSE); |
|
40 |
+ } |
|
41 |
+ /* |
|
42 |
+-- |
|
43 |
+1.8.3.1 |
... | ... |
@@ -1,11 +1,12 @@ |
1 | 1 |
Summary: Libraries for Transport Independent RPC |
2 | 2 |
Name: libtirpc |
3 | 3 |
Version: 1.0.1 |
4 |
-Release: 7%{?dist} |
|
4 |
+Release: 8%{?dist} |
|
5 | 5 |
Source0: http://downloads.sourceforge.net/project/libtirpc/libtirpc/0.3.2/%{name}-%{version}.tar.bz2 |
6 | 6 |
%define sha1 libtirpc=8da1636f98b5909c0d587e7534bc1e91f5c1a970 |
7 | 7 |
Patch0: libtirpc-1.0.1-bindrsvport-blacklist.patch |
8 | 8 |
Patch1: libtirpc-CVE-2017-8779.patch |
9 |
+Patch2: libtirpc-CVE-2018-14621.patch |
|
9 | 10 |
License: BSD |
10 | 11 |
Group: System Environment/Libraries |
11 | 12 |
URL: http://nfsv4.bullopensource.org/ |
... | ... |
@@ -40,6 +41,7 @@ This package includes header files and libraries necessary for developing progra |
40 | 40 |
%setup -q |
41 | 41 |
%patch0 |
42 | 42 |
%patch1 -p1 |
43 |
+%patch2 -p1 |
|
43 | 44 |
|
44 | 45 |
%build |
45 | 46 |
./configure --prefix=%{_prefix} --sysconfdir=%{_sysconfdir} |
... | ... |
@@ -70,6 +72,8 @@ make install DESTDIR=%{buildroot} |
70 | 70 |
%{_libdir}/*.la |
71 | 71 |
|
72 | 72 |
%changelog |
73 |
+* Fri Nov 30 2018 Siju Maliakkal <smaliakkal@vmware.com> 1.0.1-8 |
|
74 |
+- Apply patch for CVE-2018-14621 |
|
73 | 75 |
* Thu Aug 24 2017 Alexey Makhalov <amakhalov@vmware.com> 1.0.1-7 |
74 | 76 |
- Fix compilation issue for glibc-2.26 |
75 | 77 |
* Thu May 18 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.0.1-6 |