Browse code

kernels: Update to version 4.4.124

Some local patches are not needed anymore as their equivalent patches
have been merged into the upstream stable kernel. These patches are
listed below:

- dccp-CVE-2017-8824-use-after-free-in-DCCP-code.patch:
is replaced by commit 3196c1515ea683bb6f95673feb2998f605ab581d
(dccp: CVE-2017-8824: use-after-free in DCCP code)

- 0152-fs-prevent-speculative-execution.patch:
is replaced by commit 43e4f5aeaff2d6604d2c16267c8b15257cf974ea
(vfs, fdtable: Prevent bounds-check bypass via speculative execution)

Also, the SMB3 mount issue has been fixed in 4.4.124 by commit
0a53587ac60 (SMB3: Validate negotiate request must always be signed)
and commit 26dc7476efad (CIFS: Enable encryption during session setup
phase). So remove revert-SMB-validate-negotiate-even-if-signing-off.patch

Change-Id: I946a76ae0022506f0135c42066b37de1456f7a7f
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/4942
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Alexey Makhalov <amakhalov@vmware.com>

Srivatsa S. Bhat authored on 2018/03/28 04:26:24
Showing 7 changed files
... ...
@@ -1,6 +1,6 @@
1 1
 Summary:	Linux API header files
2 2
 Name:		linux-api-headers
3
-Version:	4.4.115
3
+Version:	4.4.124
4 4
 Release:	1%{?dist}
5 5
 License:	GPLv2
6 6
 URL:		http://www.kernel.org/
... ...
@@ -8,7 +8,7 @@ Group:		System Environment/Kernel
8 8
 Vendor:		VMware, Inc.
9 9
 Distribution: Photon
10 10
 Source0:    	http://www.kernel.org/pub/linux/kernel/v4.x/linux-%{version}.tar.xz
11
-%define sha1 linux=d8a244092f001d149bbe673bd5b685d204fcf298
11
+%define sha1 linux=d5241400e6e5ed97fbdba1f92cf62c0a4382a30a
12 12
 BuildArch:	noarch
13 13
 # From SPECS/linux and used by linux-esx only
14 14
 # It provides f*xattrat syscalls
... ...
@@ -29,6 +29,8 @@ find /%{buildroot}%{_includedir} \( -name .install -o -name ..install.cmd \) -de
29 29
 %defattr(-,root,root)
