Skip to content

Commit d1b069f

Browse files
rddunlaptorvalds
authored andcommitted
EXPERT Kconfig menu: fix broken EXPERT menu
Clean up the EXPERT menu (yet again). Move FHANDLE and CHECKPOINT_RESTORE into the primary EXPERT menu since they already depend on EXPERT. Move BPF_SYSCALL and USERFAULTFD out of the EXPERT Kconfig symbols menu list since they do not depend on EXPERT and were breaking the continuity of that menu list. Move all of the KALLSYMS Kconfig symbols to the end of the EXPERT menu. This separates the kernel services from the build options. This patch depends on [PATCH] pci: move PCI_QUIRKS to the PCI bus menu (https://lkml.org/lkml/2017/11/2/907). Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Randy Dunlap <[email protected]> Acked-by: Daniel Borkmann <[email protected]> [BPF] Cc: Andrea Arcangeli <[email protected]> Cc: Alexei Starovoitov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent 7016383 commit d1b069f

File tree

1 file changed

+93
-91
lines changed

1 file changed

+93
-91
lines changed

init/Kconfig

+93-91
Original file line numberDiff line numberDiff line change
@@ -283,19 +283,6 @@ config CROSS_MEMORY_ATTACH
283283
to directly read from or write to another process' address space.
284284
See the man page for more details.
285285

286-
config FHANDLE
287-
bool "open by fhandle syscalls" if EXPERT
288-
select EXPORTFS
289-
default y
290-
help
291-
If you say Y here, a user level program will be able to map
292-
file names to handle and then later use the handle for
293-
different file system operations. This is useful in implementing
294-
userspace file servers, which now track files using handles instead
295-
of names. The handle would remain the same even if file names
296-
get renamed. Enables open_by_handle_at(2) and name_to_handle_at(2)
297-
syscalls.
298-
299286
config USELIB
300287
bool "uselib syscall"
301288
def_bool ALPHA || M68K || SPARC || X86_32 || IA32_EMULATION
@@ -883,18 +870,6 @@ config SOCK_CGROUP_DATA
883870

884871
endif # CGROUPS
885872

886-
config CHECKPOINT_RESTORE
887-
bool "Checkpoint/restore support" if EXPERT
888-
select PROC_CHILDREN
889-
default n
890-
help
891-
Enables additional kernel features in a sake of checkpoint/restore.
892-
In particular it adds auxiliary prctl codes to setup process text,
893-
data and heap segment sizes, and a few additional /proc filesystem
894-
entries.
895-
896-
If unsure, say N here.
897-
898873
menuconfig NAMESPACES
899874
bool "Namespaces support" if EXPERT
900875
depends on MULTIUSER
@@ -1163,6 +1138,19 @@ config SYSCTL_SYSCALL
11631138

11641139
If unsure say N here.
11651140

1141+
config FHANDLE
1142+
bool "open by fhandle syscalls" if EXPERT
1143+
select EXPORTFS
1144+
default y
1145+
help
1146+
If you say Y here, a user level program will be able to map
1147+
file names to handle and then later use the handle for
1148+
different file system operations. This is useful in implementing
1149+
userspace file servers, which now track files using handles instead
1150+
of names. The handle would remain the same even if file names
1151+
get renamed. Enables open_by_handle_at(2) and name_to_handle_at(2)
1152+
syscalls.
1153+
11661154
config POSIX_TIMERS
11671155
bool "Posix Clocks & timers" if EXPERT
11681156
default y
@@ -1180,54 +1168,6 @@ config POSIX_TIMERS
11801168

11811169
If unsure say y.
11821170

1183-
config KALLSYMS
1184-
bool "Load all symbols for debugging/ksymoops" if EXPERT
1185-
default y
1186-
help
1187-
Say Y here to let the kernel print out symbolic crash information and
1188-
symbolic stack backtraces. This increases the size of the kernel
1189-
somewhat, as all symbols have to be loaded into the kernel image.
1190-
1191-
config KALLSYMS_ALL
1192-
bool "Include all symbols in kallsyms"
1193-
depends on DEBUG_KERNEL && KALLSYMS
1194-
help
1195-
Normally kallsyms only contains the symbols of functions for nicer
1196-
OOPS messages and backtraces (i.e., symbols from the text and inittext
1197-
sections). This is sufficient for most cases. And only in very rare
1198-
cases (e.g., when a debugger is used) all symbols are required (e.g.,
1199-
names of variables from the data sections, etc).
1200-
1201-
This option makes sure that all symbols are loaded into the kernel
1202-
image (i.e., symbols from all sections) in cost of increased kernel
1203-
size (depending on the kernel configuration, it may be 300KiB or
1204-
something like this).
1205-
1206-
Say N unless you really need all symbols.
1207-
1208-
config KALLSYMS_ABSOLUTE_PERCPU
1209-
bool
1210-
depends on KALLSYMS
1211-
default X86_64 && SMP
1212-
1213-
config KALLSYMS_BASE_RELATIVE
1214-
bool
1215-
depends on KALLSYMS
1216-
default !IA64 && !(TILE && 64BIT)
1217-
help
1218-
Instead of emitting them as absolute values in the native word size,
1219-
emit the symbol references in the kallsyms table as 32-bit entries,
1220-
each containing a relative value in the range [base, base + U32_MAX]
1221-
or, when KALLSYMS_ABSOLUTE_PERCPU is in effect, each containing either
1222-
an absolute value in the range [0, S32_MAX] or a relative value in the
1223-
range [base, base + S32_MAX], where base is the lowest relative symbol
1224-
address encountered in the image.
1225-
1226-
On 64-bit builds, this reduces the size of the address table by 50%,
1227-
but more importantly, it results in entries whose values are build
1228-
time constants, and no relocation pass is required at runtime to fix
1229-
up the entries based on the runtime load address of the kernel.
1230-
12311171
config PRINTK
12321172
default y
12331173
bool "Enable support for printk" if EXPERT
@@ -1339,16 +1279,6 @@ config EVENTFD
13391279

13401280
If unsure, say Y.
13411281

1342-
# syscall, maps, verifier
1343-
config BPF_SYSCALL
1344-
bool "Enable bpf() system call"
1345-
select ANON_INODES
1346-
select BPF
1347-
default n
1348-
help
1349-
Enable the bpf() system call that allows to manipulate eBPF
1350-
programs and maps via file descriptors.
1351-
13521282
config SHMEM
13531283
bool "Use full shmem filesystem" if EXPERT
13541284
default y
@@ -1378,14 +1308,6 @@ config ADVISE_SYSCALLS
13781308
applications use these syscalls, you can disable this option to save
13791309
space.
13801310

1381-
config USERFAULTFD
1382-
bool "Enable userfaultfd() system call"
1383-
select ANON_INODES
1384-
depends on MMU
1385-
help
1386-
Enable the userfaultfd() system call that allows to intercept and
1387-
handle page faults in userland.
1388-
13891311
config MEMBARRIER
13901312
bool "Enable membarrier() system call" if EXPERT
13911313
default y
@@ -1398,6 +1320,86 @@ config MEMBARRIER
13981320

13991321
If unsure, say Y.
14001322

1323+
config CHECKPOINT_RESTORE
1324+
bool "Checkpoint/restore support" if EXPERT
1325+
select PROC_CHILDREN
1326+
default n
1327+
help
1328+
Enables additional kernel features in a sake of checkpoint/restore.
1329+
In particular it adds auxiliary prctl codes to setup process text,
1330+
data and heap segment sizes, and a few additional /proc filesystem
1331+
entries.
1332+
1333+
If unsure, say N here.
1334+
1335+
config KALLSYMS
1336+
bool "Load all symbols for debugging/ksymoops" if EXPERT
1337+
default y
1338+
help
1339+
Say Y here to let the kernel print out symbolic crash information and
1340+
symbolic stack backtraces. This increases the size of the kernel
1341+
somewhat, as all symbols have to be loaded into the kernel image.
1342+
1343+
config KALLSYMS_ALL
1344+
bool "Include all symbols in kallsyms"
1345+
depends on DEBUG_KERNEL && KALLSYMS
1346+
help
1347+
Normally kallsyms only contains the symbols of functions for nicer
1348+
OOPS messages and backtraces (i.e., symbols from the text and inittext
1349+
sections). This is sufficient for most cases. And only in very rare
1350+
cases (e.g., when a debugger is used) all symbols are required (e.g.,
1351+
names of variables from the data sections, etc).
1352+
1353+
This option makes sure that all symbols are loaded into the kernel
1354+
image (i.e., symbols from all sections) in cost of increased kernel
1355+
size (depending on the kernel configuration, it may be 300KiB or
1356+
something like this).
1357+
1358+
Say N unless you really need all symbols.
1359+
1360+
config KALLSYMS_ABSOLUTE_PERCPU
1361+
bool
1362+
depends on KALLSYMS
1363+
default X86_64 && SMP
1364+
1365+
config KALLSYMS_BASE_RELATIVE
1366+
bool
1367+
depends on KALLSYMS
1368+
default !IA64 && !(TILE && 64BIT)
1369+
help
1370+
Instead of emitting them as absolute values in the native word size,
1371+
emit the symbol references in the kallsyms table as 32-bit entries,
1372+
each containing a relative value in the range [base, base + U32_MAX]
1373+
or, when KALLSYMS_ABSOLUTE_PERCPU is in effect, each containing either
1374+
an absolute value in the range [0, S32_MAX] or a relative value in the
1375+
range [base, base + S32_MAX], where base is the lowest relative symbol
1376+
address encountered in the image.
1377+
1378+
On 64-bit builds, this reduces the size of the address table by 50%,
1379+
but more importantly, it results in entries whose values are build
1380+
time constants, and no relocation pass is required at runtime to fix
1381+
up the entries based on the runtime load address of the kernel.
1382+
1383+
# end of the "standard kernel features (expert users)" menu
1384+
1385+
# syscall, maps, verifier
1386+
config BPF_SYSCALL
1387+
bool "Enable bpf() system call"
1388+
select ANON_INODES
1389+
select BPF
1390+
default n
1391+
help
1392+
Enable the bpf() system call that allows to manipulate eBPF
1393+
programs and maps via file descriptors.
1394+
1395+
config USERFAULTFD
1396+
bool "Enable userfaultfd() system call"
1397+
select ANON_INODES
1398+
depends on MMU
1399+
help
1400+
Enable the userfaultfd() system call that allows to intercept and
1401+
handle page faults in userland.
1402+
14011403
config EMBEDDED
14021404
bool "Embedded system"
14031405
option allnoconfig_y

0 commit comments

Comments
 (0)