Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

version 6.13-rc5 #662

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .qubesbuilder
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ source:
- dummy-backlight
- v4l2loopback
files:
- url: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-@[email protected]
signature: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-@[email protected]
uncompress: true
# - url: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-@[email protected]
# signature: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-@[email protected]
# uncompress: true
## for -rc kernels, use this:
- git-url: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git-basename: linux-@VERSION@
tag: v@VERSION@
pubkeys:
- kernel.org-2-key.asc
- kernel.org-1-key.asc
## for -rc kernels, use this:
# - url: https://git.kernel.org/torvalds/t/linux-@[email protected]
# uncompress: true
# sha256: linux-@[email protected]
# - url: https://github.com/PatrickVerner/macbook12-spi-driver/archive/2905d318d1a3ee1a227052490bf20eddef2592f9.tar.gz#/macbook12-spi-driver-2905d318d1a3ee1a227052490bf20eddef2592f9.tar.gz
# uncompress: true
# sha256: macbook12-spi-driver-2905d318d1a3ee1a227052490bf20eddef2592f9.tar.sha256
26 changes: 13 additions & 13 deletions 0001-PCI-add-a-reset-quirk-for-Intel-I219LM-ethernet-adap.patch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 59dfd8ce5ae0680da665746194ca7f76bcc83f71 Mon Sep 17 00:00:00 2001
From 8f14220e1eedf12788ca6055a04bab936eb70421 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
<[email protected]>
Date: Mon, 15 Jul 2024 16:55:56 +0200
Expand All @@ -19,14 +19,14 @@ Signed-off-by: Marek Marczykowski-Górecki <[email protected]>
---
drivers/pci/pci.c | 2 +-
drivers/pci/pci.h | 1 +
drivers/pci/quirks.c | 66 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 68 insertions(+), 1 deletion(-)
drivers/pci/quirks.c | 70 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 72 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 35fb1f17a589..ba3e4732f125 100644
index 0b29ec6e8e5e..63aa06fd99d0 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -4491,7 +4491,7 @@ int pcie_reset_flr(struct pci_dev *dev, bool probe)
@@ -4583,7 +4583,7 @@ int pcie_reset_flr(struct pci_dev *dev, bool probe)
}
EXPORT_SYMBOL_GPL(pcie_reset_flr);

Expand All @@ -36,22 +36,22 @@ index 35fb1f17a589..ba3e4732f125 100644
int pos;
u8 cap;
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index fd44565c4756..9dfc05e3d0b3 100644
index 2e40fc63ba31..2b438c262bf8 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -600,6 +600,7 @@ void pcie_ecrc_get_policy(char *str);
static inline void pcie_set_ecrc_checking(struct pci_dev *dev) { }
static inline void pcie_ecrc_get_policy(char *str) { }
@@ -755,6 +755,7 @@ static inline int pcie_lbms_count(struct pci_dev *port, unsigned long *val)
return -EOPNOTSUPP;
}
#endif
+int pci_af_flr(struct pci_dev *dev, bool probe);

struct pci_dev_reset_methods {
u16 vendor;
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 568410e64ce6..9b77e6182500 100644
index 76f4df75b08a..cde5a6351626 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -4194,6 +4194,74 @@ static int reset_hinic_vf_dev(struct pci_dev *pdev, bool probe)
@@ -4208,6 +4208,74 @@ static int reset_hinic_vf_dev(struct pci_dev *pdev, bool probe)
return 0;
}

Expand Down Expand Up @@ -126,7 +126,7 @@ index 568410e64ce6..9b77e6182500 100644
static const struct pci_dev_reset_methods pci_dev_reset_methods[] = {
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82599_SFP_VF,
reset_intel_82599_sfp_virtfn },
@@ -4209,6 +4273,8 @@ static const struct pci_dev_reset_methods pci_dev_reset_methods[] = {
@@ -4223,6 +4291,8 @@ static const struct pci_dev_reset_methods pci_dev_reset_methods[] = {
reset_chelsio_generic_dev },
{ PCI_VENDOR_ID_HUAWEI, PCI_DEVICE_ID_HINIC_VF,
reset_hinic_vf_dev },
Expand All @@ -136,5 +136,5 @@ index 568410e64ce6..9b77e6182500 100644
};

--
2.45.2
2.46.0

17 changes: 8 additions & 9 deletions 0006-block-add-no_part_scan-module-parameter.patch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From afe073973e6e402938790ca3b1b37d24422d36ba Mon Sep 17 00:00:00 2001
From 9dd3b03210805ce0f76327cc18f7d07a40b275a2 Mon Sep 17 00:00:00 2001
From: Rusty Bird <[email protected]>
Date: Mon, 11 Jul 2016 13:05:38 +0000
Subject: [PATCH] block: add no_part_scan module parameter
Expand All @@ -11,18 +11,17 @@ kernel's various partition table parsers for them.
The parameter's current value can be changed at any time by writing to
the /sys/module/block/parameters/no_part_scan file.
---
block/genhd.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
block/genhd.c | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/block/genhd.c b/block/genhd.c
index 06b642b23a07..15769cadd687 100644
index 79230c109fca..292a7c8c2188 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -784,6 +784,15 @@ static void register_disk(struct device *parent, struct gendisk *disk,
@@ -382,6 +382,14 @@ int disk_scan_partitions(struct gendisk *disk, blk_mode_t mode)
return ret;
}