30 30
 %{_includedir}/*
31 31
 %changelog
32
+*   Tue Mar 27 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.4.124-1
33
+-   Update to version 4.4.124
32 34
 *   Mon Feb 05 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.4.115-1
33 35
 -   Update to version 4.4.115
34 36
 *   Wed Jan 31 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.4.114-1
35 37
deleted file mode 100644
... ...
@@ -1,37 +0,0 @@
1
-commit 69c64866ce072dea1d1e59a0d61e0f66c0dffb76
2
-Author: Mohamed Ghannam <simo.ghannam@gmail.com>
3
-Date:   Tue Dec 5 20:58:35 2017 +0000
4
-
5
-    dccp: CVE-2017-8824: use-after-free in DCCP code
6
-
7
-    Whenever the sock object is in DCCP_CLOSED state,
8
-    dccp_disconnect() must free dccps_hc_tx_ccid and
9
-    dccps_hc_rx_ccid and set to NULL.
10
-
11
-    Signed-off-by: Mohamed Ghannam <simo.ghannam@gmail.com>
12
-    Reviewed-by: Eric Dumazet <edumazet@google.com>
13
-    Signed-off-by: David S. Miller <davem@davemloft.net>
14
-
15
-diff --git a/net/dccp/proto.c b/net/dccp/proto.c
16
-index b68168f..9d43c1f 100644
17
-+++ b/net/dccp/proto.c
18
-@@ -259,6 +259,7 @@ int dccp_disconnect(struct sock *sk, int flags)
19
- {
20
- 	struct inet_connection_sock *icsk = inet_csk(sk);
21
- 	struct inet_sock *inet = inet_sk(sk);
22
-+	struct dccp_sock *dp = dccp_sk(sk);
23
- 	int err = 0;
24
- 	const int old_state = sk->sk_state;
25
- 
26
-@@ -278,6 +279,10 @@ int dccp_disconnect(struct sock *sk, int flags)
27
- 		sk->sk_err = ECONNRESET;
28
- 
29
- 	dccp_clear_xmit_timers(sk);
30
-+	ccid_hc_rx_delete(dp->dccps_hc_rx_ccid, sk);
31
-+	ccid_hc_tx_delete(dp->dccps_hc_tx_ccid, sk);
32
-+	dp->dccps_hc_rx_ccid = NULL;
33
-+	dp->dccps_hc_tx_ccid = NULL;
34
- 
35
- 	__skb_queue_purge(&sk->sk_receive_queue);
36
- 	__skb_queue_purge(&sk->sk_write_queue);
... ...
@@ -1,7 +1,7 @@
1 1
 %global security_hardening none
2 2
 Summary:       Kernel
3 3
 Name:          linux-esx
4
-Version:       4.4.115
4
+Version:       4.4.124
5 5
 Release:       1%{?dist}
6 6
 License:       GPLv2
7 7
 URL:           http://www.kernel.org/
... ...
@@ -9,7 +9,7 @@ Group:         System Environment/Kernel
9 9
 Vendor:        VMware, Inc.
10 10
 Distribution:  Photon
11 11
 Source0:       http://www.kernel.org/pub/linux/kernel/v4.x/linux-%{version}.tar.xz
12
-%define sha1 linux=d8a244092f001d149bbe673bd5b685d204fcf298
12
+%define sha1 linux=d5241400e6e5ed97fbdba1f92cf62c0a4382a30a
13 13
 Source1:       config-esx
14 14
 Patch0:        double-tcp_mem-limits.patch
15 15
 Patch1:        linux-4.4-sysctl-sched_weighted_cpuload_uses_rla.patch
... ...
@@ -37,9 +37,6 @@ Patch22:       vsock-transport-for-9p.patch
37 37
 Patch23:       p9fs_dir_readdir-offset-support.patch
38 38
 Patch24:       Implement-the-f-xattrat-family-of-functions.patch
39 39
 Patch26:       init-do_mounts-recreate-dev-root.patch
40
-# Fix CVE-2017-8824
41
-Patch27:       dccp-CVE-2017-8824-use-after-free-in-DCCP-code.patch
42
-Patch30:       revert-SMB-validate-negotiate-even-if-signing-off.patch
43 40
 # For Spectre
44 41
 Patch52: 0141-locking-barriers-introduce-new-observable-speculatio.patch
45 42
 Patch55: 0144-uvcvideo-prevent-speculative-execution.patch
... ...
@@ -50,7 +47,6 @@ Patch59: 0148-cw1200-prevent-speculative-execution.patch
50 50
 Patch60: 0149-Thermal-int340x-prevent-speculative-execution.patch
51 51
 Patch61: 0150-ipv4-prevent-speculative-execution.patch
52 52
 Patch62: 0151-ipv6-prevent-speculative-execution.patch
53
-Patch63: 0152-fs-prevent-speculative-execution.patch
54 53
 Patch64: 0153-net-mpls-prevent-speculative-execution.patch
55 54
 Patch65: 0154-udf-prevent-speculative-execution.patch
56 55
 Patch66: 0155-userns-prevent-speculative-execution.patch
... ...
@@ -118,8 +114,6 @@ The Linux package contains the Linux kernel doc files
118 118
 %patch23 -p1
119 119
 %patch24 -p1
120 120
 %patch26 -p1
121
-%patch27 -p1
122
-%patch30 -p1
123 121
 
124 122
 %patch52 -p1
125 123
 %patch55 -p1
... ...
@@ -130,7 +124,6 @@ The Linux package contains the Linux kernel doc files
130 130
 %patch60 -p1
131 131
 %patch61 -p1
132 132
 %patch62 -p1
133
-%patch63 -p1
134 133
 %patch64 -p1
135 134
 %patch65 -p1
136 135
 %patch66 -p1
... ...
@@ -224,6 +217,8 @@ ln -sf linux-%{uname_r}.cfg /boot/photon.cfg
224 224
 /usr/src/linux-headers-%{uname_r}
225 225
 
226 226
 %changelog
227
+*   Tue Mar 27 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.4.124-1
228
+-   Update to version 4.4.124
227 229
 *   Mon Feb 05 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.4.115-1
228 230
 -   Update to version 4.4.115
229 231
 *   Wed Jan 31 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.4.114-1
... ...
@@ -1,15 +1,15 @@
1 1
 %global security_hardening none
2 2
 Summary:        Kernel
3 3
 Name:           linux
4
-Version:    	4.4.115
5
-Release:        2%{?kat_build:.%kat_build}%{?dist}
4
+Version:    	4.4.124
5
+Release:        1%{?kat_build:.%kat_build}%{?dist}
6 6
 License:    	GPLv2
7 7
 URL:        	http://www.kernel.org/
8 8
 Group:        	System Environment/Kernel
9 9
 Vendor:         VMware, Inc.
10 10
 Distribution: 	Photon
11 11
 Source0:    	http://www.kernel.org/pub/linux/kernel/v4.x/%{name}-%{version}.tar.xz
12
-%define sha1 linux=d8a244092f001d149bbe673bd5b685d204fcf298
12
+%define sha1 linux=d5241400e6e5ed97fbdba1f92cf62c0a4382a30a
13 13
 Source1:	config
14 14
 %define ena_version 1.1.3
15 15
 Source2:    	https://github.com/amzn/amzn-drivers/archive/ena_linux_1.1.3.tar.gz
... ...
@@ -36,9 +36,6 @@ Patch16:        vsock-transport-for-9p.patch
36 36
 #allow some algorithms in FIPS mode
37 37
 Patch17:        0001-Revert-crypto-testmgr-Disable-fips-allowed-for-authe.patch
38 38
 Patch18:        0002-allow-also-ecb-cipher_null.patch
39
-# Fix CVE-2017-8824
40
-Patch21:        dccp-CVE-2017-8824-use-after-free-in-DCCP-code.patch
41
-Patch24:        revert-SMB-validate-negotiate-even-if-signing-off.patch
42 39
 # For Spectre
43 40
 Patch52: 0141-locking-barriers-introduce-new-observable-speculatio.patch
44 41
 Patch55: 0144-uvcvideo-prevent-speculative-execution.patch
... ...
@@ -49,7 +46,6 @@ Patch59: 0148-cw1200-prevent-speculative-execution.patch
49 49
 Patch60: 0149-Thermal-int340x-prevent-speculative-execution.patch
50 50
 Patch61: 0150-ipv4-prevent-speculative-execution.patch
51 51
 Patch62: 0151-ipv6-prevent-speculative-execution.patch
52
-Patch63: 0152-fs-prevent-speculative-execution.patch
53 52
 Patch64: 0153-net-mpls-prevent-speculative-execution.patch
54 53
 Patch65: 0154-udf-prevent-speculative-execution.patch
55 54
 Patch66: 0155-userns-prevent-speculative-execution.patch
... ...
@@ -148,8 +144,6 @@ This package contains the 'perf' performance analysis tools for Linux kernel.
148 148
 %patch16 -p1
149 149
 %patch17 -p1
150 150
 %patch18 -p1
151
-%patch21 -p1
152
-%patch24 -p1
153 151
 
154 152
 %patch52 -p1
155 153
 %patch55 -p1
... ...
@@ -160,7 +154,6 @@ This package contains the 'perf' performance analysis tools for Linux kernel.
160 160
 %patch60 -p1
161 161
 %patch61 -p1
162 162
 %patch62 -p1
163
-%patch63 -p1
164 163
 %patch64 -p1
165 164
 %patch65 -p1
166 165
 %patch66 -p1
... ...
@@ -322,6 +315,8 @@ ln -sf %{name}-%{uname_r}.cfg /boot/photon.cfg
322 322
 /usr/share/perf-core
323 323
 
324 324
 %changelog
325
+*   Tue Mar 27 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.4.124-1
326
+-   Update to version 4.4.124
325 327
 *   Thu Mar 08 2018 Him Kalyan Bordoloi <bordoloih@vmware.com> 4.4.115-2
326 328
 -   Add build dependency of libelf. Needed by perf to resolve symbols.
327 329
 *   Mon Feb 05 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.4.115-1
328 330
deleted file mode 100644
... ...
@@ -1,57 +0,0 @@
1
-
2
-This code reverts the commit mentioned below. (Apply it with patch -p1,
3
-not patch -p1 -R).
4
-
5
-commit 02ef29f9cbb616bf41900c427830dc8bf3f52d99
6
-Author: Steve French <smfrench@gmail.com>
7
-Date:   Wed Sep 20 19:57:18 2017 -0500
8
-
9
-    SMB: Validate negotiate (to protect against downgrade) even if signing off
10
-    
11
-    commit 0603c96f3af50e2f9299fa410c224ab1d465e0f9 upstream.
12
-    
13
-    As long as signing is supported (ie not a guest user connection) and
14
-    connection is SMB3 or SMB3.02, then validate negotiate (protect
15
-    against man in the middle downgrade attacks).  We had been doing this
16
-    only when signing was required, not when signing was just enabled,
17
-    but this more closely matches recommended SMB3 behavior and is
18
-    better security.  Suggested by Metze.
19
-    
20
-    Signed-off-by: Steve French <smfrench@gmail.com>
21
-    Reviewed-by: Jeremy Allison <jra@samba.org>
22
-    Acked-by: Stefan Metzmacher <metze@samba.org>
23
-    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
24
-    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
25
-
26
-diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
27
-index f2ff60e..7123289 100644
28
-+++ b/fs/cifs/smb2pdu.c
29
-@@ -526,22 +526,15 @@ int smb3_validate_negotiate(const unsigned int xid, struct cifs_tcon *tcon)
30
- 
31
- 	/*
32
- 	 * validation ioctl must be signed, so no point sending this if we
33
--	 * can not sign it (ie are not known user).  Even if signing is not
34
--	 * required (enabled but not negotiated), in those cases we selectively
35
-+	 * can not sign it.  We could eventually change this to selectively
36
- 	 * sign just this, the first and only signed request on a connection.
37
--	 * Having validation of negotiate info  helps reduce attack vectors.
38
-+	 * This is good enough for now since a user who wants better security
39
-+	 * would also enable signing on the mount. Having validation of
40
-+	 * negotiate info for signed connections helps reduce attack vectors
41
- 	 */
42
--	if (tcon->ses->session_flags & SMB2_SESSION_FLAG_IS_GUEST)
43
-+	if (tcon->ses->server->sign == false)
44
- 		return 0; /* validation requires signing */
45
- 
46
--	if (tcon->ses->user_name == NULL) {
47
--		cifs_dbg(FYI, "Can't validate negotiate: null user mount\n");
48
--		return 0; /* validation requires signing */
49
--	}
50
--
51
--	if (tcon->ses->session_flags & SMB2_SESSION_FLAG_IS_NULL)
52
--		cifs_dbg(VFS, "Unexpected null user (anonymous) auth flag sent by server\n");
53
--
54
- 	vneg_inbuf.Capabilities =
55
- 			cpu_to_le32(tcon->ses->server->vals->req_capabilities);
56
- 	memcpy(vneg_inbuf.Guid, tcon->ses->server->client_guid,
57 1
deleted file mode 100644
... ...
@@ -1,37 +0,0 @@
1
-From d7ca466502c0427749f64a6bdb47d96f848bf72d Mon Sep 17 00:00:00 2001
2
-From: Elena Reshetova <elena.reshetova@intel.com>
3
-Date: Wed, 30 Aug 2017 13:52:22 +0300
4
-Subject: [PATCH 152/194] fs: prevent speculative execution
5
-
6
-Since the fd value in function __fcheck_files()
7
-seems to be controllable by userspace and later on
8
-conditionally (upon bound check) used to resolve
9
-fdt->fd, insert an observable speculation
10
-barrier before its usage. This should prevent
11
-observable speculation on that branch and avoid
12
-kernel memory leak.
13
-
14
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
15
- include/linux/fdtable.h | 4 +++-
16
- 1 file changed, 3 insertions(+), 1 deletion(-)
17
-
18
-diff --git a/include/linux/fdtable.h b/include/linux/fdtable.h
19
-index 1c65817..dbc1200 100644
20
-+++ b/include/linux/fdtable.h
21
-@@ -82,8 +82,10 @@ static inline struct file *__fcheck_files(struct files_struct *files, unsigned i
22
- {
23
- 	struct fdtable *fdt = rcu_dereference_raw(files->fdt);
24
- 
25
--	if (fd < fdt->max_fds)
26
-+	if (fd < fdt->max_fds) {
27
-+		osb();
28
- 		return rcu_dereference_raw(fdt->fd[fd]);
29
-+	}
30
- 	return NULL;
31
- }
32
- 
33
-2.9.5
34
-
... ...
@@ -50,13 +50,13 @@ index 952b23b5..d16bfe2 100644
50 50
  	movq	%rsp, %rdi
51 51
  	movl	$AUDIT_ARCH_X86_64, %esi
52 52
  	movq	%rax, %rdx
53
-@@ -267,7 +274,6 @@ tracesys_phase2:
53
+@@ -276,7 +276,6 @@ tracesys_phase2:
54 54
  	 * the value it wants us to use in the table lookup.
55 55
  	 */
56 56
  	RESTORE_C_REGS_EXCEPT_RAX
57 57
 -	RESTORE_EXTRA_REGS
58 58
  #if __SYSCALL_MASK == ~0
59
- 	cmpq	$__NR_syscall_max, %rax
59
+ 	cmpq	$NR_syscalls, %rax
60 60
  #else
61 61
 @@ -286,10 +292,8 @@ tracesys_phase2:
62 62
   * Has correct iret frame.