Reiser4 -enabled Debian packaging hack for Linux 5.14.21-1 EOL

From: Metztli Information Technology
Date: Thu Dec 23 2021 - 13:47:06 EST


Niltze [Hello]-

Attached is a Reiser4 -enabled Debian packaging hack for Linux 5.14.21-
1 EOL: metztli-reiser4-gcc10-debian-packaging-for-5.14.21-1EOL.patch

For a one off, we can fetch the Debian packaging for 5.14.16-1, the
last one that Debian released, as:

git clone --depth 1 -b debian/5.14.16-1 --single-branch
https://anonscm.debian.org/git/kernel/linux.git

Customize your branch:
git switch -c <new-branch-name>

fetch the 5.14.21 EOL kernel source, etc.
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.21.tar.xz
https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.21.tar.sign

Verify:
xz -dc linux-5.14.21.tar.xz | gpg --verify linux-5.14.21.tar.sign -

Make a sym link to feed it to debian:
ln -s linux-5.14.21.tar.xz linux_5.14.21.orig.tar.xz

Change directory:
cd linux

Apply metztli-reiser4-gcc10-debian-packaging-for-5.14.21-1EOL.patch

Debianize your kernel source tree:
debian/rules orig

Apply either of Ed's modified patch for 5.14:
metztli-reiser4-stable-for-5.14.patch.gz
OR
metztli-reiser4-unstable-for-5.14.patch.gz

Of course, we assume -- a priori -- development environment.

Snapshot of the hack in an AMD Ryzen bare metal server:
https://metztli.it/bullseye-reiser5/reiser4-sfrn4-5.14.20-1-amd.png

Hack is currently working in a couple of physical hardware instances
but there are **no implicit nor explicit warranties.**


Best Professional Regards.

--
--
Jose R R
http://metztli.it
-----------------------------------------------------------------------
----------------------
Download Metztli Reiser4: Debian Buster w/ Linux 5.13.14 AMD64
-----------------------------------------------------------------------
----------------------
feats ZSTD compression https://sf.net/projects/metztli-reiser4/
-----------------------------------------------------------------------
----------------------
or SFRN 5.1.3, Metztli Reiser5 https://sf.net/projects/debian-reiser4/
-----------------------------------------------------------------------
--------------------
Official current Reiser4 resources: https://reiser4.wiki.kernel.org/

From f1e350e53da9f08f195c45bbb536a76bf8899da6 Mon Sep 17 00:00:00 2001
From: Metztli Information Technology <jose@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 23 Dec 2021 08:10:56 -0800
Subject: [PATCH] Ic ce (First) commit to create Reiser4 -enabled Debian
packaging for 5.14.21-1

---
debian/changelog | 11 +++
debian/config/amd64/defines | 3 +-
debian/config/config | 30 +++++++-
debian/config/config.cloud | 25 +++++-
debian/config/defines | 2 +-
debian/config/i386/defines | 5 +-
debian/installer/ignore-dups | 0
.../installer/modules/amd64/reiser4-modules | 1 +
debian/installer/modules/i386/reiser4-modules | 1 +
debian/installer/modules/reiser4-modules | 1 +
debian/installer/package-list | 7 ++
...rt-symbols-needed-by-android-drivers.patch | 77 +++++++++++--------
debian/patches/series | 17 ++--
13 files changed, 130 insertions(+), 50 deletions(-)
create mode 100644 debian/installer/ignore-dups
create mode 100644 debian/installer/modules/amd64/reiser4-modules
create mode 100644 debian/installer/modules/i386/reiser4-modules
create mode 100644 debian/installer/modules/reiser4-modules

diff --git a/debian/changelog b/debian/changelog
index 52c992b..f3328d4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+linux (5.14.21-1+reiser4.0.2) metztli; urgency=medium
+
+ * Debianized Hack for end of life (EOL) kernel
+ * Implement ->read_iter(), get rid of deprecated ->read() file operation
+ * Metztli Reiser4 SFRN 4.0.2 / Debian Bullseye GCC10 for AMD64
+ * HPFS/JFS re-enabled for cloud kernel as Debian cloud team officially disabled on config.cloud
+ * Set CONFIG_AMD_MEM_ENCRYPT=y
+ * Set CONFIG_TLS=y
+
+ -- Metztli Information Technology <jose@xxxxxxxxxx> Wed, 22 Dec 2021 02:08:48 -0800
+
linux (5.14.16-1) unstable; urgency=medium

