Skip to content
Permalink
Browse files
linux move to 6.2, 6.2.10
updated aufs patches, config
zfs-headers & zfs-kmod rebuild, gpl patches needed as used in zfs-kmod-next
  • Loading branch information
demmm committed Apr 6, 2023
1 parent b739a1c commit 761e47d
Show file tree
Hide file tree
Showing 15 changed files with 550 additions and 432 deletions.
@@ -2,15 +2,15 @@
pkgbase=linux
pkgname=('linux' 'linux-headers' 'linux-docs')
_kernelname=${pkgname#linux}
_basekernel=6.1
pkgver=6.1.11
_basekernel=6.2
pkgver=6.2.10
pkgrel=1
arch=('x86_64')
url="https://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'intel-ucode' 'elfutils' 'cpio')
options=('!strip')
source=("https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.1.tar.xz"
source=("https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.2.tar.xz"
"https://www.kernel.org/pub/linux/kernel/v6.x/patch-${pkgver}.xz"
# the main kernel config files
'config'
@@ -29,18 +29,18 @@ source=("https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.1.tar.xz"
'linux.preset'
'99-linux.hook'
'dracut-install')
md5sums=('475320de08f16c9fa486fc4edfe98b30'
'3398001c2a38219ab6e355c552e62830'
'11fcba88954d33ea3d1dd27091b3f882'
'689feec39ada24e4ab8b2c0e1bde6c6c'
'c1e121db0cec455bd931be8788bc4413'
'9ec72445556860313d706663257692ed'
'5d390ada22f22b3bd8858630ff6be766'
'0efa9266cdfaa82b589c1af320a4c55b'
'4c0ee7ba416417df880551ce487c3f64'
md5sums=('787862593d7bf354cf1a5c37e21fc147'
'e0221ea0e6eeb147c29d2fd72e987ed5'
'c646e898829397e15d323da4174cff9e'
'014ecaa849b47279e945aac979948ab5'
'358803f408779e5ff435ed2f1564e508'
'2274c0327e1b0dd90d0e295fb3cb8da6'
'5d4404e82acc47af7da628a4fc8e23b5'
'e966cde5b038085993552fba75282423'
'e8720168edf51af0846cdf290fc38b21'
'180e55a128db2641e04374ce07d131a7'
'27043cffc55273c647d5441a16127cc7'
'6c6915bf242ca26e22caf051470e6366'
'20bda6619c2e00757b35660ef6d9ac5e'
'8a7600a501df66549078c7c35d70dffb'
'8c52e6d232b461446b7363e86522a720'
'eb14dcfd80c00852ef81ded6e826826a'
'1d7d087c55698405e97161c77387ef81'
@@ -1,11 +1,11 @@
SPDX-License-Identifier: GPL-2.0
aufs6.1 base patch
aufs6.2 base patch

diff --git a/MAINTAINERS b/MAINTAINERS
index 886d3f69ee64..5d2d385c2f0f 100644
index 135d93368d36..7d3230ef47ec 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3455,6 +3455,19 @@ F: include/uapi/linux/audit.h
@@ -3526,6 +3526,19 @@ F: include/uapi/linux/audit.h
F: kernel/audit*
F: lib/*audit.c

@@ -26,7 +26,7 @@ index 886d3f69ee64..5d2d385c2f0f 100644
M: Miguel Ojeda <ojeda@kernel.org>
S: Maintained
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index ad92192c7d61..8ca56da3ca69 100644
index 1518a6423279..7a9928c6db9d 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -645,6 +645,24 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -90,10 +90,10 @@ index 146c9ab0cd4b..c980a0524118 100644
return error;

diff --git a/fs/namespace.c b/fs/namespace.c
index df137ba19d37..faae7f8644ac 100644
index ab467ee58341..8cd34f760f63 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -852,6 +852,12 @@ static inline int check_mnt(struct mount *mnt)
@@ -963,6 +963,12 @@ static inline int check_mnt(struct mount *mnt)
return mnt->mnt_ns == current->nsproxy->mnt_ns;
}

@@ -107,7 +107,7 @@ index df137ba19d37..faae7f8644ac 100644
* vfsmount lock must be held for write
*/
diff --git a/fs/splice.c b/fs/splice.c
index 0878b852b355..d83f9e5cddbc 100644
index 5969b7a1d353..21db9b057d60 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -756,8 +756,8 @@ static int warn_unsupported(struct file *file, const char *op)
@@ -135,18 +135,18 @@ index 0878b852b355..d83f9e5cddbc 100644
unsigned int p_space;
int ret;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 59ae95ddb679..5d296cc3bff8 100644
index c1769a2c5d70..ec560e8704a4 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1364,6 +1364,7 @@ extern void fasync_free(struct fasync_struct *);
@@ -1386,6 +1386,7 @@ extern void fasync_free(struct fasync_struct *);
/* can be called from interrupts */
extern void kill_fasync(struct fasync_struct **, int, int);

+extern int setfl(int fd, struct file *filp, unsigned long arg);
extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
extern int f_setown(struct file *filp, unsigned long arg, int force);
extern void f_delown(struct file *filp);
@@ -2125,6 +2126,7 @@ struct file_operations {
@@ -2113,6 +2114,7 @@ struct file_operations {
ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
int (*check_flags)(int);
@@ -1,5 +1,5 @@
SPDX-License-Identifier: GPL-2.0
aufs6.1 kbuild patch
aufs6.2 kbuild patch

diff --git a/fs/Kconfig b/fs/Kconfig
index 2685a4d0d353..a2df3d4bb3aa 100644
@@ -1,8 +1,8 @@
SPDX-License-Identifier: GPL-2.0
aufs6.1 loopback patch
aufs6.2 loopback patch

diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 8ca56da3ca69..9ac6f67edf09 100644
index 7a9928c6db9d..0bac486deea2 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -54,7 +54,7 @@ struct loop_device {
@@ -224,10 +224,10 @@ index 81922d4faf54..c8a62c267d72 100644

/* ---------------------------------------------------------------------- */
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5d296cc3bff8..216e56f6c7c6 100644
index ec560e8704a4..fc6e4d469419 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2265,6 +2265,10 @@ struct super_operations {
@@ -2255,6 +2255,10 @@ struct super_operations {
struct shrink_control *);
long (*free_cached_objects)(struct super_block *,
struct shrink_control *);
@@ -1,5 +1,5 @@
SPDX-License-Identifier: GPL-2.0
aufs6.1 mmap patch
aufs6.2 mmap patch

diff --git a/fs/proc/base.c b/fs/proc/base.c
index 9e479d7d202b..986c2ae12f8b 100644
@@ -31,10 +31,10 @@ index 4d3493579458..42edd9a42c78 100644
ino = inode->i_ino;
}
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 8a74cdcc9af0..c05071b53f5b 100644
index af1c49ae11b1..cd6a4e461763 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -284,7 +284,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
@@ -285,7 +285,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
const char *name = NULL;

if (file) {
@@ -46,7 +46,7 @@ index 8a74cdcc9af0..c05071b53f5b 100644
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
@@ -1934,7 +1937,7 @@ static int show_numa_map(struct seq_file *m, void *v)
@@ -1940,7 +1943,7 @@ static int show_numa_map(struct seq_file *m, void *v)
struct proc_maps_private *proc_priv = &numa_priv->proc_maps;
struct vm_area_struct *vma = v;
struct numa_maps *md = &numa_priv->md;
@@ -72,14 +72,14 @@ index 2fd06f52b6a4..b01030da424f 100644
ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 974ccca609d2..f5f4fc5e0565 100644
index f13f20258ce9..25f4878a0835 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1954,6 +1954,43 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
@@ -2065,6 +2065,43 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
unmap_mapping_range(mapping, holebegin, holelen, 0);
}

+#if IS_ENABLED(CONFIG_AUFS_FS)
+#if 1 /* IS_ENABLED(CONFIG_AUFS_FS) */
+extern void vma_do_file_update_time(struct vm_area_struct *, const char[], int);
+extern struct file *vma_do_pr_or_file(struct vm_area_struct *, const char[],
+ int);
@@ -120,34 +120,34 @@ index 974ccca609d2..f5f4fc5e0565 100644
void *buf, int len, unsigned int gup_flags);
extern int access_remote_vm(struct mm_struct *mm, unsigned long addr,
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 500e536796ca..ad766e2110ca 100644
index 9757067c3053..b6a0f30cd722 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -413,6 +413,9 @@ struct vm_region {
@@ -504,6 +504,9 @@ struct vm_region {
unsigned long vm_top; /* region allocated to here */
unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */
struct file *vm_file; /* the backing file or NULL */
+#if IS_ENABLED(CONFIG_AUFS_FS)
+#if 1 /* IS_ENABLED(CONFIG_AUFS_FS) */
+ struct file *vm_prfile; /* the virtual backing file or NULL */
+#endif

int vm_usage; /* region usage count (access under nommu_region_sem) */
bool vm_icache_flushed : 1; /* true if the icache has been flushed for
@@ -494,6 +497,9 @@ struct vm_area_struct {
@@ -575,6 +578,9 @@ struct vm_area_struct {
unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE
units */
struct file * vm_file; /* File we map to (can be NULL). */
+#if IS_ENABLED(CONFIG_AUFS_FS)
+#if 1 /* IS_ENABLED(CONFIG_AUFS_FS) */
+ struct file *vm_prfile; /* shadow of vm_file */
+#endif
void * vm_private_data; /* was vm_pte (shared mem) */

#ifdef CONFIG_SWAP
#ifdef CONFIG_ANON_VMA_NAME
diff --git a/kernel/fork.c b/kernel/fork.c
index 08969f5aa38d..61871700033a 100644
index 9f7fe3541897..f9e44ca88a7d 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -661,7 +661,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
@@ -664,7 +664,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
if (file) {
struct address_space *mapping = file->f_mapping;

@@ -164,12 +164,12 @@ index 8e105e5b3e29..c218d042dbce 100644
obj-$(CONFIG_HAVE_BOOTMEM_INFO_NODE) += bootmem_info.o
obj-$(CONFIG_GENERIC_IOREMAP) += ioremap.o
obj-$(CONFIG_SHRINKER_DEBUG) += shrinker_debug.o
+obj-$(CONFIG_AUFS_FS:m=y) += prfile.o
+obj-y += prfile.o
diff --git a/mm/filemap.c b/mm/filemap.c
index 08341616ae7a..410ca60fbf39 100644
index 0e20a8d6dd93..ba1b238d928a 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -3418,7 +3418,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
@@ -3438,7 +3438,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
vm_fault_t ret = VM_FAULT_LOCKED;

sb_start_pagefault(mapping->host->i_sb);
@@ -179,7 +179,7 @@ index 08341616ae7a..410ca60fbf39 100644
if (folio->mapping != mapping) {
folio_unlock(folio);
diff --git a/mm/mmap.c b/mm/mmap.c
index 54abd46e6007..de942692ac82 100644
index 425a9349e610..004eb9dbd99a 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -139,7 +139,7 @@ static void remove_vma(struct vm_area_struct *vma)
@@ -209,7 +209,7 @@ index 54abd46e6007..de942692ac82 100644
}
if (next->anon_vma)
anon_vma_merge(vma, next);
@@ -2224,7 +2224,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -2228,7 +2228,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
goto out_free_mpol;

if (new->vm_file)
@@ -218,7 +218,7 @@ index 54abd46e6007..de942692ac82 100644

if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
@@ -2246,7 +2246,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -2250,7 +2250,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
if (new->vm_ops && new->vm_ops->close)
new->vm_ops->close(new);
if (new->vm_file)
@@ -227,7 +227,7 @@ index 54abd46e6007..de942692ac82 100644
unlink_anon_vmas(new);
out_free_mpol:
mpol_put(vma_policy(new));
@@ -2746,7 +2746,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
@@ -2750,7 +2750,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma);
unmap_and_free_vma:
@@ -236,21 +236,21 @@ index 54abd46e6007..de942692ac82 100644
vma->vm_file = NULL;

/* Undo any partial mapping done by a device driver. */
@@ -2813,6 +2813,9 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -2817,6 +2817,9 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
unsigned long populate = 0;
unsigned long ret = -EINVAL;
struct file *file;
+#if IS_ENABLED(CONFIG_AUFS_FS)
+#if 1 /* IS_ENABLED(CONFIG_AUFS_FS) */
+ struct file *prfile;
+#endif

pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/mm/remap_file_pages.rst.\n",
current->comm, current->pid);
@@ -2871,10 +2874,34 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -2875,10 +2878,34 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
if (vma->vm_flags & VM_LOCKED)
flags |= MAP_LOCKED;

+#if IS_ENABLED(CONFIG_AUFS_FS)
+#if 1 /* IS_ENABLED(CONFIG_AUFS_FS) */
+ vma_get_file(vma);
+ file = vma->vm_file;
+ prfile = vma->vm_prfile;
@@ -281,7 +281,7 @@ index 54abd46e6007..de942692ac82 100644
out:
mmap_write_unlock(mm);
if (populate)
@@ -3222,7 +3249,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
@@ -3226,7 +3253,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
if (anon_vma_clone(new_vma, vma))
goto out_free_mempol;
if (new_vma->vm_file)
@@ -291,7 +291,7 @@ index 54abd46e6007..de942692ac82 100644
new_vma->vm_ops->open(new_vma);
if (vma_link(mm, new_vma))
diff --git a/mm/nommu.c b/mm/nommu.c
index 214c70e1d059..dccbb939d2a9 100644
index 5b83938ecb67..59d483b9c3d3 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -523,7 +523,7 @@ static void __put_nommu_region(struct vm_region *region)
@@ -321,9 +321,9 @@ index 214c70e1d059..dccbb939d2a9 100644
kmem_cache_free(vm_region_jar, region);
region = pregion;
result = start;
@@ -1241,10 +1241,10 @@ unsigned long do_mmap(struct file *file,
up_write(&nommu_region_sem);
@@ -1242,10 +1242,10 @@ unsigned long do_mmap(struct file *file,
error:
mas_destroy(&mas);
if (region->vm_file)
- fput(region->vm_file);
+ vmr_fput(region);

0 comments on commit 761e47d

Please sign in to comment.