Merge #39 Fix existing CI test and resolve syntax warnings

This commit is contained in:
Laura Abbott 2019-11-11 21:01:25 +00:00
commit 4df513d076
4 changed files with 26 additions and 25 deletions

View File

@ -146,7 +146,7 @@ Summary: The Linux kernel
# Only build the debug kernel (--with dbgonly): # Only build the debug kernel (--with dbgonly):
%define with_dbgonly %{?_with_dbgonly: 1} %{?!_with_dbgonly: 0} %define with_dbgonly %{?_with_dbgonly: 1} %{?!_with_dbgonly: 0}
# Control whether we perform a compat. check against published ABI. # 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. # Temporarily disable kabi checks until RC.
%define with_kabichk 0 %define with_kabichk 0
# Control whether we perform a compat. check against DUP ABI. # 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. It provides the kernel source files common to all builds.
%if %{with_selftests} %if %{with_selftests}
%package selftests-internal %package selftests-internal
Summary: Kernel samples and selftests Summary: Kernel samples and selftests
License: GPLv2 License: GPLv2
@ -803,14 +802,13 @@ Requires: binutils, bpftool, iproute-tc, nmap-ncat
Requires: kernel-modules-internal = %{version}-%{release} Requires: kernel-modules-internal = %{version}-%{release}
%description selftests-internal %description selftests-internal
Kernel sample programs and selftests. Kernel sample programs and selftests.
%{nil}
# Note that this pattern only works right to match the .build-id # Note that this pattern only works right to match the .build-id
# symlinks because of the trailing nonmatching alternation and # symlinks because of the trailing nonmatching alternation and
# the leading .*, because of find-debuginfo.sh's buggy handling # the leading .*, because of find-debuginfo.sh's buggy handling
# of matching the pattern against the symlinks file. # 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} %{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_libexecdir}/(ksamples|kselftests)/.*|XXX' -o selftests-debuginfo.list}
%endif
%endif # with_selftests
%if %{with_gcov} %if %{with_gcov}
%package gcov %package gcov
@ -1000,7 +998,7 @@ Cortex-A15 devices with LPAE and HW virtualisation support
%description zfcpdump-core %description zfcpdump-core
The kernel package contains the Linux kernel (vmlinuz) for use by the The kernel package contains the Linux kernel (vmlinuz) for use by the
zfcpdump infrastructure. zfcpdump infrastructure.
%endif # with_zfcpdump %endif
%define variant_summary The Linux kernel compiled with extra debugging enabled %define variant_summary The Linux kernel compiled with extra debugging enabled
%kernel_variant_package debug %kernel_variant_package debug
@ -1427,9 +1425,7 @@ BuildKernel() {
%endif %endif
# make sure EXTRAVERSION says what we want it to say # 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 perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}${Flav}/" Makefile
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
# if pre-rc1 devel kernel, must fix up PATCHLEVEL for our versioning scheme # if pre-rc1 devel kernel, must fix up PATCHLEVEL for our versioning scheme
%if !0%{?rcrev} %if !0%{?rcrev}
@ -1513,8 +1509,8 @@ BuildKernel() {
%pesign -s -i $KernelImage -o vmlinuz.signed %pesign -s -i $KernelImage -o vmlinuz.signed
%else %else
%pesign -s -i $SignImage -o vmlinuz.signed -a %{secureboot_ca} -c %{secureboot_key} -n %{pesign_name} %pesign -s -i $SignImage -o vmlinuz.signed -a %{secureboot_ca} -c %{secureboot_key} -n %{pesign_name}
%endif # fedora %endif
%endif # arches %endif
%ifarch s390x ppc64le %ifarch s390x ppc64le
if [ -x /usr/bin/rpm-sign ]; then if [ -x /usr/bin/rpm-sign ]; then
rpm-sign --key "%{pesign_name}" --lkmsign $SignImage --output vmlinuz.signed 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 mkdir -p $docdir
tar -h -f - --exclude=man --exclude='.*' -c Documentation | tar xf - -C $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 # 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 # 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 # kabi directory
INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/ INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/
mkdir -p $INSTALL_KABI_PATH mkdir -p $INSTALL_KABI_PATH
# install kabi releases directories # install kabi releases directories
tar xjvf %{SOURCE300} -C $INSTALL_KABI_PATH tar xjvf %{SOURCE300} -C $INSTALL_KABI_PATH
%endif # with_kernel_abi_whitelists %endif
%if %{with_selftests} %if %{with_selftests}
pushd samples pushd samples

View File

@ -38,11 +38,12 @@ fi
function sanity_memfd_create() function sanity_memfd_create()
{ {
rlRun "./t_memfd_create memf 1024 gswS &" rlRun "coproc ./t_memfd_create memf 1024 gswS"
rlRun "./t_get_seals /proc/$!/fd/3 > seals" rlRun "read -u ${COPROC[0]} MEMFD_PATH"
rlRun "./t_get_seals $MEMFD_PATH > ./seals"
rlRun "cat ./seals" rlRun "cat ./seals"
rlAssertGrep "SEAL GROW WRITE SHRINK" ./seals rlAssertGrep "SEAL GROW WRITE SHRINK" ./seals
rlRun "pkill t_memfd_create" rlRun "kill $COPROC_PID"
} }

View File

@ -16,8 +16,9 @@
* *
*/ */
#include <linux/fcntl.h> #define _GNU_SOURCE
#include <unistd.h> #include <unistd.h>
#include <fcntl.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>

View File

@ -16,11 +16,12 @@
* *
*/ */
#include <linux/memfd.h> #define _GNU_SOURCE
#include <linux/fcntl.h> #include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/syscall.h> #include <sys/syscall.h>
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h>
#include <string.h> #include <string.h>
#include <stdio.h> #include <stdio.h>
@ -66,10 +67,6 @@ int main(int argc, char *argv[])
if (write(fd, message, strlen(message)) <= 0) if (write(fd, message, strlen(message)) <= 0)
errExit("write"); 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 /* Code to map the file and populate the mapping with data
omitted */ omitted */
@ -92,6 +89,13 @@ int main(int argc, char *argv[])
errExit("fcntl"); 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() /* Keep running, so that the file created by memfd_create()
continues to exist */ continues to exist */