Browse code

linux, linux-api-headers: Update to version 4.18.9

- arm-dts-add-vchiq-entry.patch is replaced by mainline commit
614fa22119d6f406 "ARM: dts: bcm2835: Add VCHIQ node to the Raspberry
Pi boards. (v3)"

- Apply new apparmor kernel patches intended for kernel v4.17 (latest
available).

- Update Amazon ENA drivers to version 1.6.0

Note that we create *copies* of updated patches for 4.18, rather than
modifying them in-place, because linux-esx, linux-secure and linux-aws
flavors are still on 4.14!

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

Srivatsa S. Bhat authored on 2018/09/22 08:57:54
Showing 11 changed files
... ...
@@ -1,7 +1,7 @@
1 1
 %global security_hardening none
2 2
 Summary:        The Behavioral Activity Monitor With Container Support
3 3
 Name:           falco
4
-Version:        0.8.1
4
+Version:        0.12.1
5 5
 Release:        1%{?kernelsubrelease}%{?dist}
6 6
 License:        GPLv2
7 7
 URL:            http://www.sysdig.org/falco/
... ...
@@ -9,9 +9,9 @@ Group:          Applications/System
9 9
 Vendor:         VMware, Inc.
10 10
 Distribution:   Photon
11 11
 Source0:        https://github.com/draios/%{name}/archive/%{name}-%{version}.tar.gz
12
-%define sha1    falco=7873d34769656349678584502296b147aa5445fa
13
-Source1:        https://github.com/draios/sysdig/archive/sysdig-0.19.1.tar.gz
14
-%define sha1    sysdig=425ea9fab8e831274626a9c9e65f0dfb4f9bc019
12
+%define sha1    falco=f0b18777d990bd325c712ceca67fe49d6b71b0e9
13
+Source1:        https://github.com/draios/sysdig/archive/sysdig-0.23.1.tar.gz
14
+%define sha1    sysdig=8d1ce894c8fcd8a1939c28adbfb661ad82110bde
15 15
 Source2:        http://libvirt.org/sources/libvirt-2.0.0.tar.xz
16 16
 %define sha1    libvirt=9a923b06df23f7a5526e4ec679cdadf4eb35a38f
17 17
 BuildRequires:  cmake
... ...
@@ -50,7 +50,7 @@ Sysdig falco is an open source, behavioral activity monitor designed to detect a
50 50
 tar xf %{SOURCE2} --no-same-owner
51 51
 
52 52
 %build
53
-mv sysdig-0.19.1 ../sysdig
53
+mv sysdig-0.23.1 ../sysdig
54 54
 sed -i 's|../falco/rules|rules|g' userspace/engine/CMakeLists.txt
55 55
 sed -i 's|../falco/userspace|userspace|g' userspace/engine/config_falco_engine.h.in
56 56
 cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} CMakeLists.txt