* New upstream stable update:
diff --git a/debian/config/amd64/defines b/debian/config/amd64/defines
index b278f36..41b0170 100644
--- a/debian/config/amd64/defines
+++ b/debian/config/amd64/defines
@@ -5,8 +5,9 @@ featuresets:
kernel-arch: x86

[build]
+debug-info: false
image-file: arch/x86/boot/bzImage
-signed-code: true
+signed-code: false
vdso: true

[image]
diff --git a/debian/config/config b/debian/config/config
index da0eddf..6b228f7 100644
--- a/debian/config/config
+++ b/debian/config/config
@@ -5644,6 +5644,7 @@ CONFIG_VIRT_DRIVERS=y
##
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_PCI_LEGACY=y
+# Jose/Metztli IT trying to debug reiser4 on Vbox
CONFIG_VIRTIO_PMEM=m
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_INPUT=m
@@ -5810,6 +5811,13 @@ CONFIG_BEFS_FS=m
##
CONFIG_BFS_FS=m

+##
+## Jose/Metztli IT 02-13-2019
+## file: fs/reiser4/Kconfig
+##
+CONFIG_REISER4_FS=m
+# CONFIG_REISER4_DEBUG is not set
+
##
## file: fs/btrfs/Kconfig
##
@@ -5967,6 +5975,7 @@ CONFIG_FSCACHE_STATS=y
##
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
+# Jose/Metztli IT 07-23-2020 trying to debug reiser4
CONFIG_VIRTIO_FS=m

##
@@ -6345,7 +6354,8 @@ CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
CONFIG_NUMA_BALANCING=y
-CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
+# Jose/Metztli IT 02-13-2019 modified from 'y' to:
+CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=n
CONFIG_CGROUPS=y
CONFIG_MEMCG=y
CONFIG_BLK_CGROUP=y
@@ -6511,10 +6521,17 @@ CONFIG_ENERGY_MODEL=y

##
## file: kernel/rcu/Kconfig
-##
+## Jose/Metztli IT 11-10-2019 modify to '=y' for Ryzen/Epyc
# CONFIG_RCU_EXPERT is not set
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FAST_NO_HZ=y
+# Jose/Metztli IT 11-10-2019 Added entry. Set to '=y' for Epyc/Ryzen
+# CONFIG_RCU_NOCB_CPU is not set
+
+##
+## Processor type and features
+## Jose/Metztli IT 02-28-2021 Added entry to leverage AMD Epyc/Ryzen feat
+CONFIG_AMD_MEM_ENCRYPT=y

##
## file: kernel/rcu/Kconfig.debug
@@ -7629,8 +7646,9 @@ CONFIG_TIPC_DIAG=m

##
## file: net/tls/Kconfig
+## Jose/Metztli IT 06-24-2021
##
-# CONFIG_TLS is not set
+CONFIG_TLS=y

##
## file: net/unix/Kconfig
@@ -8157,4 +8175,10 @@ CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
+## Jose/Metztli IT 04-27-2020 include ZSTD -compressed kernel
+CONFIG_RD_ZSTD=y

+##
+## file: init/Kconfig
+## Jose/Metztli IT 04-27-2020 default Zstd for kernel
+CONFIG_KERNEL_ZSTD=y
diff --git a/debian/config/config.cloud b/debian/config/config.cloud
index bdd1c4c..63f91cb 100644
--- a/debian/config/config.cloud
+++ b/debian/config/config.cloud
@@ -882,6 +882,13 @@ CONFIG_MICROSOFT_MANA=m
##
# CONFIG_NET_VENDOR_WIZNET is not set

+##
+## Jose/Metztli IT 07-13-2020
+## file: drivers/net/ethernet/google/Kconfig
+##
+CONFIG_NET_VENDOR_GOOGLE=y
+CONFIG_GVE=m
+
##
## file: drivers/net/fddi/Kconfig
##
@@ -1464,14 +1471,14 @@ CONFIG_EXT4_FS=y
# CONFIG_HFSPLUS_FS is not set

##
+## Jose/Metztli IT 02-12-2021
## file: fs/hpfs/Kconfig
-##
-# CONFIG_HPFS_FS is not set
+## By omission HPFS is inherited

