5.12.1-1 (clr 5.12.1-1038)

This commit is contained in:
Josip Ponjavic 2021-05-05 14:25:49 +02:00
parent f4cc17a0bb
commit 9e7835f9ea
3 changed files with 116 additions and 124 deletions

View file

@ -1,6 +1,6 @@
pkgbase = linux-clear
pkgdesc = Clear Linux
pkgver = 5.10.34
pkgver = 5.12.1
pkgrel = 1
url = https://github.com/clearlinux-pkgs/linux
arch = x86_64
@ -12,22 +12,22 @@ pkgbase = linux-clear
makedepends = libelf
makedepends = xmlto
options = !strip
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.xz
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.tar.sign
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.10.34.xz
source = clearlinux::git+https://github.com/clearlinux-pkgs/linux.git#tag=5.10.32-1035
source = more-uarches-20210402.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/20210402.tar.gz
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.12.tar.xz
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.12.tar.sign
source = https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.12.1.xz
source = clearlinux::git+https://github.com/clearlinux-pkgs/linux.git#tag=5.12.1-1038
source = more-uarches-20210412.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/20210412.tar.gz
source = pci-enable-overrides-for-missing-acs-capabilities.patch
source = 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
sha256sums = dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43
sha256sums = 7d0df6f2bf2384d68d0bd8e1fe3e071d64364dcdc6002e7b5c87c92d48fac366
sha256sums = SKIP
sha256sums = ca4e6b6f69a5ac75b0deebd67d1b1eb111ed6e874fe765b450ddaa7d97cd0c41
sha256sums = d90692a8c4bc8d4ea20a21e30927ba4d01bc772c3ff537059303f01a0bfaa813
sha256sums = SKIP
sha256sums = 8aea0d8a9999b0510fa128d79af8a8dc94d25f0a193fd698ebfdf09808472d2e
sha256sums = f1f62b6d2cd89d0ab15f8d7311f5bb775dfc97ff39f93bc77f6f733f75fa7558
sha256sums = 2c98de0814366b041aeee4cbf82b82620c7834bc33752d50f089e8bd7ea5cf5e
sha256sums = 261574aeee09864929d44a5f9896ad2645fe4539d9ee8a86575bd19a07eed865
sha256sums = f3eb1e857f60a96a0c8d4f25f55a64ddf4aa4b3a33e9fcc6886430cf4789cb1c
pkgname = linux-clear
pkgdesc = The Clear Linux kernel and modules

View file