... ...
@@ -84,6 +84,8 @@ rm -rf %{buildroot}/*
84 84
 /lib/modules/%{KERNEL_VERSION}-%{KERNEL_RELEASE}/extra/falco-probe.ko
85 85
 
86 86
 %changelog
87
+*   Mon Sep 24 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 0.12.1-1
88
+-   Update falco and sysdig versions to fix build error with linux 4.18
87 89
 *   Tue Jan 02 2018 Alexey Makhalov <amakhalov@vmware.com> 0.8.1-1
88 90
 -   Version update to build against linux-4.14.y kernel
89 91
 *   Thu Aug 24 2017 Rui Gu <ruig@vmware.com> 0.6.0-3
... ...
@@ -1,6 +1,6 @@
1 1
 Summary:	Linux API header files
2 2
 Name:		linux-api-headers
3
-Version:	4.14.67
3
+Version:	4.18.9
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=4a6aa8d8a5190dbf1a835a5171609f02b27809e1
11
+%define sha1 linux=229ed4bedc5b8256bdd761845b1d7e20e1df12d7
12 12
 BuildArch:	noarch
13 13
 %description
14 14
 The Linux API Headers expose the kernel's API for use by Glibc.
... ...
@@ -25,6 +25,8 @@ find /%{buildroot}%{_includedir} \( -name .install -o -name ..install.cmd \) -de
25 25
 %defattr(-,root,root)
26 26
 %{_includedir}/*
27 27
 %changelog
28
+*   Thu Sep 20 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.18.9-1
29
+-   Update to version 4.18.9
28 30
 *   Wed Sep 19 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.14.67-1
29 31
 -   Update to version 4.14.67
30 32
 *   Mon Jul 09 2018 Him Kalyan Bordoloi <bordoloih@vmware.com> 4.14.54-1
31 33
new file mode 100644
... ...
@@ -0,0 +1,249 @@
0
+From 02e2bc1b330f7e15dba671547a256a6f900f6e5d Mon Sep 17 00:00:00 2001
1
+From: John Johansen <john.johansen@canonical.com>
2
+Date: Sun, 17 Jun 2018 03:56:25 -0700
3
+Subject: [PATCH 1/3] apparmor: patch to provide compatibility with v2.x net
4
+ rules
5
+
6
+The networking rules upstreamed in 4.17 have a deliberate abi break
7
+with the older 2.x network rules.
8
+
9
+This patch provides compatibility with the older rules for those
10
+still using an apparmor 2.x userspace and still want network rules
11
+to work on a newer kernel.
12
+
13
+Signed-off-by: John Johansen <john.johansen@canonical.com>
14
+---
15
+ security/apparmor/apparmorfs.c       |  1 +
16
+ security/apparmor/include/apparmor.h |  2 +-
17
+ security/apparmor/include/net.h      | 11 ++++++++
18
+ security/apparmor/include/policy.h   |  2 ++
19
+ security/apparmor/net.c              | 31 ++++++++++++++++-----
20
+ security/apparmor/policy.c           |  1 +
21
+ security/apparmor/policy_unpack.c    | 54 ++++++++++++++++++++++++++++++++++--
22
+ 7 files changed, 92 insertions(+), 10 deletions(-)
23
+
24
+diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
25
+index 1fdcc7d5a977..32f0e660ffd0 100644
26
+--- a/security/apparmor/apparmorfs.c
27
+@@ -2272,6 +2272,7 @@ static struct aa_sfs_entry aa_sfs_entry_features[] = {
28
+ 	AA_SFS_DIR("domain",			aa_sfs_entry_domain),
29
+ 	AA_SFS_DIR("file",			aa_sfs_entry_file),
30
+ 	AA_SFS_DIR("network_v8",		aa_sfs_entry_network),
31
++	AA_SFS_DIR("network",			aa_sfs_entry_network_compat),
32
+ 	AA_SFS_DIR("mount",			aa_sfs_entry_mount),
33
+ 	AA_SFS_DIR("namespaces",		aa_sfs_entry_ns),
34
+ 	AA_SFS_FILE_U64("capability",		VFS_CAP_FLAGS_MASK),
35
+diff --git a/security/apparmor/include/apparmor.h b/security/apparmor/include/apparmor.h
36
+index 73d63b58d875..17d89f3badc6 100644
37
+--- a/security/apparmor/include/apparmor.h
38
+@@ -24,7 +24,7 @@
39
+ #define AA_CLASS_UNKNOWN	1
40
+ #define AA_CLASS_FILE		2
41
+ #define AA_CLASS_CAP		3
42
+-#define AA_CLASS_DEPRECATED	4
43
++#define AA_CLASS_NET_COMPAT	4
44
+ #define AA_CLASS_RLIMITS	5
45
+ #define AA_CLASS_DOMAIN		6
46
+ #define AA_CLASS_MOUNT		7
47
+diff --git a/security/apparmor/include/net.h b/security/apparmor/include/net.h
48
+index ec7228e857a9..579b59a40ea4 100644
49
+--- a/security/apparmor/include/net.h
50
+@@ -72,6 +72,16 @@ struct aa_sk_ctx {
51
+ 	DEFINE_AUDIT_NET(NAME, OP, SK, (SK)->sk_family, (SK)->sk_type,	\
52
+ 			 (SK)->sk_protocol)
53
+ 
54
++/* struct aa_net - network confinement data
55
++ * @allow: basic network families permissions
56
++ * @audit: which network permissions to force audit
57
++ * @quiet: which network permissions to quiet rejects
58
++ */
59
++struct aa_net_compat {
60
++	u16 allow[AF_MAX];
61
++	u16 audit[AF_MAX];
62
++	u16 quiet[AF_MAX];
63
++};
64
+ 
65
+ #define af_select(FAMILY, FN, DEF_FN)		\
66
+ ({						\
67
+@@ -84,6 +94,7 @@ struct aa_sk_ctx {
68
+ })
69
+ 
70
+ extern struct aa_sfs_entry aa_sfs_entry_network[];
71
++extern struct aa_sfs_entry aa_sfs_entry_network_compat[];
72
+ 
73
+ void audit_net_cb(struct audit_buffer *ab, void *va);
74
+ int aa_profile_af_perm(struct aa_profile *profile, struct common_audit_data *sa,
75
+diff --git a/security/apparmor/include/policy.h b/security/apparmor/include/policy.h
76
+index 6c93e62383e6..4006fa9fc9f1 100644
77
+--- a/security/apparmor/include/policy.h
78
+@@ -112,6 +112,7 @@ struct aa_data {
79
+  * @policy: general match rules governing policy
80
+  * @file: The set of rules governing basic file access and domain transitions
81
+  * @caps: capabilities for the profile
82
++ * @net_compat: v2 compat network controls for the profile
83
+  * @rlimits: rlimits for the profile
84
+  *
85
+  * @dents: dentries for the profiles file entries in apparmorfs
86
+@@ -149,6 +150,7 @@ struct aa_profile {
87
+ 	struct aa_policydb policy;
88
+ 	struct aa_file_rules file;
89
+ 	struct aa_caps caps;
90
++	struct aa_net_compat *net_compat;
91
+ 
92
+ 	int xattr_count;
93
+ 	char **xattrs;
94
+diff --git a/security/apparmor/net.c b/security/apparmor/net.c
95
+index bb24cfa0a164..bf6aaefc3a5f 100644
96
+--- a/security/apparmor/net.c
97
+@@ -27,6 +27,11 @@ struct aa_sfs_entry aa_sfs_entry_network[] = {
98
+ 	{ }
99
+ };
100
+ 
101
++struct aa_sfs_entry aa_sfs_entry_network_compat[] = {
102
++	AA_SFS_FILE_STRING("af_mask",	AA_SFS_AF_MASK),
103
++	{ }
104
++};
105
++
106
+ static const char * const net_mask_names[] = {
107
+ 	"unknown",
108
+ 	"send",
109
+@@ -119,14 +124,26 @@ int aa_profile_af_perm(struct aa_profile *profile, struct common_audit_data *sa,
110
+ 	if (profile_unconfined(profile))
111
+ 		return 0;
112
+ 	state = PROFILE_MEDIATES(profile, AA_CLASS_NET);
113
+-	if (!state)
114
++	if (state) {
115
++		if (!state)
116
++			return 0;
117
++		buffer[0] = cpu_to_be16(family);
118
++		buffer[1] = cpu_to_be16((u16) type);
119
++		state = aa_dfa_match_len(profile->policy.dfa, state,
120
++					 (char *) &buffer, 4);
121
++		aa_compute_perms(profile->policy.dfa, state, &perms);
122
++	} else if (profile->net_compat) {
123
++		/* 2.x socket mediation compat */
124
++		perms.allow = (profile->net_compat->allow[family] & (1 << type)) ?
125
++			ALL_PERMS_MASK : 0;
126
++		perms.audit = (profile->net_compat->audit[family] & (1 << type)) ?
127
++			ALL_PERMS_MASK : 0;
128
++		perms.quiet = (profile->net_compat->quiet[family] & (1 << type)) ?
129
++			ALL_PERMS_MASK : 0;
130
++
131
++	} else {
132
+ 		return 0;
133
+-
134
+-	buffer[0] = cpu_to_be16(family);
135
+-	buffer[1] = cpu_to_be16((u16) type);
136
+-	state = aa_dfa_match_len(profile->policy.dfa, state, (char *) &buffer,
137
+-				 4);
138
+-	aa_compute_perms(profile->policy.dfa, state, &perms);
139
++	}
140
+ 	aa_apply_modes_to_perms(profile, &perms);
141
+ 
142
+ 	return aa_check_perms(profile, &perms, request, sa, audit_net_cb);
143
+diff --git a/security/apparmor/policy.c b/security/apparmor/policy.c
144
+index c07493ce2376..d1a869699040 100644
145
+--- a/security/apparmor/policy.c
146
+@@ -227,6 +227,7 @@ void aa_free_profile(struct aa_profile *profile)
147
+ 	aa_free_file_rules(&profile->file);
148
+ 	aa_free_cap_rules(&profile->caps);
149
+ 	aa_free_rlimit_rules(&profile->rlimits);
150
++	kzfree(profile->net_compat);
151
+ 
152
+ 	for (i = 0; i < profile->xattr_count; i++)
153
+ 		kzfree(profile->xattrs[i]);
154
+diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c
155
+index b9e6b2cafa69..a1b07e6c163d 100644
156
+--- a/security/apparmor/policy_unpack.c
157
+@@ -37,7 +37,7 @@
158
+ 
159
+ #define v5	5	/* base version */
160
+ #define v6	6	/* per entry policydb mediation check */
161
+-#define v7	7
162
++#define v7	7	/* v2 compat networking */
163
+ #define v8	8	/* full network masking */
164
+ 
165
+ /*
166
+@@ -292,6 +292,19 @@ static bool unpack_nameX(struct aa_ext *e, enum aa_code code, const char *name)
167
+ 	return 0;
168
+ }
169
+ 
170
++static bool unpack_u16(struct aa_ext *e, u16 *data, const char *name)
171
++{
172
++	if (unpack_nameX(e, AA_U16, name)) {
173
++		if (!inbounds(e, sizeof(u16)))
174
++			return 0;
175
++		if (data)
176
++			*data = le16_to_cpu(get_unaligned((__le16 *) e->pos));
177
++		e->pos += sizeof(u16);
178
++		return 1;
179
++	}
180
++	return 0;
181
++}
182
++
183
+ static bool unpack_u32(struct aa_ext *e, u32 *data, const char *name)
184
+ {
185
+ 	if (unpack_nameX(e, AA_U32, name)) {
186
+@@ -621,7 +634,7 @@ static struct aa_profile *unpack_profile(struct aa_ext *e, char **ns_name)
187
+ 	struct aa_profile *profile = NULL;
188
+ 	const char *tmpname, *tmpns = NULL, *name = NULL;
189
+ 	const char *info = "failed to unpack profile";
190
+-	size_t ns_len;
191
++	size_t size = 0, ns_len;
192
+ 	struct rhashtable_params params = { 0 };
193
+ 	char *key = NULL;
194
+ 	struct aa_data *data;
195
+@@ -759,6 +772,43 @@ static struct aa_profile *unpack_profile(struct aa_ext *e, char **ns_name)
196
+ 		goto fail;
197
+ 	}
198
+ 
199
++	size = unpack_array(e, "net_allowed_af");
200
++	if (size || VERSION_LT(e->version, v8)) {
201
++		profile->net_compat = kzalloc(sizeof(struct aa_net_compat), GFP_KERNEL);
202
++		if (!profile->net_compat) {
203
++			info = "out of memory";
204
++			goto fail;
205
++		}
206
++		for (i = 0; i < size; i++) {
207
++			/* discard extraneous rules that this kernel will
208
++			 * never request
209
++			 */
210
++			if (i >= AF_MAX) {
211
++				u16 tmp;
212
++
213
++				if (!unpack_u16(e, &tmp, NULL) ||
214
++				    !unpack_u16(e, &tmp, NULL) ||
215
++				    !unpack_u16(e, &tmp, NULL))
216
++					goto fail;
217
++				continue;
218
++			}
219
++			if (!unpack_u16(e, &profile->net_compat->allow[i], NULL))
220
++				goto fail;
221
++			if (!unpack_u16(e, &profile->net_compat->audit[i], NULL))
222
++				goto fail;
223
++			if (!unpack_u16(e, &profile->net_compat->quiet[i], NULL))
224
++				goto fail;
225
++		}
226
++		if (size && !unpack_nameX(e, AA_ARRAYEND, NULL))
227
++			goto fail;
228
++		if (VERSION_LT(e->version, v7)) {
229
++			/* pre v7 policy always allowed these */
230
++			profile->net_compat->allow[AF_UNIX] = 0xffff;
231
++			profile->net_compat->allow[AF_NETLINK] = 0xffff;
232
++		}
233
++	}
234
++
235
++
236
+ 	if (unpack_nameX(e, AA_STRUCT, "policydb")) {
237
+ 		/* generic policy dfa - optional and may be NULL */
238
+ 		info = "failed to unpack policydb";
239
+-- 
240
+2.14.1
241
+
0 242
new file mode 100644
... ...
@@ -0,0 +1,1191 @@
0
+From 1aae75e96831bb26d1ced782c633c39c877c252f Mon Sep 17 00:00:00 2001
1
+From: John Johansen <john.johansen@canonical.com>
2
+Date: Tue, 18 Jul 2017 23:27:23 -0700
3
+Subject: [PATCH 2/3] apparmor: af_unix mediation
4
+
5
+af_socket mediation did not make it into 4.17 so add remaining out
6
+of tree patch
7
+
8
+Signed-off-by: John Johansen <john.johansen@canonical.com>
9
+---
10
+ security/apparmor/Makefile          |   3 +-
11
+ security/apparmor/af_unix.c         | 652 ++++++++++++++++++++++++++++++++++++
12
+ security/apparmor/apparmorfs.c      |   6 +
13
+ security/apparmor/file.c            |   4 +-
14
+ security/apparmor/include/af_unix.h | 114 +++++++
15
+ security/apparmor/include/net.h     |   4 +
16
+ security/apparmor/include/path.h    |   1 +
17
+ security/apparmor/include/policy.h  |  10 +-
18
+ security/apparmor/lsm.c             | 113 +++++++
19
+ security/apparmor/net.c             |  53 ++-
20
+ security/apparmor/policy_unpack.c   |   6 +-
21
+ 11 files changed, 957 insertions(+), 9 deletions(-)
22
+ create mode 100644 security/apparmor/af_unix.c
23
+ create mode 100644 security/apparmor/include/af_unix.h
24
+
25
+diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile
26
+index ff23fcfefe19..fad407f6f62c 100644
27
+--- a/security/apparmor/Makefile
28
+@@ -5,7 +5,8 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor.o
29
+ 
30
+ apparmor-y := apparmorfs.o audit.o capability.o task.o ipc.o lib.o match.o \
31
+               path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \
32
+-              resource.o secid.o file.o policy_ns.o label.o mount.o net.o
33
++              resource.o secid.o file.o policy_ns.o label.o mount.o net.o \
34
++              af_unix.o
35
+ apparmor-$(CONFIG_SECURITY_APPARMOR_HASH) += crypto.o
36
+ 
37
+ clean-files := capability_names.h rlim_names.h net_names.h
38
+diff --git a/security/apparmor/af_unix.c b/security/apparmor/af_unix.c
39
+new file mode 100644
40
+index 000000000000..54b3796f63d0
41
+--- /dev/null
42
+@@ -0,0 +1,652 @@
43
++/*
44
++ * AppArmor security module
45
++ *
46
++ * This file contains AppArmor af_unix fine grained mediation
47
++ *
48
++ * Copyright 2018 Canonical Ltd.
49
++ *
50
++ * This program is free software; you can redistribute it and/or
51
++ * modify it under the terms of the GNU General Public License as
52
++ * published by the Free Software Foundation, version 2 of the
53
++ * License.
54
++ */
55
++
56
++#include <net/tcp_states.h>
57
++
58
++#include "include/audit.h"
59
++#include "include/af_unix.h"
60
++#include "include/apparmor.h"
61
++#include "include/file.h"
62
++#include "include/label.h"
63
++#include "include/path.h"
64
++#include "include/policy.h"
65
++#include "include/cred.h"
66
++
67
++static inline struct sock *aa_sock(struct unix_sock *u)
68
++{
69
++	return &u->sk;
70
++}
71
++
72
++static inline int unix_fs_perm(const char *op, u32 mask, struct aa_label *label,
73
++			       struct unix_sock *u, int flags)
74
++{
75
++	AA_BUG(!label);
76
++	AA_BUG(!u);
77
++	AA_BUG(!UNIX_FS(aa_sock(u)));
78
++
79
++	if (unconfined(label) || !LABEL_MEDIATES(label, AA_CLASS_FILE))
80
++		return 0;
81
++
82
++	mask &= NET_FS_PERMS;
83
++	if (!u->path.dentry) {
84
++		struct path_cond cond = { };
85
++		struct aa_perms perms = { };
86
++		struct aa_profile *profile;
87
++
88
++		/* socket path has been cleared because it is being shutdown
89
++		 * can only fall back to original sun_path request
90
++		 */
91
++		struct aa_sk_ctx *ctx = SK_CTX(&u->sk);
92
++		if (ctx->path.dentry)
93
++			return aa_path_perm(op, label, &ctx->path, flags, mask,
94
++					    &cond);
95
++		return fn_for_each_confined(label, profile,
96
++			((flags | profile->path_flags) & PATH_MEDIATE_DELETED) ?
97
++				__aa_path_perm(op, profile,
98
++					       u->addr->name->sun_path, mask,
99
++					       &cond, flags, &perms) :
100
++				aa_audit_file(profile, &nullperms, op, mask,
101
++					      u->addr->name->sun_path, NULL,
102
++					      NULL, cond.uid,
103
++					      "Failed name lookup - "
104
++					      "deleted entry", -EACCES));
105
++	} else {
106
++		/* the sunpath may not be valid for this ns so use the path */
107
++		struct path_cond cond = { u->path.dentry->d_inode->i_uid,
108
++					  u->path.dentry->d_inode->i_mode
109
++		};
110
++
111
++		return aa_path_perm(op, label, &u->path, flags, mask, &cond);
112
++	}
113
++
114
++	return 0;
115
++}
116
++
117
++/* passing in state returned by PROFILE_MEDIATES_AF */
118
++static unsigned int match_to_prot(struct aa_profile *profile,
119
++				  unsigned int state, int type, int protocol,
120
++				  const char **info)
121
++{
122
++	__be16 buffer[2];
123
++	buffer[0] = cpu_to_be16(type);
124
++	buffer[1] = cpu_to_be16(protocol);
125
++	state = aa_dfa_match_len(profile->policy.dfa, state, (char *) &buffer,
126
++				 4);
127
++	if (!state)
128
++		*info = "failed type and protocol match";
129
++	return state;
130
++}
131
++
132
++static unsigned int match_addr(struct aa_profile *profile, unsigned int state,
133
++			       struct sockaddr_un *addr, int addrlen)
134
++{
135
++	if (addr)
136
++		/* include leading \0 */
137
++		state = aa_dfa_match_len(profile->policy.dfa, state,
138
++					 addr->sun_path,
139
++					 unix_addr_len(addrlen));
140
++	else
141
++		/* anonymous end point */
142
++		state = aa_dfa_match_len(profile->policy.dfa, state, "\x01",
143
++					 1);
144
++	/* todo change to out of band */
145
++	state = aa_dfa_null_transition(profile->policy.dfa, state);
146
++	return state;
147
++}
148
++
149
++static unsigned int match_to_local(struct aa_profile *profile,
150
++				   unsigned int state, int type, int protocol,
151
++				   struct sockaddr_un *addr, int addrlen,
152
++				   const char **info)
153
++{
154
++	state = match_to_prot(profile, state, type, protocol, info);
155
++	if (state) {
156
++		state = match_addr(profile, state, addr, addrlen);
157
++		if (state) {
158
++			/* todo: local label matching */
159
++			state = aa_dfa_null_transition(profile->policy.dfa,
160
++						       state);
161
++			if (!state)
162
++				*info = "failed local label match";
163
++		} else
164
++			*info = "failed local address match";
165
++	}
166
++
167
++	return state;
168
++}
169
++
170
++static unsigned int match_to_sk(struct aa_profile *profile,
171
++				unsigned int state, struct unix_sock *u,
172
++				const char **info)
173
++{
174
++	struct sockaddr_un *addr = NULL;
175
++	int addrlen = 0;
176
++
177
++	if (u->addr) {
178
++		addr = u->addr->name;
179
++		addrlen = u->addr->len;
180
++	}
181
++
182
++	return match_to_local(profile, state, u->sk.sk_type, u->sk.sk_protocol,
183
++			      addr, addrlen, info);
184
++}
185
++
186
++#define CMD_ADDR	1
187
++#define CMD_LISTEN	2
188
++#define CMD_OPT		4
189
++
190
++static inline unsigned int match_to_cmd(struct aa_profile *profile,
191
++					unsigned int state, struct unix_sock *u,
192
++					char cmd, const char **info)
193
++{
194
++	state = match_to_sk(profile, state, u, info);
195
++	if (state) {
196
++		state = aa_dfa_match_len(profile->policy.dfa, state, &cmd, 1);
197
++		if (!state)
198
++			*info = "failed cmd selection match";
199
++	}
200
++
201
++	return state;
202
++}
203
++
204
++static inline unsigned int match_to_peer(struct aa_profile *profile,
205
++					 unsigned int state,
206
++					 struct unix_sock *u,
207
++					 struct sockaddr_un *peer_addr,
208
++					 int peer_addrlen,
209
++					 const char **info)
210
++{
211
++	state = match_to_cmd(profile, state, u, CMD_ADDR, info);
212
++	if (state) {
213
++		state = match_addr(profile, state, peer_addr, peer_addrlen);
214
++		if (!state)
215
++			*info = "failed peer address match";
216
++	}
217
++	return state;
218
++}
219
++
220
++static int do_perms(struct aa_profile *profile, unsigned int state, u32 request,
221
++		    struct common_audit_data *sa)
222
++{
223
++	struct aa_perms perms;
224
++
225
++	AA_BUG(!profile);
226
++
227
++	aa_compute_perms(profile->policy.dfa, state, &perms);
228
++	aa_apply_modes_to_perms(profile, &perms);
229
++	return aa_check_perms(profile, &perms, request, sa,
230
++			      audit_net_cb);
231
++}
232
++
233
++static int match_label(struct aa_profile *profile, struct aa_profile *peer,
234
++			      unsigned int state, u32 request,
235
++			      struct common_audit_data *sa)
236
++{
237
++	AA_BUG(!profile);
238
++	AA_BUG(!peer);
239
++
240
++	aad(sa)->peer = &peer->label;
241
++
242
++	if (state) {
243
++		state = aa_dfa_match(profile->policy.dfa, state,
244
++				     peer->base.hname);
245
++		if (!state)
246
++			aad(sa)->info = "failed peer label match";
247
++	}
248
++	return do_perms(profile, state, request, sa);
249
++}
250
++
251
++
252
++/* unix sock creation comes before we know if the socket will be an fs
253
++ * socket
254
++ * v6 - semantics are handled by mapping in profile load
255
++ * v7 - semantics require sock create for tasks creating an fs socket.
256
++ */
257
++static int profile_create_perm(struct aa_profile *profile, int family,
258
++			       int type, int protocol)
259
++{
260
++	unsigned int state;
261
++	DEFINE_AUDIT_NET(sa, OP_CREATE, NULL, family, type, protocol);
262
++
263
++	AA_BUG(!profile);
264
++	AA_BUG(profile_unconfined(profile));
265
++
266
++	if ((state = PROFILE_MEDIATES_AF(profile, AF_UNIX))) {
267
++		state = match_to_prot(profile, state, type, protocol,
268
++				      &aad(&sa)->info);
269
++		return do_perms(profile, state, AA_MAY_CREATE, &sa);
270
++	}
271
++
272
++	return aa_profile_af_perm(profile, &sa, AA_MAY_CREATE, family, type);
273
++}
274
++
275
++int aa_unix_create_perm(struct aa_label *label, int family, int type,
276
++			int protocol)
277
++{
278
++	struct aa_profile *profile;
279
++
280
++	if (unconfined(label))
281
++		return 0;
282
++
283
++	return fn_for_each_confined(label, profile,
284
++			profile_create_perm(profile, family, type, protocol));
285
++}
286
++
287
++
288
++static inline int profile_sk_perm(struct aa_profile *profile, const char *op,
289
++				  u32 request, struct sock *sk)
290
++{
291
++	unsigned int state;
292
++	DEFINE_AUDIT_SK(sa, op, sk);
293
++
294
++	AA_BUG(!profile);
295
++	AA_BUG(!sk);
296
++	AA_BUG(UNIX_FS(sk));
297
++	AA_BUG(profile_unconfined(profile));
298
++
299
++	state = PROFILE_MEDIATES_AF(profile, AF_UNIX);
300
++	if (state) {
301
++		state = match_to_sk(profile, state, unix_sk(sk),
302
++				    &aad(&sa)->info);
303
++		return do_perms(profile, state, request, &sa);
304
++	}
305
++
306
++	return aa_profile_af_sk_perm(profile, &sa, request, sk);
307
++}
308
++
309
++int aa_unix_label_sk_perm(struct aa_label *label, const char *op, u32 request,
310
++			  struct sock *sk)
311
++{
312
++	struct aa_profile *profile;
313
++
314
++	return fn_for_each_confined(label, profile,
315
++			profile_sk_perm(profile, op, request, sk));
316
++}
317
++
318
++static int unix_label_sock_perm(struct aa_label *label, const char *op, u32 request,
319
++				struct socket *sock)
320
++{
321
++	if (unconfined(label))
322
++		return 0;
323
++	if (UNIX_FS(sock->sk))
324
++		return unix_fs_perm(op, request, label, unix_sk(sock->sk), 0);
325
++
326
++	return aa_unix_label_sk_perm(label, op, request, sock->sk);
327
++}
328
++
329
++/* revaliation, get/set attr */
330
++int aa_unix_sock_perm(const char *op, u32 request, struct socket *sock)
331
++{
332
++	struct aa_label *label;
333
++	int error;
334
++
335
++	label = begin_current_label_crit_section();
336
++	error = unix_label_sock_perm(label, op, request, sock);
337
++	end_current_label_crit_section(label);
338
++
339
++	return error;
340
++}
341
++
342
++static int profile_bind_perm(struct aa_profile *profile, struct sock *sk,
343
++			     struct sockaddr *addr, int addrlen)
344
++{
345
++	unsigned int state;
346
++	DEFINE_AUDIT_SK(sa, OP_BIND, sk);
347
++
348
++	AA_BUG(!profile);
349
++	AA_BUG(!sk);
350
++	AA_BUG(addr->sa_family != AF_UNIX);
351
++	AA_BUG(profile_unconfined(profile));
352
++	AA_BUG(unix_addr_fs(addr, addrlen));
353
++
354
++	state = PROFILE_MEDIATES_AF(profile, AF_UNIX);
355
++	if (state) {
356
++		/* bind for abstract socket */
357
++		aad(&sa)->net.addr = unix_addr(addr);
358
++		aad(&sa)->net.addrlen = addrlen;
359
++
360
++		state = match_to_local(profile, state,
361
++				       sk->sk_type, sk->sk_protocol,
362
++				       unix_addr(addr), addrlen,
363
++				       &aad(&sa)->info);
364
++		return do_perms(profile, state, AA_MAY_BIND, &sa);
365
++	}
366
++
367
++	return aa_profile_af_sk_perm(profile, &sa, AA_MAY_BIND, sk);
368
++}
369
++
370
++int aa_unix_bind_perm(struct socket *sock, struct sockaddr *address,
371
++		      int addrlen)
372
++{
373
++	struct aa_profile *profile;
374
++	struct aa_label *label;
375
++	int error = 0;
376
++
377
++	 label = begin_current_label_crit_section();
378
++	 /* fs bind is handled by mknod */
379
++	if (!(unconfined(label) || unix_addr_fs(address, addrlen)))
380
++		error = fn_for_each_confined(label, profile,
381
++				profile_bind_perm(profile, sock->sk, address,
382
++						  addrlen));
383
++	end_current_label_crit_section(label);
384
++
385
++	return error;
386
++}
387
++
388
++int aa_unix_connect_perm(struct socket *sock, struct sockaddr *address,
389
++			 int addrlen)
390
++{
391
++	/* unix connections are covered by the
392
++	 * - unix_stream_connect (stream) and unix_may_send hooks (dgram)
393
++	 * - fs connect is handled by open
394
++	 */
395
++	return 0;
396
++}
397
++
398
++static int profile_listen_perm(struct aa_profile *profile, struct sock *sk,
399
++			       int backlog)
400
++{
401
++	unsigned int state;
402
++	DEFINE_AUDIT_SK(sa, OP_LISTEN, sk);
403
++
404
++	AA_BUG(!profile);
405
++	AA_BUG(!sk);
406
++	AA_BUG(UNIX_FS(sk));
407
++	AA_BUG(profile_unconfined(profile));
408
++
409
++	state = PROFILE_MEDIATES_AF(profile, AF_UNIX);
410
++	if (state) {
411
++		__be16 b = cpu_to_be16(backlog);
412
++
413
++		state = match_to_cmd(profile, state, unix_sk(sk), CMD_LISTEN,
414
++				     &aad(&sa)->info);
415
++		if (state) {
416
++			state = aa_dfa_match_len(profile->policy.dfa, state,
417
++						 (char *) &b, 2);
418
++			if (!state)
419
++				aad(&sa)->info = "failed listen backlog match";
420
++		}
421
++		return do_perms(profile, state, AA_MAY_LISTEN, &sa);
422
++	}
423
++
424
++	return aa_profile_af_sk_perm(profile, &sa, AA_MAY_LISTEN, sk);
425
++}
426
++
427
++int aa_unix_listen_perm(struct socket *sock, int backlog)
428
++{
429
++	struct aa_profile *profile;
430
++	struct aa_label *label;
431
++	int error = 0;
432
++
433
++	label = begin_current_label_crit_section();
434
++	if (!(unconfined(label) || UNIX_FS(sock->sk)))
435
++		error = fn_for_each_confined(label, profile,
436
++				profile_listen_perm(profile, sock->sk,
437
++						    backlog));
438
++	end_current_label_crit_section(label);
439
++
440
++	return error;
441
++}
442
++
443
++
444
++static inline int profile_accept_perm(struct aa_profile *profile,
445
++				      struct sock *sk,
446
++				      struct sock *newsk)
447
++{
448
++	unsigned int state;
449
++	DEFINE_AUDIT_SK(sa, OP_ACCEPT, sk);
450
++
451
++	AA_BUG(!profile);
452
++	AA_BUG(!sk);
453
++	AA_BUG(UNIX_FS(sk));
454
++	AA_BUG(profile_unconfined(profile));
455
++
456
++	state = PROFILE_MEDIATES_AF(profile, AF_UNIX);
457
++	if (state) {
458
++		state = match_to_sk(profile, state, unix_sk(sk),
459
++				    &aad(&sa)->info);
460
++		return do_perms(profile, state, AA_MAY_ACCEPT, &sa);
461
++	}
462
++
463
++	return aa_profile_af_sk_perm(profile, &sa, AA_MAY_ACCEPT, sk);
464
++}
465
++
466
++/* ability of sock to connect, not peer address binding */
467
++int aa_unix_accept_perm(struct socket *sock, struct socket *newsock)
468
++{
469
++	struct aa_profile *profile;
470
++	struct aa_label *label;
471
++	int error = 0;
472
++
473
++	label = begin_current_label_crit_section();
474
++	if (!(unconfined(label) || UNIX_FS(sock->sk)))
475
++		error = fn_for_each_confined(label, profile,
476
++				profile_accept_perm(profile, sock->sk,
477
++						    newsock->sk));
478
++	end_current_label_crit_section(label);
479
++
480
++	return error;
481
++}
482
++
483
++
484
++/* dgram handled by unix_may_sendmsg, right to send on stream done at connect
485
++ * could do per msg unix_stream here
486
++ */
487
++/* sendmsg, recvmsg */
488
++int aa_unix_msg_perm(const char *op, u32 request, struct socket *sock,
489
++		     struct msghdr *msg, int size)
490
++{
491
++	return 0;
492
++}
493
++
494
++
495
++static int profile_opt_perm(struct aa_profile *profile, const char *op, u32 request,
496
++			    struct sock *sk, int level, int optname)
497
++{
498
++	unsigned int state;
499
++	DEFINE_AUDIT_SK(sa, op, sk);
500
++
501
++	AA_BUG(!profile);
502
++	AA_BUG(!sk);
503
++	AA_BUG(UNIX_FS(sk));
504
++	AA_BUG(profile_unconfined(profile));
505
++
506
++	state = PROFILE_MEDIATES_AF(profile, AF_UNIX);
507
++	if (state) {
508
++		__be16 b = cpu_to_be16(optname);
509
++
510
++		state = match_to_cmd(profile, state, unix_sk(sk), CMD_OPT,
511
++				     &aad(&sa)->info);
512
++		if (state) {
513
++			state = aa_dfa_match_len(profile->policy.dfa, state,
514
++						 (char *) &b, 2);
515
++			if (!state)
516
++				aad(&sa)->info = "failed sockopt match";
517
++		}
518
++		return do_perms(profile, state, request, &sa);
519
++	}
520
++
521
++	return aa_profile_af_sk_perm(profile, &sa, request, sk);
522
++}
523
++
524
++int aa_unix_opt_perm(const char *op, u32 request, struct socket *sock, int level,
525
++		     int optname)
526
++{
527
++	struct aa_profile *profile;
528
++	struct aa_label *label;
529
++	int error = 0;
530
++
531
++	label = begin_current_label_crit_section();
532
++	if (!(unconfined(label) || UNIX_FS(sock->sk)))
533
++		error = fn_for_each_confined(label, profile,
534
++				profile_opt_perm(profile, op, request,
535
++						 sock->sk, level, optname));
536
++	end_current_label_crit_section(label);
537
++
538
++	return error;
539
++}
540
++
541
++/* null peer_label is allowed, in which case the peer_sk label is used */
542
++static int profile_peer_perm(struct aa_profile *profile, const char *op, u32 request,
543
++			     struct sock *sk, struct sock *peer_sk,
544
++			     struct aa_label *peer_label,
545
++			     struct common_audit_data *sa)
546
++{
547
++	unsigned int state;
548
++
549
++	AA_BUG(!profile);
550
++	AA_BUG(profile_unconfined(profile));
551
++	AA_BUG(!sk);
552
++	AA_BUG(!peer_sk);
553
++	AA_BUG(UNIX_FS(peer_sk));
554
++
555
++	state = PROFILE_MEDIATES_AF(profile, AF_UNIX);
556
++	if (state) {
557
++		struct aa_sk_ctx *peer_ctx = SK_CTX(peer_sk);
558
++		struct aa_profile *peerp;
559
++		struct sockaddr_un *addr = NULL;
560
++		int len = 0;
561
++		if (unix_sk(peer_sk)->addr) {
562
++			addr = unix_sk(peer_sk)->addr->name;
563
++			len = unix_sk(peer_sk)->addr->len;
564
++		}
565
++		state = match_to_peer(profile, state, unix_sk(sk),
566
++				      addr, len, &aad(sa)->info);
567
++		if (!peer_label)
568
++			peer_label = peer_ctx->label;
569
++		return fn_for_each_in_ns(peer_label, peerp,
570
++				   match_label(profile, peerp, state, request,
571
++					       sa));
572
++	}
573
++
574
++	return aa_profile_af_sk_perm(profile, sa, request, sk);
575
++}
576
++
577
++/**
578
++ *
579
++ * Requires: lock held on both @sk and @peer_sk
580
++ */
581
++int aa_unix_peer_perm(struct aa_label *label, const char *op, u32 request,
582
++		      struct sock *sk, struct sock *peer_sk,
583
++		      struct aa_label *peer_label)
584
++{
585
++	struct unix_sock *peeru = unix_sk(peer_sk);
586
++	struct unix_sock *u = unix_sk(sk);
587
++
588
++	AA_BUG(!label);
589
++	AA_BUG(!sk);
590
++	AA_BUG(!peer_sk);
591
++
592
++	if (UNIX_FS(aa_sock(peeru)))
593
++		return unix_fs_perm(op, request, label, peeru, 0);
594
++	else if (UNIX_FS(aa_sock(u)))
595
++		return unix_fs_perm(op, request, label, u, 0);
596
++	else {
597
++		struct aa_profile *profile;
598
++		DEFINE_AUDIT_SK(sa, op, sk);
599
++		aad(&sa)->net.peer_sk = peer_sk;
600
++
601
++		/* TODO: ns!!! */
602
++		if (!net_eq(sock_net(sk), sock_net(peer_sk))) {
603
++			;
604
++		}
605
++
606
++		if (unconfined(label))
607
++			return 0;
608
++
609
++		return fn_for_each_confined(label, profile,
610
++				profile_peer_perm(profile, op, request, sk,
611
++						  peer_sk, peer_label, &sa));
612
++	}
613
++}
614
++
615
++
616
++/* from net/unix/af_unix.c */
617
++static void unix_state_double_lock(struct sock *sk1, struct sock *sk2)
618
++{
619
++	if (unlikely(sk1 == sk2) || !sk2) {
620
++		unix_state_lock(sk1);
621
++		return;
622
++	}
623
++	if (sk1 < sk2) {
624
++		unix_state_lock(sk1);
625
++		unix_state_lock_nested(sk2);
626
++	} else {
627
++		unix_state_lock(sk2);
628
++		unix_state_lock_nested(sk1);
629
++	}
630
++}
631
++
632
++static void unix_state_double_unlock(struct sock *sk1, struct sock *sk2)
633
++{
634
++	if (unlikely(sk1 == sk2) || !sk2) {
635
++		unix_state_unlock(sk1);
636
++		return;
637
++	}
638
++	unix_state_unlock(sk1);
639
++	unix_state_unlock(sk2);
640
++}
641
++
642
++int aa_unix_file_perm(struct aa_label *label, const char *op, u32 request,
643
++		      struct socket *sock)
644
++{
645
++	struct sock *peer_sk = NULL;
646
++	u32 sk_req = request & ~NET_PEER_MASK;
647
++	int error = 0;
648
++
649
++	AA_BUG(!label);
650
++	AA_BUG(!sock);
651
++	AA_BUG(!sock->sk);
652
++	AA_BUG(sock->sk->sk_family != AF_UNIX);
653
++
654
++	/* TODO: update sock label with new task label */
655
++	unix_state_lock(sock->sk);
656
++	peer_sk = unix_peer(sock->sk);
657
++	if (peer_sk)
658
++		sock_hold(peer_sk);
659
++	if (!unix_connected(sock) && sk_req) {
660
++		error = unix_label_sock_perm(label, op, sk_req, sock);
661
++		if (!error) {
662
++			// update label
663
++		}
664
++	}
665
++	unix_state_unlock(sock->sk);
666
++	if (!peer_sk)
667
++		return error;
668
++
669
++	unix_state_double_lock(sock->sk, peer_sk);
670
++	if (UNIX_FS(sock->sk)) {
671
++		error = unix_fs_perm(op, request, label, unix_sk(sock->sk),
672
++				     PATH_SOCK_COND);
673
++	} else if (UNIX_FS(peer_sk)) {
674
++		error = unix_fs_perm(op, request, label, unix_sk(peer_sk),
675
++				     PATH_SOCK_COND);
676
++	} else {
677
++		struct aa_sk_ctx *pctx = SK_CTX(peer_sk);
678
++		if (sk_req)
679
++			error = aa_unix_label_sk_perm(label, op, sk_req,
680
++						      sock->sk);
681
++		last_error(error,
682
++			xcheck(aa_unix_peer_perm(label, op,
683
++						 MAY_READ | MAY_WRITE,
684
++						 sock->sk, peer_sk, NULL),
685
++			       aa_unix_peer_perm(pctx->label, op,
686
++						 MAY_READ | MAY_WRITE,
687
++						 peer_sk, sock->sk, label)));
688
++	}
689
++
690
++	unix_state_double_unlock(sock->sk, peer_sk);
691
++	sock_put(peer_sk);
692
++
693
++	return error;
694
++}
695
+diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
696
+index 32f0e660ffd0..b931bae4f1a2 100644
697
+--- a/security/apparmor/apparmorfs.c
698
+@@ -2256,6 +2256,11 @@ static struct aa_sfs_entry aa_sfs_entry_ns[] = {
699
+ 	{ }
700
+ };
701
+ 
702
++static struct aa_sfs_entry aa_sfs_entry_dbus[] = {
703
++	AA_SFS_FILE_STRING("mask", "acquire send receive"),
704
++	{ }
705
++};
706
++
707
+ static struct aa_sfs_entry aa_sfs_entry_query_label[] = {
708
+ 	AA_SFS_FILE_STRING("perms", "allow deny audit quiet"),
709
+ 	AA_SFS_FILE_BOOLEAN("data",		1),
710
+@@ -2280,6 +2285,7 @@ static struct aa_sfs_entry aa_sfs_entry_features[] = {
711
+ 	AA_SFS_DIR("caps",			aa_sfs_entry_caps),
712
+ 	AA_SFS_DIR("ptrace",			aa_sfs_entry_ptrace),
713
+ 	AA_SFS_DIR("signal",			aa_sfs_entry_signal),
714
++	AA_SFS_DIR("dbus",			aa_sfs_entry_dbus),
715
+ 	AA_SFS_DIR("query",			aa_sfs_entry_query),
716
+ 	{ }
717
+ };
718
+diff --git a/security/apparmor/file.c b/security/apparmor/file.c
719
+index 224b2fef93ca..67e70e094858 100644
720
+--- a/security/apparmor/file.c
721
+@@ -16,6 +16,7 @@
722
+ #include <linux/fdtable.h>
723
+ #include <linux/file.h>
724
+ 
725
++#include "include/af_unix.h"
726
+ #include "include/apparmor.h"
727
+ #include "include/audit.h"
728
+ #include "include/cred.h"
729
+@@ -283,7 +284,8 @@ int __aa_path_perm(const char *op, struct aa_profile *profile, const char *name,
730
+ {
731
+ 	int e = 0;
732
+ 
733
+-	if (profile_unconfined(profile))
734
++	if (profile_unconfined(profile) ||
735
++	    ((flags & PATH_SOCK_COND) && !PROFILE_MEDIATES_AF(profile, AF_UNIX)))
736
+ 		return 0;
737
+ 	aa_str_perms(profile->file.dfa, profile->file.start, name, cond, perms);
738
+ 	if (request & ~perms->allow)
739
+diff --git a/security/apparmor/include/af_unix.h b/security/apparmor/include/af_unix.h
740
+new file mode 100644
741
+index 000000000000..d1b7f2316be4
742
+--- /dev/null
743
+@@ -0,0 +1,114 @@
744
++/*
745
++ * AppArmor security module
746
++ *
747
++ * This file contains AppArmor af_unix fine grained mediation
748
++ *
749
++ * Copyright 2014 Canonical Ltd.
750
++ *
751
++ * This program is free software; you can redistribute it and/or
752
++ * modify it under the terms of the GNU General Public License as
753
++ * published by the Free Software Foundation, version 2 of the
754
++ * License.
755
++ */
756
++#ifndef __AA_AF_UNIX_H
757
++
758
++#include <net/af_unix.h>
759
++
760
++#include "label.h"
761
++//#include "include/net.h"
762
++
763
++#define unix_addr_len(L) ((L) - sizeof(sa_family_t))
764
++#define unix_abstract_name_len(L) (unix_addr_len(L) - 1)
765
++#define unix_abstract_len(U) (unix_abstract_name_len((U)->addr->len))
766
++#define addr_unix_abstract_name(B) ((B)[0] == 0)
767
++#define addr_unix_anonymous(U) (addr_unix_len(U) <= 0)
768
++#define addr_unix_abstract(U) (!addr_unix_anonymous(U) && addr_unix_abstract_name((U)->addr))
769
++//#define unix_addr_fs(U) (!unix_addr_anonymous(U) && !unix_addr_abstract_name((U)->addr))
770
++
771
++#define unix_addr(A) ((struct sockaddr_un *)(A))
772
++#define unix_addr_anon(A, L) ((A) && unix_addr_len(L) <= 0)
773
++#define unix_addr_fs(A, L) (!unix_addr_anon(A, L) && !addr_unix_abstract_name(unix_addr(A)->sun_path))
774
++
775
++#define UNIX_ANONYMOUS(U) (!unix_sk(U)->addr)
776
++/* from net/unix/af_unix.c */
777
++#define UNIX_ABSTRACT(U) (!UNIX_ANONYMOUS(U) &&				\
778
++			  unix_sk(U)->addr->hash < UNIX_HASH_SIZE)
779
++#define UNIX_FS(U) (!UNIX_ANONYMOUS(U) && unix_sk(U)->addr->name->sun_path[0])
780
++#define unix_peer(sk) (unix_sk(sk)->peer)
781
++#define unix_connected(S) ((S)->state == SS_CONNECTED)
782
++
783
++static inline void print_unix_addr(struct sockaddr_un *A, int L)
784
++{
785
++	char *buf = (A) ? (char *) &(A)->sun_path : NULL;
786
++	int len = unix_addr_len(L);
787
++	if (!buf || len <= 0)
788
++		printk(" <anonymous>");
789
++	else if (buf[0])
790
++		printk(" %s", buf);
791
++	else
792
++		/* abstract name len includes leading \0 */
793
++		printk(" %d @%.*s", len - 1, len - 1, buf+1);
794
++};
795
++
796
++/*
797
++	printk("%s: %s: f %d, t %d, p %d", __FUNCTION__,		\
798
++	       #SK ,							\
799
++*/
800
++#define print_unix_sk(SK)						\
801
++do {									\
802
++	struct unix_sock *u = unix_sk(SK);				\
803
++	printk("%s: f %d, t %d, p %d",	#SK ,				\
804
++	       (SK)->sk_family, (SK)->sk_type, (SK)->sk_protocol);	\
805
++	if (u->addr)							\
806
++		print_unix_addr(u->addr->name, u->addr->len);		\
807
++	else								\
808
++		print_unix_addr(NULL, sizeof(sa_family_t));		\
809
++	/* printk("\n");*/						\
810
++} while (0)
811
++
812
++#define print_sk(SK)							\
813
++do {									\
814
++	if (!(SK)) {							\
815
++		printk("%s: %s is null\n", __FUNCTION__, #SK);		\
816
++	} else if ((SK)->sk_family == PF_UNIX) {			\
817
++		print_unix_sk(SK);					\
818
++		printk("\n");						\
819
++	} else {							\
820
++		printk("%s: %s: family %d\n", __FUNCTION__, #SK ,	\
821
++		       (SK)->sk_family);				\
822
++	}								\
823
++} while (0)
824
++
825
++#define print_sock_addr(U) \
826
++do {			       \
827
++	printk("%s:\n", __FUNCTION__);					\
828
++	printk("    sock %s:", sock_ctx && sock_ctx->label ? aa_label_printk(sock_ctx->label, GFP_ATOMIC); : "<null>"); print_sk(sock); \
829
++	printk("    other %s:", other_ctx && other_ctx->label ? aa_label_printk(other_ctx->label, GFP_ATOMIC); : "<null>"); print_sk(other); \
830
++	printk("    new %s", new_ctx && new_ctx->label ? aa_label_printk(new_ctx->label, GFP_ATOMIC); : "<null>"); print_sk(newsk); \
831
++} while (0)
832
++
833
++
834
++
835
++
836
++int aa_unix_peer_perm(struct aa_label *label, const char *op, u32 request,
837
++		      struct sock *sk, struct sock *peer_sk,
838
++		      struct aa_label *peer_label);
839
++int aa_unix_label_sk_perm(struct aa_label *label, const char *op, u32 request,
840
++			  struct sock *sk);
841
++int aa_unix_sock_perm(const char *op, u32 request, struct socket *sock);
842
++int aa_unix_create_perm(struct aa_label *label, int family, int type,
843
++			int protocol);
844
++int aa_unix_bind_perm(struct socket *sock, struct sockaddr *address,
845
++		      int addrlen);
846
++int aa_unix_connect_perm(struct socket *sock, struct sockaddr *address,
847
++			 int addrlen);
848
++int aa_unix_listen_perm(struct socket *sock, int backlog);
849
++int aa_unix_accept_perm(struct socket *sock, struct socket *newsock);
850
++int aa_unix_msg_perm(const char *op, u32 request, struct socket *sock,
851
++		     struct msghdr *msg, int size);
852
++int aa_unix_opt_perm(const char *op, u32 request, struct socket *sock, int level,
853
++		     int optname);
854
++int aa_unix_file_perm(struct aa_label *label, const char *op, u32 request,
855
++		      struct socket *sock);
856
++
857
++#endif /* __AA_AF_UNIX_H */
858
+diff --git a/security/apparmor/include/net.h b/security/apparmor/include/net.h
859
+index 579b59a40ea4..48e07dcbb44d 100644
860
+--- a/security/apparmor/include/net.h
861
+@@ -53,6 +53,7 @@
862
+ struct aa_sk_ctx {
863
+ 	struct aa_label *label;
864
+ 	struct aa_label *peer;
865
++	struct path path;
866
+ };
867
+ 
868
+ #define SK_CTX(X) ((X)->sk_security)
869
+@@ -87,6 +88,9 @@ struct aa_net_compat {
870
+ ({						\
871
+ 	int __e;				\
872
+ 	switch ((FAMILY)) {			\
873
++	case AF_UNIX:				\
874
++		__e = aa_unix_ ## FN;		\
875
++		break;				\
876
+ 	default:				\
877
+ 		__e = DEF_FN;			\
878
+ 	}					\
879
+diff --git a/security/apparmor/include/path.h b/security/apparmor/include/path.h
880
+index e042b994f2b8..29ab20eba812 100644
881
+--- a/security/apparmor/include/path.h
882
+@@ -18,6 +18,7 @@
883
+ 
884
+ enum path_flags {
885
+ 	PATH_IS_DIR = 0x1,		/* path is a directory */
886
++	PATH_SOCK_COND = 0x2,
887
+ 	PATH_CONNECT_PATH = 0x4,	/* connect disconnected paths to / */
888
+ 	PATH_CHROOT_REL = 0x8,		/* do path lookup relative to chroot */
889
+ 	PATH_CHROOT_NSCONNECT = 0x10,	/* connect paths that are at ns root */
890
+diff --git a/security/apparmor/include/policy.h b/security/apparmor/include/policy.h
891
+index 4006fa9fc9f1..35da41f14056 100644
892
+--- a/security/apparmor/include/policy.h
893
+@@ -232,9 +232,13 @@ static inline unsigned int PROFILE_MEDIATES_AF(struct aa_profile *profile,
894
+ 	unsigned int state = PROFILE_MEDIATES(profile, AA_CLASS_NET);
895
+ 	__be16 be_af = cpu_to_be16(AF);
896
+ 
897
+-	if (!state)
898
+-		return 0;
899
+-	return aa_dfa_match_len(profile->policy.dfa, state, (char *) &be_af, 2);
900
++	if (!state) {
901
++		state = PROFILE_MEDIATES(profile, AA_CLASS_NET_COMPAT);
902
++		if (!state)
903
++			return 0;
904
++	}
905
++	state = aa_dfa_match_len(profile->policy.dfa, state, (char *) &be_af, 2);
906
++	return state;
907
+ }
908
+ 
909
+ /**
910
+diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
911
+index ce2b89e9ad94..7a6b1bd8e046 100644
912
+--- a/security/apparmor/lsm.c
913
+@@ -23,8 +23,10 @@
914
+ #include <linux/sysctl.h>
915
+ #include <linux/audit.h>
916
+ #include <linux/user_namespace.h>
917
++#include <net/af_unix.h>
918
+ #include <net/sock.h>
919
+ 
920
++#include "include/af_unix.h"
921
+ #include "include/apparmor.h"
922
+ #include "include/apparmorfs.h"
923
+ #include "include/audit.h"
924
+@@ -776,6 +778,7 @@ static void apparmor_sk_free_security(struct sock *sk)
925
+ 	SK_CTX(sk) = NULL;
926
+ 	aa_put_label(ctx->label);
927
+ 	aa_put_label(ctx->peer);
928
++	path_put(&ctx->path);
929
+ 	kfree(ctx);
930
+ }
931
+ 
932
+@@ -790,6 +793,99 @@ static void apparmor_sk_clone_security(const struct sock *sk,
933
+ 
934
+ 	new->label = aa_get_label(ctx->label);
935
+ 	new->peer = aa_get_label(ctx->peer);
936
++	new->path = ctx->path;
937
++	path_get(&new->path);
938
++}
939
++
940
++static struct path *UNIX_FS_CONN_PATH(struct sock *sk, struct sock *newsk)
941
++{
942
++	if (sk->sk_family == PF_UNIX && UNIX_FS(sk))
943
++		return &unix_sk(sk)->path;
944
++	else if (newsk->sk_family == PF_UNIX && UNIX_FS(newsk))
945
++		return &unix_sk(newsk)->path;
946
++	return NULL;
947
++}
948
++
949
++/**
950
++ * apparmor_unix_stream_connect - check perms before making unix domain conn
951
++ *
952
++ * peer is locked when this hook is called
953
++ */
954
++static int apparmor_unix_stream_connect(struct sock *sk, struct sock *peer_sk,
955
++					struct sock *newsk)
956
++{
957
++	struct aa_sk_ctx *sk_ctx = SK_CTX(sk);
958
++	struct aa_sk_ctx *peer_ctx = SK_CTX(peer_sk);
959
++	struct aa_sk_ctx *new_ctx = SK_CTX(newsk);
960
++	struct aa_label *label;
961
++	struct path *path;
962
++	int error;
963
++
964
++	label = __begin_current_label_crit_section();
965
++	error = aa_unix_peer_perm(label, OP_CONNECT,
966
++				(AA_MAY_CONNECT | AA_MAY_SEND | AA_MAY_RECEIVE),
967
++				  sk, peer_sk, NULL);
968
++	if (!UNIX_FS(peer_sk)) {
969
++		last_error(error,
970
++			aa_unix_peer_perm(peer_ctx->label, OP_CONNECT,
971
++				(AA_MAY_ACCEPT | AA_MAY_SEND | AA_MAY_RECEIVE),
972
++				peer_sk, sk, label));
973
++	}
974
++	__end_current_label_crit_section(label);
975
++
976
++	if (error)
977
++		return error;
978
++
979
++	/* label newsk if it wasn't labeled in post_create. Normally this
980
++	 * would be done in sock_graft, but because we are directly looking
981
++	 * at the peer_sk to obtain peer_labeling for unix socks this
982
++	 * does not work
983
++	 */
984
++	if (!new_ctx->label)
985
++		new_ctx->label = aa_get_label(peer_ctx->label);
986
++
987
++	/* Cross reference the peer labels for SO_PEERSEC */
988
++	if (new_ctx->peer)
989
++		aa_put_label(new_ctx->peer);
990
++
991
++	if (sk_ctx->peer)
992
++		aa_put_label(sk_ctx->peer);
993
++
994
++	new_ctx->peer = aa_get_label(sk_ctx->label);
995
++	sk_ctx->peer = aa_get_label(peer_ctx->label);
996
++
997
++	path = UNIX_FS_CONN_PATH(sk, peer_sk);
998
++	if (path) {
999
++		new_ctx->path = *path;
1000
++		sk_ctx->path = *path;
1001
++		path_get(path);
1002
++		path_get(path);
1003
++	}
1004
++	return 0;
1005
++}
1006
++
1007
++/**
1008
++ * apparmor_unix_may_send - check perms before conn or sending unix dgrams
1009
++ *
1010
++ * other is locked when this hook is called
1011
++ *
1012
++ * dgram connect calls may_send, peer setup but path not copied?????
1013
++ */
1014
++static int apparmor_unix_may_send(struct socket *sock, struct socket *peer)
1015
++{
1016
++	struct aa_sk_ctx *peer_ctx = SK_CTX(peer->sk);
1017
++	struct aa_label *label;
1018
++	int error;
1019
++
1020
++	label = __begin_current_label_crit_section();
1021
++	error = xcheck(aa_unix_peer_perm(label, OP_SENDMSG, AA_MAY_SEND,
1022
++					 sock->sk, peer->sk, NULL),
1023
++		       aa_unix_peer_perm(peer_ctx->label, OP_SENDMSG,
1024
++					 AA_MAY_RECEIVE,
1025
++					 peer->sk, sock->sk, label));
1026
++	__end_current_label_crit_section(label);
1027
++
1028
++	return error;
1029
+ }
1030
+ 
1031
+ /**
1032
+@@ -1027,11 +1123,25 @@ static int apparmor_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb)
1033
+ 
1034
+ static struct aa_label *sk_peer_label(struct sock *sk)
1035
+ {
1036
++	struct sock *peer_sk;
1037
+ 	struct aa_sk_ctx *ctx = SK_CTX(sk);
1038
+ 
1039
+ 	if (ctx->peer)
1040
+ 		return ctx->peer;
1041
+ 
1042
++	if (sk->sk_family != PF_UNIX)
1043
++		return ERR_PTR(-ENOPROTOOPT);
1044
++
1045
++	/* check for sockpair peering which does not go through
1046
++	 * security_unix_stream_connect
1047
++	 */
1048
++	peer_sk = unix_peer(sk);
1049
++	if (peer_sk) {
1050
++		ctx = SK_CTX(peer_sk);
1051
++		if (ctx->label)
1052
++			return ctx->label;
1053
++	}
1054
++
1055
+ 	return ERR_PTR(-ENOPROTOOPT);
1056
+ }
1057
+ 
1058
+@@ -1155,6 +1265,9 @@ static struct security_hook_list apparmor_hooks[] __lsm_ro_after_init = {
1059
+ 	LSM_HOOK_INIT(sk_free_security, apparmor_sk_free_security),
1060
+ 	LSM_HOOK_INIT(sk_clone_security, apparmor_sk_clone_security),
1061
+ 
1062
++	LSM_HOOK_INIT(unix_stream_connect, apparmor_unix_stream_connect),
1063
++	LSM_HOOK_INIT(unix_may_send, apparmor_unix_may_send),
1064
++
1065
+ 	LSM_HOOK_INIT(socket_create, apparmor_socket_create),
1066
+ 	LSM_HOOK_INIT(socket_post_create, apparmor_socket_post_create),
1067
+ 	LSM_HOOK_INIT(socket_bind, apparmor_socket_bind),
1068
+diff --git a/security/apparmor/net.c b/security/apparmor/net.c
1069
+index bf6aaefc3a5f..042aee4408c1 100644
1070
+--- a/security/apparmor/net.c
1071
+@@ -12,6 +12,7 @@
1072
+  * License.
1073
+  */
1074
+ 
1075
++#include "include/af_unix.h"
1076
+ #include "include/apparmor.h"
1077
+ #include "include/audit.h"
1078
+ #include "include/cred.h"
1079
+@@ -29,6 +30,7 @@ struct aa_sfs_entry aa_sfs_entry_network[] = {
1080
+ 
1081
+ struct aa_sfs_entry aa_sfs_entry_network_compat[] = {
1082
+ 	AA_SFS_FILE_STRING("af_mask",	AA_SFS_AF_MASK),
1083
++	AA_SFS_FILE_BOOLEAN("af_unix",	1),
1084
+ 	{ }
1085
+ };
1086
+ 
1087
+@@ -74,6 +76,36 @@ static const char * const net_mask_names[] = {
1088
+ 	"unknown",
1089
+ };
1090
+ 
1091
++static void audit_unix_addr(struct audit_buffer *ab, const char *str,
1092
++			    struct sockaddr_un *addr, int addrlen)
1093
++{
1094
++	int len = unix_addr_len(addrlen);
1095
++
1096
++	if (!addr || len <= 0) {
1097
++		audit_log_format(ab, " %s=none", str);
1098
++	} else if (addr->sun_path[0]) {
1099
++		audit_log_format(ab, " %s=", str);
1100
++		audit_log_untrustedstring(ab, addr->sun_path);
1101
++	} else {
1102
++		audit_log_format(ab, " %s=\"@", str);
1103
++		if (audit_string_contains_control(&addr->sun_path[1], len - 1))
1104
++			audit_log_n_hex(ab, &addr->sun_path[1], len - 1);
1105
++		else
1106
++			audit_log_format(ab, "%.*s", len - 1,
1107
++					 &addr->sun_path[1]);
1108
++		audit_log_format(ab, "\"");
1109
++	}
1110
++}
1111
++
1112
++static void audit_unix_sk_addr(struct audit_buffer *ab, const char *str,
1113
++			       struct sock *sk)
1114
++{
1115
++	struct unix_sock *u = unix_sk(sk);
1116
++	if (u && u->addr)
1117
++		audit_unix_addr(ab, str, u->addr->name, u->addr->len);
1118
++	else
1119
++		audit_unix_addr(ab, str, NULL, 0);
1120
++}
1121
+ 
1122
+ /* audit callback for net specific fields */
1123
+ void audit_net_cb(struct audit_buffer *ab, void *va)
1124
+@@ -103,6 +135,23 @@ void audit_net_cb(struct audit_buffer *ab, void *va)
1125
+ 					   net_mask_names, NET_PERMS_MASK);
1126
+ 		}
1127
+ 	}
1128
++	if (sa->u.net->family == AF_UNIX) {
1129
++		if ((aad(sa)->request & ~NET_PEER_MASK) && aad(sa)->net.addr)
1130
++			audit_unix_addr(ab, "addr",
1131
++					unix_addr(aad(sa)->net.addr),
1132
++					aad(sa)->net.addrlen);
1133
++		else
1134
++			audit_unix_sk_addr(ab, "addr", sa->u.net->sk);
1135
++		if (aad(sa)->request & NET_PEER_MASK) {
1136
++			if (aad(sa)->net.addr)
1137
++				audit_unix_addr(ab, "peer_addr",
1138
++						unix_addr(aad(sa)->net.addr),
1139
++						aad(sa)->net.addrlen);
1140
++			else
1141
++				audit_unix_sk_addr(ab, "peer_addr",
1142
++						   aad(sa)->net.peer_sk);
1143
++		}
1144
++	}
1145
+ 	if (aad(sa)->peer) {
1146
+ 		audit_log_format(ab, " peer=");
1147
+ 		aa_label_xaudit(ab, labels_ns(aad(sa)->label), aad(sa)->peer,
1148
+@@ -200,5 +249,7 @@ int aa_sock_file_perm(struct aa_label *label, const char *op, u32 request,
1149
+ 	AA_BUG(!sock);
1150
+ 	AA_BUG(!sock->sk);
1151
+ 
1152
+-	return aa_label_sk_perm(label, op, request, sock->sk);
1153
++	return af_select(sock->sk->sk_family,
1154
++			 file_perm(label, op, request, sock),
1155
++			 aa_label_sk_perm(label, op, request, sock->sk));
1156
+ }
1157
+diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c
1158
+index a1b07e6c163d..9c9a329fd2d7 100644
1159
+--- a/security/apparmor/policy_unpack.c
1160
+@@ -296,13 +296,13 @@ static bool unpack_u16(struct aa_ext *e, u16 *data, const char *name)
1161
+ {
1162
+ 	if (unpack_nameX(e, AA_U16, name)) {
1163
+ 		if (!inbounds(e, sizeof(u16)))
1164
+-			return 0;
1165
++			return false;
1166
+ 		if (data)
1167
+ 			*data = le16_to_cpu(get_unaligned((__le16 *) e->pos));
1168
+ 		e->pos += sizeof(u16);
1169
+-		return 1;
1170
++		return true;
1171
+ 	}
1172
+-	return 0;
1173
++	return false;
1174
+ }
1175
+ 
1176
+ static bool unpack_u32(struct aa_ext *e, u32 *data, const char *name)
1177
+-- 
1178
+2.14.1
1179
+
0 1180
new file mode 100644
... ...
@@ -0,0 +1,57 @@
0
+From 45ff74bd5a009ab8f9648531fa11fce55b9a67fd Mon Sep 17 00:00:00 2001
1
+From: John Johansen <john.johansen@canonical.com>
2
+Date: Tue, 26 Jun 2018 20:19:19 -0700
3
+Subject: [PATCH 3/3] apparmor: fix use after free in sk_peer_label
4
+
5
+BugLink: http://bugs.launchpad.net/bugs/1778646
6
+Signed-off-by: John Johansen <john.johansen@canonical.com>
7
+---
8
+ security/apparmor/lsm.c | 11 +++++++----
9
+ 1 file changed, 7 insertions(+), 4 deletions(-)
10
+
11
+diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
12
+index 7a6b1bd8e046..0d2925389947 100644
13
+--- a/security/apparmor/lsm.c
14
+@@ -1125,9 +1125,10 @@ static struct aa_label *sk_peer_label(struct sock *sk)
15
+ {
16
+ 	struct sock *peer_sk;
17
+ 	struct aa_sk_ctx *ctx = SK_CTX(sk);
18
++	struct aa_label *label = ERR_PTR(-ENOPROTOOPT);
19
+ 
20
+ 	if (ctx->peer)
21
+-		return ctx->peer;
22
++		return aa_get_label(ctx->peer);
23
+ 
24
+ 	if (sk->sk_family != PF_UNIX)
25
+ 		return ERR_PTR(-ENOPROTOOPT);
26
+@@ -1135,14 +1136,15 @@ static struct aa_label *sk_peer_label(struct sock *sk)
27
+ 	/* check for sockpair peering which does not go through
28
+ 	 * security_unix_stream_connect
29
+ 	 */
30
+-	peer_sk = unix_peer(sk);
31
++	peer_sk = unix_peer_get(sk);
32
+ 	if (peer_sk) {
33
+ 		ctx = SK_CTX(peer_sk);
34
+ 		if (ctx->label)
35
+-			return ctx->label;
36
++			label = aa_get_label(ctx->label);
37
++		sock_put(peer_sk);
38
+ 	}
39
+ 
40
+-	return ERR_PTR(-ENOPROTOOPT);
41
++	return label;
42
+ }
43
+ 
44
+ /**
45
+@@ -1186,6 +1188,7 @@ static int apparmor_socket_getpeersec_stream(struct socket *sock,
46
+ 
47
+ 	}
48
+ 
49
++	aa_put_label(peer);
50
+ done:
51
+ 	end_current_label_crit_section(label);
52
+ 
53
+-- 
54
+2.14.1
55
+
0 56
new file mode 100644
... ...
@@ -0,0 +1,138 @@
0
+From 0fd09a9a3418124e59cded88699d4c6bcdb811b2 Mon Sep 17 00:00:00 2001
1
+From: "Srivatsa S. Bhat" <srivatsa@csail.mit.edu>
2
+Date: Tue, 18 Sep 2018 18:33:06 -0700
3
+Subject: [PATCH] hwrng: rdrand - Add RNG driver based on x86 rdrand
4
+ instruction
5
+
6
+Add a Hardware Random Number Generator driver, which uses the
7
+rdrand/rdseed instructions available on modern Intel and AMD CPUs.
8
+
9
+This can be used to feed the kernel's entropy pool on entropy-starved
10
+virtual machines.
11
+
12
+Signed-off-by: Srivatsa S. Bhat <srivatsa@csail.mit.edu>
13
+---
14
+ drivers/char/hw_random/Kconfig      | 14 ++++++++
15
+ drivers/char/hw_random/Makefile     |  1 +
16
+ drivers/char/hw_random/rdrand-rng.c | 72 +++++++++++++++++++++++++++++++++++++
17
+ 3 files changed, 87 insertions(+)
18
+ create mode 100644 drivers/char/hw_random/rdrand-rng.c
19
+
20
+diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
21
+index 95a031e..c7e7ce7 100644
22
+--- a/drivers/char/hw_random/Kconfig
23
+@@ -60,6 +60,20 @@ config HW_RANDOM_AMD
24
+ 
25
+ 	  If unsure, say Y.
26
+ 
27
++config HW_RANDOM_RDRAND
28
++	tristate "x86 rdrand Random Number Generator support"
29
++	depends on (X86_32 || X86_64) && ARCH_RANDOM
30
++	default HW_RANDOM
31
++	---help---
32
++	  This driver provides kernel-side support for a Random Number
33
++	  Generator that uses the RDRAND/RDSEED instructions on modern Intel
34
++	  and AMD CPUs.
35
++
36
++	  To compile this driver as a module, choose M here: the
37
++	  module will be called rdrand-rng.
38
++
39
++	  If unsure, say N.
40
++
41
+ config HW_RANDOM_ATMEL
42
+ 	tristate "Atmel Random Number Generator support"
43
+ 	depends on ARCH_AT91 && HAVE_CLK && OF
44
+diff --git a/drivers/char/hw_random/Makefile b/drivers/char/hw_random/Makefile
45
+index e35ec3c..eda6b15 100644
46
+--- a/drivers/char/hw_random/Makefile
47
+@@ -8,6 +8,7 @@ rng-core-y := core.o
48
+ obj-$(CONFIG_HW_RANDOM_TIMERIOMEM) += timeriomem-rng.o
49
+ obj-$(CONFIG_HW_RANDOM_INTEL) += intel-rng.o
50
+ obj-$(CONFIG_HW_RANDOM_AMD) += amd-rng.o
51
++obj-$(CONFIG_HW_RANDOM_RDRAND) += rdrand-rng.o
52
+ obj-$(CONFIG_HW_RANDOM_ATMEL) += atmel-rng.o
53
+ obj-$(CONFIG_HW_RANDOM_GEODE) += geode-rng.o
54
+ obj-$(CONFIG_HW_RANDOM_N2RNG) += n2-rng.o
55
+diff --git a/drivers/char/hw_random/rdrand-rng.c b/drivers/char/hw_random/rdrand-rng.c
56
+new file mode 100644
57
+index 0000000..ba017f3
58
+--- /dev/null
59
+@@ -0,0 +1,72 @@
60
++// SPDX-License-Identifier: GPL-2.0
61
++/*
62
++ * RNG driver that uses the RDRAND/RDSEED instructions (found on modern
63
++ * Intel and AMD CPUs).
64
++ *
65
++ * Author: Srivatsa S. Bhat <srivatsa@csail.mit.edu>
66
++ *
67
++ */
68
++
69
++#include <linux/hw_random.h>
70
++#include <linux/kernel.h>
71
++#include <linux/module.h>
72
++#include <asm/archrandom.h>
73
++
74
++#define PFX	KBUILD_MODNAME ": "
75
++
76
++static int rdrand_rng_read(struct hwrng *rng, void *buf, size_t max_bytes, bool wait)
77
++{
78
++	char *p = buf;
79
++	size_t read_bytes = 0;
80
++
81
++	while (max_bytes) {
82
++		unsigned long v;
83
++		size_t chunk = min(max_bytes, (int)sizeof(unsigned long));
84
++
85
++		if (unlikely(!arch_get_random_seed_long(&v)) &&
86
++		    unlikely(!arch_get_random_long(&v))) {
87
++			break;
88
++		}
89
++
90
++		memcpy(p, &v, chunk);
91
++		p += chunk;
92
++		max_bytes -= chunk;
93
++		read_bytes += chunk;
94
++	}
95
++
96
++	return read_bytes;
97
++}
98
++
99
++static struct hwrng rdrand_rng = {
100
++	.name		= KBUILD_MODNAME,
101
++	.quality	= 1000,
102
++	.read		= rdrand_rng_read,
103
++};
104
++
105
++static int __init mod_init(void)
106
++{
107
++	int err = -ENODEV;
108
++
109
++	if (!arch_has_random_seed() && !arch_has_random()) {
110
++		pr_err(PFX "Neither RDSEED nor RDRAND is available.\n");
111
++		return err;
112
++	}
113
++
114
++	err = hwrng_register(&rdrand_rng);
115
++	if (err)
116
++		pr_err(PFX "RNG registration failed (%d)\n", err);
117
++
118
++	return err;
119
++}
120
++
121
++static void __exit mod_exit(void)
122
++{
123
++	hwrng_unregister(&rdrand_rng);
124
++}
125
++
126
++module_init(mod_init);
127
++module_exit(mod_exit);
128
++
129
++MODULE_AUTHOR("Srivatsa S. Bhat <srivatsa@csail.mit.edu>");
130
++MODULE_DESCRIPTION("H/W RNG driver for x86 CPUs that support RDRAND/RDSEED");
131
++MODULE_LICENSE("GPL");
132
+-- 
133
+2.7.4
134
+
0 135
new file mode 100644
... ...
@@ -0,0 +1,96 @@
0
+From 6cf100df51539210b9115fe74f27ff5b139a5cfc Mon Sep 17 00:00:00 2001
1
+From: Alexey Makhalov <amakhalov@vmware.com>
2
+Date: Fri, 22 Dec 2017 15:54:02 -0800
3
+Subject: [PATCH] Allow some algo tests for FIPS
4
+
5
+---
6
+ crypto/testmgr.c | 10 ++++++++++
7
+ 1 file changed, 10 insertions(+)
8
+
9
+diff --git a/crypto/testmgr.c b/crypto/testmgr.c
10
+index a1d4224..1591de7 100644
11
+--- a/crypto/testmgr.c
12
+@@ -2439,6 +2439,7 @@ static const struct alg_test_desc alg_test_descs[] = {
13
+ 	}, {
14
+ 		.alg = "authenc(hmac(md5),ecb(cipher_null))",
15
+ 		.test = alg_test_aead,
16
++                .fips_allowed = 1,
17
+ 		.suite = {
18
+ 			.aead = {
19
+ 				.enc = __VECS(hmac_md5_ecb_cipher_null_enc_tv_template),
20
+@@ -2457,6 +2458,7 @@ static const struct alg_test_desc alg_test_descs[] = {
21
+ 	}, {
22
+ 		.alg = "authenc(hmac(sha1),cbc(des))",
23
+ 		.test = alg_test_aead,
24
++                .fips_allowed = 1,
25
+ 		.suite = {
26
+ 			.aead = {
27
+ 				.enc = __VECS(hmac_sha1_des_cbc_enc_tv_temp)
28
+@@ -2478,6 +2480,7 @@ static const struct alg_test_desc alg_test_descs[] = {
29
+ 	}, {
30
+ 		.alg = "authenc(hmac(sha1),ecb(cipher_null))",
31
+ 		.test = alg_test_aead,
32
++                .fips_allowed = 1,
33
+ 		.suite = {
34
+ 			.aead = {
35
+ 				.enc = __VECS(hmac_sha1_ecb_cipher_null_enc_tv_temp),
36
+@@ -2517,6 +2520,7 @@ static const struct alg_test_desc alg_test_descs[] = {
37
+ 	}, {
38
+ 		.alg = "authenc(hmac(sha256),cbc(des))",
39
+ 		.test = alg_test_aead,
40
++                .fips_allowed = 1,
41
+ 		.suite = {
42
+ 			.aead = {
43
+ 				.enc = __VECS(hmac_sha256_des_cbc_enc_tv_temp)
44
+@@ -2542,6 +2546,7 @@ static const struct alg_test_desc alg_test_descs[] = {
45
+ 	}, {
46
+ 		.alg = "authenc(hmac(sha384),cbc(des))",
47
+ 		.test = alg_test_aead,
48
++                .fips_allowed = 1,
49
+ 		.suite = {
50
+ 			.aead = {
51
+ 				.enc = __VECS(hmac_sha384_des_cbc_enc_tv_temp)
52
+@@ -2576,6 +2581,7 @@ static const struct alg_test_desc alg_test_descs[] = {
53
+ 	}, {
54
+ 		.alg = "authenc(hmac(sha512),cbc(des))",
55
+ 		.test = alg_test_aead,
56
++                .fips_allowed = 1,
57
+ 		.suite = {
58
+ 			.aead = {
59
+ 				.enc = __VECS(hmac_sha512_des_cbc_enc_tv_temp)
60
+@@ -3188,6 +3194,7 @@ static const struct alg_test_desc alg_test_descs[] = {
61
+ 		.alg = "jitterentropy_rng",
62
+ 		.fips_allowed = 1,
63
+ 		.test = alg_test_null,
64
++                .fips_allowed = 1,
65
+ 	}, {
66
+ 		.alg = "kw(aes)",
67
+ 		.test = alg_test_skcipher,
68
+@@ -3366,6 +3373,7 @@ static const struct alg_test_desc alg_test_descs[] = {
69
+ 	}, {
70
+ 		.alg = "rfc4543(gcm(aes))",
71
+ 		.test = alg_test_aead,
72
++                .fips_allowed = 1,
73
+ 		.suite = {
74
+ 			.aead = {
75
+ 				.enc = __VECS(aes_gcm_rfc4543_enc_tv_template),
76
+@@ -3384,6 +3392,7 @@ static const struct alg_test_desc alg_test_descs[] = {
77
+ 	}, {
78
+ 		.alg = "rfc7539esp(chacha20,poly1305)",
79
+ 		.test = alg_test_aead,
80
++                .fips_allowed = 1,
81
+ 		.suite = {
82
+ 			.aead = {
83
+ 				.enc = __VECS(rfc7539esp_enc_tv_template),
84
+@@ -3591,6 +3600,7 @@ static const struct alg_test_desc alg_test_descs[] = {
85
+ 	}, {
86
+ 		.alg = "xts(twofish)",
87
+ 		.test = alg_test_skcipher,
88
++                .fips_allowed = 1,
89
+ 		.suite = {
90
+ 			.cipher = __VECS(tf_xts_tv_template)
91
+ 		}
92
+-- 
93
+2.11.0
94
+
0 95
new file mode 100644
... ...
@@ -0,0 +1,102 @@
0
+From: Serge Hallyn <serge.hallyn@canonical.com>
1
+Date: Fri, 31 May 2013 19:12:12 +0000 (+0100)
2
+Subject: add sysctl to disallow unprivileged CLONE_NEWUSER by default
3
+Origin: http://kernel.ubuntu.com/git?p=serge%2Fubuntu-saucy.git;a=commit;h=5c847404dcb2e3195ad0057877e1422ae90892b8
4
+
5
+add sysctl to disallow unprivileged CLONE_NEWUSER by default
6
+
7
+This is a short-term patch.  Unprivileged use of CLONE_NEWUSER
8
+is certainly an intended feature of user namespaces.  However
9
+for at least saucy we want to make sure that, if any security
10
+issues are found, we have a fail-safe.
11
+
12
+Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
13
+[bwh: Remove unneeded binary sysctl bits]
14
+[Srivatsa: Fix capability checks when running nested user namespaces by
15
+using ns_capable() on the current task's user namespace.]
16
+Signed-off-by: Srivatsa S. Bhat <srivatsa@csail.mit.edu>
17
+
18
+diff --git a/kernel/fork.c b/kernel/fork.c
19
+index f0b5847..8d79c65 100644
20
+--- a/kernel/fork.c
21
+@@ -103,6 +103,11 @@
22
+ 
23
+ #define CREATE_TRACE_POINTS
24
+ #include <trace/events/task.h>
25
++#ifdef CONFIG_USER_NS
26
++extern int unprivileged_userns_clone;
27
++#else
28
++#define unprivileged_userns_clone 0
29
++#endif
30
+ 
31
+ /*
32
+  * Minimum number of threads to boot the kernel
33
+@@ -1649,6 +1654,10 @@ static __latent_entropy struct task_struct *copy_process(
34
+ 	if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS))
35
+ 		return ERR_PTR(-EINVAL);
36
+ 
37
++	if ((clone_flags & CLONE_NEWUSER) && !unprivileged_userns_clone)
38
++		if (!ns_capable(current_user_ns(), CAP_SYS_ADMIN))
39
++			return ERR_PTR(-EPERM);
40
++
41
+ 	/*
42
+ 	 * Thread groups must share signals as well, and detached threads
43
+ 	 * can only be started up within the thread group.
44
+@@ -2467,6 +2476,12 @@ int ksys_unshare(unsigned long unshare_flags)
45
+ 	if (unshare_flags & CLONE_NEWNS)
46
+ 		unshare_flags |= CLONE_FS;
47
+ 
48
++	if ((unshare_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) {
49
++		err = -EPERM;
50
++		if (!ns_capable(current_user_ns(), CAP_SYS_ADMIN))
51
++			goto bad_unshare_out;
52
++	}
53
++
54
+ 	err = check_unshare_flags(unshare_flags);
55
+ 	if (err)
56
+ 		goto bad_unshare_out;
57
+diff --git a/kernel/sysctl.c b/kernel/sysctl.c
58
+index cc02050..ce2ad2b 100644
59
+--- a/kernel/sysctl.c
60
+@@ -105,6 +105,9 @@ extern int core_uses_pid;
61
+ extern char core_pattern[];
62
+ extern unsigned int core_pipe_limit;
63
+ #endif
64
++#ifdef CONFIG_USER_NS
65
++extern int unprivileged_userns_clone;
66
++#endif
67
+ extern int pid_max;
68
+ extern int pid_max_min, pid_max_max;
69
+ extern int percpu_pagelist_fraction;
70
+@@ -514,6 +517,15 @@ static struct ctl_table kern_table[] = {
71
+ 		.proc_handler	= proc_dointvec,
72
+ 	},
73
+ #endif
74
++#ifdef CONFIG_USER_NS
75
++	{
76
++		.procname	= "unprivileged_userns_clone",
77
++		.data		= &unprivileged_userns_clone,
78
++		.maxlen		= sizeof(int),
79
++		.mode		= 0644,
80
++		.proc_handler	= proc_dointvec,
81
++	},
82
++#endif
83
+ #ifdef CONFIG_PROC_SYSCTL
84
+ 	{
85
+ 		.procname	= "tainted",
86
+diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
87
+index e5222b5..c941a66 100644
88
+--- a/kernel/user_namespace.c
89
+@@ -26,6 +26,9 @@
90
+ #include <linux/bsearch.h>
91
+ #include <linux/sort.h>
92
+ 
93
++/* sysctl */
94
++int unprivileged_userns_clone;
95
++
96
+ static struct kmem_cache *user_ns_cachep __read_mostly;
97
+ static DEFINE_MUTEX(userns_state_mutex);
98
+ 
0 99
deleted file mode 100644
... ...
@@ -1,18 +0,0 @@
1
-diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
2
-index e36c392a2b8f..409ee0460b22 100644
3
-+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
4
-@@ -27,6 +27,13 @@
5
- 			firmware = <&firmware>;
6
- 			#power-domain-cells = <1>;
7
- 		};
8
-+		vchiq: vchiq {
9
-+			compatible = "brcm,bcm2835-vchiq";
10
-+			reg = <0x7e00b840 0xf>;
11
-+			interrupts = <0 2>;
12
-+			cache-line-size = <32>;
13
-+			firmware = <&firmware>;
14
-+		};
15
- 	};
16
- };
17
- 
... ...
@@ -1,6 +1,10 @@
1 1
 #
2 2
 # Automatically generated file; DO NOT EDIT.
3
-# Linux/x86 4.14.54 Kernel Configuration
3
+# Linux/x86 4.18.9 Kernel Configuration
4
+#
5
+
6
+#
7
+# Compiler: gcc (GCC) 7.3.0
4 8
 #
5 9
 CONFIG_64BIT=y
6 10
 CONFIG_X86_64=y
... ...
@@ -15,8 +19,6 @@ CONFIG_ARCH_MMAP_RND_BITS_MIN=28
15 15
 CONFIG_ARCH_MMAP_RND_BITS_MAX=32
16 16
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
17 17
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
18
-CONFIG_NEED_DMA_MAP_STATE=y
19
-CONFIG_NEED_SG_DMA_LENGTH=y
20 18
 CONFIG_GENERIC_ISA_DMA=y
21 19
 CONFIG_GENERIC_BUG=y
22 20
 CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
... ...
@@ -26,6 +28,7 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y
26 26
 CONFIG_GENERIC_CALIBRATE_DELAY=y
27 27
 CONFIG_ARCH_HAS_CPU_RELAX=y
28 28
 CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
29
+CONFIG_ARCH_HAS_FILTER_PGPROT=y
29 30
 CONFIG_HAVE_SETUP_PER_CPU_AREA=y
30 31
 CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
31 32
 CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
... ...
@@ -42,7 +45,9 @@ CONFIG_X86_64_SMP=y
42 42
 CONFIG_ARCH_SUPPORTS_UPROBES=y
43 43
 CONFIG_FIX_EARLYCON_MEM=y
44 44
 CONFIG_PGTABLE_LEVELS=4
45
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
45
+CONFIG_CC_IS_GCC=y
46
+CONFIG_GCC_VERSION=70300
47
+CONFIG_CLANG_VERSION=0
46 48
 CONFIG_IRQ_WORK=y
47 49
 CONFIG_BUILDTIME_EXTABLE_SORT=y
48 50
 CONFIG_THREAD_INFO_IN_TASK=y
... ...
@@ -51,7 +56,6 @@ CONFIG_THREAD_INFO_IN_TASK=y
51 51
 # General setup
52 52
 #
53 53
 CONFIG_INIT_ENV_ARG_LIMIT=32
54
-CONFIG_CROSS_COMPILE=""
55 54
 # CONFIG_COMPILE_TEST is not set
56 55
 CONFIG_LOCALVERSION=""
57 56
 # CONFIG_LOCALVERSION_AUTO is not set
... ...
@@ -74,7 +78,6 @@ CONFIG_SYSVIPC_SYSCTL=y
74 74
 CONFIG_POSIX_MQUEUE=y
75 75
 CONFIG_POSIX_MQUEUE_SYSCTL=y
76 76
 # CONFIG_CROSS_MEMORY_ATTACH is not set
77
-CONFIG_FHANDLE=y
78 77
 CONFIG_USELIB=y
79 78
 CONFIG_AUDIT=y
80 79
 CONFIG_HAVE_ARCH_AUDITSYSCALL=y
... ...
@@ -94,7 +97,8 @@ CONFIG_IRQ_DOMAIN=y
94 94
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
95 95
 CONFIG_GENERIC_MSI_IRQ=y
96 96
 CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
97
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
97
+CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
98
+CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
98 99
 CONFIG_IRQ_FORCED_THREADING=y
99 100
 CONFIG_SPARSE_IRQ=y
100 101
 # CONFIG_GENERIC_IRQ_DEBUGFS is not set
... ...
@@ -130,6 +134,7 @@ CONFIG_TASKSTATS=y
130 130
 CONFIG_TASK_DELAY_ACCT=y
131 131
 CONFIG_TASK_XACCT=y
132 132
 CONFIG_TASK_IO_ACCOUNTING=y
133
+# CONFIG_CPU_ISOLATION is not set
133 134
 
134 135
 #
135 136
 # RCU Subsystem
... ...
@@ -138,7 +143,6 @@ CONFIG_TREE_RCU=y
138 138
 # CONFIG_RCU_EXPERT is not set
139 139
 CONFIG_SRCU=y
140 140
 CONFIG_TREE_SRCU=y
141
-# CONFIG_TASKS_RCU is not set
142 141
 CONFIG_RCU_STALL_COMMON=y
143 142
 CONFIG_RCU_NEED_SEGCBLIST=y
144 143
 CONFIG_BUILD_BIN2C=y
... ...
@@ -175,7 +179,6 @@ CONFIG_CGROUP_CPUACCT=y
175 175
 CONFIG_CGROUP_PERF=y
176 176
 # CONFIG_CGROUP_DEBUG is not set
177 177
 CONFIG_SOCK_CGROUP_DATA=y
178
-# CONFIG_CHECKPOINT_RESTORE is not set
179 178
 CONFIG_NAMESPACES=y
180 179
 CONFIG_UTS_NS=y
181 180
 CONFIG_IPC_NS=y
... ...
@@ -207,11 +210,8 @@ CONFIG_MULTIUSER=y
207 207
 CONFIG_SGETMASK_SYSCALL=y
208 208
 CONFIG_SYSFS_SYSCALL=y
209 209
 # CONFIG_SYSCTL_SYSCALL is not set
210
+CONFIG_FHANDLE=y
210 211
 CONFIG_POSIX_TIMERS=y
211
-CONFIG_KALLSYMS=y
212
-CONFIG_KALLSYMS_ALL=y
213
-CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
214
-CONFIG_KALLSYMS_BASE_RELATIVE=y
215 212
 CONFIG_PRINTK=y
216 213
 CONFIG_PRINTK_NMI=y
217 214
 CONFIG_BUG=y
... ...
@@ -224,13 +224,20 @@ CONFIG_EPOLL=y
224 224
 CONFIG_SIGNALFD=y
225 225
 CONFIG_TIMERFD=y
226 226
 CONFIG_EVENTFD=y
227
-# CONFIG_BPF_SYSCALL is not set
228 227
 CONFIG_SHMEM=y
229 228
 CONFIG_AIO=y
230 229
 CONFIG_ADVISE_SYSCALLS=y
231
-# CONFIG_USERFAULTFD is not set
232
-CONFIG_PCI_QUIRKS=y
233 230
 CONFIG_MEMBARRIER=y
231
+# CONFIG_CHECKPOINT_RESTORE is not set
232
+CONFIG_KALLSYMS=y
233
+CONFIG_KALLSYMS_ALL=y
234
+CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
235
+CONFIG_KALLSYMS_BASE_RELATIVE=y
236
+# CONFIG_BPF_SYSCALL is not set
237
+# CONFIG_USERFAULTFD is not set
238
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
239
+CONFIG_RSEQ=y
240
+# CONFIG_DEBUG_RSEQ is not set
234 241
 # CONFIG_EMBEDDED is not set
235 242
 CONFIG_HAVE_PERF_EVENTS=y
236 243
 # CONFIG_PC104 is not set
... ...
@@ -252,6 +259,7 @@ CONFIG_PROFILING=y
252 252
 CONFIG_TRACEPOINTS=y
253 253
 CONFIG_CRASH_CORE=y
254 254
 CONFIG_KEXEC_CORE=y
255
+CONFIG_HOTPLUG_SMT=y
255 256
 CONFIG_OPROFILE=m
256 257
 CONFIG_OPROFILE_EVENT_MULTIPLEX=y
257 258
 CONFIG_HAVE_OPROFILE=y
... ...
@@ -261,7 +269,6 @@ CONFIG_JUMP_LABEL=y
261 261
 # CONFIG_STATIC_KEYS_SELFTEST is not set
262 262
 CONFIG_OPTPROBES=y
263 263
 CONFIG_UPROBES=y
264
-# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
265 264
 CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
266 265
 CONFIG_ARCH_USE_BUILTIN_BSWAP=y
267 266
 CONFIG_KRETPROBES=y
... ...
@@ -271,16 +278,18 @@ CONFIG_HAVE_KPROBES=y
271 271
 CONFIG_HAVE_KRETPROBES=y
272 272
 CONFIG_HAVE_OPTPROBES=y
273 273
 CONFIG_HAVE_KPROBES_ON_FTRACE=y
274
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
274 275
 CONFIG_HAVE_NMI=y
275 276
 CONFIG_HAVE_ARCH_TRACEHOOK=y
276 277
 CONFIG_HAVE_DMA_CONTIGUOUS=y
277 278
 CONFIG_GENERIC_SMP_IDLE_THREAD=y
278 279
 CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
279 280
 CONFIG_ARCH_HAS_SET_MEMORY=y
281
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
280 282
 CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
281 283
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
284
+CONFIG_HAVE_RSEQ=y
282 285
 CONFIG_HAVE_CLK=y
283
-CONFIG_HAVE_DMA_API_DEBUG=y
284 286
 CONFIG_HAVE_HW_BREAKPOINT=y
285 287
 CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
286 288
 CONFIG_HAVE_USER_RETURN_NOTIFIER=y
... ...
@@ -290,6 +299,7 @@ CONFIG_HAVE_PERF_REGS=y
290 290
 CONFIG_HAVE_PERF_USER_STACK_DUMP=y
291 291
 CONFIG_HAVE_ARCH_JUMP_LABEL=y
292 292
 CONFIG_HAVE_RCU_TABLE_FREE=y
293
+CONFIG_HAVE_RCU_TABLE_INVALIDATE=y
293 294
 CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
294 295
 CONFIG_HAVE_CMPXCHG_LOCAL=y
295 296
 CONFIG_HAVE_CMPXCHG_DOUBLE=y
... ...
@@ -297,18 +307,17 @@ CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
297 297
 CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
298 298
 CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
299 299
 CONFIG_SECCOMP_FILTER=y
300
+CONFIG_PLUGIN_HOSTCC=""
300 301
 CONFIG_HAVE_GCC_PLUGINS=y
301 302
 CONFIG_GCC_PLUGINS=y
302 303
 # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
303 304
 # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
304 305
 # CONFIG_GCC_PLUGIN_STRUCTLEAK is not set
305 306
 # CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
306
-CONFIG_HAVE_CC_STACKPROTECTOR=y
307
-CONFIG_CC_STACKPROTECTOR=y
308
-# CONFIG_CC_STACKPROTECTOR_NONE is not set
309
-CONFIG_CC_STACKPROTECTOR_REGULAR=y
310
-# CONFIG_CC_STACKPROTECTOR_STRONG is not set
311
-CONFIG_THIN_ARCHIVES=y
307
+CONFIG_HAVE_STACKPROTECTOR=y
308
+CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
309
+CONFIG_STACKPROTECTOR=y
310
+# CONFIG_STACKPROTECTOR_STRONG is not set
312 311
 CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
313 312
 CONFIG_HAVE_CONTEXT_TRACKING=y
314 313
 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
... ...
@@ -330,15 +339,11 @@ CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
330 330
 CONFIG_HAVE_COPY_THREAD_TLS=y
331 331
 CONFIG_HAVE_STACK_VALIDATION=y
332 332
 CONFIG_HAVE_RELIABLE_STACKTRACE=y
333
-# CONFIG_HAVE_ARCH_HASH is not set
334
-# CONFIG_ISA_BUS_API is not set
335 333
 CONFIG_OLD_SIGSUSPEND3=y
336 334
 CONFIG_COMPAT_OLD_SIGACTION=y
337
-# CONFIG_CPU_NO_EFFICIENT_FFS is not set
335
+CONFIG_COMPAT_32BIT_TIME=y
338 336
 CONFIG_HAVE_ARCH_VMAP_STACK=y
339 337
 CONFIG_VMAP_STACK=y
340
-# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set
341
-# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
342 338
 CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
343 339
 CONFIG_STRICT_KERNEL_RWX=y
344 340
 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
... ...
@@ -351,8 +356,6 @@ CONFIG_ARCH_HAS_REFCOUNT=y
351 351
 #
352 352
 # CONFIG_GCOV_KERNEL is not set
353 353
 CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
354
-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
355
-CONFIG_SLABINFO=y
356 354
 CONFIG_RT_MUTEXES=y
357 355
 CONFIG_BASE_SMALL=0
358 356
 CONFIG_MODULES=y
... ...
@@ -441,6 +444,9 @@ CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
441 441
 CONFIG_QUEUED_SPINLOCKS=y
442 442
 CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
443 443
 CONFIG_QUEUED_RWLOCKS=y
444
+CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
445
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
446
+CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
444 447
 CONFIG_FREEZER=y
445 448
 
446 449
 #
... ...
@@ -449,7 +455,6 @@ CONFIG_FREEZER=y
449 449
 # CONFIG_ZONE_DMA is not set
450 450
 CONFIG_SMP=y
451 451
 CONFIG_X86_FEATURE_NAMES=y
452
-CONFIG_X86_FAST_FEATURE_TESTS=y
453 452
 CONFIG_X86_X2APIC=y
454 453
 # CONFIG_X86_MPPARSE is not set
455 454
 # CONFIG_GOLDFISH is not set
... ...
@@ -480,6 +485,7 @@ CONFIG_KVM_GUEST=y
480 480
 # CONFIG_KVM_DEBUG_FS is not set
481 481
 # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
482 482
 CONFIG_PARAVIRT_CLOCK=y
483
+# CONFIG_JAILHOUSE_GUEST is not set
483 484
 CONFIG_NO_BOOTMEM=y
484 485
 # CONFIG_MK8 is not set
485 486
 # CONFIG_MPSC is not set
... ...
@@ -502,9 +508,10 @@ CONFIG_HPET_EMULATE_RTC=y
502 502
 CONFIG_DMI=y
503 503
 CONFIG_GART_IOMMU=y
504 504
 # CONFIG_CALGARY_IOMMU is not set
505
-CONFIG_SWIOTLB=y
506
-CONFIG_IOMMU_HELPER=y
507 505
 CONFIG_MAXSMP=y
506
+CONFIG_NR_CPUS_RANGE_BEGIN=8192
507
+CONFIG_NR_CPUS_RANGE_END=8192
508
+CONFIG_NR_CPUS_DEFAULT=8192
508 509
 CONFIG_NR_CPUS=8192
509 510
 CONFIG_SCHED_SMT=y
510 511
 CONFIG_SCHED_MC=y
... ...
@@ -530,7 +537,6 @@ CONFIG_PERF_EVENTS_INTEL_UNCORE=y
530 530
 CONFIG_PERF_EVENTS_INTEL_RAPL=y
531 531
 CONFIG_PERF_EVENTS_INTEL_CSTATE=y
532 532
 # CONFIG_PERF_EVENTS_AMD_POWER is not set
533
-# CONFIG_VM86 is not set
534 533
 CONFIG_X86_16BIT=y
535 534
 CONFIG_X86_ESPFIX64=y
536 535
 CONFIG_X86_VSYSCALL_EMULATION=y
... ...
@@ -542,8 +548,6 @@ CONFIG_MICROCODE_OLD_INTERFACE=y
542 542
 CONFIG_X86_MSR=m
543 543
 CONFIG_X86_CPUID=m
544 544
 # CONFIG_X86_5LEVEL is not set
545
-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
546
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
547 545
 CONFIG_X86_DIRECT_GBPAGES=y
548 546
 CONFIG_ARCH_HAS_MEM_ENCRYPT=y
549 547
 # CONFIG_AMD_MEM_ENCRYPT is not set
... ...
@@ -607,18 +611,20 @@ CONFIG_CLEANCACHE=y
607 607
 # CONFIG_ZBUD is not set
608 608
 # CONFIG_ZSMALLOC is not set
609 609
 CONFIG_GENERIC_EARLY_IOREMAP=y
610
-CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
611 610
 # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
612 611
 # CONFIG_IDLE_PAGE_TRACKING is not set
613 612
 CONFIG_ARCH_HAS_ZONE_DEVICE=y
614 613
 CONFIG_ZONE_DEVICE=y
615 614
 CONFIG_ARCH_HAS_HMM=y
615
+CONFIG_DEV_PAGEMAP_OPS=y
616 616
 # CONFIG_HMM_MIRROR is not set
617 617
 # CONFIG_DEVICE_PRIVATE is not set
618 618
 # CONFIG_DEVICE_PUBLIC is not set
619 619
 CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
620 620
 CONFIG_ARCH_HAS_PKEYS=y
621 621
 # CONFIG_PERCPU_STATS is not set
622
+# CONFIG_GUP_BENCHMARK is not set
623
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
622 624
 CONFIG_X86_PMEM_LEGACY_DEVICE=y
623 625
 CONFIG_X86_PMEM_LEGACY=y
624 626
 CONFIG_X86_CHECK_BIOS_CORRUPTION=y
... ...
@@ -632,6 +638,7 @@ CONFIG_X86_PAT=y
632 632
 CONFIG_ARCH_USES_PG_UNCACHED=y
633 633
 CONFIG_ARCH_RANDOM=y
634 634
 CONFIG_X86_SMAP=y
635
+CONFIG_X86_INTEL_UMIP=y
635 636
 # CONFIG_X86_INTEL_MPX is not set
636 637
 CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
637 638
 CONFIG_EFI=y
... ...
@@ -655,7 +662,6 @@ CONFIG_HOTPLUG_CPU=y
655 655
 # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
656 656
 # CONFIG_DEBUG_HOTPLUG_CPU0 is not set
657 657
 CONFIG_COMPAT_VDSO=y
658
-# CONFIG_LEGACY_VSYSCALL_NATIVE is not set
659 658
 CONFIG_LEGACY_VSYSCALL_EMULATE=y
660 659
 # CONFIG_LEGACY_VSYSCALL_NONE is not set
661 660
 # CONFIG_CMDLINE_BOOL is not set
... ...
@@ -682,7 +688,6 @@ CONFIG_PM_SLEEP_SMP=y
682 682
 # CONFIG_PM_WAKELOCKS is not set
683 683
 CONFIG_PM=y
684 684
 # CONFIG_PM_DEBUG is not set
685
-CONFIG_PM_OPP=y
686 685
 CONFIG_PM_CLK=y
687 686
 # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
688 687
 CONFIG_ACPI=y
... ...
@@ -690,6 +695,8 @@ CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
690 690
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
691 691
 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
692 692
 # CONFIG_ACPI_DEBUGGER is not set
693
+CONFIG_ACPI_SPCR_TABLE=y
694
+CONFIG_ACPI_LPIT=y
693 695
 CONFIG_ACPI_SLEEP=y
694 696
 # CONFIG_ACPI_PROCFS_POWER is not set
695 697
 CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
... ...
@@ -699,6 +706,7 @@ CONFIG_ACPI_BATTERY=m
699 699
 CONFIG_ACPI_BUTTON=m
700 700
 CONFIG_ACPI_VIDEO=m
701 701
 CONFIG_ACPI_FAN=m
702
+# CONFIG_ACPI_TAD is not set
702 703
 # CONFIG_ACPI_DOCK is not set
703 704
 CONFIG_ACPI_CPU_FREQ_PSS=y
704 705
 CONFIG_ACPI_PROCESSOR_CSTATE=y
... ...
@@ -710,12 +718,10 @@ CONFIG_ACPI_HOTPLUG_CPU=y
710 710
 CONFIG_ACPI_PROCESSOR_AGGREGATOR=y
711 711
 CONFIG_ACPI_THERMAL=y
712 712
 CONFIG_ACPI_NUMA=y
713
-# CONFIG_ACPI_CUSTOM_DSDT is not set
714 713
 CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
715 714
 CONFIG_ACPI_TABLE_UPGRADE=y
716 715
 # CONFIG_ACPI_DEBUG is not set
717 716
 CONFIG_ACPI_PCI_SLOT=y
718
-CONFIG_X86_PM_TIMER=y
719 717
 CONFIG_ACPI_CONTAINER=y
720 718
 CONFIG_ACPI_HOTPLUG_MEMORY=y
721 719
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
... ...
@@ -737,6 +743,7 @@ CONFIG_ACPI_APEI_ERST_DEBUG=m
737 737
 # CONFIG_ACPI_EXTLOG is not set
738 738
 CONFIG_PMIC_OPREGION=y
739 739
 # CONFIG_ACPI_CONFIGFS is not set
740
+CONFIG_X86_PM_TIMER=y
740 741
 # CONFIG_SFI is not set
741 742
 
742 743
 #
... ...
@@ -774,7 +781,6 @@ CONFIG_X86_AMD_FREQ_SENSITIVITY=m
774 774
 #
775 775
 # shared options
776 776
 #
777
-# CONFIG_X86_SPEEDSTEP_LIB is not set
778 777
 
779 778
 #
780 779
 # CPU Idle
... ...
@@ -782,7 +788,6 @@ CONFIG_X86_AMD_FREQ_SENSITIVITY=m
782 782
 CONFIG_CPU_IDLE=y
783 783
 CONFIG_CPU_IDLE_GOV_LADDER=y
784 784
 CONFIG_CPU_IDLE_GOV_MENU=y
785
-# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
786 785
 CONFIG_INTEL_IDLE=y
787 786
 
788 787
 #
... ...
@@ -793,12 +798,13 @@ CONFIG_PCI_DIRECT=y
793 793
 CONFIG_PCI_MMCONFIG=y
794 794
 CONFIG_PCI_XEN=y
795 795
 CONFIG_PCI_DOMAINS=y
796
+CONFIG_MMCONF_FAM10H=y
796 797
 # CONFIG_PCI_CNB20LE_QUIRK is not set
797 798
 CONFIG_PCIEPORTBUS=y
798 799
 CONFIG_HOTPLUG_PCI_PCIE=y
799 800
 CONFIG_PCIEAER=y
800
-CONFIG_PCIE_ECRC=y
801 801
 # CONFIG_PCIEAER_INJECT is not set
802
+CONFIG_PCIE_ECRC=y
802 803
 CONFIG_PCIEASPM=y
803 804
 # CONFIG_PCIEASPM_DEBUG is not set
804 805
 CONFIG_PCIEASPM_DEFAULT=y
... ...
@@ -808,14 +814,14 @@ CONFIG_PCIEASPM_DEFAULT=y
808 808
 CONFIG_PCIE_PME=y
809 809
 # CONFIG_PCIE_DPC is not set
810 810
 # CONFIG_PCIE_PTM is not set
811
-CONFIG_PCI_BUS_ADDR_T_64BIT=y
812 811
 CONFIG_PCI_MSI=y
813 812
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
813
+CONFIG_PCI_QUIRKS=y
814 814
 # CONFIG_PCI_DEBUG is not set
815 815
 # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
816 816
 # CONFIG_PCI_STUB is not set
817
+# CONFIG_PCI_PF_STUB is not set
817 818
 CONFIG_XEN_PCIDEV_FRONTEND=m
818
-CONFIG_HT_IRQ=y
819 819
 CONFIG_PCI_ATS=y
820 820
 CONFIG_PCI_LOCKLESS_CONFIG=y
821 821
 CONFIG_PCI_IOV=y
... ...
@@ -830,16 +836,20 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m
830 830
 # CONFIG_HOTPLUG_PCI_SHPC is not set
831 831
 
832 832
 #
833
-# DesignWare PCI Core Support
833
+# PCI controller drivers
834 834
 #
835
-# CONFIG_PCIE_DW_PLAT is not set
836 835
 
837 836
 #
838
-# PCI host controller drivers
837
+# Cadence PCIe controllers support
839 838
 #
840 839
 CONFIG_VMD=y
841 840
 
842 841
 #
842
+# DesignWare PCI Core Support
843
+#
844
+# CONFIG_PCIE_DW_PLAT_HOST is not set
845
+
846
+#
843 847
 # PCI Endpoint
844 848
 #
845 849
 # CONFIG_PCI_ENDPOINT is not set
... ...
@@ -863,7 +873,6 @@ CONFIG_COMPAT_BINFMT_ELF=y
863 863
 CONFIG_ELFCORE=y
864 864
 CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
865 865
 CONFIG_BINFMT_SCRIPT=y
866
-# CONFIG_HAVE_AOUT is not set
867 866
 # CONFIG_BINFMT_MISC is not set
868 867
 CONFIG_COREDUMP=y
869 868
 CONFIG_IA32_EMULATION=y
... ...
@@ -910,6 +919,7 @@ CONFIG_NET_IPGRE_DEMUX=m
910 910
 CONFIG_NET_IP_TUNNEL=m
911 911
 CONFIG_NET_IPGRE=m
912 912
 CONFIG_NET_IPGRE_BROADCAST=y
913
+CONFIG_IP_MROUTE_COMMON=y
913 914
 CONFIG_IP_MROUTE=y
914 915
 CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
915 916
 CONFIG_IP_PIMSM_V1=y
... ...
@@ -976,8 +986,6 @@ CONFIG_IPV6_SIT_6RD=y
976 976
 CONFIG_IPV6_NDISC_NODETYPE=y
977 977
 CONFIG_IPV6_TUNNEL=m
978 978
 CONFIG_IPV6_GRE=m
979
-# CONFIG_IPV6_FOU is not set
980
-# CONFIG_IPV6_FOU_TUNNEL is not set
981 979
 CONFIG_IPV6_MULTIPLE_TABLES=y
982 980
 CONFIG_IPV6_SUBTREES=y
983 981
 CONFIG_IPV6_MROUTE=y
... ...
@@ -998,12 +1006,15 @@ CONFIG_BRIDGE_NETFILTER=m
998 998
 #
999 999
 CONFIG_NETFILTER_INGRESS=y
1000 1000
 CONFIG_NETFILTER_NETLINK=m
1001
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
1002
+CONFIG_NETFILTER_FAMILY_ARP=y
1001 1003
 CONFIG_NETFILTER_NETLINK_ACCT=m
1002 1004
 CONFIG_NETFILTER_NETLINK_QUEUE=m
1003 1005
 CONFIG_NETFILTER_NETLINK_LOG=m
1004 1006
 CONFIG_NF_CONNTRACK=m
1005 1007
 CONFIG_NF_LOG_COMMON=m
1006 1008
 # CONFIG_NF_LOG_NETDEV is not set
1009
+CONFIG_NETFILTER_CONNCOUNT=m
1007 1010
 CONFIG_NF_CONNTRACK_MARK=y
1008 1011
 CONFIG_NF_CONNTRACK_SECMARK=y
1009 1012
 CONFIG_NF_CONNTRACK_ZONES=y
... ...
@@ -1040,20 +1051,17 @@ CONFIG_NF_NAT_FTP=m
1040 1040
 CONFIG_NF_NAT_IRC=m
1041 1041
 CONFIG_NF_NAT_SIP=m
1042 1042
 CONFIG_NF_NAT_TFTP=m
1043
-CONFIG_NF_NAT_REDIRECT=m
1043
+CONFIG_NF_NAT_REDIRECT=y
1044 1044
 CONFIG_NETFILTER_SYNPROXY=m
1045
+CONFIG_NF_OSF=m
1045 1046
 CONFIG_NF_TABLES=m
1046
-CONFIG_NF_TABLES_INET=m
1047
-CONFIG_NF_TABLES_NETDEV=m
1048
-CONFIG_NFT_EXTHDR=m
1049
-CONFIG_NFT_META=m
1050
-CONFIG_NFT_RT=m
1047
+# CONFIG_NF_TABLES_SET is not set
1048
+# CONFIG_NF_TABLES_INET is not set
1049
+# CONFIG_NF_TABLES_NETDEV is not set
1051 1050
 CONFIG_NFT_NUMGEN=m
1052 1051
 CONFIG_NFT_CT=m
1053
-CONFIG_NFT_SET_RBTREE=m
1054
-CONFIG_NFT_SET_HASH=m
1055
-CONFIG_NFT_SET_BITMAP=m
1056 1052
 CONFIG_NFT_COUNTER=m
1053
+# CONFIG_NFT_CONNLIMIT is not set
1057 1054
 CONFIG_NFT_LOG=m
1058 1055
 CONFIG_NFT_LIMIT=m
1059 1056
 CONFIG_NFT_MASQ=m
... ...
@@ -1063,12 +1071,10 @@ CONFIG_NFT_NAT=m
1063 1063
 CONFIG_NFT_QUEUE=m
1064 1064
 CONFIG_NFT_QUOTA=m
1065 1065
 CONFIG_NFT_REJECT=m
1066
-CONFIG_NFT_REJECT_INET=m
1067 1066
 CONFIG_NFT_COMPAT=m
1068 1067
 CONFIG_NFT_HASH=m
1069
-CONFIG_NF_DUP_NETDEV=m
1070
-CONFIG_NFT_DUP_NETDEV=m
1071
-CONFIG_NFT_FWD_NETDEV=m
1068
+# CONFIG_NFT_SOCKET is not set
1069
+# CONFIG_NF_FLOW_TABLE is not set
1072 1070
 CONFIG_NETFILTER_XTABLES=y
1073 1071
 
1074 1072
 #
... ...
@@ -1202,6 +1208,7 @@ CONFIG_IP_VS_LBLC=m
1202 1202
 CONFIG_IP_VS_LBLCR=m
1203 1203
 CONFIG_IP_VS_DH=m
1204 1204
 CONFIG_IP_VS_SH=m
1205
+# CONFIG_IP_VS_MH is not set
1205 1206
 CONFIG_IP_VS_SED=m
1206 1207
 CONFIG_IP_VS_NQ=m
1207 1208
 
... ...
@@ -1211,6 +1218,11 @@ CONFIG_IP_VS_NQ=m
1211 1211
 CONFIG_IP_VS_SH_TAB_BITS=8
1212 1212
 
1213 1213
 #
1214
+# IPVS MH scheduler
1215
+#
1216
+CONFIG_IP_VS_MH_TAB_INDEX=12
1217
+
1218
+#
1214 1219
 # IPVS application helper
1215 1220
 #
1216 1221
 CONFIG_IP_VS_FTP=m
... ...
@@ -1223,21 +1235,15 @@ CONFIG_IP_VS_PE_SIP=m
1223 1223
 CONFIG_NF_DEFRAG_IPV4=m
1224 1224
 CONFIG_NF_CONNTRACK_IPV4=m
1225 1225
 # CONFIG_NF_SOCKET_IPV4 is not set
1226
-CONFIG_NF_TABLES_IPV4=m
1227
-# CONFIG_NFT_CHAIN_ROUTE_IPV4 is not set
1228
-CONFIG_NFT_REJECT_IPV4=m
1229
-# CONFIG_NFT_DUP_IPV4 is not set
1230
-# CONFIG_NFT_FIB_IPV4 is not set
1226
+CONFIG_NF_TPROXY_IPV4=m
1227
+# CONFIG_NF_TABLES_IPV4 is not set
1231 1228
 # CONFIG_NF_TABLES_ARP is not set
1232 1229
 CONFIG_NF_DUP_IPV4=m
1233 1230
 # CONFIG_NF_LOG_ARP is not set
1234 1231
 CONFIG_NF_LOG_IPV4=m
1235 1232
 CONFIG_NF_REJECT_IPV4=m
1236 1233
 CONFIG_NF_NAT_IPV4=m
1237
-# CONFIG_NFT_CHAIN_NAT_IPV4 is not set
1238
-CONFIG_NF_NAT_MASQUERADE_IPV4=m
1239
-# CONFIG_NFT_MASQ_IPV4 is not set
1240
-# CONFIG_NFT_REDIR_IPV4 is not set
1234
+CONFIG_NF_NAT_MASQUERADE_IPV4=y
1241 1235
 CONFIG_NF_NAT_SNMP_BASIC=m
1242 1236
 CONFIG_NF_NAT_PROTO_GRE=m
1243 1237
 CONFIG_NF_NAT_PPTP=m
... ...
@@ -1270,19 +1276,13 @@ CONFIG_IP_NF_ARP_MANGLE=m
1270 1270
 CONFIG_NF_DEFRAG_IPV6=m
1271 1271
 CONFIG_NF_CONNTRACK_IPV6=m
1272 1272
 # CONFIG_NF_SOCKET_IPV6 is not set
1273
-CONFIG_NF_TABLES_IPV6=m
1274
-CONFIG_NFT_CHAIN_ROUTE_IPV6=m
1275
-CONFIG_NFT_CHAIN_NAT_IPV6=m
1276
-CONFIG_NFT_MASQ_IPV6=m
1277
-CONFIG_NFT_REDIR_IPV6=m
1278
-CONFIG_NFT_REJECT_IPV6=m
1279
-CONFIG_NFT_DUP_IPV6=m
1280
-# CONFIG_NFT_FIB_IPV6 is not set
1273
+CONFIG_NF_TPROXY_IPV6=m
1274
+# CONFIG_NF_TABLES_IPV6 is not set
1281 1275
 CONFIG_NF_DUP_IPV6=m
1282 1276
 CONFIG_NF_REJECT_IPV6=m
1283 1277
 CONFIG_NF_LOG_IPV6=m
1284 1278
 CONFIG_NF_NAT_IPV6=m
1285
-CONFIG_NF_NAT_MASQUERADE_IPV6=m
1279
+CONFIG_NF_NAT_MASQUERADE_IPV6=y
1286 1280
 CONFIG_IP6_NF_IPTABLES=m
1287 1281
 CONFIG_IP6_NF_MATCH_AH=m
1288 1282
 CONFIG_IP6_NF_MATCH_EUI64=m
... ...
@@ -1293,6 +1293,7 @@ CONFIG_IP6_NF_MATCH_IPV6HEADER=m
1293 1293
 CONFIG_IP6_NF_MATCH_MH=m
1294 1294
 CONFIG_IP6_NF_MATCH_RPFILTER=m
1295 1295
 CONFIG_IP6_NF_MATCH_RT=m
1296
+# CONFIG_IP6_NF_MATCH_SRH is not set
1296 1297
 CONFIG_IP6_NF_TARGET_HL=m
1297 1298
 CONFIG_IP6_NF_FILTER=m
1298 1299
 CONFIG_IP6_NF_TARGET_REJECT=m
... ...
@@ -1325,6 +1326,7 @@ CONFIG_BRIDGE_EBT_REDIRECT=m
1325 1325
 CONFIG_BRIDGE_EBT_SNAT=m
1326 1326
 CONFIG_BRIDGE_EBT_LOG=m
1327 1327
 CONFIG_BRIDGE_EBT_NFLOG=m
1328
+# CONFIG_BPFILTER is not set
1328 1329
 CONFIG_IP_DCCP=m
1329 1330
 CONFIG_INET_DCCP_DIAG=m
1330 1331
 
... ...
@@ -1340,9 +1342,7 @@ CONFIG_IP_DCCP_TFRC_LIB=y
1340 1340
 # DCCP Kernel Hacking
1341 1341
 #
1342 1342
 # CONFIG_IP_DCCP_DEBUG is not set
1343
-# CONFIG_NET_DCCPPROBE is not set
1344 1343
 CONFIG_IP_SCTP=m
1345
-# CONFIG_NET_SCTPPROBE is not set
1346 1344
 # CONFIG_SCTP_DBG_OBJCNT is not set
1347 1345
 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
1348 1346
 # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
... ...
@@ -1370,7 +1370,6 @@ CONFIG_VLAN_8021Q_MVRP=y
1370 1370
 # CONFIG_DECNET is not set
1371 1371
 CONFIG_LLC=m
1372 1372
 # CONFIG_LLC2 is not set
1373
-# CONFIG_IPX is not set
1374 1373
 # CONFIG_ATALK is not set
1375 1374
 # CONFIG_X25 is not set
1376 1375
 # CONFIG_LAPB is not set
... ...
@@ -1392,6 +1391,7 @@ CONFIG_NET_SCH_SFB=m
1392 1392
 CONFIG_NET_SCH_SFQ=m
1393 1393
 CONFIG_NET_SCH_TEQL=m
1394 1394
 CONFIG_NET_SCH_TBF=m
1395
+# CONFIG_NET_SCH_CBS is not set
1395 1396
 CONFIG_NET_SCH_GRED=m
1396 1397
 CONFIG_NET_SCH_DSMARK=m
1397 1398
 CONFIG_NET_SCH_NETEM=m
... ...
@@ -1435,6 +1435,7 @@ CONFIG_NET_EMATCH_META=m
1435 1435
 CONFIG_NET_EMATCH_TEXT=m
1436 1436
 # CONFIG_NET_EMATCH_CANID is not set
1437 1437
 CONFIG_NET_EMATCH_IPSET=m
1438
+# CONFIG_NET_EMATCH_IPT is not set
1438 1439
 CONFIG_NET_CLS_ACT=y
1439 1440
 CONFIG_NET_ACT_POLICE=m
1440 1441
 CONFIG_NET_ACT_GACT=m
... ...
@@ -1463,6 +1464,7 @@ CONFIG_OPENVSWITCH_GRE=m
1463 1463
 CONFIG_OPENVSWITCH_VXLAN=m
1464 1464
 CONFIG_OPENVSWITCH_GENEVE=m
1465 1465
 CONFIG_VSOCKETS=m
1466
+# CONFIG_VSOCKETS_DIAG is not set
1466 1467
 CONFIG_VMWARE_VMCI_VSOCKETS=m
1467 1468
 CONFIG_VIRTIO_VSOCKETS=m
1468 1469
 CONFIG_VIRTIO_VSOCKETS_COMMON=m
... ...
@@ -1471,7 +1473,7 @@ CONFIG_NETLINK_DIAG=m
1471 1471
 CONFIG_MPLS=y
1472 1472
 CONFIG_NET_MPLS_GSO=m
1473 1473
 # CONFIG_MPLS_ROUTING is not set
1474
-# CONFIG_NET_NSH is not set
1474
+CONFIG_NET_NSH=m
1475 1475
 # CONFIG_HSR is not set
1476 1476
 # CONFIG_NET_SWITCHDEV is not set
1477 1477
 CONFIG_NET_L3_MASTER_DEV=y
... ...
@@ -1490,7 +1492,6 @@ CONFIG_NET_FLOW_LIMIT=y
1490 1490
 # Network testing
1491 1491
 #
1492 1492
 # CONFIG_NET_PKTGEN is not set
1493
-# CONFIG_NET_TCPPROBE is not set
1494 1493
 CONFIG_NET_DROP_MONITOR=m
1495 1494
 # CONFIG_HAMRADIO is not set
1496 1495
 CONFIG_CAN=m
... ...
@@ -1547,18 +1548,20 @@ CONFIG_BT_INTEL=m
1547 1547
 CONFIG_BT_BCM=m
1548 1548
 CONFIG_BT_RTL=m
1549 1549
 CONFIG_BT_HCIBTUSB=m
1550
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
1550 1551
 CONFIG_BT_HCIBTUSB_BCM=y
1551 1552
 CONFIG_BT_HCIBTUSB_RTL=y
1552 1553
 CONFIG_BT_HCIBTSDIO=m
1553 1554
 # CONFIG_BT_HCIUART is not set
1554 1555
 CONFIG_BT_HCIBCM203X=m
1556
+# CONFIG_BT_HCIBPA10X is not set
1555 1557
 # CONFIG_BT_HCIBFUSB is not set
1556 1558
 # CONFIG_BT_HCIVHCI is not set
1557 1559
 # CONFIG_BT_MRVL is not set
1558 1560
 # CONFIG_BT_ATH3K is not set
1561
+CONFIG_BT_HCIRSI=m
1559 1562
 # CONFIG_AF_RXRPC is not set
1560 1563
 # CONFIG_AF_KCM is not set
1561
-# CONFIG_STREAM_PARSER is not set
1562 1564
 CONFIG_FIB_RULES=y
1563 1565
 CONFIG_WIRELESS=y
1564 1566
 CONFIG_WEXT_CORE=y
... ...
@@ -1567,12 +1570,12 @@ CONFIG_CFG80211=m
1567 1567
 # CONFIG_NL80211_TESTMODE is not set
1568 1568
 # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
1569 1569
 # CONFIG_CFG80211_CERTIFICATION_ONUS is not set
1570
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
1571
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
1570 1572
 CONFIG_CFG80211_DEFAULT_PS=y
1571 1573
 # CONFIG_CFG80211_DEBUGFS is not set
1572
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
1573 1574
 CONFIG_CFG80211_CRDA_SUPPORT=y
1574 1575
 CONFIG_CFG80211_WEXT=y
1575
-# CONFIG_LIB80211 is not set
1576 1576
 CONFIG_MAC80211=m
1577 1577
 CONFIG_MAC80211_HAS_RC=y
1578 1578
 CONFIG_MAC80211_RC_MINSTREL=y
... ...
@@ -1604,6 +1607,7 @@ CONFIG_DST_CACHE=y
1604 1604
 CONFIG_GRO_CELLS=y
1605 1605
 # CONFIG_NET_DEVLINK is not set
1606 1606
 CONFIG_MAY_USE_DEVLINK=y
1607
+CONFIG_FAILOVER=y
1607 1608
 CONFIG_HAVE_EBPF_JIT=y
1608 1609
 
1609 1610
 #
... ...
@@ -1619,10 +1623,13 @@ CONFIG_DEVTMPFS=y
1619 1619
 CONFIG_DEVTMPFS_MOUNT=y
1620 1620
 CONFIG_STANDALONE=y
1621 1621
 CONFIG_PREVENT_FIRMWARE_BUILD=y
1622
+
1623
+#
1624
+# Firmware loader
1625
+#
1622 1626
 CONFIG_FW_LOADER=y
1623
-# CONFIG_FIRMWARE_IN_KERNEL is not set
1624 1627
 CONFIG_EXTRA_FIRMWARE=""
1625
-# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
1628
+# CONFIG_FW_LOADER_USER_HELPER is not set
1626 1629
 CONFIG_WANT_DEV_COREDUMP=y
1627 1630
 CONFIG_ALLOW_DEV_COREDUMP=y
1628 1631
 CONFIG_DEV_COREDUMP=y
... ...
@@ -1631,7 +1638,6 @@ CONFIG_DEV_COREDUMP=y
1631 1631
 # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
1632 1632
 # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
1633 1633
 CONFIG_SYS_HYPERVISOR=y
1634
-# CONFIG_GENERIC_CPU_DEVICES is not set
1635 1634
 CONFIG_GENERIC_CPU_AUTOPROBE=y
1636 1635
 CONFIG_GENERIC_CPU_VULNERABILITIES=y
1637 1636
 CONFIG_REGMAP=y
... ...
@@ -1657,10 +1663,10 @@ CONFIG_PNPACPI=y
1657 1657
 CONFIG_BLK_DEV=y
1658 1658
 # CONFIG_BLK_DEV_NULL_BLK is not set
1659 1659
 # CONFIG_BLK_DEV_FD is not set
1660
+CONFIG_CDROM=y
1660 1661
 # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
1661 1662
 # CONFIG_BLK_DEV_DAC960 is not set
1662 1663
 # CONFIG_BLK_DEV_UMEM is not set
1663
-# CONFIG_BLK_DEV_COW_COMMON is not set
1664 1664
 CONFIG_BLK_DEV_LOOP=y
1665 1665
 CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
1666 1666
 # CONFIG_BLK_DEV_CRYPTOLOOP is not set
... ...
@@ -1671,7 +1677,6 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
1671 1671
 CONFIG_BLK_DEV_RAM=y
1672 1672
 CONFIG_BLK_DEV_RAM_COUNT=16
1673 1673
 CONFIG_BLK_DEV_RAM_SIZE=4096
1674
-CONFIG_BLK_DEV_RAM_DAX=y
1675 1674
 # CONFIG_CDROM_PKTCDVD is not set
1676 1675
 # CONFIG_ATA_OVER_ETH is not set
1677 1676
 CONFIG_XEN_BLKDEV_FRONTEND=m
... ...
@@ -1680,8 +1685,13 @@ CONFIG_VIRTIO_BLK=m
1680 1680
 # CONFIG_VIRTIO_BLK_SCSI is not set
1681 1681
 CONFIG_BLK_DEV_RBD=m
1682 1682
 # CONFIG_BLK_DEV_RSXX is not set
1683
+
1684
+#
1685
+# NVME Support
1686
+#
1683 1687
 CONFIG_NVME_CORE=y
1684 1688
 CONFIG_BLK_DEV_NVME=y
1689
+# CONFIG_NVME_MULTIPATH is not set
1685 1690
 CONFIG_NVME_FABRICS=m
1686 1691
 # CONFIG_NVME_FC is not set
1687 1692
 CONFIG_NVME_TARGET=m
... ...
@@ -1691,7 +1701,6 @@ CONFIG_NVME_TARGET_LOOP=m
1691 1691
 #
1692 1692
 # Misc devices
1693 1693
 #
1694
-# CONFIG_SENSORS_LIS3LV02D is not set
1695 1694
 # CONFIG_AD525X_DPOT is not set
1696 1695
 # CONFIG_DUMMY_IRQ is not set
1697 1696
 # CONFIG_IBM_ASM is not set
... ...
@@ -1730,10 +1739,6 @@ CONFIG_EEPROM_93CX6=m
1730 1730
 #
1731 1731
 # CONFIG_TI_ST is not set
1732 1732
 # CONFIG_SENSORS_LIS3_I2C is not set
1733
-
1734
-#
1735
-# Altera FPGA firmware download module
1736
-#
1737 1733
 # CONFIG_ALTERA_STAPL is not set
1738 1734
 CONFIG_INTEL_MEI=m
1739 1735
 CONFIG_INTEL_MEI_ME=m
... ...
@@ -1741,6 +1746,10 @@ CONFIG_INTEL_MEI_ME=m
1741 1741
 CONFIG_VMWARE_VMCI=m
1742 1742
 
1743 1743
 #
1744
+# Intel MIC & related support
1745
+#
1746
+
1747
+#
1744 1748
 # Intel MIC Bus Driver
1745 1749
 #
1746 1750
 # CONFIG_INTEL_MIC_BUS is not set
... ...
@@ -1776,9 +1785,8 @@ CONFIG_VMWARE_VMCI=m
1776 1776
 #
1777 1777
 # CONFIG_GENWQE is not set
1778 1778
 # CONFIG_ECHO is not set
1779
-# CONFIG_CXL_BASE is not set
1780
-# CONFIG_CXL_AFU_DRIVER_OPS is not set
1781
-# CONFIG_CXL_LIB is not set
1779
+# CONFIG_MISC_RTSX_PCI is not set
1780
+# CONFIG_MISC_RTSX_USB is not set
1782 1781
 CONFIG_HAVE_IDE=y
1783 1782
 CONFIG_IDE=y
1784 1783
 
... ...
@@ -1836,7 +1844,6 @@ CONFIG_BLK_DEV_GENERIC=y
1836 1836
 # CONFIG_BLK_DEV_TRM290 is not set
1837 1837
 # CONFIG_BLK_DEV_VIA82CXXX is not set
1838 1838
 # CONFIG_BLK_DEV_TC86C001 is not set
1839
-# CONFIG_BLK_DEV_IDEDMA is not set
1840 1839
 
1841 1840
 #
1842 1841
 # SCSI device support
... ...
@@ -1937,11 +1944,6 @@ CONFIG_FCOE=m
1937 1937
 CONFIG_FCOE_FNIC=m
1938 1938
 # CONFIG_SCSI_SNIC is not set
1939 1939
 CONFIG_SCSI_DMX3191D=m
1940
-CONFIG_SCSI_EATA=m
1941
-CONFIG_SCSI_EATA_TAGGED_QUEUE=y
1942
-CONFIG_SCSI_EATA_LINKED_COMMANDS=y
1943
-CONFIG_SCSI_EATA_MAX_TAGS=16
1944
-CONFIG_SCSI_FUTURE_DOMAIN=m
1945 1940
 CONFIG_SCSI_GDTH=m
1946 1941
 CONFIG_SCSI_ISCI=m
1947 1942
 CONFIG_SCSI_IPS=m
... ...
@@ -1980,7 +1982,6 @@ CONFIG_SCSI_OSD_ULD=m
1980 1980
 CONFIG_SCSI_OSD_DPRINT_SENSE=1
1981 1981
 # CONFIG_SCSI_OSD_DEBUG is not set
1982 1982
 CONFIG_ATA=y
1983
-# CONFIG_ATA_NONSTANDARD is not set
1984 1983
 CONFIG_ATA_VERBOSE_ERROR=y
1985 1984
 CONFIG_ATA_ACPI=y
1986 1985
 # CONFIG_SATA_ZPODD is not set
... ...
@@ -1990,6 +1991,7 @@ CONFIG_SATA_PMP=y
1990 1990
 # Controllers with non-SFF native interface
1991 1991
 #
1992 1992
 CONFIG_SATA_AHCI=y
1993
+CONFIG_SATA_MOBILE_LPM_POLICY=0
1993 1994
 # CONFIG_SATA_AHCI_PLATFORM is not set
1994 1995
 # CONFIG_SATA_INIC162X is not set
1995 1996
 # CONFIG_SATA_ACARD_AHCI is not set
... ...
@@ -2092,10 +2094,12 @@ CONFIG_DM_BUFIO=m
2092 2092
 # CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
2093 2093
 CONFIG_DM_BIO_PRISON=m
2094 2094
 CONFIG_DM_PERSISTENT_DATA=m
2095
+# CONFIG_DM_UNSTRIPED is not set
2095 2096
 CONFIG_DM_CRYPT=m
2096 2097
 CONFIG_DM_SNAPSHOT=m
2097 2098
 CONFIG_DM_THIN_PROVISIONING=m
2098 2099
 # CONFIG_DM_CACHE is not set
2100
+# CONFIG_DM_WRITECACHE is not set
2099 2101
 # CONFIG_DM_ERA is not set
2100 2102
 CONFIG_DM_MIRROR=m
2101 2103
 # CONFIG_DM_LOG_USERSPACE is not set
... ...
@@ -2182,7 +2186,6 @@ CONFIG_NET_VENDOR_AMD=y
2182 2182
 CONFIG_AMD8111_ETH=m
2183 2183
 CONFIG_PCNET32=m
2184 2184
 # CONFIG_AMD_XGBE is not set
2185
-# CONFIG_AMD_XGBE_HAVE_ECC is not set
2186 2185
 # CONFIG_NET_VENDOR_AQUANTIA is not set
2187 2186
 # CONFIG_NET_VENDOR_ARC is not set
2188 2187
 CONFIG_NET_VENDOR_ATHEROS=y
... ...
@@ -2192,8 +2195,6 @@ CONFIG_ATL1E=m
2192 2192
 CONFIG_ATL1C=m
2193 2193
 CONFIG_ALX=m
2194 2194
 # CONFIG_NET_VENDOR_AURORA is not set
2195
-CONFIG_NET_CADENCE=y
2196
-# CONFIG_MACB is not set
2197 2195
 CONFIG_NET_VENDOR_BROADCOM=y
2198 2196
 CONFIG_B44=m
2199 2197
 CONFIG_B44_PCI_AUTOSELECT=y
... ...
@@ -2208,11 +2209,14 @@ CONFIG_BNX2X_SRIOV=y
2208 2208
 # CONFIG_BNXT is not set
2209 2209
 CONFIG_NET_VENDOR_BROCADE=y
2210 2210
 CONFIG_BNA=m
2211
+CONFIG_NET_CADENCE=y
2212
+# CONFIG_MACB is not set
2211 2213
 CONFIG_NET_VENDOR_CAVIUM=y
2212 2214
 # CONFIG_THUNDER_NIC_PF is not set
2213 2215
 # CONFIG_THUNDER_NIC_VF is not set
2214 2216
 # CONFIG_THUNDER_NIC_BGX is not set
2215 2217
 # CONFIG_THUNDER_NIC_RGX is not set
2218
+CONFIG_CAVIUM_PTP=m
2216 2219
 # CONFIG_LIQUIDIO is not set
2217 2220
 # CONFIG_LIQUIDIO_VF is not set
2218 2221
 CONFIG_NET_VENDOR_CHELSIO=y
... ...
@@ -2225,6 +2229,7 @@ CONFIG_CHELSIO_T4VF=m
2225 2225
 CONFIG_CHELSIO_LIB=m
2226 2226
 CONFIG_NET_VENDOR_CISCO=y
2227 2227
 CONFIG_ENIC=m
2228
+# CONFIG_NET_VENDOR_CORTINA is not set
2228 2229
 # CONFIG_CX_ECAT is not set
2229 2230
 # CONFIG_DNET is not set
2230 2231
 CONFIG_NET_VENDOR_DEC=y
... ...
@@ -2247,13 +2252,10 @@ CONFIG_NET_VENDOR_EMULEX=y
2247 2247
 CONFIG_BE2NET=m
2248 2248
 CONFIG_BE2NET_HWMON=y
2249 2249
 CONFIG_NET_VENDOR_EZCHIP=y
2250
-CONFIG_NET_VENDOR_EXAR=y
2251
-CONFIG_S2IO=m
2252
-CONFIG_VXGE=m
2253
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
2254 2250
 CONFIG_NET_VENDOR_HP=y
2255 2251
 CONFIG_HP100=m
2256 2252
 # CONFIG_NET_VENDOR_HUAWEI is not set
2253
+CONFIG_NET_VENDOR_I825XX=y
2257 2254
 CONFIG_NET_VENDOR_INTEL=y
2258 2255
 CONFIG_E100=m
2259 2256
 CONFIG_E1000=y
... ...
@@ -2272,8 +2274,11 @@ CONFIG_IXGBEVF=m
2272 2272
 CONFIG_I40E=m
2273 2273
 CONFIG_I40E_DCB=y
2274 2274
 CONFIG_I40EVF=m
2275
+# CONFIG_ICE is not set
2275 2276
 CONFIG_FM10K=m
2276
-CONFIG_NET_VENDOR_I825XX=y
2277
+CONFIG_NET_VENDOR_EXAR=y
2278
+# CONFIG_S2IO is not set
2279
+# CONFIG_VXGE is not set
2277 2280
 CONFIG_JME=m
2278 2281
 CONFIG_NET_VENDOR_MARVELL=y
2279 2282
 # CONFIG_MVMDIO is not set
... ...
@@ -2287,16 +2292,19 @@ CONFIG_MLX4_EN=m
2287 2287
 CONFIG_MLX4_EN_DCB=y
2288 2288
 CONFIG_MLX4_CORE=m
2289 2289
 CONFIG_MLX4_DEBUG=y
2290
+# CONFIG_MLX4_CORE_GEN2 is not set
2290 2291
 # CONFIG_MLX5_CORE is not set
2291 2292
 # CONFIG_MLXSW_CORE is not set
2292 2293
 # CONFIG_MLXFW is not set
2293 2294
 # CONFIG_NET_VENDOR_MICREL is not set
2295
+# CONFIG_NET_VENDOR_MICROSEMI is not set
2294 2296
 CONFIG_NET_VENDOR_MYRI=y
2295 2297
 CONFIG_MYRI10GE=m
2296 2298
 CONFIG_MYRI10GE_DCA=y
2297 2299
 # CONFIG_FEALNX is not set
2298 2300
 # CONFIG_NET_VENDOR_NATSEMI is not set
2299 2301
 # CONFIG_NET_VENDOR_NETRONOME is not set
2302
+# CONFIG_NET_VENDOR_NI is not set
2300 2303
 CONFIG_NET_VENDOR_NVIDIA=y
2301 2304
 CONFIG_FORCEDETH=m
2302 2305
 # CONFIG_NET_VENDOR_OKI is not set
... ...
@@ -2311,6 +2319,7 @@ CONFIG_NETXEN_NIC=m
2311 2311
 CONFIG_NET_VENDOR_QUALCOMM=y
2312 2312
 # CONFIG_QCOM_EMAC is not set
2313 2313
 # CONFIG_RMNET is not set
2314
+# CONFIG_NET_VENDOR_RDC is not set
2314 2315
 CONFIG_NET_VENDOR_REALTEK=y
2315 2316
 CONFIG_8139CP=m
2316 2317
 CONFIG_8139TOO=m
... ...
@@ -2320,28 +2329,29 @@ CONFIG_8139TOO_8129=y
2320 2320
 # CONFIG_8139_OLD_RX_RESET is not set
2321 2321
 CONFIG_R8169=m
2322 2322
 CONFIG_NET_VENDOR_RENESAS=y
2323
-# CONFIG_NET_VENDOR_RDC is not set
2324 2323
 CONFIG_NET_VENDOR_ROCKER=y
2325 2324
 CONFIG_NET_VENDOR_SAMSUNG=y
2326 2325
 # CONFIG_SXGBE_ETH is not set
2327 2326
 # CONFIG_NET_VENDOR_SEEQ is not set
2327
+# CONFIG_NET_VENDOR_SOLARFLARE is not set
2328 2328
 # CONFIG_NET_VENDOR_SILAN is not set
2329 2329
 # CONFIG_NET_VENDOR_SIS is not set
2330
-# CONFIG_NET_VENDOR_SOLARFLARE is not set
2331 2330
 # CONFIG_NET_VENDOR_SMSC is not set
2331
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
2332 2332
 # CONFIG_NET_VENDOR_STMICRO is not set
2333 2333
 # CONFIG_NET_VENDOR_SUN is not set
2334
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
2334 2335
 # CONFIG_NET_VENDOR_TEHUTI is not set
2335 2336
 # CONFIG_NET_VENDOR_TI is not set
2336 2337
 # CONFIG_NET_VENDOR_VIA is not set
2337 2338
 # CONFIG_NET_VENDOR_WIZNET is not set
2338
-# CONFIG_NET_VENDOR_SYNOPSYS is not set
2339 2339
 # CONFIG_FDDI is not set
2340 2340
 # CONFIG_HIPPI is not set
2341 2341
 # CONFIG_NET_SB1000 is not set
2342 2342
 CONFIG_MDIO_DEVICE=y
2343 2343
 CONFIG_MDIO_BUS=y
2344 2344
 # CONFIG_MDIO_BITBANG is not set
2345
+# CONFIG_MDIO_MSCC_MIIM is not set
2345 2346
 # CONFIG_MDIO_THUNDER is not set
2346 2347
 CONFIG_PHYLIB=y
2347 2348
 CONFIG_SWPHY=y
... ...
@@ -2352,6 +2362,7 @@ CONFIG_SWPHY=y
2352 2352
 #
2353 2353
 CONFIG_AMD_PHY=m
2354 2354
 # CONFIG_AQUANTIA_PHY is not set
2355
+# CONFIG_ASIX_PHY is not set
2355 2356
 CONFIG_AT803X_PHY=m
2356 2357
 CONFIG_BCM7XXX_PHY=m
2357 2358
 CONFIG_BCM87XX_PHY=m
... ...
@@ -2360,6 +2371,8 @@ CONFIG_BROADCOM_PHY=m
2360 2360
 # CONFIG_CICADA_PHY is not set
2361 2361
 # CONFIG_CORTINA_PHY is not set
2362 2362
 # CONFIG_DAVICOM_PHY is not set
2363
+# CONFIG_DP83822_PHY is not set
2364
+# CONFIG_DP83TC811_PHY is not set
2363 2365
 # CONFIG_DP83848_PHY is not set
2364 2366
 # CONFIG_DP83867_PHY is not set
2365 2367
 CONFIG_FIXED_PHY=y
... ...
@@ -2370,11 +2383,13 @@ CONFIG_LXT_PHY=m
2370 2370
 CONFIG_MARVELL_PHY=m
2371 2371
 # CONFIG_MARVELL_10G_PHY is not set
2372 2372
 CONFIG_MICREL_PHY=m
2373
-# CONFIG_MICROCHIP_PHY is not set
2373
+CONFIG_MICROCHIP_PHY=m
2374
+# CONFIG_MICROCHIP_T1_PHY is not set
2374 2375
 # CONFIG_MICROSEMI_PHY is not set
2375 2376
 CONFIG_NATIONAL_PHY=m
2376 2377
 # CONFIG_QSEMI_PHY is not set
2377 2378
 CONFIG_REALTEK_PHY=m
2379
+# CONFIG_RENESAS_PHY is not set
2378 2380
 # CONFIG_ROCKCHIP_PHY is not set
2379 2381
 # CONFIG_SMSC_PHY is not set
2380 2382
 CONFIG_STE10XP=m
... ...
@@ -2393,7 +2408,7 @@ CONFIG_USB_NET_DRIVERS=m
2393 2393
 # CONFIG_USB_PEGASUS is not set
2394 2394
 # CONFIG_USB_RTL8150 is not set
2395 2395
 # CONFIG_USB_RTL8152 is not set
2396
-# CONFIG_USB_LAN78XX is not set
2396
+CONFIG_USB_LAN78XX=m
2397 2397
 CONFIG_USB_USBNET=m
2398 2398
 CONFIG_USB_NET_AX8817X=m
2399 2399
 CONFIG_USB_NET_AX88179_178A=m
... ...
@@ -2485,6 +2500,7 @@ CONFIG_WLAN_VENDOR_MARVELL=y
2485 2485
 # CONFIG_MWL8K is not set
2486 2486
 CONFIG_WLAN_VENDOR_MEDIATEK=y
2487 2487
 # CONFIG_MT7601U is not set
2488
+# CONFIG_MT76x2E is not set
2488 2489
 CONFIG_WLAN_VENDOR_RALINK=y
2489 2490
 # CONFIG_RT2X00 is not set
2490 2491
 CONFIG_WLAN_VENDOR_REALTEK=y
... ...
@@ -2506,6 +2522,7 @@ CONFIG_RSI_91X=m
2506 2506
 CONFIG_RSI_DEBUGFS=y
2507 2507
 CONFIG_RSI_SDIO=m
2508 2508
 CONFIG_RSI_USB=m
2509
+CONFIG_RSI_COEX=y
2509 2510
 CONFIG_WLAN_VENDOR_ST=y
2510 2511
 # CONFIG_CW1200 is not set
2511 2512
 CONFIG_WLAN_VENDOR_TI=y
... ...
@@ -2530,6 +2547,8 @@ CONFIG_XEN_NETDEV_FRONTEND=m
2530 2530
 CONFIG_VMXNET3=y
2531 2531
 # CONFIG_FUJITSU_ES is not set
2532 2532
 CONFIG_HYPERV_NET=m
2533
+# CONFIG_NETDEVSIM is not set
2534
+CONFIG_NET_FAILOVER=y
2533 2535
 # CONFIG_ISDN is not set
2534 2536
 # CONFIG_NVM is not set
2535 2537
 
... ...
@@ -2618,7 +2637,6 @@ CONFIG_INPUT_MISC=y
2618 2618
 # CONFIG_INPUT_APANEL is not set
2619 2619
 # CONFIG_INPUT_GP2A is not set
2620 2620
 # CONFIG_INPUT_GPIO_BEEPER is not set
2621
-# CONFIG_INPUT_GPIO_TILT_POLLED is not set
2622 2621
 # CONFIG_INPUT_GPIO_DECODER is not set
2623 2622
 # CONFIG_INPUT_ATLAS_BTNS is not set
2624 2623
 # CONFIG_INPUT_ATI_REMOTE2 is not set
... ...
@@ -2697,7 +2715,6 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
2697 2697
 CONFIG_SERIAL_8250_SHARE_IRQ=y
2698 2698
 # CONFIG_SERIAL_8250_DETECT_IRQ is not set
2699 2699
 CONFIG_SERIAL_8250_RSA=y
2700
-# CONFIG_SERIAL_8250_FSL is not set
2701 2700
 # CONFIG_SERIAL_8250_DW is not set
2702 2701
 # CONFIG_SERIAL_8250_RT288X is not set
2703 2702
 # CONFIG_SERIAL_8250_LPSS is not set
... ...
@@ -2741,7 +2758,6 @@ CONFIG_HW_RANDOM_AMD=m
2741 2741
 CONFIG_HW_RANDOM_RDRAND=m
2742 2742
 CONFIG_HW_RANDOM_VIA=m
2743 2743
 CONFIG_HW_RANDOM_VIRTIO=m
2744
-CONFIG_HW_RANDOM_TPM=m
2745 2744
 CONFIG_NVRAM=m
2746 2745
 # CONFIG_R3964 is not set
2747 2746
 # CONFIG_APPLICOM is not set
... ...
@@ -2753,6 +2769,7 @@ CONFIG_HPET_MMAP=y
2753 2753
 CONFIG_HPET_MMAP_DEFAULT=y
2754 2754
 CONFIG_HANGCHECK_TIMER=m
2755 2755
 CONFIG_TCG_TPM=m
2756
+CONFIG_HW_RANDOM_TPM=y
2756 2757
 CONFIG_TCG_TIS_CORE=m
2757 2758
 CONFIG_TCG_TIS=m
2758 2759
 CONFIG_TCG_TIS_I2C_ATMEL=m
... ...
@@ -2824,7 +2841,6 @@ CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
2824 2824
 # CONFIG_I2C_GPIO is not set
2825 2825
 # CONFIG_I2C_OCORES is not set
2826 2826
 # CONFIG_I2C_PCA_PLATFORM is not set
2827
-# CONFIG_I2C_PXA_PCI is not set
2828 2827
 # CONFIG_I2C_SIMTEC is not set
2829 2828
 # CONFIG_I2C_XILINX is not set
2830 2829
 
... ...
@@ -2870,10 +2886,6 @@ CONFIG_PTP_1588_CLOCK=y
2870 2870
 # CONFIG_DP83640_PHY is not set
2871 2871
 CONFIG_PTP_1588_CLOCK_KVM=y
2872 2872
 CONFIG_PINCTRL=y
2873
-
2874
-#
2875
-# Pin controllers
2876
-#
2877 2873
 CONFIG_PINMUX=y
2878 2874
 CONFIG_PINCONF=y
2879 2875
 CONFIG_GENERIC_PINCONF=y
... ...
@@ -2885,11 +2897,13 @@ CONFIG_PINCTRL_BAYTRAIL=y
2885 2885
 # CONFIG_PINCTRL_CHERRYVIEW is not set
2886 2886
 # CONFIG_PINCTRL_BROXTON is not set
2887 2887
 # CONFIG_PINCTRL_CANNONLAKE is not set
2888
+# CONFIG_PINCTRL_CEDARFORK is not set
2888 2889
 # CONFIG_PINCTRL_DENVERTON is not set
2889 2890
 # CONFIG_PINCTRL_GEMINILAKE is not set
2890 2891
 # CONFIG_PINCTRL_LEWISBURG is not set
2891 2892
 # CONFIG_PINCTRL_SUNRISEPOINT is not set
2892 2893
 CONFIG_GPIOLIB=y
2894
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
2893 2895
 CONFIG_GPIO_ACPI=y
2894 2896
 CONFIG_GPIOLIB_IRQCHIP=y
2895 2897
 # CONFIG_DEBUG_GPIO is not set
... ...
@@ -2903,6 +2917,7 @@ CONFIG_GPIO_SYSFS=y
2903 2903
 # CONFIG_GPIO_GENERIC_PLATFORM is not set
2904 2904
 # CONFIG_GPIO_ICH is not set
2905 2905
 # CONFIG_GPIO_LYNXPOINT is not set
2906
+# CONFIG_GPIO_MB86S7X is not set
2906 2907
 # CONFIG_GPIO_MOCKUP is not set
2907 2908
 # CONFIG_GPIO_VX855 is not set
2908 2909
 
... ...
@@ -2913,6 +2928,8 @@ CONFIG_GPIO_SYSFS=y
2913 2913
 # CONFIG_GPIO_IT87 is not set
2914 2914
 # CONFIG_GPIO_SCH is not set
2915 2915
 # CONFIG_GPIO_SCH311X is not set
2916
+# CONFIG_GPIO_WINBOND is not set
2917
+# CONFIG_GPIO_WS16C48 is not set
2916 2918
 
2917 2919
 #
2918 2920
 # I2C GPIO expanders
... ...
@@ -2922,7 +2939,6 @@ CONFIG_GPIO_SYSFS=y
2922 2922
 # CONFIG_GPIO_MAX732X is not set
2923 2923
 # CONFIG_GPIO_PCA953X is not set
2924 2924
 # CONFIG_GPIO_PCF857X is not set
2925
-# CONFIG_GPIO_SX150X is not set
2926 2925
 # CONFIG_GPIO_TPIC2810 is not set
2927 2926
 
2928 2927
 #
... ...
@@ -2936,6 +2952,7 @@ CONFIG_GPIO_SYSFS=y
2936 2936
 # CONFIG_GPIO_BT8XX is not set
2937 2937
 # CONFIG_GPIO_ML_IOH is not set
2938 2938
 # CONFIG_GPIO_PCI_IDIO_16 is not set
2939
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
2939 2940
 # CONFIG_GPIO_RDC321X is not set
2940 2941
 
2941 2942
 #
... ...
@@ -2969,7 +2986,6 @@ CONFIG_POWER_SUPPLY=y
2969 2969
 # CONFIG_BATTERY_GAUGE_LTC2941 is not set
2970 2970
 # CONFIG_CHARGER_RT9455 is not set
2971 2971
 CONFIG_HWMON=m
2972
-# CONFIG_HWMON_VID is not set
2973 2972
 # CONFIG_HWMON_DEBUG_CHIP is not set
2974 2973
 
2975 2974
 #
... ...
@@ -3011,7 +3027,6 @@ CONFIG_SENSORS_FAM15H_POWER=m
3011 3011
 # CONFIG_SENSORS_GL520SM is not set
3012 3012
 # CONFIG_SENSORS_G760A is not set
3013 3013
 # CONFIG_SENSORS_G762 is not set
3014
-# CONFIG_SENSORS_GPIO_FAN is not set
3015 3014
 # CONFIG_SENSORS_HIH6130 is not set
3016 3015
 # CONFIG_SENSORS_IBMAEM is not set
3017 3016
 # CONFIG_SENSORS_IBMPEX is not set
... ...
@@ -3034,6 +3049,7 @@ CONFIG_SENSORS_CORETEMP=m
3034 3034
 # CONFIG_SENSORS_MAX1619 is not set
3035 3035
 # CONFIG_SENSORS_MAX1668 is not set
3036 3036
 # CONFIG_SENSORS_MAX197 is not set
3037
+# CONFIG_SENSORS_MAX6621 is not set
3037 3038
 # CONFIG_SENSORS_MAX6639 is not set
3038 3039
 # CONFIG_SENSORS_MAX6642 is not set
3039 3040
 # CONFIG_SENSORS_MAX6650 is not set
... ...
@@ -3077,7 +3093,6 @@ CONFIG_SENSORS_CORETEMP=m
3077 3077
 # CONFIG_SENSORS_SMSC47M1 is not set
3078 3078
 # CONFIG_SENSORS_SMSC47M192 is not set
3079 3079
 # CONFIG_SENSORS_SMSC47B397 is not set
3080
-# CONFIG_SENSORS_SCH56XX_COMMON is not set
3081 3080
 # CONFIG_SENSORS_SCH5627 is not set
3082 3081
 # CONFIG_SENSORS_SCH5636 is not set
3083 3082
 # CONFIG_SENSORS_STTS751 is not set
... ...
@@ -3100,6 +3115,7 @@ CONFIG_SENSORS_CORETEMP=m
3100 3100
 # CONFIG_SENSORS_VIA686A is not set
3101 3101
 # CONFIG_SENSORS_VT1211 is not set
3102 3102
 # CONFIG_SENSORS_VT8231 is not set
3103
+# CONFIG_SENSORS_W83773G is not set
3103 3104
 # CONFIG_SENSORS_W83781D is not set
3104 3105
 # CONFIG_SENSORS_W83791D is not set
3105 3106
 # CONFIG_SENSORS_W83792D is not set
... ...
@@ -3117,6 +3133,7 @@ CONFIG_SENSORS_CORETEMP=m
3117 3117
 # CONFIG_SENSORS_ACPI_POWER is not set
3118 3118
 # CONFIG_SENSORS_ATK0110 is not set
3119 3119
 CONFIG_THERMAL=y
3120
+# CONFIG_THERMAL_STATISTICS is not set
3120 3121
 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
3121 3122
 CONFIG_THERMAL_WRITABLE_TRIPS=y
3122 3123
 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
... ...
@@ -3161,6 +3178,7 @@ CONFIG_SOFT_WATCHDOG=m
3161 3161
 # CONFIG_ADVANTECH_WDT is not set
3162 3162
 # CONFIG_ALIM1535_WDT is not set
3163 3163
 # CONFIG_ALIM7101_WDT is not set
3164
+# CONFIG_EBC_C384_WDT is not set
3164 3165
 # CONFIG_F71808E_WDT is not set
3165 3166
 # CONFIG_SP5100_TCO is not set
3166 3167
 # CONFIG_SBC_FITPC2_WATCHDOG is not set
... ...
@@ -3210,15 +3228,10 @@ CONFIG_ITCO_VENDOR_SUPPORT=y
3210 3210
 #
3211 3211
 # CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
3212 3212
 CONFIG_SSB_POSSIBLE=y
3213
-
3214
-#
3215
-# Sonics Silicon Backplane
3216
-#
3217 3213
 CONFIG_SSB=m
3218 3214
 CONFIG_SSB_SPROM=y
3219 3215
 CONFIG_SSB_PCIHOST_POSSIBLE=y
3220 3216
 CONFIG_SSB_PCIHOST=y
3221
-# CONFIG_SSB_B43_PCI_BRIDGE is not set
3222 3217
 CONFIG_SSB_SDIOHOST_POSSIBLE=y
3223 3218
 # CONFIG_SSB_SDIOHOST is not set
3224 3219
 # CONFIG_SSB_SILENT is not set
... ...
@@ -3255,6 +3268,7 @@ CONFIG_LPC_ICH=m
3255 3255
 # CONFIG_LPC_SCH is not set
3256 3256
 # CONFIG_INTEL_SOC_PMIC is not set
3257 3257
 # CONFIG_INTEL_SOC_PMIC_CHTWC is not set
3258
+# CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set
3258 3259
 # CONFIG_MFD_INTEL_LPSS_ACPI is not set
3259 3260
 # CONFIG_MFD_INTEL_LPSS_PCI is not set
3260 3261
 # CONFIG_MFD_JANZ_CMODIO is not set
... ...
@@ -3276,9 +3290,7 @@ CONFIG_LPC_ICH=m
3276 3276
 # CONFIG_MFD_PCF50633 is not set
3277 3277
 # CONFIG_UCB1400_CORE is not set
3278 3278
 # CONFIG_MFD_RDC321X is not set
3279
-# CONFIG_MFD_RTSX_PCI is not set
3280 3279
 # CONFIG_MFD_RT5033 is not set
3281
-# CONFIG_MFD_RTSX_USB is not set
3282 3280
 # CONFIG_MFD_RC5T583 is not set
3283 3281
 # CONFIG_MFD_SEC_CORE is not set
3284 3282
 # CONFIG_MFD_SI476X_CORE is not set
... ...
@@ -3297,10 +3309,8 @@ CONFIG_LPC_ICH=m
3297 3297
 # CONFIG_TPS6507X is not set
3298 3298
 # CONFIG_MFD_TPS65086 is not set
3299 3299
 # CONFIG_MFD_TPS65090 is not set
3300
-# CONFIG_MFD_TPS65217 is not set
3301 3300
 # CONFIG_MFD_TPS68470 is not set
3302 3301
 # CONFIG_MFD_TI_LP873X is not set
3303
-# CONFIG_MFD_TPS65218 is not set
3304 3302
 # CONFIG_MFD_TPS6586X is not set
3305 3303
 # CONFIG_MFD_TPS65910 is not set
3306 3304
 # CONFIG_MFD_TPS65912_I2C is not set
... ...
@@ -3309,7 +3319,6 @@ CONFIG_LPC_ICH=m
3309 3309
 # CONFIG_TWL6040_CORE is not set
3310 3310
 # CONFIG_MFD_WL1273_CORE is not set
3311 3311
 # CONFIG_MFD_LM3533 is not set
3312
-# CONFIG_MFD_TMIO is not set
3313 3312
 # CONFIG_MFD_VX855 is not set
3314 3313
 # CONFIG_MFD_ARIZONA_I2C is not set
3315 3314
 # CONFIG_MFD_WM8400 is not set
... ...
@@ -3336,7 +3345,7 @@ CONFIG_DRM=y
3336 3336
 CONFIG_DRM_MIPI_DSI=y
3337 3337
 # CONFIG_DRM_DP_AUX_CHARDEV is not set
3338 3338
 # CONFIG_DRM_DEBUG_MM is not set
3339
-# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
3339
+# CONFIG_DRM_DEBUG_SELFTEST is not set
3340 3340
 CONFIG_DRM_KMS_HELPER=y
3341 3341
 CONFIG_DRM_KMS_FB_HELPER=y
3342 3342
 CONFIG_DRM_FBDEV_EMULATION=y
... ...
@@ -3351,6 +3360,7 @@ CONFIG_DRM_VM=y
3351 3351
 # CONFIG_DRM_I2C_CH7006 is not set
3352 3352
 # CONFIG_DRM_I2C_SIL164 is not set
3353 3353
 # CONFIG_DRM_I2C_NXP_TDA998X is not set
3354
+# CONFIG_DRM_I2C_NXP_TDA9950 is not set
3354 3355
 CONFIG_DRM_RADEON=m
3355 3356
 # CONFIG_DRM_RADEON_USERPTR is not set
3356 3357
 # CONFIG_DRM_AMDGPU is not set
... ...
@@ -3358,9 +3368,14 @@ CONFIG_DRM_RADEON=m
3358 3358
 #
3359 3359
 # ACP (Audio CoProcessor) Configuration
3360 3360
 #
3361
+
3362
+#
3363
+# AMD Library routines
3364
+#
3361 3365
 CONFIG_DRM_NOUVEAU=m
3362 3366
 CONFIG_NOUVEAU_DEBUG=5
3363 3367
 CONFIG_NOUVEAU_DEBUG_DEFAULT=3
3368
+# CONFIG_NOUVEAU_DEBUG_MMU is not set
3364 3369
 CONFIG_DRM_NOUVEAU_BACKLIGHT=y
3365 3370
 CONFIG_DRM_I915=m
3366 3371
 # CONFIG_DRM_I915_ALPHA_SUPPORT is not set
... ...
@@ -3375,6 +3390,7 @@ CONFIG_DRM_I915_USERPTR=y
3375 3375
 # CONFIG_DRM_I915_DEBUG is not set
3376 3376
 # CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
3377 3377
 # CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
3378
+# CONFIG_DRM_I915_DEBUG_GUC is not set
3378 3379
 # CONFIG_DRM_I915_SELFTEST is not set
3379 3380
 # CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
3380 3381
 # CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
... ...
@@ -3394,6 +3410,7 @@ CONFIG_DRM_PANEL=y
3394 3394
 #
3395 3395
 # Display Panels
3396 3396
 #
3397
+# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
3397 3398
 CONFIG_DRM_BRIDGE=y
3398 3399
 CONFIG_DRM_PANEL_BRIDGE=y
3399 3400
 
... ...
@@ -3401,11 +3418,11 @@ CONFIG_DRM_PANEL_BRIDGE=y
3401 3401
 # Display Interface Bridges
3402 3402
 #
3403 3403
 # CONFIG_DRM_ANALOGIX_ANX78XX is not set
3404
-# CONFIG_HSA_AMD is not set
3405 3404
 # CONFIG_DRM_HISI_HIBMC is not set
3406 3405
 # CONFIG_DRM_TINYDRM is not set
3406
+# CONFIG_DRM_XEN is not set
3407 3407
 # CONFIG_DRM_LEGACY is not set
3408
-# CONFIG_DRM_LIB_RANDOM is not set
3408
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
3409 3409
 
3410 3410
 #
3411 3411
 # Frame buffer Devices
... ...
@@ -3419,16 +3436,12 @@ CONFIG_FB_BOOT_VESA_SUPPORT=y
3419 3419
 CONFIG_FB_CFB_FILLRECT=y
3420 3420
 CONFIG_FB_CFB_COPYAREA=y
3421 3421
 CONFIG_FB_CFB_IMAGEBLIT=y
3422
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
3423 3422
 CONFIG_FB_SYS_FILLRECT=y
3424 3423
 CONFIG_FB_SYS_COPYAREA=y
3425 3424
 CONFIG_FB_SYS_IMAGEBLIT=y
3426
-# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
3427 3425
 # CONFIG_FB_FOREIGN_ENDIAN is not set
3428 3426
 CONFIG_FB_SYS_FOPS=y
3429 3427
 CONFIG_FB_DEFERRED_IO=y
3430
-# CONFIG_FB_SVGALIB is not set
3431
-# CONFIG_FB_MACMODES is not set
3432 3428
 CONFIG_FB_BACKLIGHT=y
3433 3429
 CONFIG_FB_MODE_HELPERS=y
3434 3430
 # CONFIG_FB_TILEBLITTING is not set
... ...
@@ -3486,7 +3499,6 @@ CONFIG_XEN_FBDEV_FRONTEND=m
3486 3486
 # CONFIG_FB_METRONOME is not set
3487 3487
 # CONFIG_FB_MB862XX is not set
3488 3488
 # CONFIG_FB_BROADSHEET is not set
3489
-# CONFIG_FB_AUO_K190X is not set
3490 3489
 CONFIG_FB_HYPERV=m
3491 3490
 # CONFIG_FB_SIMPLE is not set
3492 3491
 # CONFIG_FB_SM712 is not set
... ...
@@ -3522,7 +3534,6 @@ CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
3522 3522
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
3523 3523
 # CONFIG_LOGO is not set
3524 3524
 CONFIG_SOUND=m
3525
-# CONFIG_SOUND_OSS_CORE is not set
3526 3525
 CONFIG_SND=m
3527 3526
 CONFIG_SND_TIMER=m
3528 3527
 CONFIG_SND_PCM=m
... ...
@@ -3541,8 +3552,6 @@ CONFIG_SND_VERBOSE_PROCFS=y
3541 3541
 CONFIG_SND_VMASTER=y
3542 3542
 CONFIG_SND_DMA_SGBUF=y
3543 3543
 # CONFIG_SND_SEQUENCER is not set
3544
-# CONFIG_SND_OPL3_LIB_SEQ is not set
3545
-# CONFIG_SND_OPL4_LIB_SEQ is not set
3546 3544
 CONFIG_SND_AC97_CODEC=m
3547 3545
 CONFIG_SND_DRIVERS=y
3548 3546
 # CONFIG_SND_DUMMY is not set
... ...
@@ -3582,7 +3591,6 @@ CONFIG_SND_PCI=y
3582 3582
 # CONFIG_SND_INDIGODJ is not set
3583 3583
 # CONFIG_SND_INDIGOIOX is not set
3584 3584
 # CONFIG_SND_INDIGODJX is not set
3585
-# CONFIG_SND_EMU10K1_SEQ is not set
3586 3585
 # CONFIG_SND_ENS1370 is not set
3587 3586
 CONFIG_SND_ENS1371=m
3588 3587
 # CONFIG_SND_FM801 is not set
... ...
@@ -3648,6 +3656,7 @@ CONFIG_SND_USB=y
3648 3648
 # CONFIG_SND_USB_VARIAX is not set
3649 3649
 # CONFIG_SND_SOC is not set
3650 3650
 # CONFIG_SND_X86 is not set
3651
+# CONFIG_SND_XEN_FRONTEND is not set
3651 3652
 CONFIG_AC97_BUS=m
3652 3653
 
3653 3654
 #
... ...
@@ -3679,12 +3688,14 @@ CONFIG_HID_CHERRY=m
3679 3679
 # CONFIG_HID_CYPRESS is not set
3680 3680
 # CONFIG_HID_DRAGONRISE is not set
3681 3681
 # CONFIG_HID_EMS_FF is not set
3682
+# CONFIG_HID_ELAN is not set
3682 3683
 # CONFIG_HID_ELECOM is not set
3683 3684
 # CONFIG_HID_ELO is not set
3684 3685
 CONFIG_HID_EZKEY=m
3685 3686
 # CONFIG_HID_GEMBIRD is not set
3686 3687
 # CONFIG_HID_GFRM is not set
3687 3688
 # CONFIG_HID_HOLTEK is not set
3689
+# CONFIG_HID_GOOGLE_HAMMER is not set
3688 3690
 # CONFIG_HID_GT683R is not set
3689 3691
 # CONFIG_HID_KEYTOUCH is not set
3690 3692
 # CONFIG_HID_KYE is not set
... ...
@@ -3693,6 +3704,7 @@ CONFIG_HID_EZKEY=m
3693 3693
 # CONFIG_HID_GYRATION is not set
3694 3694
 # CONFIG_HID_ICADE is not set
3695 3695
 # CONFIG_HID_ITE is not set
3696
+# CONFIG_HID_JABRA is not set
3696 3697
 # CONFIG_HID_TWINHAN is not set
3697 3698
 # CONFIG_HID_KENSINGTON is not set
3698 3699
 # CONFIG_HID_LCPOWER is not set
... ...
@@ -3706,6 +3718,7 @@ CONFIG_HID_LOGITECH=m
3706 3706
 # CONFIG_LOGIWHEELS_FF is not set
3707 3707
 # CONFIG_HID_MAGICMOUSE is not set
3708 3708
 # CONFIG_HID_MAYFLASH is not set
3709
+# CONFIG_HID_REDRAGON is not set
3709 3710
 CONFIG_HID_MICROSOFT=m
3710 3711
 CONFIG_HID_MONTEREY=m
3711 3712
 # CONFIG_HID_MULTITOUCH is not set
... ...
@@ -3724,6 +3737,7 @@ CONFIG_HID_MONTEREY=m
3724 3724
 # CONFIG_HID_SAMSUNG is not set
3725 3725
 # CONFIG_HID_SONY is not set
3726 3726
 # CONFIG_HID_SPEEDLINK is not set
3727
+# CONFIG_HID_STEAM is not set
3727 3728
 # CONFIG_HID_STEELSERIES is not set
3728 3729
 # CONFIG_HID_SUNPLUS is not set
3729 3730
 # CONFIG_HID_RMI is not set
... ...
@@ -3790,6 +3804,7 @@ CONFIG_USB_DEFAULT_PERSIST=y
3790 3790
 #
3791 3791
 # CONFIG_USB_C67X00_HCD is not set
3792 3792
 CONFIG_USB_XHCI_HCD=m
3793
+# CONFIG_USB_XHCI_DBGCAP is not set
3793 3794
 CONFIG_USB_XHCI_PCI=m
3794 3795
 # CONFIG_USB_XHCI_PLATFORM is not set
3795 3796
 CONFIG_USB_EHCI_HCD=m
... ...
@@ -3799,7 +3814,6 @@ CONFIG_USB_EHCI_PCI=m
3799 3799
 CONFIG_USB_EHCI_HCD_PLATFORM=m
3800 3800
 # CONFIG_USB_OXU210HP_HCD is not set
3801 3801
 # CONFIG_USB_ISP116X_HCD is not set
3802
-# CONFIG_USB_ISP1362_HCD is not set
3803 3802
 # CONFIG_USB_FOTG210_HCD is not set
3804 3803
 CONFIG_USB_OHCI_HCD=m
3805 3804
 CONFIG_USB_OHCI_HCD_PCI=m
... ...
@@ -3945,16 +3959,11 @@ CONFIG_USB_SERIAL_PL2303=m
3945 3945
 #
3946 3946
 # USB Physical Layer drivers
3947 3947
 #
3948
-# CONFIG_USB_PHY is not set
3949 3948
 # CONFIG_NOP_USB_XCEIV is not set
3950 3949
 # CONFIG_USB_GPIO_VBUS is not set
3951 3950
 # CONFIG_USB_ISP1301 is not set
3952 3951
 # CONFIG_USB_GADGET is not set
3953
-
3954
-#
3955
-# USB Power Delivery and Type-C drivers
3956
-#
3957
-# CONFIG_TYPEC_UCSI is not set
3952
+# CONFIG_TYPEC is not set
3958 3953
 # CONFIG_USB_LED_TRIG is not set
3959 3954
 # CONFIG_USB_ULPI_BUS is not set
3960 3955
 # CONFIG_UWB is not set
... ...
@@ -3980,6 +3989,7 @@ CONFIG_MMC_SDHCI_ACPI=m
3980 3980
 # CONFIG_MMC_VUB300 is not set
3981 3981
 # CONFIG_MMC_USHC is not set
3982 3982
 # CONFIG_MMC_USDHI6ROL0 is not set
3983
+CONFIG_MMC_CQHCI=m
3983 3984
 # CONFIG_MMC_TOSHIBA_PCI is not set
3984 3985
 # CONFIG_MMC_MTK is not set
3985 3986
 # CONFIG_MEMSTICK is not set
... ...
@@ -3991,6 +4001,7 @@ CONFIG_LEDS_CLASS=m
3991 3991
 #
3992 3992
 # LED drivers
3993 3993
 #
3994
+# CONFIG_LEDS_APU is not set
3994 3995
 # CONFIG_LEDS_LM3530 is not set
3995 3996
 # CONFIG_LEDS_LM3642 is not set
3996 3997
 # CONFIG_LEDS_PCA9532 is not set
... ...
@@ -4001,7 +4012,6 @@ CONFIG_LEDS_CLASS=m
4001 4001
 # CONFIG_LEDS_LP5523 is not set
4002 4002
 # CONFIG_LEDS_LP5562 is not set
4003 4003
 # CONFIG_LEDS_LP8501 is not set
4004
-# CONFIG_LEDS_LP8860 is not set
4005 4004
 # CONFIG_LEDS_CLEVO_MAIL is not set
4006 4005
 # CONFIG_LEDS_PCA955X is not set
4007 4006
 # CONFIG_LEDS_PCA963X is not set
... ...
@@ -4017,6 +4027,7 @@ CONFIG_LEDS_CLASS=m
4017 4017
 #
4018 4018
 # CONFIG_LEDS_BLINKM is not set
4019 4019
 # CONFIG_LEDS_MLXCPLD is not set
4020
+# CONFIG_LEDS_MLXREG is not set
4020 4021
 # CONFIG_LEDS_USER is not set
4021 4022
 # CONFIG_LEDS_NIC78BX is not set
4022 4023
 
... ...
@@ -4030,6 +4041,7 @@ CONFIG_LEDS_TRIGGERS=y
4030 4030
 # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
4031 4031
 # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
4032 4032
 # CONFIG_LEDS_TRIGGER_CPU is not set
4033
+# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
4033 4034
 # CONFIG_LEDS_TRIGGER_GPIO is not set
4034 4035
 # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
4035 4036
 
... ...
@@ -4039,6 +4051,7 @@ CONFIG_LEDS_TRIGGERS=y
4039 4039
 # CONFIG_LEDS_TRIGGER_TRANSIENT is not set
4040 4040
 # CONFIG_LEDS_TRIGGER_CAMERA is not set
4041 4041
 # CONFIG_LEDS_TRIGGER_PANIC is not set
4042
+# CONFIG_LEDS_TRIGGER_NETDEV is not set
4042 4043
 # CONFIG_ACCESSIBILITY is not set
4043 4044
 # CONFIG_INFINIBAND is not set
4044 4045
 CONFIG_EDAC_ATOMIC_SCRUB=y
... ...
@@ -4098,6 +4111,7 @@ CONFIG_RTC_INTF_DEV=y
4098 4098
 # CONFIG_RTC_DRV_X1205 is not set
4099 4099
 # CONFIG_RTC_DRV_PCF8523 is not set
4100 4100
 # CONFIG_RTC_DRV_PCF85063 is not set
4101
+# CONFIG_RTC_DRV_PCF85363 is not set
4101 4102
 # CONFIG_RTC_DRV_PCF8563 is not set
4102 4103
 # CONFIG_RTC_DRV_PCF8583 is not set
4103 4104
 # CONFIG_RTC_DRV_M41T80 is not set
... ...
@@ -4203,11 +4217,9 @@ CONFIG_VFIO_PCI_IGD=y
4203 4203
 # CONFIG_VFIO_MDEV is not set
4204 4204
 CONFIG_IRQ_BYPASS_MANAGER=m
4205 4205
 CONFIG_VIRT_DRIVERS=y
4206
+# CONFIG_VBOXGUEST is not set
4206 4207
 CONFIG_VIRTIO=y
4207
-
4208
-#
4209
-# Virtio drivers
4210
-#
4208
+CONFIG_VIRTIO_MENU=y
4211 4209
 CONFIG_VIRTIO_PCI=y
4212 4210
 CONFIG_VIRTIO_PCI_LEGACY=y
4213 4211
 CONFIG_VIRTIO_BALLOON=y
... ...
@@ -4242,6 +4254,7 @@ CONFIG_XEN_GRANT_DEV_ALLOC=m
4242 4242
 CONFIG_SWIOTLB_XEN=y
4243 4243
 CONFIG_XEN_TMEM=m
4244 4244
 CONFIG_XEN_PCIDEV_BACKEND=m
4245
+# CONFIG_XEN_PVCALLS_FRONTEND is not set
4245 4246
 # CONFIG_XEN_PVCALLS_BACKEND is not set
4246 4247
 CONFIG_XEN_PRIVCMD=m
4247 4248
 CONFIG_XEN_ACPI_PROCESSOR=m
... ...
@@ -4255,17 +4268,22 @@ CONFIG_XEN_HAVE_VPMU=y
4255 4255
 # CONFIG_STAGING is not set
4256 4256
 CONFIG_X86_PLATFORM_DEVICES=y
4257 4257
 # CONFIG_ACER_WMI is not set
4258
+# CONFIG_ACER_WIRELESS is not set
4258 4259
 # CONFIG_ACERHDF is not set
4259 4260
 # CONFIG_ALIENWARE_WMI is not set
4260 4261
 # CONFIG_ASUS_LAPTOP is not set
4261 4262
 CONFIG_DELL_SMBIOS=m
4263
+# CONFIG_DELL_SMBIOS_WMI is not set
4264
+# CONFIG_DELL_SMBIOS_SMM is not set
4262 4265
 CONFIG_DELL_LAPTOP=m
4263 4266
 CONFIG_DELL_WMI=m
4267
+CONFIG_DELL_WMI_DESCRIPTOR=m
4264 4268
 # CONFIG_DELL_WMI_AIO is not set
4265 4269
 CONFIG_DELL_WMI_LED=m
4266 4270
 # CONFIG_DELL_SMO8800 is not set
4267 4271
 # CONFIG_FUJITSU_LAPTOP is not set
4268 4272
 # CONFIG_FUJITSU_TABLET is not set
4273
+# CONFIG_GPD_POCKET_FAN is not set
4269 4274
 # CONFIG_HP_ACCEL is not set
4270 4275
 # CONFIG_HP_WIRELESS is not set
4271 4276
 # CONFIG_HP_WMI is not set
... ...
@@ -4278,6 +4296,7 @@ CONFIG_DELL_WMI_LED=m
4278 4278
 # CONFIG_ASUS_WIRELESS is not set
4279 4279
 CONFIG_ACPI_WMI=m
4280 4280
 CONFIG_WMI_BMOF=m
4281
+# CONFIG_INTEL_WMI_THUNDERBOLT is not set
4281 4282
 # CONFIG_MSI_WMI is not set
4282 4283
 # CONFIG_PEAQ_WMI is not set
4283 4284
 # CONFIG_TOPSTAR_LAPTOP is not set
... ...
@@ -4286,7 +4305,6 @@ CONFIG_WMI_BMOF=m
4286 4286
 # CONFIG_TOSHIBA_HAPS is not set
4287 4287
 # CONFIG_TOSHIBA_WMI is not set
4288 4288
 # CONFIG_ACPI_CMPC is not set
4289
-# CONFIG_INTEL_CHT_INT33FE is not set
4290 4289
 # CONFIG_INTEL_INT0002_VGPIO is not set
4291 4290
 # CONFIG_INTEL_HID_EVENT is not set
4292 4291
 # CONFIG_INTEL_VBTN is not set
... ...
@@ -4304,10 +4322,10 @@ CONFIG_PVPANIC=m
4304 4304
 # CONFIG_SURFACE_PRO3_BUTTON is not set
4305 4305
 # CONFIG_INTEL_PUNIT_IPC is not set
4306 4306
 # CONFIG_MLX_PLATFORM is not set
4307
-# CONFIG_MLX_CPLD_PLATFORM is not set
4308 4307
 # CONFIG_INTEL_TURBO_MAX_3 is not set
4309 4308
 CONFIG_PMC_ATOM=y
4310 4309
 # CONFIG_CHROME_PLATFORMS is not set
4310
+# CONFIG_MELLANOX_PLATFORM is not set
4311 4311
 CONFIG_CLKDEV_LOOKUP=y
4312 4312
 CONFIG_HAVE_CLK_PREPARE=y
4313 4313
 CONFIG_COMMON_CLK=y
... ...
@@ -4316,11 +4334,9 @@ CONFIG_COMMON_CLK=y
4316 4316
 # Common Clock Framework
4317 4317
 #
4318 4318
 # CONFIG_COMMON_CLK_SI5351 is not set
4319
+# CONFIG_COMMON_CLK_SI544 is not set
4319 4320
 # CONFIG_COMMON_CLK_CDCE706 is not set
4320 4321
 # CONFIG_COMMON_CLK_CS2000_CP is not set
4321
-# CONFIG_COMMON_CLK_NXP is not set
4322
-# CONFIG_COMMON_CLK_PXA is not set
4323
-# CONFIG_COMMON_CLK_PIC32 is not set
4324 4322
 # CONFIG_HWSPINLOCK is not set
4325 4323
 
4326 4324
 #
... ...
@@ -4328,11 +4344,6 @@ CONFIG_COMMON_CLK=y
4328 4328
 #
4329 4329
 CONFIG_CLKEVT_I8253=y
4330 4330
 CONFIG_CLKBLD_I8253=y
4331
-# CONFIG_ATMEL_PIT is not set
4332
-# CONFIG_SH_TIMER_CMT is not set
4333
-# CONFIG_SH_TIMER_MTU2 is not set
4334
-# CONFIG_SH_TIMER_TMU is not set
4335
-# CONFIG_EM_TIMER_STI is not set
4336 4331
 CONFIG_MAILBOX=y
4337 4332
 CONFIG_PCC=y
4338 4333
 # CONFIG_ALTERA_MBOX is not set
... ...
@@ -4361,6 +4372,8 @@ CONFIG_IRQ_REMAP=y
4361 4361
 # Rpmsg drivers
4362 4362
 #
4363 4363
 # CONFIG_RPMSG_QCOM_GLINK_RPM is not set
4364
+# CONFIG_RPMSG_VIRTIO is not set
4365
+# CONFIG_SOUNDWIRE is not set
4364 4366
 
4365 4367
 #
4366 4368
 # SOC (System On Chip) specific Drivers
... ...
@@ -4381,8 +4394,12 @@ CONFIG_IRQ_REMAP=y
4381 4381
 #
4382 4382
 # Qualcomm SoC drivers
4383 4383
 #
4384
-# CONFIG_SUNXI_SRAM is not set
4385 4384
 # CONFIG_SOC_TI is not set
4385
+
4386
+#
4387
+# Xilinx SoC drivers
4388
+#
4389
+# CONFIG_XILINX_VCU is not set
4386 4390
 CONFIG_PM_DEVFREQ=y
4387 4391
 
4388 4392
 #
... ...
@@ -4403,6 +4420,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
4403 4403
 CONFIG_IIO=m
4404 4404
 CONFIG_IIO_BUFFER=y
4405 4405
 CONFIG_IIO_BUFFER_CB=m
4406
+# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
4406 4407
 CONFIG_IIO_KFIFO_BUF=m
4407 4408
 CONFIG_IIO_TRIGGERED_BUFFER=m
4408 4409
 # CONFIG_IIO_CONFIGFS is not set
... ...
@@ -4421,6 +4439,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
4421 4421
 # CONFIG_DA311 is not set
4422 4422
 # CONFIG_DMARD09 is not set
4423 4423
 # CONFIG_DMARD10 is not set
4424
+# CONFIG_IIO_CROS_EC_ACCEL_LEGACY is not set
4424 4425
 CONFIG_IIO_ST_ACCEL_3AXIS=m
4425 4426
 CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
4426 4427
 # CONFIG_KXSD9 is not set
... ...
@@ -4454,6 +4473,10 @@ CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
4454 4454
 # CONFIG_TI_ADS1015 is not set
4455 4455
 
4456 4456
 #
4457
+# Analog Front Ends
4458
+#
4459
+
4460
+#
4457 4461
 # Amplifiers
4458 4462
 #
4459 4463
 
... ...
@@ -4486,9 +4509,12 @@ CONFIG_IIO_ST_SENSORS_CORE=m
4486 4486
 # CONFIG_AD5380 is not set
4487 4487
 # CONFIG_AD5446 is not set
4488 4488
 # CONFIG_AD5593R is not set
4489
+# CONFIG_AD5696_I2C is not set
4490
+# CONFIG_DS4424 is not set
4489 4491
 # CONFIG_M62332 is not set
4490 4492
 # CONFIG_MAX517 is not set
4491 4493
 # CONFIG_MCP4725 is not set
4494
+# CONFIG_TI_DAC5571 is not set
4492 4495
 
4493 4496
 #
4494 4497
 # IIO dummy driver
... ...
@@ -4565,20 +4591,24 @@ CONFIG_HTS221_I2C=m
4565 4565
 # CONFIG_JSA1212 is not set
4566 4566
 # CONFIG_RPR0521 is not set
4567 4567
 # CONFIG_LTR501 is not set
4568
+# CONFIG_LV0104CS is not set
4568 4569
 # CONFIG_MAX44000 is not set
4569 4570
 # CONFIG_OPT3001 is not set
4570 4571
 # CONFIG_PA12203001 is not set
4571 4572
 # CONFIG_SI1145 is not set
4572 4573
 # CONFIG_STK3310 is not set
4574
+# CONFIG_ST_UVIS25 is not set
4573 4575
 # CONFIG_TCS3414 is not set
4574 4576
 # CONFIG_TCS3472 is not set
4575 4577
 # CONFIG_SENSORS_TSL2563 is not set
4576 4578
 # CONFIG_TSL2583 is not set
4579
+# CONFIG_TSL2772 is not set
4577 4580
 # CONFIG_TSL4531 is not set
4578 4581
 # CONFIG_US5182D is not set
4579 4582
 # CONFIG_VCNL4000 is not set
4580 4583
 # CONFIG_VEML6070 is not set
4581 4584
 # CONFIG_VL6180 is not set
4585
+# CONFIG_ZOPT2201 is not set
4582 4586
 
4583 4587
 #
4584 4588
 # Magnetometer sensors
... ...
@@ -4608,7 +4638,9 @@ CONFIG_HTS221_I2C=m
4608 4608
 #
4609 4609
 # Digital potentiometers
4610 4610
 #
4611
+# CONFIG_AD5272 is not set
4611 4612
 # CONFIG_DS1803 is not set
4613
+# CONFIG_MCP4018 is not set
4612 4614
 # CONFIG_MCP4531 is not set
4613 4615
 # CONFIG_TPL0102 is not set
4614 4616
 
... ...
@@ -4641,14 +4673,20 @@ CONFIG_IIO_ST_PRESS_I2C=m
4641 4641
 # Proximity and distance sensors
4642 4642
 #
4643 4643
 # CONFIG_LIDAR_LITE_V2 is not set
4644
+# CONFIG_RFD77402 is not set
4644 4645
 # CONFIG_SRF04 is not set
4645 4646
 # CONFIG_SX9500 is not set
4646 4647
 # CONFIG_SRF08 is not set
4647 4648
 
4648 4649
 #
4650
+# Resolver to digital converters
4651
+#
4652
+
4653
+#
4649 4654
 # Temperature sensors
4650 4655
 #
4651 4656
 # CONFIG_MLX90614 is not set
4657
+# CONFIG_MLX90632 is not set
4652 4658
 # CONFIG_TMP006 is not set
4653 4659
 # CONFIG_TMP007 is not set
4654 4660
 # CONFIG_TSYS01 is not set
... ...
@@ -4656,6 +4694,10 @@ CONFIG_IIO_ST_PRESS_I2C=m
4656 4656
 # CONFIG_NTB is not set
4657 4657
 # CONFIG_VME_BUS is not set
4658 4658
 # CONFIG_PWM is not set
4659
+
4660
+#
4661
+# IRQ chip support
4662
+#
4659 4663
 CONFIG_ARM_GIC_MAX_NR=1
4660 4664
 # CONFIG_IPACK_BUS is not set
4661 4665
 # CONFIG_RESET_CONTROLLER is not set
... ...
@@ -4692,18 +4734,22 @@ CONFIG_BTT=y
4692 4692
 CONFIG_ND_PFN=m
4693 4693
 CONFIG_NVDIMM_PFN=y
4694 4694
 CONFIG_NVDIMM_DAX=y
4695
+CONFIG_DAX_DRIVER=y
4695 4696
 CONFIG_DAX=y
4696 4697
 CONFIG_DEV_DAX=m
4697 4698
 CONFIG_DEV_DAX_PMEM=m
4698 4699
 CONFIG_NVMEM=y
4699
-# CONFIG_STM is not set
4700
-# CONFIG_INTEL_TH is not set
4701
-# CONFIG_FPGA is not set
4702 4700
 
4703 4701
 #
4704
-# FSI support
4702
+# HW tracing support
4705 4703
 #
4706
-# CONFIG_FSI is not set
4704
+# CONFIG_STM is not set
4705
+# CONFIG_INTEL_TH is not set
4706
+# CONFIG_FPGA is not set
4707
+CONFIG_PM_OPP=y
4708
+# CONFIG_UNISYS_VISORBUS is not set
4709
+# CONFIG_SIOX is not set
4710
+# CONFIG_SLIMBUS is not set
4707 4711
 
4708 4712
 #
4709 4713
 # Firmware Drivers
... ...
@@ -4733,7 +4779,7 @@ CONFIG_EFI_RUNTIME_WRAPPERS=y
4733 4733
 # CONFIG_APPLE_PROPERTIES is not set
4734 4734
 # CONFIG_RESET_ATTACK_MITIGATION is not set
4735 4735
 CONFIG_UEFI_CPER=y
4736
-# CONFIG_EFI_DEV_PATH_PARSER is not set
4736
+CONFIG_UEFI_CPER_X86=y
4737 4737
 
4738 4738
 #
4739 4739
 # Tegra firmware driver
... ...
@@ -4761,6 +4807,7 @@ CONFIG_XFS_FS=y
4761 4761
 CONFIG_XFS_QUOTA=y
4762 4762
 CONFIG_XFS_POSIX_ACL=y
4763 4763
 CONFIG_XFS_RT=y
4764
+# CONFIG_XFS_ONLINE_SCRUB is not set
4764 4765
 CONFIG_XFS_WARN=y
4765 4766
 # CONFIG_XFS_DEBUG is not set
4766 4767
 # CONFIG_GFS2_FS is not set
... ...
@@ -4771,6 +4818,7 @@ CONFIG_BTRFS_FS_POSIX_ACL=y
4771 4771
 # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
4772 4772
 # CONFIG_BTRFS_DEBUG is not set
4773 4773
 # CONFIG_BTRFS_ASSERT is not set
4774
+# CONFIG_BTRFS_FS_REF_VERIFY is not set
4774 4775
 # CONFIG_NILFS2_FS is not set
4775 4776
 # CONFIG_F2FS_FS is not set
4776 4777
 CONFIG_FS_DAX=y
... ...
@@ -4796,11 +4844,14 @@ CONFIG_QFMT_V2=m
4796 4796
 CONFIG_QUOTACTL=y
4797 4797
 CONFIG_QUOTACTL_COMPAT=y
4798 4798
 CONFIG_AUTOFS4_FS=m
4799
+CONFIG_AUTOFS_FS=m
4799 4800
 CONFIG_FUSE_FS=m
4800 4801
 # CONFIG_CUSE is not set
4801 4802
 CONFIG_OVERLAY_FS=m
4802 4803
 # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
4804
+CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
4803 4805
 # CONFIG_OVERLAY_FS_INDEX is not set
4806
+# CONFIG_OVERLAY_FS_XINO_AUTO is not set
4804 4807
 
4805 4808
 #
4806 4809
 # Caches
... ...
@@ -4819,7 +4870,6 @@ CONFIG_ISO9660_FS=y
4819 4819
 CONFIG_JOLIET=y
4820 4820
 CONFIG_ZISOFS=y
4821 4821
 CONFIG_UDF_FS=y
4822
-CONFIG_UDF_NLS=y
4823 4822
 
4824 4823
 #
4825 4824
 # DOS/FAT/NT Filesystems
... ...
@@ -4838,6 +4888,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
4838 4838
 CONFIG_PROC_FS=y
4839 4839
 CONFIG_PROC_KCORE=y
4840 4840
 CONFIG_PROC_VMCORE=y
4841
+# CONFIG_PROC_VMCORE_DEVICE_DUMP is not set
4841 4842
 CONFIG_PROC_SYSCTL=y
4842 4843
 CONFIG_PROC_PAGE_MONITOR=y
4843 4844
 CONFIG_PROC_CHILDREN=y
... ...
@@ -4848,6 +4899,7 @@ CONFIG_TMPFS_POSIX_ACL=y
4848 4848
 CONFIG_TMPFS_XATTR=y
4849 4849
 CONFIG_HUGETLBFS=y
4850 4850
 CONFIG_HUGETLB_PAGE=y
4851
+CONFIG_MEMFD_CREATE=y
4851 4852
 CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
4852 4853
 CONFIG_CONFIGFS_FS=m
4853 4854
 CONFIG_EFIVAR_FS=y
... ...
@@ -4862,6 +4914,7 @@ CONFIG_MISC_FILESYSTEMS=y
4862 4862
 # CONFIG_BFS_FS is not set
4863 4863
 # CONFIG_EFS_FS is not set
4864 4864
 CONFIG_CRAMFS=m
4865
+CONFIG_CRAMFS_BLOCKDEV=y
4865 4866
 CONFIG_SQUASHFS=m
4866 4867
 CONFIG_SQUASHFS_FILE_CACHE=y
4867 4868
 # CONFIG_SQUASHFS_FILE_DIRECT is not set
... ...
@@ -4885,9 +4938,14 @@ CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
4885 4885
 # CONFIG_QNX6FS_FS is not set
4886 4886
 # CONFIG_ROMFS_FS is not set
4887 4887
 CONFIG_PSTORE=y
4888
-CONFIG_PSTORE_ZLIB_COMPRESS=y
4888
+CONFIG_PSTORE_DEFLATE_COMPRESS=y
4889 4889
 # CONFIG_PSTORE_LZO_COMPRESS is not set
4890 4890
 # CONFIG_PSTORE_LZ4_COMPRESS is not set
4891
+# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
4892
+# CONFIG_PSTORE_842_COMPRESS is not set
4893
+CONFIG_PSTORE_COMPRESS=y
4894
+CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
4895
+CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
4891 4896
 # CONFIG_PSTORE_CONSOLE is not set
4892 4897
 # CONFIG_PSTORE_PMSG is not set
4893 4898
 # CONFIG_PSTORE_RAM is not set
... ...
@@ -4951,7 +5009,6 @@ CONFIG_CIFS_DEBUG=y
4951 4951
 CONFIG_CIFS_DFS_UPCALL=y
4952 4952
 # CONFIG_CIFS_SMB311 is not set
4953 4953
 # CONFIG_CIFS_FSCACHE is not set
4954
-# CONFIG_NCP_FS is not set
4955 4954
 # CONFIG_CODA_FS is not set
4956 4955
 # CONFIG_AFS_FS is not set
4957 4956
 CONFIG_9P_FS=m
... ...
@@ -5034,7 +5091,7 @@ CONFIG_DEBUG_INFO=y
5034 5034
 # CONFIG_DEBUG_INFO_SPLIT is not set
5035 5035
 # CONFIG_DEBUG_INFO_DWARF4 is not set
5036 5036
 # CONFIG_GDB_SCRIPTS is not set
5037
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
5037
+CONFIG_ENABLE_WARN_DEPRECATED=y
5038 5038
 CONFIG_ENABLE_MUST_CHECK=y
5039 5039
 CONFIG_FRAME_WARN=2048
5040 5040
 CONFIG_STRIP_ASM_SYMS=y
... ...
@@ -5076,6 +5133,7 @@ CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
5076 5076
 CONFIG_HAVE_ARCH_KASAN=y
5077 5077
 # CONFIG_KASAN is not set
5078 5078
 CONFIG_ARCH_HAS_KCOV=y
5079
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
5079 5080
 # CONFIG_KCOV is not set
5080 5081
 # CONFIG_DEBUG_SHIRQ is not set
5081 5082
 
... ...
@@ -5084,13 +5142,13 @@ CONFIG_ARCH_HAS_KCOV=y
5084 5084
 #
5085 5085
 CONFIG_LOCKUP_DETECTOR=y
5086 5086
 CONFIG_SOFTLOCKUP_DETECTOR=y
5087
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
5088
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
5087 5089
 CONFIG_HARDLOCKUP_DETECTOR_PERF=y
5088 5090
 CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
5089 5091
 CONFIG_HARDLOCKUP_DETECTOR=y
5090 5092
 CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
5091 5093
 CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
5092
-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
5093
-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
5094 5094
 CONFIG_DETECT_HUNG_TASK=y
5095 5095
 CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=0
5096 5096
 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
... ...
@@ -5108,13 +5166,15 @@ CONFIG_SCHEDSTATS=y
5108 5108
 #
5109 5109
 # Lock Debugging (spinlocks, mutexes, etc...)
5110 5110
 #
5111
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
5112
+# CONFIG_PROVE_LOCKING is not set
5113
+# CONFIG_LOCK_STAT is not set
5111 5114
 # CONFIG_DEBUG_RT_MUTEXES is not set
5112 5115
 # CONFIG_DEBUG_SPINLOCK is not set
5113 5116
 # CONFIG_DEBUG_MUTEXES is not set
5114 5117
 # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
5118
+# CONFIG_DEBUG_RWSEMS is not set
5115 5119
 # CONFIG_DEBUG_LOCK_ALLOC is not set
5116
-# CONFIG_PROVE_LOCKING is not set
5117
-# CONFIG_LOCK_STAT is not set
5118 5120
 # CONFIG_DEBUG_ATOMIC_SLEEP is not set
5119 5121
 # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
5120 5122
 # CONFIG_LOCK_TORTURE_TEST is not set
... ...
@@ -5132,8 +5192,6 @@ CONFIG_DEBUG_BUGVERBOSE=y
5132 5132
 #
5133 5133
 # RCU Debugging
5134 5134
 #
5135
-# CONFIG_PROVE_RCU is not set
5136
-# CONFIG_TORTURE_TEST is not set
5137 5135
 # CONFIG_RCU_PERF_TEST is not set
5138 5136
 # CONFIG_RCU_TORTURE_TEST is not set
5139 5137
 CONFIG_RCU_CPU_STALL_TIMEOUT=60
... ...
@@ -5143,6 +5201,7 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60
5143 5143
 # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
5144 5144
 # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
5145 5145
 # CONFIG_NOTIFIER_ERROR_INJECTION is not set
5146
+CONFIG_FUNCTION_ERROR_INJECTION=y
5146 5147
 # CONFIG_FAULT_INJECTION is not set
5147 5148
 CONFIG_LATENCYTOP=y
5148 5149
 CONFIG_USER_STACKTRACE_SUPPORT=y
... ...
@@ -5165,6 +5224,7 @@ CONFIG_GENERIC_TRACER=y
5165 5165
 CONFIG_TRACING_SUPPORT=y
5166 5166
 CONFIG_FTRACE=y
5167 5167
 # CONFIG_FUNCTION_TRACER is not set
5168
+# CONFIG_PREEMPTIRQ_EVENTS is not set
5168 5169
 # CONFIG_IRQSOFF_TRACER is not set
5169 5170
 # CONFIG_SCHED_TRACER is not set
5170 5171
 # CONFIG_HWLAT_TRACER is not set
... ...
@@ -5187,10 +5247,7 @@ CONFIG_PROBE_EVENTS=y
5187 5187
 CONFIG_TRACING_EVENTS_GPIO=y
5188 5188
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
5189 5189
 # CONFIG_DMA_API_DEBUG is not set
5190
-
5191
-#
5192
-# Runtime Testing
5193
-#
5190
+CONFIG_RUNTIME_TESTING_MENU=y
5194 5191
 # CONFIG_LKDTM is not set
5195 5192
 # CONFIG_TEST_LIST_SORT is not set
5196 5193
 # CONFIG_TEST_SORT is not set
... ...
@@ -5207,11 +5264,13 @@ CONFIG_TRACING_EVENTS_GPIO=y
5207 5207
 # CONFIG_TEST_PRINTF is not set
5208 5208
 # CONFIG_TEST_BITMAP is not set
5209 5209
 # CONFIG_TEST_UUID is not set
5210
+# CONFIG_TEST_OVERFLOW is not set
5210 5211
 # CONFIG_TEST_RHASHTABLE is not set
5211 5212
 # CONFIG_TEST_HASH is not set
5212 5213
 # CONFIG_TEST_LKM is not set
5213 5214
 # CONFIG_TEST_USER_COPY is not set
5214 5215
 # CONFIG_TEST_BPF is not set
5216
+# CONFIG_FIND_BIT_BENCHMARK is not set
5215 5217
 # CONFIG_TEST_FIRMWARE is not set
5216 5218
 # CONFIG_TEST_SYSCTL is not set
5217 5219
 # CONFIG_TEST_UDELAY is not set
... ...
@@ -5223,7 +5282,6 @@ CONFIG_MEMTEST=y
5223 5223
 CONFIG_HAVE_ARCH_KGDB=y
5224 5224
 # CONFIG_KGDB is not set
5225 5225
 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
5226
-# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set
5227 5226
 # CONFIG_UBSAN is not set
5228 5227
 CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
5229 5228
 CONFIG_STRICT_DEVMEM=y
... ...
@@ -5233,14 +5291,12 @@ CONFIG_EARLY_PRINTK=y
5233 5233
 # CONFIG_EARLY_PRINTK_DBGP is not set
5234 5234
 # CONFIG_EARLY_PRINTK_EFI is not set
5235 5235
 # CONFIG_EARLY_PRINTK_USB_XDBC is not set
5236
-# CONFIG_X86_PTDUMP_CORE is not set
5237 5236
 # CONFIG_X86_PTDUMP is not set
5238 5237
 # CONFIG_EFI_PGT_DUMP is not set
5239 5238
 # CONFIG_DEBUG_WX is not set
5240 5239
 CONFIG_DOUBLEFAULT=y
5241 5240
 # CONFIG_DEBUG_TLBFLUSH is not set
5242 5241
 # CONFIG_IOMMU_DEBUG is not set
5243
-# CONFIG_IOMMU_STRESS is not set
5244 5242
 CONFIG_HAVE_MMIOTRACE_SUPPORT=y
5245 5243
 # CONFIG_X86_DECODER_SELFTEST is not set
5246 5244
 CONFIG_IO_DELAY_TYPE_0X80=0
... ...
@@ -5275,7 +5331,6 @@ CONFIG_ENCRYPTED_KEYS=m
5275 5275
 # CONFIG_KEY_DH_OPERATIONS is not set
5276 5276
 # CONFIG_SECURITY_DMESG_RESTRICT is not set
5277 5277
 CONFIG_SECURITY=y
5278
-# CONFIG_SECURITY_WRITABLE_HOOKS is not set
5279 5278
 CONFIG_SECURITYFS=y
5280 5279
 CONFIG_SECURITY_NETWORK=y
5281 5280
 CONFIG_PAGE_TABLE_ISOLATION=y
... ...
@@ -5285,6 +5340,7 @@ CONFIG_INTEL_TXT=y
5285 5285
 CONFIG_LSM_MMAP_MIN_ADDR=65536
5286 5286
 CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
5287 5287
 CONFIG_HARDENED_USERCOPY=y
5288
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
5288 5289
 # CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
5289 5290
 CONFIG_FORTIFY_SOURCE=y
5290 5291
 # CONFIG_STATIC_USERMODEHELPER is not set
... ...
@@ -5370,6 +5426,17 @@ CONFIG_CRYPTO_ENGINE=m
5370 5370
 CONFIG_CRYPTO_CCM=m
5371 5371
 CONFIG_CRYPTO_GCM=m
5372 5372
 # CONFIG_CRYPTO_CHACHA20POLY1305 is not set
5373
+# CONFIG_CRYPTO_AEGIS128 is not set
5374
+# CONFIG_CRYPTO_AEGIS128L is not set
5375
+# CONFIG_CRYPTO_AEGIS256 is not set
5376
+# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
5377
+# CONFIG_CRYPTO_AEGIS128L_AESNI_SSE2 is not set
5378
+# CONFIG_CRYPTO_AEGIS256_AESNI_SSE2 is not set
5379
+# CONFIG_CRYPTO_MORUS640 is not set
5380
+# CONFIG_CRYPTO_MORUS640_SSE2 is not set
5381
+# CONFIG_CRYPTO_MORUS1280 is not set
5382
+# CONFIG_CRYPTO_MORUS1280_SSE2 is not set
5383
+# CONFIG_CRYPTO_MORUS1280_AVX2 is not set
5373 5384
 CONFIG_CRYPTO_SEQIV=m
5374 5385
 CONFIG_CRYPTO_ECHAINIV=m
5375 5386
 
... ...
@@ -5377,6 +5444,7 @@ CONFIG_CRYPTO_ECHAINIV=m
5377 5377
 # Block modes
5378 5378
 #
5379 5379
 CONFIG_CRYPTO_CBC=m
5380
+# CONFIG_CRYPTO_CFB is not set
5380 5381
 CONFIG_CRYPTO_CTR=m
5381 5382
 CONFIG_CRYPTO_CTS=m
5382 5383
 CONFIG_CRYPTO_ECB=m
... ...
@@ -5422,6 +5490,7 @@ CONFIG_CRYPTO_SHA1=y
5422 5422
 CONFIG_CRYPTO_SHA256=m
5423 5423
 CONFIG_CRYPTO_SHA512=y
5424 5424
 # CONFIG_CRYPTO_SHA3 is not set
5425
+# CONFIG_CRYPTO_SM3 is not set
5425 5426
 # CONFIG_CRYPTO_TGR192 is not set
5426 5427
 # CONFIG_CRYPTO_WP512 is not set
5427 5428
 # CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set
... ...
@@ -5450,7 +5519,6 @@ CONFIG_CRYPTO_DES=m
5450 5450
 # CONFIG_CRYPTO_FCRYPT is not set
5451 5451
 # CONFIG_CRYPTO_KHAZAD is not set
5452 5452
 # CONFIG_CRYPTO_SALSA20 is not set
5453
-# CONFIG_CRYPTO_SALSA20_X86_64 is not set
5454 5453
 # CONFIG_CRYPTO_CHACHA20 is not set
5455 5454
 # CONFIG_CRYPTO_CHACHA20_X86_64 is not set
5456 5455
 # CONFIG_CRYPTO_SEED is not set
... ...
@@ -5458,6 +5526,8 @@ CONFIG_CRYPTO_DES=m
5458 5458
 # CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
5459 5459
 # CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
5460 5460
 # CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
5461
+# CONFIG_CRYPTO_SM4 is not set
5462
+# CONFIG_CRYPTO_SPECK is not set
5461 5463
 # CONFIG_CRYPTO_TEA is not set
5462 5464
 # CONFIG_CRYPTO_TWOFISH is not set
5463 5465
 # CONFIG_CRYPTO_TWOFISH_X86_64 is not set
... ...
@@ -5467,11 +5537,12 @@ CONFIG_CRYPTO_DES=m
5467 5467
 #
5468 5468
 # Compression
5469 5469
 #
5470
-CONFIG_CRYPTO_DEFLATE=m
5470
+CONFIG_CRYPTO_DEFLATE=y
5471 5471
 CONFIG_CRYPTO_LZO=m
5472 5472
 # CONFIG_CRYPTO_842 is not set
5473 5473
 # CONFIG_CRYPTO_LZ4 is not set
5474 5474
 # CONFIG_CRYPTO_LZ4HC is not set
5475
+# CONFIG_CRYPTO_ZSTD is not set
5475 5476
 
5476 5477
 #
5477 5478
 # Random Number Generation
... ...
@@ -5491,7 +5562,6 @@ CONFIG_CRYPTO_USER_API_SKCIPHER=m
5491 5491
 CONFIG_CRYPTO_HASH_INFO=y
5492 5492
 CONFIG_CRYPTO_HW=y
5493 5493
 # CONFIG_CRYPTO_DEV_PADLOCK is not set
5494
-# CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC is not set
5495 5494
 # CONFIG_CRYPTO_DEV_CCP is not set
5496 5495
 # CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
5497 5496
 # CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
... ...
@@ -5547,7 +5617,6 @@ CONFIG_BINARY_PRINTF=y
5547 5547
 #
5548 5548
 CONFIG_RAID6_PQ=m
5549 5549
 CONFIG_BITREVERSE=y
5550
-# CONFIG_HAVE_ARCH_BITREVERSE is not set
5551 5550
 CONFIG_RATIONAL=y
5552 5551
 CONFIG_GENERIC_STRNCPY_FROM_USER=y
5553 5552
 CONFIG_GENERIC_STRNLEN_USER=y
... ...
@@ -5555,7 +5624,6 @@ CONFIG_GENERIC_NET_UTILS=y
5555 5555
 CONFIG_GENERIC_FIND_FIRST_BIT=y
5556 5556
 CONFIG_GENERIC_PCI_IOMAP=y
5557 5557
 CONFIG_GENERIC_IOMAP=y
5558
-CONFIG_GENERIC_IO=y
5559 5558
 CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
5560 5559
 CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
5561 5560
 CONFIG_CRC_CCITT=y
... ...
@@ -5573,7 +5641,6 @@ CONFIG_CRC32_SLICEBY8=y
5573 5573
 CONFIG_LIBCRC32C=y
5574 5574
 # CONFIG_CRC8 is not set
5575 5575
 CONFIG_XXHASH=m
5576
-# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
5577 5576
 # CONFIG_RANDOM32_SELFTEST is not set
5578 5577
 CONFIG_ZLIB_INFLATE=y
5579 5578
 CONFIG_ZLIB_DEFLATE=y
... ...
@@ -5609,8 +5676,13 @@ CONFIG_ASSOCIATIVE_ARRAY=y
5609 5609
 CONFIG_HAS_IOMEM=y
5610 5610
 CONFIG_HAS_IOPORT_MAP=y
5611 5611
 CONFIG_HAS_DMA=y
5612
-# CONFIG_DMA_NOOP_OPS is not set
5613
-# CONFIG_DMA_VIRT_OPS is not set
5612
+CONFIG_NEED_SG_DMA_LENGTH=y
5613
+CONFIG_NEED_DMA_MAP_STATE=y
5614
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
5615
+CONFIG_DMA_DIRECT_OPS=y
5616
+CONFIG_SWIOTLB=y
5617
+CONFIG_SGL_ALLOC=y
5618
+CONFIG_IOMMU_HELPER=y
5614 5619
 CONFIG_CHECK_SIGNATURE=y
5615 5620
 CONFIG_CPUMASK_OFFSTACK=y
5616 5621
 CONFIG_CPU_RMAP=y
... ...
@@ -5629,10 +5701,10 @@ CONFIG_FONT_SUPPORT=y
5629 5629
 # CONFIG_FONTS is not set
5630 5630
 CONFIG_FONT_8x8=y
5631 5631
 CONFIG_FONT_8x16=y
5632
-# CONFIG_SG_SPLIT is not set
5633 5632
 CONFIG_SG_POOL=y
5634 5633
 CONFIG_ARCH_HAS_SG_CHAIN=y
5635 5634
 CONFIG_ARCH_HAS_PMEM_API=y
5636 5635
 CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
5636
+CONFIG_ARCH_HAS_UACCESS_MCSAFE=y
5637 5637
 CONFIG_SBITMAP=y
5638 5638
 # CONFIG_STRING_SELFTEST is not set
... ...
@@ -1,20 +1,20 @@
1 1
 %global security_hardening none
2 2
 Summary:        Kernel
3 3
 Name:           linux
4
-Version:        4.14.67
5
-Release:        2%{?kat_build:.%kat_build}%{?dist}
4
+Version:        4.18.9
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/linux-%{version}.tar.xz
12
-%define sha1 linux=4a6aa8d8a5190dbf1a835a5171609f02b27809e1
12
+%define sha1 linux=229ed4bedc5b8256bdd761845b1d7e20e1df12d7
13 13
 Source1:	config
14 14
 Source2:	initramfs.trigger
15
-%define ena_version 1.5.0
15
+%define ena_version 1.6.0
16 16
 Source3:	https://github.com/amzn/amzn-drivers/archive/ena_linux_%{ena_version}.tar.gz
17
-%define sha1 ena_linux=cbbbe8a3bbab6d01a4e38417cb0ead2f7cb8b2ee
17
+%define sha1 ena_linux=c8ec9094f9db8d324d68a13b0b3dcd2c5271cbc0
18 18
 Source4:	config_aarch64
19 19
 Source5:	xr_usb_serial_common_lnx-3.6-and-newer-pak.tar.xz
20 20
 %define sha1 xr=74df7143a86dd1519fa0ccf5276ed2225665a9db
... ...
@@ -27,8 +27,6 @@ Patch3:         SUNRPC-Do-not-reuse-srcport-for-TIME_WAIT-socket.patch
27 27
 Patch4:         SUNRPC-xs_bind-uses-ip_local_reserved_ports.patch
28 28
 Patch5:         vsock-transport-for-9p.patch
29 29
 Patch6:         x86-vmware-STA-support.patch
30
-# rpi3 dts
31
-Patch10:	arm-dts-add-vchiq-entry.patch
32 30
 # ttyXRUSB support
33 31
 Patch11:	usb-acm-exclude-exar-usb-serial-ports.patch
34 32
 #HyperV patches
... ...
@@ -36,14 +34,15 @@ Patch13:        0004-vmbus-Don-t-spam-the-logs-with-unknown-GUIDs.patch
36 36
 # TODO: Is CONFIG_HYPERV_VSOCKETS the same?
37 37
 #Patch23:        0014-hv_sock-introduce-Hyper-V-Sockets.patch
38 38
 #FIPS patches - allow some algorithms
39
-Patch24:        Allow-some-algo-tests-for-FIPS.patch
40
-Patch26:        add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch
39
+Patch24:        4.18-Allow-some-algo-tests-for-FIPS.patch
40
+Patch26:        4.18-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch
41 41
 # Fix CVE-2017-1000252
42 42
 Patch28:        kvm-dont-accept-wrong-gsi-values.patch
43 43
 # Out-of-tree patches from AppArmor:
44
-Patch29:        0001-apparmor-add-base-infastructure-for-socket-mediation.patch
45
-Patch30:        0002-apparmor-af_unix-mediation.patch
46
-Patch31:        0001-hwrng-rdrand-Add-RNG-driver-based-on-x86-rdrand-inst.patch
44
+Patch29:        4.17-0001-apparmor-patch-to-provide-compatibility-with-v2.x-ne.patch
45
+Patch30:        4.17-0002-apparmor-af_unix-mediation.patch
46
+Patch31:        4.17-0003-apparmor-fix-use-after-free-in-sk_peer_label.patch
47
+Patch32:        4.18-0001-hwrng-rdrand-Add-RNG-driver-based-on-x86-rdrand-inst.patch
47 48
 
48 49
 
49 50
 %if 0%{?kat_build:1}
... ...
@@ -74,7 +73,7 @@ Summary:        Kernel Dev
74 74
 Group:          System Environment/Kernel
75 75
 Obsoletes:      linux-dev
76 76
 Requires:       %{name} = %{version}-%{release}
77
-Requires:       python2 gawk
77
+Requires:       python3 gawk
78 78
 %description devel
79 79
 The Linux package contains the Linux kernel dev files
80 80
 
... ...
@@ -95,7 +94,7 @@ The Linux package contains the Linux kernel sound support
95 95
 %package docs
96 96
 Summary:        Kernel docs
97 97
 Group:          System Environment/Kernel
98
-Requires:       python2
98
+Requires:       python3
99 99
 %description docs
100 100
 The Linux package contains the Linux kernel doc files
101 101
 
... ...
@@ -138,7 +137,6 @@ Kernel Device Tree Blob files for Raspberry Pi3
138 138
 %patch4 -p1
139 139
 %patch5 -p1
140 140
 %patch6 -p1
141
-%patch10 -p1
142 141
 %patch11 -p1
143 142
 %patch13 -p1
144 143
 %patch24 -p1
... ...
@@ -147,6 +145,7 @@ Kernel Device Tree Blob files for Raspberry Pi3
147 147
 %patch29 -p1
148 148
 %patch30 -p1
149 149
 %patch31 -p1
150
+%patch32 -p1
150 151
 
151 152
 %if 0%{?kat_build:1}
152 153
 %patch1000 -p1
... ...
@@ -359,6 +358,9 @@ ln -sf %{name}-%{uname_r}.cfg /boot/photon.cfg
359 359
 /etc/bash_completion.d/*
360 360
 /usr/share/perf-core/strace/groups/file
361 361
 /usr/share/doc/*
362
+%{_libdir}/perf/examples/bpf/5sec.c
363
+%{_libdir}/perf/examples/bpf/empty.c
364
+%{_libdir}/perf/include/bpf/bpf.h
362 365
 
363 366
 %ifarch aarch64
364 367
 %files dtb-rpi3
... ...
@@ -367,6 +369,8 @@ ln -sf %{name}-%{uname_r}.cfg /boot/photon.cfg
367 367
 %endif
368 368
 
369 369
 %changelog
370
+*   Mon Oct 1 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.18.9-1
371
+-   Update to version 4.18.9
370 372
 *   Tue Sep 25 2018 Ajay Kaher <akaher@vmware.com> 4.14.67-2
371 373
 -   Build hang (at make oldconfig) fix in config_aarch64
372 374
 *   Wed Sep 19 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 4.14.67-1