##
+## Jose/Metztli IT 02-12-2021
## file: fs/jfs/Kconfig
-##
-# CONFIG_JFS_FS is not set
+## By omission JFS is inherited

##
## file: fs/minix/Kconfig
@@ -1542,6 +1549,11 @@ CONFIG_KERNEL_LZ4=y
##
# CONFIG_ZSWAP is not set

+##
+## Memory Management options
+## Jose/Metztli IT 06-17-2020 added and enabled CONFIG_KSM
+CONFIG_KSM=y
+
##
## file: mm/Kconfig.debug
##
@@ -1703,3 +1715,8 @@ CONFIG_SECURITY_INFINIBAND=y
##
# CONFIG_SOUND is not set

+##
+## file: init/Kconfig
+## Jose/Metztli IT 04-28-2020 default Zstd for kernel
+CONFIG_KERNEL_ZSTD=y
+
diff --git a/debian/config/defines b/debian/config/defines
index 6a26c7c..2eb1881 100644
--- a/debian/config/defines
+++ b/debian/config/defines
@@ -1,5 +1,5 @@
[abi]
-abiname: 4
+abiname: 4+reiser4.0.2
ignore-changes:
__cpuhp_*
__udp_gso_segment
diff --git a/debian/config/i386/defines b/debian/config/i386/defines
index f86e91d..38d8c17 100644
--- a/debian/config/i386/defines
+++ b/debian/config/i386/defines
@@ -6,7 +6,7 @@ kernel-arch: x86

[build]
image-file: arch/x86/boot/bzImage
-signed-code: true
+signed-code: false
vdso: true

[description]
@@ -27,6 +27,9 @@ headers%gcc-10: linux-compiler-gcc-10-x86
hardware: older PCs
hardware-long: PCs with one or more processors not supporting PAE

+[686-pae_build]
+debug-info: false
+
[686-pae_description]
hardware: modern PCs
hardware-long: PCs with one or more processors supporting PAE
diff --git a/debian/installer/ignore-dups b/debian/installer/ignore-dups
new file mode 100644
index 0000000..e69de29
diff --git a/debian/installer/modules/amd64/reiser4-modules b/debian/installer/modules/amd64/reiser4-modules
new file mode 100644
index 0000000..9373ef1
--- /dev/null
+++ b/debian/installer/modules/amd64/reiser4-modules
@@ -0,0 +1 @@
+#include <reiser4-modules>
diff --git a/debian/installer/modules/i386/reiser4-modules b/debian/installer/modules/i386/reiser4-modules
new file mode 100644
index 0000000..9373ef1
--- /dev/null
+++ b/debian/installer/modules/i386/reiser4-modules
@@ -0,0 +1 @@
+#include <reiser4-modules>
diff --git a/debian/installer/modules/reiser4-modules b/debian/installer/modules/reiser4-modules
new file mode 100644
index 0000000..70ddae4
--- /dev/null
+++ b/debian/installer/modules/reiser4-modules
@@ -0,0 +1 @@
+reiser4
diff --git a/debian/installer/package-list b/debian/installer/package-list
index 51c13b6..c0ad46d 100644
--- a/debian/installer/package-list
+++ b/debian/installer/package-list
@@ -150,6 +150,13 @@ Priority: standard
Description: JFS filesystem support
This package contains the JFS filesystem module for the kernel.

+# Jose/Metztli IT 05-05-2018
+Package: reiser4-modules
+Depends: kernel-image, crc-modules
+Priority: extra
+Description: Reiser4 filesystem support
+ This package contains the Reiser4 filesystem module for the kernel.
+
Package: ufs-modules
Depends: kernel-image
Priority: optional
diff --git a/debian/patches/debian/export-symbols-needed-by-android-drivers.patch b/debian/patches/debian/export-symbols-needed-by-android-drivers.patch
index 3bc2c83..243566d 100644
--- a/debian/patches/debian/export-symbols-needed-by-android-drivers.patch
+++ b/debian/patches/debian/export-symbols-needed-by-android-drivers.patch
@@ -1,14 +1,8 @@
-From: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
-Date: Mon, 07 Sep 2020 02:51:53 +0100
-Subject: Export symbols needed by Android drivers
-Bug-Debian: https://bugs.debian.org/901492
-
-We want to enable use of the Android ashmem and binder drivers to
-support Anbox, but they should not be built-in as that would waste
-resources and increase security attack surface on systems that don't
-need them.
-
-Export the currently un-exported symbols they depend on.
+From 0d018f3dda05dc478e5b6db8178b6f8bab1cacbf Mon Sep 17 00:00:00 2001
+From: Metztli Information Technology <jose@xxxxxxxxxx>
+Date: Wed, 22 Dec 2021 00:32:56 -0800
+Subject: [PATCH] Ic ome (Second) commit on files modified by Debian packaging
+ for 5.14.21 export-symbols-needed-by-android-drivers patch