+/* copied (not moved) from far down below, to have fewer patch hunks */
+#undef MODULE_PARAM_PREFIX
+#define MODULE_PARAM_PREFIX "block."
+
Expand All @@ -32,9 +31,9 @@ index 06b642b23a07..15769cadd687 100644
+MODULE_PARM_DESC(no_part_scan, "When adding block devices, always mark them as not to be scanned for partitions");
+
/**
* device_add_disk - add disk information to kernel list
* add_disk_fwnode - add disk information to kernel list with fwnode
* @parent: parent device for the disk
@@ -812,6 +821,9 @@ static void __device_add_disk(struct device *parent, struct gendisk *disk,
@@ -412,6 +420,9 @@ int __must_check add_disk_fwnode(struct device *parent, struct gendisk *disk,
*/
elevator_init_mq(disk->queue);

Expand All @@ -45,5 +44,5 @@ index 06b642b23a07..15769cadd687 100644
if (disk->fops->submit_bio)
bdev_set_flag(disk->part0, BD_HAS_SUBMIT_BIO);
--
2.25.4
2.46.0

16 changes: 1 addition & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,4 @@ Building release candidate kernels
----------------------------------

1. Write kernel version into `version` file, for example 6.0-rc7.
2. Write hash of `linux-*.tar` file (the uncompressed source tarball) into `linux-*.tar.sha256` file.
3. Comment out "normal" tarball section in `.qubesbuilder` and uncomment the one for rc kernel.


As for getting the trustworthy tarball hash, it can be via signed git tag:

```
version=6.0-rc7
git clone -n --depth=1 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git -b v$version linux-rc
cd linux-rc
git verify-tag v$version
# should be signed by Linus, you can find key in kernel.org-1-key.asc
git archive --prefix=linux-$version/ v$version | sha256sum
```

2. Comment out "normal" tarball section in `.qubesbuilder` and uncomment the one for rc kernel.
13 changes: 8 additions & 5 deletions kernel.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,11 @@ Provides: kernel-uname-r = %kernelrelease

ExclusiveArch: x86_64

%if %prerelease
Source0: linux-%{upstream_version}.tar.gz
%else
Source0: linux-%{upstream_version}.tar
%endif
Source1: @dummy-psu@
Source2: @dummy-backlight@
Source3: @linux-utils@
Expand Down Expand Up @@ -153,6 +157,8 @@ Patch61: xen-events-Add-wakeup-support-to-xen-pirq.patch
Patch62: xen-pm-use-suspend.patch
Patch63: xen-pciback-pm-suspend.patch

Patch99: test.patch

%description
Qubes Dom0 kernel.

Expand Down Expand Up @@ -202,12 +208,9 @@ sed -i -e 's/^EXTRAVERSION = -rc.*/EXTRAVERSION =/' Makefile
scripts/diffconfig \
scripts/bloat-o-meter \
scripts/jobserver-exec \
tools/perf/tests/attr.py \
tools/perf/scripts/python/stat-cpi.py \
tools/perf/scripts/python/sched-migration.py \
tools \
Documentation \
scripts/clang-tools/gen_compile_commands.py \
scripts/clang-tools/run-clang-tools.py
scripts/clang-tools
%endif

cd %kernel_build_dir
Expand Down
43 changes: 43 additions & 0 deletions test.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
On Fri, Jan 03, 2025 at 02:00:44PM +0100, Borislav Petkov wrote:
> Adding the author in Fixes to Cc

Thanks, Boris!

> On Fri, Jan 03, 2025 at 07:56:31AM +0100, Juergen Gross wrote:
> > The recently introduced ROX cache for modules is assuming large page
> > support in 64-bit mode without testing the related feature bit. This
> > results in breakage when running as a Xen PV guest, as in this mode
> > large pages are not supported.

The ROX cache does not assume support for large pages, it just had a bug
when dealing with base pages and the patch below should fix it.

Restricting ROX cache only for configurations that support large pages
makes sense on it's own because there's no real benefit from the cache on
such systems, but it does not fix the issue but rather covers it up.

diff --git a/mm/execmem.c b/mm/execmem.c
index be6b234c032e..0090a6f422aa 100644
--- a/mm/execmem.c
+++ b/mm/execmem.c
@@ -266,6 +266,7 @@ static int execmem_cache_populate(struct execmem_range *range, size_t size)
{
unsigned long vm_flags = VM_ALLOW_HUGE_VMAP;
unsigned long start, end;
+ unsigned int page_shift;
struct vm_struct *vm;
size_t alloc_size;
int err = -ENOMEM;
@@ -296,8 +297,9 @@ static int execmem_cache_populate(struct execmem_range *range, size_t size)
if (err)
goto err_free_mem;

+ page_shift = get_vm_area_page_order(vm) + PAGE_SHIFT;
err = vmap_pages_range_noflush(start, end, range->pgprot, vm->pages,
- PMD_SHIFT);
+ page_shift);
if (err)
goto err_free_mem;

--
2.45.2
2 changes: 1 addition & 1 deletion version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.12.9
6.13-rc7