mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-05-01 13:14:33 +00:00
versions: kernel 5.10.x
Linux 5.10.x is the new LTS branch, move kata to a more recent kernel branch. Fixes: #1288 Signed-off-by: Carlos Venegas <jos.c.venegas.munoz@intel.com>
This commit is contained in:
parent
753c7270ed
commit
c035cdb3ef
@ -0,0 +1,47 @@
|
||||
From cab495651e8f71c39e87a08abbe051916110b3ca Mon Sep 17 00:00:00 2001
|
||||
From: Julio Montes <julio.montes@intel.com>
|
||||
Date: Mon, 18 Sep 2017 11:46:59 -0500
|
||||
Subject: [PATCH 3/5] NO-UPSTREAM: 9P: always use cached inode to fill in
|
||||
v9fs_vfs_getattr
|
||||
|
||||
So that if in cache=none mode, we don't have to lookup server that
|
||||
might not support open-unlink-fstat operation.
|
||||
|
||||
fixes https://github.com/01org/cc-oci-runtime/issues/47
|
||||
fixes https://github.com/01org/cc-oci-runtime/issues/1062
|
||||
|
||||
Signed-off-by: Peng Tao <bergwolf@gmail.com>
|
||||
---
|
||||
fs/9p/vfs_inode.c | 2 +-
|
||||
fs/9p/vfs_inode_dotl.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
|
||||
index 85ff859d3af5..efdc2a8f37bb 100644
|
||||
--- a/fs/9p/vfs_inode.c
|
||||
+++ b/fs/9p/vfs_inode.c
|
||||
@@ -1080,7 +1080,7 @@ v9fs_vfs_getattr(const struct path *path, struct kstat *stat,
|
||||
|
||||
p9_debug(P9_DEBUG_VFS, "dentry: %p\n", dentry);
|
||||
v9ses = v9fs_dentry2v9ses(dentry);
|
||||
- if (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) {
|
||||
+ if (!d_really_is_negative(dentry) || v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) {
|
||||
generic_fillattr(d_inode(dentry), stat);
|
||||
return 0;
|
||||
}
|
||||
diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c
|
||||
index 4823e1c46999..daa5e6a41864 100644
|
||||
--- a/fs/9p/vfs_inode_dotl.c
|
||||
+++ b/fs/9p/vfs_inode_dotl.c
|
||||
@@ -480,7 +480,7 @@ v9fs_vfs_getattr_dotl(const struct path *path, struct kstat *stat,
|
||||
|
||||
p9_debug(P9_DEBUG_VFS, "dentry: %p\n", dentry);
|
||||
v9ses = v9fs_dentry2v9ses(dentry);
|
||||
- if (v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) {
|
||||
+ if (!d_really_is_negative(dentry) || v9ses->cache == CACHE_LOOSE || v9ses->cache == CACHE_FSCACHE) {
|
||||
generic_fillattr(d_inode(dentry), stat);
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.20.1
|
||||
|
@ -0,0 +1,389 @@
|
||||
From patchwork Mon Jan 18 13:12:59 2021
|
||||
From: Anshuman Khandual <anshuman.khandual@arm.com>
|
||||
Subject: [PATCH V3 1/3] mm/memory_hotplug: Prevalidate the address range being
|
||||
added with platform
|
||||
Date: Mon, 18 Jan 2021 18:42:59 +0530
|
||||
Message-Id: <1610975582-12646-2-git-send-email-anshuman.khandual@arm.com>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1610975582-12646-1-git-send-email-anshuman.khandual@arm.com>
|
||||
References: <1610975582-12646-1-git-send-email-anshuman.khandual@arm.com>
|
||||
X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4
|
||||
Sender: owner-linux-mm@kvack.org
|
||||
Precedence: bulk
|
||||
X-Loop: owner-majordomo@kvack.org
|
||||
List-ID: <linux-mm.kvack.org>
|
||||
|
||||
This introduces memhp_range_allowed() which can be called in various memory
|
||||
hotplug paths to prevalidate the address range which is being added, with
|
||||
the platform. Then memhp_range_allowed() calls memhp_get_pluggable_range()
|
||||
which provides applicable address range depending on whether linear mapping
|
||||
is required or not. For ranges that require linear mapping, it calls a new
|
||||
arch callback arch_get_mappable_range() which the platform can override. So
|
||||
the new callback, in turn provides the platform an opportunity to configure
|
||||
acceptable memory hotplug address ranges in case there are constraints.
|
||||
|
||||
This mechanism will help prevent platform specific errors deep down during
|
||||
hotplug calls. This drops now redundant check_hotplug_memory_addressable()
|
||||
check in __add_pages() but instead adds a VM_BUG_ON() check which would
|
||||
ensure that the range has been validated with memhp_range_allowed() earlier
|
||||
in the call chain. Besides memhp_get_pluggable_range() also can be used by
|
||||
potential memory hotplug callers to avail the allowed physical range which
|
||||
would go through on a given platform.
|
||||
|
||||
This does not really add any new range check in generic memory hotplug but
|
||||
instead compensates for lost checks in arch_add_memory() where applicable
|
||||
and check_hotplug_memory_addressable(), with unified memhp_range_allowed().
|
||||
|
||||
Cc: David Hildenbrand <david@redhat.com>
|
||||
Cc: Andrew Morton <akpm@linux-foundation.org>
|
||||
Cc: linux-mm@kvack.org
|
||||
Cc: linux-kernel@vger.kernel.org
|
||||
Suggested-by: David Hildenbrand <david@redhat.com>
|
||||
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
|
||||
Reviewed-by: Oscar Salvador <osalvador@suse.de>
|
||||
---
|
||||
include/linux/memory_hotplug.h | 10 +++++
|
||||
mm/memory_hotplug.c | 79 ++++++++++++++++++++++++++--------
|
||||
mm/memremap.c | 6 +++
|
||||
3 files changed, 76 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h
|
||||
index 15acce5ab106..439b013f818a 100644
|
||||
--- a/include/linux/memory_hotplug.h
|
||||
+++ b/include/linux/memory_hotplug.h
|
||||
@@ -70,6 +70,9 @@ typedef int __bitwise mhp_t;
|
||||
*/
|
||||
#define MEMHP_MERGE_RESOURCE ((__force mhp_t)BIT(0))
|
||||
|
||||
+bool memhp_range_allowed(u64 start, u64 size, bool need_mapping);
|
||||
+struct range memhp_get_pluggable_range(bool need_mapping);
|
||||
+
|
||||
/*
|
||||
* Extended parameters for memory hotplug:
|
||||
* altmap: alternative allocator for memmap array (optional)
|
||||
@@ -281,6 +284,13 @@ static inline bool movable_node_is_enabled(void)
|
||||
}
|
||||
#endif /* ! CONFIG_MEMORY_HOTPLUG */
|
||||
|
||||
+/*
|
||||
+ * Keep this declaration outside CONFIG_MEMORY_HOTPLUG as some
|
||||
+ * platforms might override and use arch_get_mappable_range()
|
||||
+ * for internal non memory hotplug purposes.
|
||||
+ */
|
||||
+struct range arch_get_mappable_range(void);
|
||||
+
|
||||
#if defined(CONFIG_MEMORY_HOTPLUG) || defined(CONFIG_DEFERRED_STRUCT_PAGE_INIT)
|
||||
/*
|
||||
* pgdat resizing functions
|
||||
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
|
||||
index f9d57b9be8c7..f62664e77ff9 100644
|
||||
--- a/mm/memory_hotplug.c
|
||||
+++ b/mm/memory_hotplug.c
|
||||
@@ -107,6 +107,9 @@ static struct resource *register_memory_resource(u64 start, u64 size,
|
||||
if (strcmp(resource_name, "System RAM"))
|
||||
flags |= IORESOURCE_SYSRAM_DRIVER_MANAGED;
|
||||
|
||||
+ if (!memhp_range_allowed(start, size, true))
|
||||
+ return ERR_PTR(-E2BIG);
|
||||
+
|
||||
/*
|
||||
* Make sure value parsed from 'mem=' only restricts memory adding
|
||||
* while booting, so that memory hotplug won't be impacted. Please
|
||||
@@ -284,22 +287,6 @@ static int check_pfn_span(unsigned long pfn, unsigned long nr_pages,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int check_hotplug_memory_addressable(unsigned long pfn,
|
||||
- unsigned long nr_pages)
|
||||
-{
|
||||
- const u64 max_addr = PFN_PHYS(pfn + nr_pages) - 1;
|
||||
-
|
||||
- if (max_addr >> MAX_PHYSMEM_BITS) {
|
||||
- const u64 max_allowed = (1ull << (MAX_PHYSMEM_BITS + 1)) - 1;
|
||||
- WARN(1,
|
||||
- "Hotplugged memory exceeds maximum addressable address, range=%#llx-%#llx, maximum=%#llx\n",
|
||||
- (u64)PFN_PHYS(pfn), max_addr, max_allowed);
|
||||
- return -E2BIG;
|
||||
- }
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
/*
|
||||
* Reasonably generic function for adding memory. It is
|
||||
* expected that archs that support memory hotplug will
|
||||
@@ -317,9 +304,8 @@ int __ref __add_pages(int nid, unsigned long pfn, unsigned long nr_pages,
|
||||
if (WARN_ON_ONCE(!params->pgprot.pgprot))
|
||||
return -EINVAL;
|
||||
|
||||
- err = check_hotplug_memory_addressable(pfn, nr_pages);
|
||||
- if (err)
|
||||
- return err;
|
||||
+ if(!memhp_range_allowed(PFN_PHYS(pfn), nr_pages * PAGE_SIZE, false))
|
||||
+ return -E2BIG;
|
||||
|
||||
if (altmap) {
|
||||
/*
|
||||
@@ -1180,6 +1166,61 @@ int add_memory_driver_managed(int nid, u64 start, u64 size,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(add_memory_driver_managed);
|
||||
|
||||
+/*
|
||||
+ * Platforms should define arch_get_mappable_range() that provides
|
||||
+ * maximum possible addressable physical memory range for which the
|
||||
+ * linear mapping could be created. The platform returned address
|
||||
+ * range must adhere to these following semantics.
|
||||
+ *
|
||||
+ * - range.start <= range.end
|
||||
+ * - Range includes both end points [range.start..range.end]
|
||||
+ *
|
||||
+ * There is also a fallback definition provided here, allowing the
|
||||
+ * entire possible physical address range in case any platform does
|
||||
+ * not define arch_get_mappable_range().
|
||||
+ */
|
||||
+struct range __weak arch_get_mappable_range(void)
|
||||
+{
|
||||
+ struct range memhp_range = {
|
||||
+ .start = 0UL,
|
||||
+ .end = -1ULL,
|
||||
+ };
|
||||
+ return memhp_range;
|
||||
+}
|
||||
+
|
||||
+struct range memhp_get_pluggable_range(bool need_mapping)
|
||||
+{
|
||||
+ const u64 max_phys = (1ULL << (MAX_PHYSMEM_BITS + 1)) - 1;
|
||||
+ struct range memhp_range;
|
||||
+
|
||||
+ if (need_mapping) {
|
||||
+ memhp_range = arch_get_mappable_range();
|
||||
+ if (memhp_range.start > max_phys) {
|
||||
+ memhp_range.start = 0;
|
||||
+ memhp_range.end = 0;
|
||||
+ }
|
||||
+ memhp_range.end = min_t(u64, memhp_range.end, max_phys);
|
||||
+ } else {
|
||||
+ memhp_range.start = 0;
|
||||
+ memhp_range.end = max_phys;
|
||||
+ }
|
||||
+ return memhp_range;
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(memhp_get_pluggable_range);
|
||||
+
|
||||
+bool memhp_range_allowed(u64 start, u64 size, bool need_mapping)
|
||||
+{
|
||||
+ struct range memhp_range = memhp_get_pluggable_range(need_mapping);
|
||||
+ u64 end = start + size;
|
||||
+
|
||||
+ if (start < end && start >= memhp_range.start && (end - 1) <= memhp_range.end)
|
||||
+ return true;
|
||||
+
|
||||
+ pr_warn("Hotplug memory [%#llx-%#llx] exceeds maximum addressable range [%#llx-%#llx]\n",
|
||||
+ start, end, memhp_range.start, memhp_range.end);
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
#ifdef CONFIG_MEMORY_HOTREMOVE
|
||||
/*
|
||||
* Confirm all pages in a range [start, end) belong to the same zone (skipping
|
||||
diff --git a/mm/memremap.c b/mm/memremap.c
|
||||
index 16b2fb482da1..e15b13736f6a 100644
|
||||
--- a/mm/memremap.c
|
||||
+++ b/mm/memremap.c
|
||||
@@ -253,6 +253,12 @@ static int pagemap_range(struct dev_pagemap *pgmap, struct mhp_params *params,
|
||||
goto err_kasan;
|
||||
}
|
||||
|
||||
+ if (!memhp_range_allowed(range->start, range_len(range), true)) {
|
||||
+ error = -ERANGE;
|
||||
+ mem_hotplug_done();
|
||||
+ goto err_add_memory;
|
||||
+ }
|
||||
+
|
||||
error = arch_add_memory(nid, range->start, range_len(range),
|
||||
params);
|
||||
}
|
||||
|
||||
From patchwork Mon Jan 18 13:13:00 2021
|
||||
From: Anshuman Khandual <anshuman.khandual@arm.com>
|
||||
To: linux-mm@kvack.org,
|
||||
akpm@linux-foundation.org,
|
||||
david@redhat.com,
|
||||
hca@linux.ibm.com,
|
||||
catalin.marinas@arm.com
|
||||
Cc: Anshuman Khandual <anshuman.khandual@arm.com>,
|
||||
Oscar Salvador <osalvador@suse.de>,
|
||||
Vasily Gorbik <gor@linux.ibm.com>,
|
||||
Will Deacon <will@kernel.org>,
|
||||
Ard Biesheuvel <ardb@kernel.org>,
|
||||
Mark Rutland <mark.rutland@arm.com>,
|
||||
linux-arm-kernel@lists.infradead.org,
|
||||
linux-s390@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org
|
||||
Subject: [PATCH V3 2/3] arm64/mm: Define arch_get_mappable_range()
|
||||
Date: Mon, 18 Jan 2021 18:43:00 +0530
|
||||
Message-Id: <1610975582-12646-3-git-send-email-anshuman.khandual@arm.com>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1610975582-12646-1-git-send-email-anshuman.khandual@arm.com>
|
||||
References: <1610975582-12646-1-git-send-email-anshuman.khandual@arm.com>
|
||||
X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4
|
||||
Sender: owner-linux-mm@kvack.org
|
||||
Precedence: bulk
|
||||
X-Loop: owner-majordomo@kvack.org
|
||||
List-ID: <linux-mm.kvack.org>
|
||||
|
||||
This overrides arch_get_mappable_range() on arm64 platform which will be
|
||||
used with recently added generic framework. It drops inside_linear_region()
|
||||
and subsequent check in arch_add_memory() which are no longer required. It
|
||||
also adds a VM_BUG_ON() check that would ensure that memhp_range_allowed()
|
||||
has already been called.
|
||||
|
||||
Cc: Catalin Marinas <catalin.marinas@arm.com>
|
||||
Cc: Will Deacon <will@kernel.org>
|
||||
Cc: Ard Biesheuvel <ardb@kernel.org>
|
||||
Cc: Mark Rutland <mark.rutland@arm.com>
|
||||
Cc: David Hildenbrand <david@redhat.com>
|
||||
Cc: linux-arm-kernel@lists.infradead.org
|
||||
Cc: linux-kernel@vger.kernel.org
|
||||
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
|
||||
Reviewed-by: David Hildenbrand <david@redhat.com>
|
||||
---
|
||||
arch/arm64/mm/mmu.c | 15 +++++++--------
|
||||
1 file changed, 7 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
|
||||
index ae0c3d023824..f2e1770c9f29 100644
|
||||
--- a/arch/arm64/mm/mmu.c
|
||||
+++ b/arch/arm64/mm/mmu.c
|
||||
@@ -1442,16 +1442,19 @@ static void __remove_pgd_mapping(pgd_t *pgdir, unsigned long start, u64 size)
|
||||
free_empty_tables(start, end, PAGE_OFFSET, PAGE_END);
|
||||
}
|
||||
|
||||
-static bool inside_linear_region(u64 start, u64 size)
|
||||
+struct range arch_get_mappable_range(void)
|
||||
{
|
||||
+ struct range memhp_range;
|
||||
+
|
||||
/*
|
||||
* Linear mapping region is the range [PAGE_OFFSET..(PAGE_END - 1)]
|
||||
* accommodating both its ends but excluding PAGE_END. Max physical
|
||||
* range which can be mapped inside this linear mapping range, must
|
||||
* also be derived from its end points.
|
||||
*/
|
||||
- return start >= __pa(_PAGE_OFFSET(vabits_actual)) &&
|
||||
- (start + size - 1) <= __pa(PAGE_END - 1);
|
||||
+ memhp_range.start = __pa(_PAGE_OFFSET(vabits_actual));
|
||||
+ memhp_range.end = __pa(PAGE_END - 1);
|
||||
+ return memhp_range;
|
||||
}
|
||||
|
||||
int arch_add_memory(int nid, u64 start, u64 size,
|
||||
@@ -1459,11 +1462,7 @@ int arch_add_memory(int nid, u64 start, u64 size,
|
||||
{
|
||||
int ret, flags = 0;
|
||||
|
||||
- if (!inside_linear_region(start, size)) {
|
||||
- pr_err("[%llx %llx] is outside linear mapping region\n", start, start + size);
|
||||
- return -EINVAL;
|
||||
- }
|
||||
-
|
||||
+ VM_BUG_ON(!memhp_range_allowed(start, size, true));
|
||||
if (rodata_full || debug_pagealloc_enabled())
|
||||
flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
|
||||
|
||||
|
||||
From patchwork Mon Jan 18 13:13:01 2021
|
||||
From: Anshuman Khandual <anshuman.khandual@arm.com>
|
||||
To: linux-mm@kvack.org,
|
||||
akpm@linux-foundation.org,
|
||||
david@redhat.com,
|
||||
hca@linux.ibm.com,
|
||||
catalin.marinas@arm.com
|
||||
Cc: Anshuman Khandual <anshuman.khandual@arm.com>,
|
||||
Oscar Salvador <osalvador@suse.de>,
|
||||
Vasily Gorbik <gor@linux.ibm.com>,
|
||||
Will Deacon <will@kernel.org>,
|
||||
Ard Biesheuvel <ardb@kernel.org>,
|
||||
Mark Rutland <mark.rutland@arm.com>,
|
||||
linux-arm-kernel@lists.infradead.org,
|
||||
linux-s390@vger.kernel.org,
|
||||
linux-kernel@vger.kernel.org
|
||||
Subject: [PATCH V3 3/3] s390/mm: Define arch_get_mappable_range()
|
||||
Date: Mon, 18 Jan 2021 18:43:01 +0530
|
||||
Message-Id: <1610975582-12646-4-git-send-email-anshuman.khandual@arm.com>
|
||||
X-Mailer: git-send-email 2.7.4
|
||||
In-Reply-To: <1610975582-12646-1-git-send-email-anshuman.khandual@arm.com>
|
||||
References: <1610975582-12646-1-git-send-email-anshuman.khandual@arm.com>
|
||||
X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4
|
||||
Sender: owner-linux-mm@kvack.org
|
||||
Precedence: bulk
|
||||
X-Loop: owner-majordomo@kvack.org
|
||||
List-ID: <linux-mm.kvack.org>
|
||||
|
||||
This overrides arch_get_mappabble_range() on s390 platform which will be
|
||||
used with recently added generic framework. It modifies the existing range
|
||||
check in vmem_add_mapping() using arch_get_mappable_range(). It also adds a
|
||||
VM_BUG_ON() check that would ensure that memhp_range_allowed() has already
|
||||
been called on the hotplug path.
|
||||
|
||||
Cc: Heiko Carstens <hca@linux.ibm.com>
|
||||
Cc: Vasily Gorbik <gor@linux.ibm.com>
|
||||
Cc: David Hildenbrand <david@redhat.com>
|
||||
Cc: linux-s390@vger.kernel.org
|
||||
Cc: linux-kernel@vger.kernel.org
|
||||
Acked-by: Heiko Carstens <hca@linux.ibm.com>
|
||||
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
|
||||
---
|
||||
arch/s390/mm/init.c | 1 +
|
||||
arch/s390/mm/vmem.c | 15 ++++++++++++++-
|
||||
2 files changed, 15 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c
|
||||
index 73a163065b95..97017a4bcc90 100644
|
||||
--- a/arch/s390/mm/init.c
|
||||
+++ b/arch/s390/mm/init.c
|
||||
@@ -297,6 +297,7 @@ int arch_add_memory(int nid, u64 start, u64 size,
|
||||
if (WARN_ON_ONCE(params->pgprot.pgprot != PAGE_KERNEL.pgprot))
|
||||
return -EINVAL;
|
||||
|
||||
+ VM_BUG_ON(!memhp_range_allowed(start, size, true));
|
||||
rc = vmem_add_mapping(start, size);
|
||||
if (rc)
|
||||
return rc;
|
||||
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c
|
||||
index 01f3a5f58e64..afc39ff1cc8d 100644
|
||||
--- a/arch/s390/mm/vmem.c
|
||||
+++ b/arch/s390/mm/vmem.c
|
||||
@@ -4,6 +4,7 @@
|
||||
* Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
|
||||
*/
|
||||
|
||||
+#include <linux/memory_hotplug.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/pfn.h>
|
||||
#include <linux/mm.h>
|
||||
@@ -532,11 +533,23 @@ void vmem_remove_mapping(unsigned long start, unsigned long size)
|
||||
mutex_unlock(&vmem_mutex);
|
||||
}
|
||||
|
||||
+struct range arch_get_mappable_range(void)
|
||||
+{
|
||||
+ struct range memhp_range;
|
||||
+
|
||||
+ memhp_range.start = 0;
|
||||
+ memhp_range.end = VMEM_MAX_PHYS - 1;
|
||||
+ return memhp_range;
|
||||
+}
|
||||
+
|
||||
int vmem_add_mapping(unsigned long start, unsigned long size)
|
||||
{
|
||||
+ struct range range;
|
||||
int ret;
|
||||
|
||||
- if (start + size > VMEM_MAX_PHYS ||
|
||||
+ range = arch_get_mappable_range();
|
||||
+ if (start < range.start ||
|
||||
+ start + size > range.end + 1 ||
|
||||
start + size < start)
|
||||
return -ERANGE;
|
||||
|
@ -154,7 +154,7 @@ assets:
|
||||
url: "https://cdn.kernel.org/pub/linux/kernel/v4.x/"
|
||||
uscan-url: >-
|
||||
https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-(5\.4\..+)\.tar\.gz
|
||||
version: "v5.4.71"
|
||||
version: "v5.10.25"
|
||||
|
||||
kernel-experimental:
|
||||
description: "Linux kernel with virtio-fs support"
|
||||
|
Loading…
Reference in New Issue
Block a user