@ -1,7 +1,8 @@
From 5a924ab983b82b3c5cba2b7abc90f8f38be41b6d Mon Sep 17 00:00:00 2001
From 1ed48c405ba85328bae25d2f393700ba715a2f81 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Mon, 16 Sep 2019 04:53:20 +0200
Subject: ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER
Subject: [PATCH 1/2] ZEN: Add sysctl and CONFIG to disallow unprivileged
CLONE_NEWUSER
Our default behavior continues to match the vanilla kernel.
---
@ -13,10 +14,10 @@ Our default behavior continues to match the vanilla kernel.
5 files changed, 53 insertions(+)
diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
index 6ef1c7109fc4..2140091b0b8d 100644
index f6c5f784be5a..07d194f23587 100644
--- a/include/linux/user_namespace.h
+++ b/include/linux/user_namespace.h
@@ -106,6 +106,8 @@ void dec_ucount(struct ucounts *ucounts, enum ucount_type type);
@@ -108,6 +108,8 @@ void dec_ucount(struct ucounts *ucounts, enum ucount_type type);
#ifdef CONFIG_USER_NS
@ -25,7 +26,7 @@ index 6ef1c7109fc4..2140091b0b8d 100644
static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
{
if (ns)
@@ -139,6 +141,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns);
@@ -141,6 +143,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns);
struct ns_common *ns_get_owner(struct ns_common *ns);
#else
@ -35,10 +36,10 @@ index 6ef1c7109fc4..2140091b0b8d 100644
{
return &init_user_ns;
diff --git a/init/Kconfig b/init/Kconfig
index 0498af567f70..078a0b73effd 100644
index 5f5c776ef192..afd708ed0241 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1140,6 +1140,22 @@ config USER_NS
@@ -1177,6 +1177,22 @@ config USER_NS
If unsure, say N.
@ -62,12 +63,12 @@ index 0498af567f70..078a0b73effd 100644
bool "PID Namespaces"
default y
diff --git a/kernel/fork.c b/kernel/fork.c
index efc5493203ae..90859b7531d3 100644
index 426cd0c51f9e..e83a79860d58 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -96,6 +96,10 @@
#include <linux/kasan.h>
@@ -97,6 +97,10 @@
#include <linux/scs.h>
#include <linux/io_uring.h>
+#ifdef CONFIG_USER_NS
+#include <linux/user_namespace.h>
@ -76,7 +77,7 @@ index efc5493203ae..90859b7531d3 100644
#include <asm/pgalloc.h>
#include <linux/uaccess.h>
#include <asm/mmu_context.h>
@@ -1861,6 +1865,10 @@ static __latent_entropy struct task_struct *copy_process(
@@ -1872,6 +1876,10 @@ static __latent_entropy struct task_struct *copy_process(
if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS))
return ERR_PTR(-EINVAL);
@ -87,7 +88,7 @@ index efc5493203ae..90859b7531d3 100644
/*
* Thread groups must share signals as well, and detached threads
* can only be started up within the thread group.
@@ -2961,6 +2969,12 @@ int ksys_unshare(unsigned long unshare_flags)
@@ -2971,6 +2979,12 @@ int ksys_unshare(unsigned long unshare_flags)
if (unshare_flags & CLONE_NEWNS)
unshare_flags |= CLONE_FS;
@ -101,7 +102,7 @@ index efc5493203ae..90859b7531d3 100644
if (err)
goto bad_unshare_out;
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index db1ce7af2563..9b73467e279d 100644
index 62fbd09b5dc1..01192edd25f3 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -103,6 +103,9 @@
@ -114,7 +115,7 @@ index db1ce7af2563..9b73467e279d 100644
#if defined(CONFIG_SYSCTL)
@@ -1882,6 +1885,15 @@ static struct ctl_table kern_table[] = {
@@ -1902,6 +1905,15 @@ static struct ctl_table kern_table[] = {
.proc_handler = proc_dointvec,
},
#endif
@ -131,7 +132,7 @@ index db1ce7af2563..9b73467e279d 100644
{
.procname = "tainted",
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
index 87804e0371fe..66b5afb0d0ee 100644
index 9a4b980d695b..4388ca13ea3f 100644
--- a/kernel/user_namespace.c
+++ b/kernel/user_namespace.c
@@ -21,6 +21,13 @@
@ -149,5 +150,5 @@ index 87804e0371fe..66b5afb0d0ee 100644
static DEFINE_MUTEX(userns_state_mutex);
--
cgit v1.2.3-1-gf6bb5
2.31.1

187
PKGBUILD
View file

@ -2,12 +2,21 @@
# Contributor:
### BUILD OPTIONS
# Set these variables to ANYTHING that is not null to enable them
# Set the next two variables to ANYTHING that is not null to enable them
# Tweak kernel options prior to a build via nconfig
_makenconfig=
_enable_gcc_more_v="y"
# Only compile active modules to VASTLY reduce the number of modules built and
# the build time.
#
# To keep track of which modules are needed for your specific system/hardware,
# give module_db a try: https://aur.archlinux.org/packages/modprobed-db
# This PKGBUILD reads the database kept if it exists
#
# More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db
_localmodcfg=
# Optionally select a sub architecture by number or leave blank which will
# require user interaction during the build. Note that the generic (default)
# option is 32.
@ -48,16 +57,6 @@ _enable_gcc_more_v="y"
# 34. AMD-Native optimizations autodetected by GCC (MNATIVE_AMD)
_subarch=33
# Only compile active modules to VASTLY reduce the number of modules built and
# the build time.
#
# To keep track of which modules are needed for your specific system/hardware,
# give module_db a try: https://aur.archlinux.org/packages/modprobed-db
# This PKGBUILD reads the database kept if it exists
#
# More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db
_localmodcfg=
# Use the current kernel's .config file
# Enabling this option will use the .config of the RUNNING kernel rather than
# the ARCH defaults. Useful when the package gets updated and you already went
@ -67,10 +66,10 @@ _use_current=
### IMPORTANT: Do no edit below this line unless you know what you're doing
_major=5.10
_minor=34
_major=5.12
_minor=1
_srcname=linux-${_major}
_clr=${_major}.32-1035
_clr=${_major}.1-1038
pkgbase=linux-clear
pkgver=${_major}.${_minor}
pkgrel=1
@ -80,7 +79,7 @@ url="https://github.com/clearlinux-pkgs/linux"
license=('GPL2')
makedepends=('bc' 'cpio' 'git' 'kmod' 'libelf' 'xmlto')
options=('!strip')
_gcc_more_v='20210402'
_gcc_more_v='20210412'
source=(
"https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${_major}.tar.xz"
"https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${_major}.tar.sign"
@ -99,20 +98,20 @@ prepare() {
cd ${_srcname}
### Add upstream patches
echo "Add upstream patches"
patch -Np1 -i ../patch-${pkgver}
echo "Add upstream patches"
patch -Np1 -i ../patch-${pkgver}
### Setting version
echo "Setting version..."
scripts/setlocalversion --save-scmversion
echo "-$pkgrel" > localversion.10-pkgrel
echo "${pkgbase#linux}" > localversion.20-pkgname
echo "Setting version..."
scripts/setlocalversion --save-scmversion
echo "-$pkgrel" > localversion.10-pkgrel
echo "${pkgbase#linux}" > localversion.20-pkgname
### Add Clearlinux patches
for i in $(grep '^Patch' ${srcdir}/clearlinux/linux.spec | sed -n 's/.*: //p'); do
for i in $(grep '^Patch' ${srcdir}/clearlinux/linux.spec | grep -Ev '^Patch0112|^Patch0118|^Patch0121' | sed -n 's/.*: //p'); do
echo "Applying patch ${i}..."
patch -Np1 -i "$srcdir/clearlinux/${i}"
done
done
local src
for src in "${source[@]}"; do
@ -124,77 +123,72 @@ prepare() {
done
### Setting config
echo "Setting config..."
cp -Tf $srcdir/clearlinux/config ./.config
echo "Setting config..."
cp -Tf $srcdir/clearlinux/config ./.config
### Enable extra stuff from arch kernel
echo "Enable extra stuff from arch kernel..."
echo "Enable extra stuff from arch kernel..."
# General setup
scripts/config --enable IKCONFIG \
--enable-after IKCONFIG IKCONFIG_PROC \
--undefine RT_GROUP_SCHED
# General setup
scripts/config --enable IKCONFIG \
--enable-after IKCONFIG IKCONFIG_PROC \
--undefine RT_GROUP_SCHED
# Power management and ACPI options
scripts/config --enable ACPI_REV_OVERRIDE_POSSIBLE \
--enable ACPI_TABLE_UPGRADE
# Power management and ACPI options
scripts/config --enable ACPI_REV_OVERRIDE_POSSIBLE \
--enable ACPI_TABLE_UPGRADE
# Enable loadable module support
scripts/config --undefine MODULE_SIG_FORCE \
--enable MODULE_COMPRESS \
--enable-after MODULE_COMPRESS MODULE_COMPRESS_XZ
# Enable loadable module support
scripts/config --undefine MODULE_SIG_FORCE \
--enable MODULE_COMPRESS \
--enable-after MODULE_COMPRESS MODULE_COMPRESS_XZ
# Networking support
scripts/config --enable NETFILTER_INGRESS
# Networking support
scripts/config --enable NETFILTER_INGRESS
# Device Drivers
scripts/config --enable FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER \
--enable DELL_SMBIOS_SMM \
--enable NET_VENDOR_AQUANTIA \
--module PATA_JMICRON \
--enable-after SOUND SOUND_OSS_CORE \
--enable SND_OSSEMUL \
--module-after SND_OSSEMUL SND_MIXER_OSS \
--module-after SND_MIXER_OSS SND_PCM_OSS \
--enable-after SND_PCM_OSS SND_PCM_OSS_PLUGINS \
--module AGP --module-after AGP AGP_INTEL --module-after AGP_INTEL AGP_VIA
# Device Drivers
scripts/config --enable FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER \
--enable DELL_SMBIOS_SMM \
--enable NET_VENDOR_AQUANTIA \
--module PATA_JMICRON \
--enable-after SOUND SOUND_OSS_CORE \
--enable SND_OSSEMUL \
--module-after SND_OSSEMUL SND_MIXER_OSS \
--module-after SND_MIXER_OSS SND_PCM_OSS \
--enable-after SND_PCM_OSS SND_PCM_OSS_PLUGINS \
--module AGP --module-after AGP AGP_INTEL --module-after AGP_INTEL AGP_VIA
# Kernel hacking -> Compile-time checks and compiler options -> Make section mismatch errors non-fatal
scripts/config --enable SECTION_MISMATCH_WARN_ONLY
# Kernel hacking -> Compile-time checks and compiler options -> Make section mismatch errors non-fatal
scripts/config --enable SECTION_MISMATCH_WARN_ONLY
# Security options
scripts/config --enable SECURITY_SELINUX \
--enable-after SECURITY_SELINUX SECURITY_SELINUX_BOOTPARAM \
--enable SECURITY_SMACK \
--enable-after SECURITY_SMACK SECURITY_SMACK_BRINGUP \
--enable-after SECURITY_SMACK_BRINGUP SECURITY_SMACK_NETFILTER \
--enable-after SECURITY_SMACK_NETFILTER SECURITY_SMACK_APPEND_SIGNALS \
--enable SECURITY_TOMOYO \
--enable SECURITY_APPARMOR \
--enable SECURITY_YAMA
# Security options
scripts/config --enable SECURITY_SELINUX \
--enable-after SECURITY_SELINUX SECURITY_SELINUX_BOOTPARAM \
--enable SECURITY_SMACK \
--enable-after SECURITY_SMACK SECURITY_SMACK_BRINGUP \
--enable-after SECURITY_SMACK_BRINGUP SECURITY_SMACK_NETFILTER \
--enable-after SECURITY_SMACK_NETFILTER SECURITY_SMACK_APPEND_SIGNALS \
--enable SECURITY_TOMOYO \
--enable SECURITY_APPARMOR \
--enable SECURITY_YAMA
# Library routines
scripts/config --enable FONT_TER16x32
# Library routines
scripts/config --enable FONT_TER16x32
make olddefconfig
make olddefconfig
### Patch source to unlock additional gcc CPU optimizations
# https://github.com/graysky2/kernel_gcc_patch
if [ "${_enable_gcc_more_v}" = "y" ]; then
echo "Patching to enable GCC optimization for other uarchs..."
patch -Np1 -i "$srcdir/kernel_gcc_patch-$_gcc_more_v/more-uarches-for-kernel-5.8+.patch"
fi
# https://github.com/graysky2/kernel_gcc_patch
# make sure to apply after olddefconfig to allow the next section
echo "Patching to enable GCC optimization for other uarchs..."
patch -Np1 -i "$srcdir/kernel_gcc_patch-$_gcc_more_v/more-uarches-for-kernel-5.8+.patch"
### Get kernel version
if [ "${_enable_gcc_more_v}" = "y" ] || [ -n "${_subarch}" ]; then
if [ -n "$_subarch" ]; then
# user wants a subarch so apply choice defined above interactively via 'yes'
yes "$_subarch" | make oldconfig
else
make prepare
fi
### Prepared version
make -s kernelrelease > version
echo "Prepared $pkgbase version $(<version)"
else
# no subarch defined so allow user to pick one
make oldconfig
fi
### Optionally use running kernel's config
# code originally by nous; http://aur.archlinux.org/packages.php?ID=40191
@ -212,32 +206,29 @@ prepare() {
fi
### Optionally load needed modules for the make localmodconfig
# See https://aur.archlinux.org/packages/modprobed-db
if [ -n "$_localmodcfg" ]; then
if [ -e $HOME/.config/modprobed.db ]; then
# See https://aur.archlinux.org/packages/modprobed-db
if [ -n "$_localmodcfg" ]; then
if [ -e $HOME/.config/modprobed.db ]; then
echo "Running Steven Rostedt's make localmodconfig now"
make LSMOD=$HOME/.config/modprobed.db localmodconfig
else
else
echo "No modprobed.db data found"
exit
fi
fi
fi
### do not run `make olddefconfig` as it sets default options
yes "" | make config >/dev/null
make -s kernelrelease > version
echo "Prepared $pkgbase version $(<version)"
### Running make nconfig
[[ -z "$_makenconfig" ]] || make nconfig
[[ -z "$_makenconfig" ]] || make nconfig
### Save configuration for later reuse
cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${pkgbase#linux}"
cp -Tf ./.config "${startdir}/config-${pkgver}-${pkgrel}${pkgbase#linux}"
}
build() {
cd ${_srcname}
make -j$(nproc) bzImage modules
make bzImage modules
}
_package() {
@ -352,13 +343,13 @@ for _p in "${pkgname[@]}"; do
}"
done
sha256sums=('dcdf99e43e98330d925016985bfbc7b83c66d367b714b2de0cbbfcbf83d8ca43'
sha256sums=('7d0df6f2bf2384d68d0bd8e1fe3e071d64364dcdc6002e7b5c87c92d48fac366'
'SKIP'
'ca4e6b6f69a5ac75b0deebd67d1b1eb111ed6e874fe765b450ddaa7d97cd0c41'
'd90692a8c4bc8d4ea20a21e30927ba4d01bc772c3ff537059303f01a0bfaa813'
'SKIP'
'8aea0d8a9999b0510fa128d79af8a8dc94d25f0a193fd698ebfdf09808472d2e'
'f1f62b6d2cd89d0ab15f8d7311f5bb775dfc97ff39f93bc77f6f733f75fa7558'
'2c98de0814366b041aeee4cbf82b82620c7834bc33752d50f089e8bd7ea5cf5e'
'261574aeee09864929d44a5f9896ad2645fe4539d9ee8a86575bd19a07eed865')
'f3eb1e857f60a96a0c8d4f25f55a64ddf4aa4b3a33e9fcc6886430cf4789cb1c')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds