aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-02-24 11:29:00 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-02-24 12:09:38 +0000
commit66f762db133ac258abede380dd5303d7aa173fa1 (patch)
tree1b522a5a103b16c23c6e23d1d20edc92d24a8cba
parent11442505dc8d047c2e144557be4f910b27f8f4f9 (diff)
downloadaports-66f762db133ac258abede380dd5303d7aa173fa1.tar.bz2
aports-66f762db133ac258abede380dd5303d7aa173fa1.tar.xz
main/linux-grsec: upgrade to grsecurity-2.2.0-2.6.35.11-unofficial
-rw-r--r--main/linux-grsec/APKBUILD7
-rw-r--r--main/linux-grsec/grsecurity-2.2.0-2.6.35.11-unofficial.patch (renamed from main/linux-grsec/grsecurity-2.2.0-2.6.35.10-unofficial.patch)251
2 files changed, 116 insertions, 142 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 84a7daef7e..b4403df641 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -2,11 +2,12 @@
_flavor=grsec
pkgname=linux-${_flavor}
-pkgver=2.6.35.10
+pkgver=2.6.35.11
_kernver=2.6.35
pkgrel=0
pkgdesc="Linux kernel with grsecurity"
url=http://grsecurity.net
+arch="all"
depends="mkinitfs linux-firmware"
makedepends="perl installkernel bash"
options="!strip"
@@ -146,8 +147,8 @@ firmware() {
}
md5sums="091abeb4684ce03d1d936851618687b6 linux-2.6.35.tar.bz2
-0741b3219a009fdfc41c766416007fcf patch-2.6.35.10.bz2
-3855791bfc2ee4fff05fc3c783a3a477 grsecurity-2.2.0-2.6.35.10-unofficial.patch
+573170b7d56d30d06d26b705d4794615 patch-2.6.35.11.bz2
+a3b572360778b04f99ff9c7854d5d60a grsecurity-2.2.0-2.6.35.11-unofficial.patch
eed5bd98c0a3b976891c897763eceff5 0001-xfrm-use-gre-key-as-flow-upper-protocol-info.patch
ea7a7eb2775b71ae5ef24d029a4905bd xfrm-fix-gre-key-endianess.patch
776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch
diff --git a/main/linux-grsec/grsecurity-2.2.0-2.6.35.10-unofficial.patch b/main/linux-grsec/grsecurity-2.2.0-2.6.35.11-unofficial.patch
index bfdddfb8fd..ee248da77e 100644
--- a/main/linux-grsec/grsecurity-2.2.0-2.6.35.10-unofficial.patch
+++ b/main/linux-grsec/grsecurity-2.2.0-2.6.35.11-unofficial.patch
@@ -149,10 +149,10 @@ index 931c806..e6f6ff1 100644
[ Subsystems should have already defined a struct kobj_type as a
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
-index 2b2407d..4ebd036 100644
+index c74ff6f..015e19d 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
-@@ -1910,6 +1910,12 @@ and is between 256 and 4096 characters. It is defined in the file
+@@ -1911,6 +1911,12 @@ and is between 256 and 4096 characters. It is defined in the file
the specified number of seconds. This is to be used if
your oopses keep scrolling off the screen.
@@ -166,7 +166,7 @@ index 2b2407d..4ebd036 100644
pcd. [PARIDE]
diff --git a/Makefile b/Makefile
-index 6538501..6616857 100644
+index 78daa86..1e9e325 100644
--- a/Makefile
+++ b/Makefile
@@ -230,8 +230,8 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -9017,7 +9017,7 @@ index d1f4a76..e1f9b51 100644
#define pgprot_writecombine pgprot_writecombine
extern pgprot_t pgprot_writecombine(pgprot_t prot);
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
-index 7e5c6a6..7093da3 100644
+index eccaebc..d4ae069 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -269,7 +269,7 @@ struct tss_struct {
@@ -9029,7 +9029,7 @@ index 7e5c6a6..7093da3 100644
/*
* Save the original ist values for checking stack pointers during debugging
-@@ -884,8 +884,15 @@ static inline void spin_lock_prefetch(const void *x)
+@@ -861,8 +861,15 @@ static inline void spin_lock_prefetch(const void *x)
*/
#define TASK_SIZE PAGE_OFFSET
#define TASK_SIZE_MAX TASK_SIZE
@@ -9046,7 +9046,7 @@ index 7e5c6a6..7093da3 100644
#define INIT_THREAD { \
.sp0 = sizeof(init_stack) + (long)&init_stack, \
-@@ -902,7 +909,7 @@ static inline void spin_lock_prefetch(const void *x)
+@@ -879,7 +886,7 @@ static inline void spin_lock_prefetch(const void *x)
*/
#define INIT_TSS { \
.x86_tss = { \
@@ -9055,7 +9055,7 @@ index 7e5c6a6..7093da3 100644
.ss0 = __KERNEL_DS, \
.ss1 = __KERNEL_CS, \
.io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \
-@@ -913,11 +920,7 @@ static inline void spin_lock_prefetch(const void *x)
+@@ -890,11 +897,7 @@ static inline void spin_lock_prefetch(const void *x)
extern unsigned long thread_saved_pc(struct task_struct *tsk);
#define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long))
@@ -9068,7 +9068,7 @@ index 7e5c6a6..7093da3 100644
/*
* The below -8 is to reserve 8 bytes on top of the ring0 stack.
-@@ -932,7 +935,7 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
+@@ -909,7 +912,7 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
#define task_pt_regs(task) \
({ \
struct pt_regs *__regs__; \
@@ -9077,7 +9077,7 @@ index 7e5c6a6..7093da3 100644
__regs__ - 1; \
})
-@@ -942,13 +945,13 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
+@@ -919,13 +922,13 @@ extern unsigned long thread_saved_pc(struct task_struct *tsk);
/*
* User space process size. 47bits minus one guard page.
*/
@@ -9093,7 +9093,7 @@ index 7e5c6a6..7093da3 100644
#define TASK_SIZE (test_thread_flag(TIF_IA32) ? \
IA32_PAGE_OFFSET : TASK_SIZE_MAX)
-@@ -985,6 +988,10 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip,
+@@ -962,6 +965,10 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip,
*/
#define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3))
@@ -10513,7 +10513,7 @@ index 4424c73..e90c367 100644
.free_coherent = free_coherent,
.map_page = map_page,
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
-index ad1515d..96832b6 100644
+index 4d90327..f63e390 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -696,7 +696,7 @@ struct IO_APIC_route_entry **alloc_ioapic_entries(void)
@@ -13292,10 +13292,10 @@ index fa6551d..43662ff 100644
/*
* Synchronization.
diff --git a/arch/x86/kernel/microcode_intel.c b/arch/x86/kernel/microcode_intel.c
-index 3561702..f4807b7 100644
+index 2573689..1930d0d 100644
--- a/arch/x86/kernel/microcode_intel.c
+++ b/arch/x86/kernel/microcode_intel.c
-@@ -446,13 +446,13 @@ static enum ucode_state request_microcode_fw(int cpu, struct device *device)
+@@ -440,13 +440,13 @@ static enum ucode_state request_microcode_fw(int cpu, struct device *device)
static int get_ucode_user(void *to, const void *from, size_t n)
{
@@ -13311,7 +13311,7 @@ index 3561702..f4807b7 100644
}
static void microcode_fini_cpu(int cpu)
-@@ -463,7 +463,7 @@ static void microcode_fini_cpu(int cpu)
+@@ -457,7 +457,7 @@ static void microcode_fini_cpu(int cpu)
uci->mc = NULL;
}
@@ -13320,7 +13320,7 @@ index 3561702..f4807b7 100644
.request_microcode_user = request_microcode_user,
.request_microcode_fw = request_microcode_fw,
.collect_cpu_info = collect_cpu_info,
-@@ -471,7 +471,7 @@ static struct microcode_ops microcode_intel_ops = {
+@@ -465,7 +465,7 @@ static struct microcode_ops microcode_intel_ops = {
.microcode_fini_cpu = microcode_fini_cpu,
};
@@ -14150,7 +14150,7 @@ index 4fd173c..9dc1de7 100644
if (current_thread_info()->status & TS_RESTORE_SIGMASK)
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
-index 821ee1b..e29b497 100644
+index 40eb0f9..c493745 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -786,7 +786,11 @@ do_rest:
@@ -15414,7 +15414,7 @@ index 1b950d1..ca83b2a 100644
EXPORT_SYMBOL(copy_page);
EXPORT_SYMBOL(clear_page);
diff --git a/arch/x86/kernel/xsave.c b/arch/x86/kernel/xsave.c
-index 37e68fc..121259e 100644
+index aa8bf4f..60b86b9 100644
--- a/arch/x86/kernel/xsave.c
+++ b/arch/x86/kernel/xsave.c
@@ -54,7 +54,7 @@ int check_for_xstate(struct i387_fxsave_struct __user *buf,
@@ -20568,7 +20568,7 @@ index 9c57cb1..e2731ff 100644
syscall_init(); /* This sets MSR_*STAR and related */
#endif
diff --git a/arch/x86/vdso/Makefile b/arch/x86/vdso/Makefile
-index 6b4ffed..f55f243 100644
+index dd78ef6..ccd4889 100644
--- a/arch/x86/vdso/Makefile
+++ b/arch/x86/vdso/Makefile
@@ -122,7 +122,7 @@ quiet_cmd_vdso = VDSO $@
@@ -25445,7 +25445,7 @@ index 607241c..54b4fe6 100644
if (regcomp
(&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) {
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
-index a718463..2569728 100644
+index cb5b4ce..68a16ab 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -562,7 +562,7 @@ static bool radeon_switcheroo_can_switch(struct pci_dev *pdev)
@@ -26223,7 +26223,7 @@ index f34b22b..04ac86f 100644
static int psaux_registered;
#endif
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
-index 8c53926..5259b1e 100644
+index a0730fd..531c1cb 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -183,7 +183,7 @@ static const struct dmi_system_id __initconst i8042_dmi_noloop_table[] = {
@@ -26235,8 +26235,8 @@ index 8c53926..5259b1e 100644
};
/*
-@@ -420,7 +420,7 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = {
- DMI_MATCH(DMI_PRODUCT_VERSION, "0100"),
+@@ -427,7 +427,7 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = {
+ DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V13"),
},
},
- { }
@@ -26244,7 +26244,7 @@ index 8c53926..5259b1e 100644
};
static const struct dmi_system_id __initconst i8042_dmi_reset_table[] = {
-@@ -494,7 +494,7 @@ static const struct dmi_system_id __initconst i8042_dmi_reset_table[] = {
+@@ -501,7 +501,7 @@ static const struct dmi_system_id __initconst i8042_dmi_reset_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1720"),
},
},
@@ -26253,7 +26253,7 @@ index 8c53926..5259b1e 100644
};
#ifdef CONFIG_PNP
-@@ -513,7 +513,7 @@ static const struct dmi_system_id __initconst i8042_dmi_nopnp_table[] = {
+@@ -520,7 +520,7 @@ static const struct dmi_system_id __initconst i8042_dmi_nopnp_table[] = {
DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"),
},
},
@@ -26262,7 +26262,7 @@ index 8c53926..5259b1e 100644
};
static const struct dmi_system_id __initconst i8042_dmi_laptop_table[] = {
-@@ -537,7 +537,7 @@ static const struct dmi_system_id __initconst i8042_dmi_laptop_table[] = {
+@@ -544,7 +544,7 @@ static const struct dmi_system_id __initconst i8042_dmi_laptop_table[] = {
DMI_MATCH(DMI_CHASSIS_TYPE, "14"), /* Sub-Notebook */
},
},
@@ -26271,7 +26271,7 @@ index 8c53926..5259b1e 100644
};
#endif
-@@ -611,7 +611,7 @@ static const struct dmi_system_id __initconst i8042_dmi_dritek_table[] = {
+@@ -629,7 +629,7 @@ static const struct dmi_system_id __initconst i8042_dmi_dritek_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 4280"),
},
},
@@ -26554,7 +26554,7 @@ index 1742435..014d6d8 100644
#endif
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
-index 9924ea2..498330c 100644
+index 4a83321..04612a8 100644
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
@@ -363,7 +363,7 @@ static int device_area_is_invalid(struct dm_target *ti, struct dm_dev *dev,
@@ -26567,10 +26567,10 @@ index 9924ea2..498330c 100644
"start=%llu, len=%llu, dev_size=%llu",
dm_device_name(ti->table->md), bdevname(bdev, b),
diff --git a/drivers/md/md.c b/drivers/md/md.c
-index 7de96c2..d26e244 100644
+index db6552c..55e0ff9 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
-@@ -6352,7 +6352,7 @@ static int md_seq_show(struct seq_file *seq, void *v)
+@@ -6351,7 +6351,7 @@ static int md_seq_show(struct seq_file *seq, void *v)
chunk_kb ? "KB" : "B");
if (bitmap->file) {
seq_printf(seq, ", file: ");
@@ -26579,7 +26579,7 @@ index 7de96c2..d26e244 100644
}
seq_printf(seq, "\n");
-@@ -6446,7 +6446,7 @@ static int is_mddev_idle(mddev_t *mddev, int init)
+@@ -6445,7 +6445,7 @@ static int is_mddev_idle(mddev_t *mddev, int init)
struct gendisk *disk = rdev->bdev->bd_contains->bd_disk;
curr_events = (int)part_stat_read(&disk->part0, sectors[0]) +
(int)part_stat_read(&disk->part0, sectors[1]) -
@@ -28412,10 +28412,10 @@ index 3dcddfe..58216cb 100644
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
-index be1a8fc..f67861f 100644
+index 8dc5fb1..75f6440 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
-@@ -3899,7 +3899,7 @@ static struct pci_driver qla2xxx_pci_driver = {
+@@ -3900,7 +3900,7 @@ static struct pci_driver qla2xxx_pci_driver = {
.err_handler = &qla2xxx_err_handler,
};
@@ -31268,7 +31268,7 @@ index 3745f61..b680a98 100644
i += packet_length_size;
if (copy_to_user(&buf[i], msg_ctx->msg, msg_ctx->msg_size))
diff --git a/fs/exec.c b/fs/exec.c
-index dd8cabd..b2adde2 100644
+index e03ddd4..5d9b0ce 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -55,12 +55,24 @@
@@ -31338,8 +31338,8 @@ index dd8cabd..b2adde2 100644
+
vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
INIT_LIST_HEAD(&vma->anon_vma_chain);
- err = insert_vm_struct(mm, vma);
-@@ -272,6 +281,12 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
+
+@@ -277,6 +286,12 @@ static int __bprm_mm_init(struct linux_binprm *bprm)
mm->stack_vm = mm->total_vm = 1;
up_write(&mm->mmap_sem);
bprm->p = vma->vm_end - sizeof(void *);
@@ -31352,7 +31352,7 @@ index dd8cabd..b2adde2 100644
return 0;
err:
up_write(&mm->mmap_sem);
-@@ -506,7 +521,7 @@ int copy_strings_kernel(int argc,char ** argv, struct linux_binprm *bprm)
+@@ -511,7 +526,7 @@ int copy_strings_kernel(int argc,char ** argv, struct linux_binprm *bprm)
int r;
mm_segment_t oldfs = get_fs();
set_fs(KERNEL_DS);
@@ -31361,7 +31361,7 @@ index dd8cabd..b2adde2 100644
set_fs(oldfs);
return r;
}
-@@ -536,7 +551,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
+@@ -541,7 +556,8 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
unsigned long new_end = old_end - shift;
struct mmu_gather *tlb;
@@ -31371,7 +31371,7 @@ index dd8cabd..b2adde2 100644
/*
* ensure there are no vmas between where we want to go
-@@ -545,6 +561,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
+@@ -550,6 +566,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift)
if (vma != find_vma(mm, new_start))
return -EFAULT;
@@ -31382,7 +31382,7 @@ index dd8cabd..b2adde2 100644
/*
* cover the whole range: [new_start, old_end)
*/
-@@ -640,8 +660,28 @@ int setup_arg_pages(struct linux_binprm *bprm,
+@@ -645,8 +665,28 @@ int setup_arg_pages(struct linux_binprm *bprm,
bprm->exec -= stack_shift;
down_write(&mm->mmap_sem);
@@ -31411,7 +31411,7 @@ index dd8cabd..b2adde2 100644
/*
* Adjust stack execute permissions; explicitly enable for
* EXSTACK_ENABLE_X, disable for EXSTACK_DISABLE_X and leave alone
-@@ -660,13 +700,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
+@@ -665,13 +705,6 @@ int setup_arg_pages(struct linux_binprm *bprm,
goto out_unlock;
BUG_ON(prev != vma);
@@ -31425,7 +31425,7 @@ index dd8cabd..b2adde2 100644
/* mprotect_fixup is overkill to remove the temporary stack flags */
vma->vm_flags &= ~VM_STACK_INCOMPLETE_SETUP;
-@@ -706,7 +739,7 @@ struct file *open_exec(const char *name)
+@@ -711,7 +744,7 @@ struct file *open_exec(const char *name)
int err;
file = do_filp_open(AT_FDCWD, name,
@@ -31434,7 +31434,7 @@ index dd8cabd..b2adde2 100644
MAY_EXEC | MAY_OPEN);
if (IS_ERR(file))
goto out;
-@@ -743,7 +776,7 @@ int kernel_read(struct file *file, loff_t offset,
+@@ -748,7 +781,7 @@ int kernel_read(struct file *file, loff_t offset,
old_fs = get_fs();
set_fs(get_ds());
/* The cast to a user pointer is valid due to the set_fs() */
@@ -31443,7 +31443,7 @@ index dd8cabd..b2adde2 100644
set_fs(old_fs);
return result;
}
-@@ -1161,7 +1194,7 @@ int check_unsafe_exec(struct linux_binprm *bprm)
+@@ -1166,7 +1199,7 @@ int check_unsafe_exec(struct linux_binprm *bprm)
}
rcu_read_unlock();
@@ -31452,7 +31452,7 @@ index dd8cabd..b2adde2 100644
bprm->unsafe |= LSM_UNSAFE_SHARE;
} else {
res = -EAGAIN;
-@@ -1357,6 +1390,11 @@ int do_execve(char * filename,
+@@ -1362,6 +1395,11 @@ int do_execve(char * filename,
char __user *__user *envp,
struct pt_regs * regs)
{
@@ -31464,7 +31464,7 @@ index dd8cabd..b2adde2 100644
struct linux_binprm *bprm;
struct file *file;
struct files_struct *displaced;
-@@ -1393,6 +1431,18 @@ int do_execve(char * filename,
+@@ -1398,6 +1436,18 @@ int do_execve(char * filename,
bprm->filename = filename;
bprm->interp = filename;
@@ -31483,7 +31483,7 @@ index dd8cabd..b2adde2 100644
retval = bprm_mm_init(bprm);
if (retval)
goto out_file;
-@@ -1422,10 +1472,41 @@ int do_execve(char * filename,
+@@ -1427,10 +1477,41 @@ int do_execve(char * filename,
if (retval < 0)
goto out;
@@ -31526,7 +31526,7 @@ index dd8cabd..b2adde2 100644
/* execve succeeded */
current->fs->in_exec = 0;
-@@ -1436,6 +1517,14 @@ int do_execve(char * filename,
+@@ -1441,6 +1522,14 @@ int do_execve(char * filename,
put_files_struct(displaced);
return retval;
@@ -31541,7 +31541,7 @@ index dd8cabd..b2adde2 100644
out:
if (bprm->mm) {
acct_arg_size(bprm, 0);
-@@ -1601,6 +1690,217 @@ out:
+@@ -1606,6 +1695,217 @@ out:
return ispipe;
}
@@ -31759,7 +31759,7 @@ index dd8cabd..b2adde2 100644
static int zap_process(struct task_struct *start, int exit_code)
{
struct task_struct *t;
-@@ -1811,17 +2111,17 @@ static void wait_for_dump_helpers(struct file *file)
+@@ -1816,17 +2116,17 @@ static void wait_for_dump_helpers(struct file *file)
pipe = file->f_path.dentry->d_inode->i_pipe;
pipe_lock(pipe);
@@ -31782,7 +31782,7 @@ index dd8cabd..b2adde2 100644
pipe_unlock(pipe);
}
-@@ -1929,6 +2229,10 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
+@@ -1934,6 +2234,10 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs)
*/
clear_thread_flag(TIF_SIGPENDING);
@@ -45411,10 +45411,10 @@ index 074b620..c8823dc 100644
int hasvdso;
};
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
-index 7b35803..e46aa64 100644
+index c35de76..0989056 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
-@@ -1331,20 +1331,20 @@ static inline int blk_integrity_rq(struct request *rq)
+@@ -1334,20 +1334,20 @@ static inline int blk_integrity_rq(struct request *rq)
#endif /* CONFIG_BLK_DEV_INTEGRITY */
struct block_device_operations {
@@ -47660,7 +47660,7 @@ index 7721674..ad5bcc8 100644
void anon_vma_free(struct anon_vma *);
diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 5ee397e..0424d22 100644
+index 1272de4..bd29821 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -100,6 +100,7 @@ struct robust_list_head;
@@ -49382,7 +49382,7 @@ index ebe4a28..19a35f3 100644
#ifdef CONFIG_MODULE_UNLOAD
{
diff --git a/kernel/exit.c b/kernel/exit.c
-index d1e6789..db62916 100644
+index 41d44c3..85cbcfe 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -56,6 +56,10 @@
@@ -49396,7 +49396,7 @@ index d1e6789..db62916 100644
static void exit_mm(struct task_struct * tsk);
static void __unhash_process(struct task_struct *p, bool group_dead)
-@@ -162,6 +166,8 @@ void release_task(struct task_struct * p)
+@@ -170,6 +174,8 @@ void release_task(struct task_struct * p)
struct task_struct *leader;
int zap_leader;
repeat:
@@ -49405,7 +49405,7 @@ index d1e6789..db62916 100644
tracehook_prepare_release_task(p);
/* don't need to get the RCU readlock here - the process is dead and
* can't be modifying its own credentials. But shut RCU-lockdep up */
-@@ -331,11 +337,22 @@ static void reparent_to_kthreadd(void)
+@@ -339,11 +345,22 @@ static void reparent_to_kthreadd(void)
{
write_lock_irq(&tasklist_lock);
@@ -49428,7 +49428,7 @@ index d1e6789..db62916 100644
/* Set the exit signal to SIGCHLD so we signal init on exit */
current->exit_signal = SIGCHLD;
-@@ -387,7 +404,7 @@ int allow_signal(int sig)
+@@ -395,7 +412,7 @@ int allow_signal(int sig)
* know it'll be handled, so that they don't get converted to
* SIGKILL or just silently dropped.
*/
@@ -49437,7 +49437,7 @@ index d1e6789..db62916 100644
recalc_sigpending();
spin_unlock_irq(&current->sighand->siglock);
return 0;
-@@ -423,6 +440,17 @@ void daemonize(const char *name, ...)
+@@ -431,6 +448,17 @@ void daemonize(const char *name, ...)
vsnprintf(current->comm, sizeof(current->comm), name, args);
va_end(args);
@@ -49455,7 +49455,7 @@ index d1e6789..db62916 100644
/*
* If we were started as result of loading a module, close all of the
* user space pages. We don't need them, and if we didn't close them
-@@ -969,6 +997,9 @@ NORET_TYPE void do_exit(long code)
+@@ -977,6 +1005,9 @@ NORET_TYPE void do_exit(long code)
tsk->exit_code = code;
taskstats_exit(tsk, group_dead);
@@ -49466,10 +49466,10 @@ index d1e6789..db62916 100644
if (group_dead)
diff --git a/kernel/fork.c b/kernel/fork.c
-index e96c0cd..a0bb859 100644
+index bc0af81..23d878d 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
-@@ -276,7 +276,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
+@@ -277,7 +277,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
*stackend = STACK_END_MAGIC; /* for overflow detection */
#ifdef CONFIG_CC_STACKPROTECTOR
@@ -49478,7 +49478,7 @@ index e96c0cd..a0bb859 100644
#endif
/* One for us, one for whoever does the "release_task()" (usually parent) */
-@@ -298,13 +298,78 @@ out:
+@@ -299,13 +299,78 @@ out:
}
#ifdef CONFIG_MMU
@@ -49559,7 +49559,7 @@ index e96c0cd..a0bb859 100644
down_write(&oldmm->mmap_sem);
flush_cache_dup_mm(oldmm);
-@@ -316,8 +381,8 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -317,8 +382,8 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
mm->locked_vm = 0;
mm->mmap = NULL;
mm->mmap_cache = NULL;
@@ -49570,7 +49570,7 @@ index e96c0cd..a0bb859 100644
mm->map_count = 0;
cpumask_clear(mm_cpumask(mm));
mm->mm_rb = RB_ROOT;
-@@ -330,8 +395,6 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -331,8 +396,6 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
prev = NULL;
for (mpnt = oldmm->mmap; mpnt; mpnt = mpnt->vm_next) {
@@ -49579,7 +49579,7 @@ index e96c0cd..a0bb859 100644
if (mpnt->vm_flags & VM_DONTCOPY) {
long pages = vma_pages(mpnt);
mm->total_vm -= pages;
-@@ -339,56 +402,13 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -340,56 +403,13 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
-pages);
continue;
}
@@ -49640,7 +49640,7 @@ index e96c0cd..a0bb859 100644
* Link in the new vma and copy the page table entries.
*/
*pprev = tmp;
-@@ -409,6 +429,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -410,6 +430,31 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
if (retval)
goto out;
}
@@ -49672,7 +49672,7 @@ index e96c0cd..a0bb859 100644
/* a new mm has just been created */
arch_dup_mmap(oldmm, mm);
retval = 0;
-@@ -417,14 +462,6 @@ out:
+@@ -418,14 +463,6 @@ out:
flush_tlb_mm(oldmm);
up_write(&oldmm->mmap_sem);
return retval;
@@ -49687,7 +49687,7 @@ index e96c0cd..a0bb859 100644
}
static inline int mm_alloc_pgd(struct mm_struct * mm)
-@@ -760,13 +797,14 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk)
+@@ -761,13 +798,14 @@ static int copy_fs(unsigned long clone_flags, struct task_struct *tsk)
write_unlock(&fs->lock);
return -EAGAIN;
}
@@ -49703,7 +49703,7 @@ index e96c0cd..a0bb859 100644
return 0;
}
-@@ -1019,10 +1057,13 @@ static struct task_struct *copy_process(unsigned long clone_flags,
+@@ -1020,10 +1058,13 @@ static struct task_struct *copy_process(unsigned long clone_flags,
DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled);
#endif
retval = -EAGAIN;
@@ -49719,7 +49719,7 @@ index e96c0cd..a0bb859 100644
goto bad_fork_free;
}
-@@ -1176,6 +1217,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
+@@ -1177,6 +1218,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
goto bad_fork_free_pid;
}
@@ -49728,7 +49728,7 @@ index e96c0cd..a0bb859 100644
p->set_child_tid = (clone_flags & CLONE_CHILD_SETTID) ? child_tidptr : NULL;
/*
* Clear TID on mm_release()?
-@@ -1328,6 +1371,8 @@ bad_fork_cleanup_count:
+@@ -1329,6 +1372,8 @@ bad_fork_cleanup_count:
bad_fork_free:
free_task(p);
fork_out:
@@ -49737,7 +49737,7 @@ index e96c0cd..a0bb859 100644
return ERR_PTR(retval);
}
-@@ -1433,6 +1478,8 @@ long do_fork(unsigned long clone_flags,
+@@ -1434,6 +1479,8 @@ long do_fork(unsigned long clone_flags,
if (clone_flags & CLONE_PARENT_SETTID)
put_user(nr, parent_tidptr);
@@ -49746,7 +49746,7 @@ index e96c0cd..a0bb859 100644
if (clone_flags & CLONE_VFORK) {
p->vfork_done = &vfork;
init_completion(&vfork);
-@@ -1557,7 +1604,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
+@@ -1558,7 +1605,7 @@ static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
return 0;
/* don't need lock here; in the worst case we'll do useless copy */
@@ -49755,7 +49755,7 @@ index e96c0cd..a0bb859 100644
return 0;
*new_fsp = copy_fs_struct(fs);
-@@ -1680,7 +1727,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
+@@ -1681,7 +1728,8 @@ SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
fs = current->fs;
write_lock(&fs->lock);
current->fs = new_fs;
@@ -50816,7 +50816,7 @@ index b0f28dd..d380af8 100644
mutex_lock(&pm_mutex);
suspend_ops = ops;
diff --git a/kernel/printk.c b/kernel/printk.c
-index 444b770..6a0eaf4 100644
+index b7b7f90..dcc56c8 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -266,6 +266,11 @@ int do_syslog(int type, char __user *buf, int len, bool from_file)
@@ -50975,10 +50975,10 @@ index a960481..d373438 100644
WARN_ON(pendowner->pi_blocked_on->lock != lock);
diff --git a/kernel/sched.c b/kernel/sched.c
-index 837f480..b9c779e 100644
+index d4f71b0..5a23d2f 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
-@@ -4259,6 +4259,8 @@ int can_nice(const struct task_struct *p, const int nice)
+@@ -4387,6 +4387,8 @@ int can_nice(const struct task_struct *p, const int nice)
/* convert nice value [19,-20] to rlimit style value [1,40] */
int nice_rlim = 20 - nice;
@@ -50987,7 +50987,7 @@ index 837f480..b9c779e 100644
return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) ||
capable(CAP_SYS_NICE));
}
-@@ -4292,7 +4294,8 @@ SYSCALL_DEFINE1(nice, int, increment)
+@@ -4420,7 +4422,8 @@ SYSCALL_DEFINE1(nice, int, increment)
if (nice > 19)
nice = 19;
@@ -50997,7 +50997,7 @@ index 837f480..b9c779e 100644
return -EPERM;
retval = security_task_setnice(current, nice);
-@@ -4439,6 +4442,7 @@ recheck:
+@@ -4567,6 +4570,7 @@ recheck:
rlim_rtprio = task_rlimit(p, RLIMIT_RTPRIO);
unlock_task_sighand(p, &flags);
@@ -51005,7 +51005,7 @@ index 837f480..b9c779e 100644
/* can't set/change the rt policy */
if (policy != p->policy && !rlim_rtprio)
return -EPERM;
-@@ -6593,7 +6597,7 @@ static void init_sched_groups_power(int cpu, struct sched_domain *sd)
+@@ -6721,7 +6725,7 @@ static void init_sched_groups_power(int cpu, struct sched_domain *sd)
long power;
int weight;
@@ -51622,10 +51622,10 @@ index 2f3b585..4ae39fa 100644
return -ENOMEM;
return 0;
diff --git a/kernel/timer.c b/kernel/timer.c
-index ee305c8..91cbbfe 100644
+index f7dec45..ffbc530 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
-@@ -1272,7 +1272,7 @@ void update_process_times(int user_tick)
+@@ -1278,7 +1278,7 @@ void update_process_times(int user_tick)
/*
* This function runs timers and the timer-tq in bottom half context.
*/
@@ -51673,10 +51673,10 @@ index 6cd7334..3b75866 100644
struct buffer_page *page, struct list_head *list)
{
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index 086d363..e751991 100644
+index 755d3ee..0e1e804 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
-@@ -3965,10 +3965,9 @@ static const struct file_operations tracing_dyn_info_fops = {
+@@ -3973,10 +3973,9 @@ static const struct file_operations tracing_dyn_info_fops = {
};
#endif
@@ -51688,7 +51688,7 @@ index 086d363..e751991 100644
static int once;
if (d_tracer)
-@@ -3988,10 +3987,9 @@ struct dentry *tracing_init_dentry(void)
+@@ -3996,10 +3995,9 @@ struct dentry *tracing_init_dentry(void)
return d_tracer;
}
@@ -52999,7 +52999,7 @@ index b70919c..9935a98 100644
capable(CAP_IPC_LOCK))
ret = do_mlockall(flags);
diff --git a/mm/mmap.c b/mm/mmap.c
-index 3a94362..b34ead4 100644
+index 073b39d..21d6dac 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -44,6 +44,16 @@
@@ -54215,7 +54215,7 @@ index 3a94362..b34ead4 100644
if (cur + npages > lim)
return 0;
return 1;
-@@ -2455,6 +2930,17 @@ int install_special_mapping(struct mm_struct *mm,
+@@ -2456,6 +2931,17 @@ int install_special_mapping(struct mm_struct *mm,
vma->vm_start = addr;
vma->vm_end = addr + len;
@@ -55769,27 +55769,20 @@ index d29e582..028a383 100644
#undef __HANDLE_ITEM
}
diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c
-index cfdfd7e..763fd0b 100644
+index 6e2371a..763fd0b 100644
--- a/net/ax25/af_ax25.c
+++ b/net/ax25/af_ax25.c
-@@ -1392,6 +1392,7 @@ static int ax25_getname(struct socket *sock, struct sockaddr *uaddr,
+@@ -1392,7 +1392,7 @@ static int ax25_getname(struct socket *sock, struct sockaddr *uaddr,
ax25_cb *ax25;
int err = 0;
+- memset(fsa, 0, sizeof(fsa));
+ memset(fsa, 0, sizeof(*fsa));
lock_sock(sk);
ax25 = ax25_sk(sk);
-@@ -1403,7 +1404,6 @@ static int ax25_getname(struct socket *sock, struct sockaddr *uaddr,
-
- fsa->fsa_ax25.sax25_family = AF_AX25;
- fsa->fsa_ax25.sax25_call = ax25->dest_addr;
-- fsa->fsa_ax25.sax25_ndigis = 0;
-
- if (ax25->digipeat != NULL) {
- ndigi = ax25->digipeat->ndigi;
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
-index 27ae946..cfb0d8f 100644
+index 5a9bcfe..997b935 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1461,7 +1461,7 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
@@ -55876,10 +55869,10 @@ index 99e7052..1fddc80 100644
.store = rx_queue_attr_store,
};
diff --git a/net/core/sock.c b/net/core/sock.c
-index 2cf7f9f..3d9bb13 100644
+index e734700..ec5ceae 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
-@@ -915,7 +915,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
+@@ -930,7 +930,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
return -ENOTCONN;
if (lv < len)
return -EINVAL;
@@ -55888,7 +55881,7 @@ index 2cf7f9f..3d9bb13 100644
return -EFAULT;
goto lenout;
}
-@@ -948,7 +948,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
+@@ -963,7 +963,7 @@ int sock_getsockopt(struct socket *sock, int level, int optname,
if (len > lv)
len = lv;
@@ -56056,7 +56049,7 @@ index 0189deb..f463d6bad 100644
ts = rt->peer->tcp_ts;
tsage = get_seconds() - rt->peer->tcp_ts_stamp;
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
-index fe193e5..d764db2 100644
+index 163a5c1..0dcc52d 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -85,6 +85,9 @@
@@ -56069,7 +56062,7 @@ index fe193e5..d764db2 100644
#ifdef CONFIG_TCP_MD5SIG
static struct tcp_md5sig_key *tcp_v4_md5_do_lookup(struct sock *sk,
-@@ -1593,6 +1596,9 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
+@@ -1591,6 +1594,9 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
return 0;
reset:
@@ -56079,7 +56072,7 @@ index fe193e5..d764db2 100644
tcp_v4_send_reset(rsk, skb);
discard:
kfree_skb(skb);
-@@ -1654,12 +1660,19 @@ int tcp_v4_rcv(struct sk_buff *skb)
+@@ -1652,12 +1658,19 @@ int tcp_v4_rcv(struct sk_buff *skb)
TCP_SKB_CB(skb)->sacked = 0;
sk = __inet_lookup_skb(&tcp_hashinfo, skb, th->source, th->dest);
@@ -56102,7 +56095,7 @@ index fe193e5..d764db2 100644
if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) {
NET_INC_STATS_BH(net, LINUX_MIB_TCPMINTTLDROP);
-@@ -1709,6 +1722,10 @@ no_tcp_socket:
+@@ -1707,6 +1720,10 @@ no_tcp_socket:
bad_packet:
TCP_INC_STATS_BH(net, TCP_MIB_INERRS);
} else {
@@ -56113,7 +56106,7 @@ index fe193e5..d764db2 100644
tcp_v4_send_reset(NULL, skb);
}
-@@ -2316,7 +2333,11 @@ static void get_openreq4(struct sock *sk, struct request_sock *req,
+@@ -2314,7 +2331,11 @@ static void get_openreq4(struct sock *sk, struct request_sock *req,
0, /* non standard timer */
0, /* open_requests have no inode */
atomic_read(&sk->sk_refcnt),
@@ -56125,7 +56118,7 @@ index fe193e5..d764db2 100644
len);
}
-@@ -2366,7 +2387,12 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
+@@ -2364,7 +2385,12 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
sock_i_uid(sk),
icsk->icsk_probes_out,
sock_i_ino(sk),
@@ -56139,7 +56132,7 @@ index fe193e5..d764db2 100644
jiffies_to_clock_t(icsk->icsk_rto),
jiffies_to_clock_t(icsk->icsk_ack.ato),
(icsk->icsk_ack.quick << 1) | icsk->icsk_ack.pingpong,
-@@ -2394,7 +2420,13 @@ static void get_timewait4_sock(struct inet_timewait_sock *tw,
+@@ -2392,7 +2418,13 @@ static void get_timewait4_sock(struct inet_timewait_sock *tw,
" %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %p%n",
i, src, srcp, dest, destp, tw->tw_substate, 0, 0,
3, jiffies_to_clock_t(ttd), 0, 0, 0, 0,
@@ -56770,7 +56763,7 @@ index 47438b4..bee0611 100644
return p;
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
-index 680bcb7..bd3d669 100644
+index 1ec650b..c5bbf4f 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -173,7 +173,7 @@ static __le16 ieee80211_duration(struct ieee80211_tx_data *tx, int group_addr,
@@ -56932,38 +56925,18 @@ index 06cb027..6faef38 100644
*uaddr_len = sizeof(struct sockaddr_ax25);
}
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
-index 2078a27..3f1f205 100644
+index 2f68bbd..cd27681 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
-@@ -1595,8 +1595,9 @@ static int packet_recvmsg(struct kiocb *iocb, struct socket *sock,
-
- err = -EINVAL;
+@@ -1597,6 +1597,7 @@ static int packet_recvmsg(struct kiocb *iocb, struct socket *sock,
vnet_hdr_len = sizeof(vnet_hdr);
-- if ((len -= vnet_hdr_len) < 0)
-+ if (len < vnet_hdr_len)
+ if (len < vnet_hdr_len)
goto out_free;
+ len -= vnet_hdr_len;
- if (skb_is_gso(skb)) {
- struct skb_shared_info *sinfo = skb_shinfo(skb);
-@@ -1704,7 +1705,7 @@ static int packet_getname_spkt(struct socket *sock, struct sockaddr *uaddr,
- rcu_read_lock();
- dev = dev_get_by_index_rcu(sock_net(sk), pkt_sk(sk)->ifindex);
- if (dev)
-- strlcpy(uaddr->sa_data, dev->name, 15);
-+ strncpy(uaddr->sa_data, dev->name, 14);
- else
- memset(uaddr->sa_data, 0, 14);
- rcu_read_unlock();
-@@ -1727,6 +1728,7 @@ static int packet_getname(struct socket *sock, struct sockaddr *uaddr,
- sll->sll_family = AF_PACKET;
- sll->sll_ifindex = po->ifindex;
- sll->sll_protocol = po->num;
-+ sll->sll_pkttype = 0;
- rcu_read_lock();
- dev = dev_get_by_index_rcu(sock_net(sk), po->ifindex);
- if (dev) {
-@@ -2093,7 +2095,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
+ len -= vnet_hdr_len;
+
+@@ -2096,7 +2097,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
case PACKET_HDRLEN:
if (len > sizeof(int))
len = sizeof(int);
@@ -56972,7 +56945,7 @@ index 2078a27..3f1f205 100644
return -EFAULT;
switch (val) {
case TPACKET_V1:
-@@ -2125,7 +2127,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
+@@ -2128,7 +2129,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
if (put_user(len, optlen))
return -EFAULT;
@@ -56981,7 +56954,7 @@ index 2078a27..3f1f205 100644
return -EFAULT;
return 0;
}
-@@ -2604,7 +2606,11 @@ static int packet_seq_show(struct seq_file *seq, void *v)
+@@ -2607,7 +2608,11 @@ static int packet_seq_show(struct seq_file *seq, void *v)
seq_printf(seq,
"%p %-6d %-4d %04x %-5d %1d %-6u %-6u %-6lu\n",
@@ -57285,7 +57258,7 @@ index 66e889b..ce91238 100644
}
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
-index 617bea4..dae3c79 100644
+index d63e7a2..6cbdf98 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -745,6 +745,12 @@ static struct sock *unix_find_other(struct net *net,
@@ -57345,7 +57318,7 @@ index 617bea4..dae3c79 100644
list = &unix_socket_table[addr->hash];
} else {
list = &unix_socket_table[dentry->d_inode->i_ino & (UNIX_HASH_SIZE-1)];
-@@ -2170,7 +2194,11 @@ static int unix_seq_show(struct seq_file *seq, void *v)
+@@ -2206,7 +2230,11 @@ static int unix_seq_show(struct seq_file *seq, void *v)
unix_state_lock(s);
seq_printf(seq, "%p: %08X %08X %08X %04X %02X %5lu",