diff --git a/kernel.spec b/kernel.spec index 23dd10edf..a44ac8ae0 100644 --- a/kernel.spec +++ b/kernel.spec @@ -146,7 +146,7 @@ Summary: The Linux kernel # Only build the debug kernel (--with dbgonly): %define with_dbgonly %{?_with_dbgonly: 1} %{?!_with_dbgonly: 0} # Control whether we perform a compat. check against published ABI. -#%define with_kabichk %{?_without_kabichk: 0} %{?!_without_kabichk: 1} +%define with_kabichk %{?_without_kabichk: 0} %{?!_without_kabichk: 1} # Temporarily disable kabi checks until RC. %define with_kabichk 0 # Control whether we perform a compat. check against DUP ABI. @@ -795,7 +795,6 @@ This package is required by %{name}-debuginfo subpackages. It provides the kernel source files common to all builds. %if %{with_selftests} - %package selftests-internal Summary: Kernel samples and selftests License: GPLv2 @@ -803,14 +802,13 @@ Requires: binutils, bpftool, iproute-tc, nmap-ncat Requires: kernel-modules-internal = %{version}-%{release} %description selftests-internal Kernel sample programs and selftests. - +%{nil} # Note that this pattern only works right to match the .build-id # symlinks because of the trailing nonmatching alternation and # the leading .*, because of find-debuginfo.sh's buggy handling # of matching the pattern against the symlinks file. %{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_libexecdir}/(ksamples|kselftests)/.*|XXX' -o selftests-debuginfo.list} - -%endif # with_selftests +%endif %if %{with_gcov} %package gcov @@ -1000,7 +998,7 @@ Cortex-A15 devices with LPAE and HW virtualisation support %description zfcpdump-core The kernel package contains the Linux kernel (vmlinuz) for use by the zfcpdump infrastructure. -%endif # with_zfcpdump +%endif %define variant_summary The Linux kernel compiled with extra debugging enabled %kernel_variant_package debug @@ -1427,9 +1425,7 @@ BuildKernel() { %endif # make sure EXTRAVERSION says what we want it to say - # Trim the release if this is a CI build, since KERNELVERSION is limited to 64 characters - ShortRel=$(perl -e "print \"%{release}\" =~ s/\.pr\.[0-9A-Fa-f]{32}//r") - perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -${ShortRel}.%{_target_cpu}${Flav}/" Makefile + perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}${Flav}/" Makefile # if pre-rc1 devel kernel, must fix up PATCHLEVEL for our versioning scheme %if !0%{?rcrev} @@ -1513,8 +1509,8 @@ BuildKernel() { %pesign -s -i $KernelImage -o vmlinuz.signed %else %pesign -s -i $SignImage -o vmlinuz.signed -a %{secureboot_ca} -c %{secureboot_key} -n %{pesign_name} - %endif # fedora - %endif # arches + %endif + %endif %ifarch s390x ppc64le if [ -x /usr/bin/rpm-sign ]; then rpm-sign --key "%{pesign_name}" --lkmsign $SignImage --output vmlinuz.signed @@ -2056,7 +2052,7 @@ docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{rpmversion} mkdir -p $docdir tar -h -f - --exclude=man --exclude='.*' -c Documentation | tar xf - -C $docdir -%endif # with_doc +%endif # We have to do the headers install before the tools install because the # kernel headers_install will remove any header files in /usr/include that @@ -2098,10 +2094,9 @@ rm -rf $RPM_BUILD_ROOT/usr/tmp-headers # kabi directory INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/ mkdir -p $INSTALL_KABI_PATH - # install kabi releases directories tar xjvf %{SOURCE300} -C $INSTALL_KABI_PATH -%endif # with_kernel_abi_whitelists +%endif %if %{with_selftests} pushd samples diff --git a/tests/memory/memfd_create/runtest.sh b/tests/memory/memfd_create/runtest.sh index 24dfeb5b6..880c3096e 100755 --- a/tests/memory/memfd_create/runtest.sh +++ b/tests/memory/memfd_create/runtest.sh @@ -38,11 +38,12 @@ fi function sanity_memfd_create() { - rlRun "./t_memfd_create memf 1024 gswS &" - rlRun "./t_get_seals /proc/$!/fd/3 > seals" + rlRun "coproc ./t_memfd_create memf 1024 gswS" + rlRun "read -u ${COPROC[0]} MEMFD_PATH" + rlRun "./t_get_seals $MEMFD_PATH > ./seals" rlRun "cat ./seals" rlAssertGrep "SEAL GROW WRITE SHRINK" ./seals - rlRun "pkill t_memfd_create" + rlRun "kill $COPROC_PID" } diff --git a/tests/memory/memfd_create/t_get_seals.c b/tests/memory/memfd_create/t_get_seals.c index 8babe34d2..1a2c900e0 100644 --- a/tests/memory/memfd_create/t_get_seals.c +++ b/tests/memory/memfd_create/t_get_seals.c @@ -16,8 +16,9 @@ * */ -#include +#define _GNU_SOURCE #include +#include #include #include #include diff --git a/tests/memory/memfd_create/t_memfd_create.c b/tests/memory/memfd_create/t_memfd_create.c index 73d641a6e..4250d7174 100644 --- a/tests/memory/memfd_create/t_memfd_create.c +++ b/tests/memory/memfd_create/t_memfd_create.c @@ -16,11 +16,12 @@ * */ -#include -#include +#define _GNU_SOURCE +#include +#include +#include #include #include -#include #include #include @@ -66,10 +67,6 @@ int main(int argc, char *argv[]) if (write(fd, message, strlen(message)) <= 0) errExit("write"); - //printf("PID: %ld; fd: %d; /proc/%ld/fd/%d\n", - // (long) getpid(), fd, (long) getpid(), fd); - printf("/proc/%ld/fd/%d\n", (long) getpid(), fd); - /* Code to map the file and populate the mapping with data omitted */ @@ -92,6 +89,13 @@ int main(int argc, char *argv[]) errExit("fcntl"); } + /* Output the pathname of (a symbolic link to) the file + created by memfd_create() */ + + printf("/proc/%ld/fd/%d\n", (long) getpid(), fd); + + fflush(stdout); + /* Keep running, so that the file created by memfd_create() continues to exist */