---
fs/file.c | 1 +
@@ -20,9 +14,23 @@ Export the currently un-exported symbols they depend on.
security/security.c | 4 ++++
7 files changed, 10 insertions(+)

+diff --git a/fs/file.c b/fs/file.c
+index 86dc995..67ebea5 100644
+--- a/fs/file.c
++++ b/fs/file.c
+@@ -788,6 +788,7 @@ int close_fd_get_file(unsigned int fd, struct file **res)
+
+ return ret;
+ }
++EXPORT_SYMBOL_GPL(close_fd_get_file);
+
+ void do_close_on_exec(struct files_struct *files)
+ {
+diff --git a/kernel/fork.c b/kernel/fork.c
+index 32a545c..c81021a 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
-@@ -1134,6 +1134,7 @@
+@@ -1140,6 +1140,7 @@ void mmput_async(struct mm_struct *mm)
schedule_work(&mm->async_put_work);
}
}
@@ -30,9 +38,11 @@ Export the currently un-exported symbols they depend on.
#endif

/**
+diff --git a/kernel/sched/core.c b/kernel/sched/core.c
+index 9289da7..ca73f00 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -5774,6 +5774,7 @@
+@@ -6672,6 +6672,7 @@ int can_nice(const struct task_struct *p, const int nice)
return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) ||
capable(CAP_SYS_NICE));
}
@@ -40,9 +50,11 @@ Export the currently un-exported symbols they depend on.

#ifdef __ARCH_WANT_SYS_NICE

+diff --git a/kernel/task_work.c b/kernel/task_work.c
+index 1698fbe..2a16441 100644
--- a/kernel/task_work.c
+++ b/kernel/task_work.c
-@@ -60,6 +60,7 @@
+@@ -60,6 +60,7 @@ int task_work_add(struct task_struct *task, struct callback_head *work,

return 0;
}
@@ -50,9 +62,11 @@ Export the currently un-exported symbols they depend on.

/**
* task_work_cancel_match - cancel a pending work added by task_work_add()
+diff --git a/mm/memory.c b/mm/memory.c
+index 738f4e1..3ce8cde 100644
--- a/mm/memory.c
+++ b/mm/memory.c
-@@ -1560,6 +1560,7 @@
+@@ -1655,6 +1655,7 @@ void zap_page_range(struct vm_area_struct *vma, unsigned long start,
mmu_notifier_invalidate_range_end(&range);
tlb_finish_mmu(&tlb);
}
@@ -60,9 +74,11 @@ Export the currently un-exported symbols they depend on.

/**
* zap_page_range_single - remove user pages in a given range
+diff --git a/mm/shmem.c b/mm/shmem.c
+index dacda74..5525d5a 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
-@@ -4231,6 +4231,7 @@
+@@ -4187,6 +4187,7 @@ int shmem_zero_setup(struct vm_area_struct *vma)

return 0;
}
@@ -70,30 +86,32 @@ Export the currently un-exported symbols they depend on.

/**
* shmem_read_mapping_page_gfp - read into page cache, using specified page allocation flags.
+diff --git a/security/security.c b/security/security.c
+index 67264cb..3df62aa 100644
--- a/security/security.c
+++ b/security/security.c
-@@ -750,24 +750,28 @@
+@@ -751,24 +751,28 @@ int security_binder_set_context_mgr(const struct cred *mgr)
{
return call_int_hook(binder_set_context_mgr, 0, mgr);
}
+EXPORT_SYMBOL_GPL(security_binder_set_context_mgr);

- int security_binder_transaction(struct task_struct *from,
- struct task_struct *to)
+ int security_binder_transaction(const struct cred *from,
+ const struct cred *to)
{
return call_int_hook(binder_transaction, 0, from, to);
}
+EXPORT_SYMBOL_GPL(security_binder_transaction);

- int security_binder_transfer_binder(struct task_struct *from,
- struct task_struct *to)
+ int security_binder_transfer_binder(const struct cred *from,
+ const struct cred *to)
{
return call_int_hook(binder_transfer_binder, 0, from, to);
}
+EXPORT_SYMBOL_GPL(security_binder_transfer_binder);

- int security_binder_transfer_file(struct task_struct *from,
- struct task_struct *to, struct file *file)
+ int security_binder_transfer_file(const struct cred *from,
+ const struct cred *to, struct file *file)
{
return call_int_hook(binder_transfer_file, 0, from, to, file);
}
@@ -101,13 +119,6 @@ Export the currently un-exported symbols they depend on.

int security_ptrace_access_check(struct task_struct *child, unsigned int mode)
{
---- a/fs/file.c
-+++ b/fs/file.c
-@@ -788,6 +788,7 @@
-
- return ret;
- }
-+EXPORT_SYMBOL_GPL(close_fd_get_file);
-
- void do_close_on_exec(struct files_struct *files)
- {
+--
+2.30.2
+
diff --git a/debian/patches/series b/debian/patches/series
index 4545e49..7246257 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -76,7 +76,8 @@ bugfix/arm/arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch
bugfix/powerpc/powerpc-boot-fix-missing-crc32poly.h-when-building-with-kernel_xz.patch
bugfix/arm64/arm64-acpi-Add-fixup-for-HPE-m400-quirks.patch
bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch
-bugfix/arm/ARM-dts-sun7i-A20-olinuxino-lime2-Fix-ethernet-phy-m.patch
+# Jose/Metztli IT 12-22-2021 already applied in 5.14.21
+## bugfix/arm/ARM-dts-sun7i-A20-olinuxino-lime2-Fix-ethernet-phy-m.patch

# Arch features
features/arm64/arm64-dts-rockchip-Add-support-for-two-PWM-fans-on-h.patch
@@ -89,11 +90,12 @@ features/x86/x86-make-x32-syscall-support-conditional.patch
bugfix/all/disable-some-marvell-phys.patch
bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
bugfix/all/HID-apple-Add-missing-scan-code-event-for-keys-handl.patch
-bugfix/all/media-ir-kbd-i2c-improve-responsiveness-of-hauppauge.patch
-bugfix/all/media-ite-cir-IR-receiver-stop-working-after-receive.patch
-bugfix/all/scsi-core-Put-LLD-module-refcnt-after-SCSI-device-is.patch
-bugfix/all/sfc-Fix-reading-non-legacy-supported-link-modes.patch
-bugfix/all/vrf-Revert-Reset-skb-conntrack-connection.patch
+# Jose/Metztli IT 12-22-2021 already applied in 5.14.21
+## bugfix/all/media-ir-kbd-i2c-improve-responsiveness-of-hauppauge.patch
+## bugfix/all/media-ite-cir-IR-receiver-stop-working-after-receive.patch
+## bugfix/all/scsi-core-Put-LLD-module-refcnt-after-SCSI-device-is.patch
+## bugfix/all/sfc-Fix-reading-non-legacy-supported-link-modes.patch
+## bugfix/all/vrf-Revert-Reset-skb-conntrack-connection.patch

# Miscellaneous features

@@ -113,7 +115,8 @@ features/all/db-mok-keyring/KEYS-Make-use-of-platform-keyring-for-module-signatu
# Security fixes
debian/i386-686-pae-pci-set-pci-nobios-by-default.patch
debian/ntfs-mark-it-as-broken.patch
-bugfix/all/media-firewire-firedtv-avc-fix-a-buffer-overflow-in-.patch
+# Jose/Metztli IT 12-22-2021 already applied in 5.14.21
+## bugfix/all/media-firewire-firedtv-avc-fix-a-buffer-overflow-in-.patch

# Fix exported symbol versions
bugfix/all/module-disable-matching-missing-version-crc.patch
--
2.30.2

Attachment: metztli-reiser4-stable-for-5.14.patch.gz
Description: application/gzip

Attachment: metztli-reiser4-unstable-for-5.14.patch.gz
Description: application/gzip