aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-02-25 08:48:36 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-02-25 08:48:36 +0000
commitd76c64b5a9597000f39ef80a65ad880a652b533c (patch)
treea9e086cba4e936391f38e65707d06fd0f5f83f3d
parent89d8ce68950f20888e104e8704809325ebd3f171 (diff)
downloadaports-d76c64b5a9597000f39ef80a65ad880a652b533c.tar.bz2
aports-d76c64b5a9597000f39ef80a65ad880a652b533c.tar.xz
main/linux-grsec: upgrade to 3.4.82
-rw-r--r--main/linux-grsec/APKBUILD6
-rw-r--r--main/linux-grsec/grsecurity-2.9.1-3.4.82-unofficial.patch (renamed from main/linux-grsec/grsecurity-2.9.1-3.4.78-unofficial.patch)154
2 files changed, 76 insertions, 84 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 73966e168f..3ff55d9f13 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -2,7 +2,7 @@
_flavor=grsec
pkgname=linux-${_flavor}
-pkgver=3.4.78
+pkgver=3.4.82
_kernver=3.4
pkgrel=0
pkgdesc="Linux kernel with grsecurity"
@@ -142,8 +142,8 @@ dev() {
}
md5sums="967f72983655e2479f951195953e8480 linux-3.4.tar.xz
-b91e8ee017f50af8bd038026935fff2d patch-3.4.78.xz
-21626c259298003ab53b52b5a503ca81 grsecurity-2.9.1-3.4.78-unofficial.patch
+1f6fcc1f91fcce2a0f71416c3251e83e patch-3.4.82.xz
+a79915193376d3a3ff4dc3b2009b8091 grsecurity-2.9.1-3.4.82-unofficial.patch
776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch
cb6fcd6e966e73c87a839c4c0183f81f 0001-Revert-ipv4-Don-t-use-the-cached-pmtu-informations-f.patch
d2f7ba780ff7567c21381428264d7fdd intel_idle.patch
diff --git a/main/linux-grsec/grsecurity-2.9.1-3.4.78-unofficial.patch b/main/linux-grsec/grsecurity-2.9.1-3.4.82-unofficial.patch
index 612d58f6af..90a8f59864 100644
--- a/main/linux-grsec/grsecurity-2.9.1-3.4.78-unofficial.patch
+++ b/main/linux-grsec/grsecurity-2.9.1-3.4.82-unofficial.patch
@@ -269,7 +269,7 @@ index 88fd7f5..b318a78 100644
==============================================================
diff --git a/Makefile b/Makefile
-index e891990..9da978b 100644
+index ee80efa..ae85e11 100644
--- a/Makefile
+++ b/Makefile
@@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -20755,7 +20755,7 @@ index 8375622..b7bca1a 100644
case 1: \
____emulate_2op(ctxt,_op,_bx,_by,"b",u8); \
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
-index 2bf03a9..e3453d7 100644
+index 578613d..a88e6d0 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -54,7 +54,7 @@
@@ -30714,7 +30714,7 @@ index 34791fb..58c5b21 100644
mutex_unlock(&dev->struct_mutex);
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index ba60f3c..e2dff7f 100644
+index 38c0a47..e61f898 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1178,7 +1178,7 @@ static bool i915_switcheroo_can_switch(struct pci_dev *pdev)
@@ -33592,7 +33592,7 @@ index 737d388..811ad5a 100644
pmd->bl_info.value_type.inc = data_block_inc;
pmd->bl_info.value_type.dec = data_block_dec;
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
-index 32370ea..39b8232 100644
+index 0cf8c51..ae0f41c 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -176,9 +176,9 @@ struct mapped_device {
@@ -33618,7 +33618,7 @@ index 32370ea..39b8232 100644
INIT_LIST_HEAD(&md->uevent_list);
spin_lock_init(&md->uevent_lock);
-@@ -2006,7 +2006,7 @@ static void event_callback(void *context)
+@@ -2007,7 +2007,7 @@ static void event_callback(void *context)
dm_send_uevents(&uevents, &disk_to_dev(md->disk)->kobj);
@@ -33627,7 +33627,7 @@ index 32370ea..39b8232 100644
wake_up(&md->eventq);
}
-@@ -2648,18 +2648,18 @@ int dm_kobject_uevent(struct mapped_device *md, enum kobject_action action,
+@@ -2649,18 +2649,18 @@ int dm_kobject_uevent(struct mapped_device *md, enum kobject_action action,
uint32_t dm_next_uevent_seq(struct mapped_device *md)
{
@@ -33924,7 +33924,7 @@ index 67a8393..948961d 100644
rdev_dec_pending(rdev, mddev);
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
-index 6155c8b..fc770aa 100644
+index 17b918d..2318a9e 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -1698,18 +1698,18 @@ static void raid5_end_read_request(struct bio * bi, int error)
@@ -37747,7 +37747,7 @@ index d3d8727..f9327bb8 100644
struct io_req {
struct list_head list;
diff --git a/drivers/staging/sbe-2t3e3/netdev.c b/drivers/staging/sbe-2t3e3/netdev.c
-index c7b5e8b..783d6cb 100644
+index c7b5e8b..783d6cbe 100644
--- a/drivers/staging/sbe-2t3e3/netdev.c
+++ b/drivers/staging/sbe-2t3e3/netdev.c
@@ -51,7 +51,7 @@ int t3e3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
@@ -38233,10 +38233,10 @@ index 4daf962..b4a2281 100644
ipwireless_disassociate_network_ttys(network,
ttyj->channel_idx);
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
-index 4a418e4..77e207c 100644
+index acc0eab..ef8eeb7 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
-@@ -1639,7 +1639,7 @@ static struct gsm_dlci *gsm_dlci_alloc(struct gsm_mux *gsm, int addr)
+@@ -1650,7 +1650,7 @@ static struct gsm_dlci *gsm_dlci_alloc(struct gsm_mux *gsm, int addr)
kref_init(&dlci->ref);
mutex_init(&dlci->mutex);
dlci->fifo = &dlci->_fifo;
@@ -45249,7 +45249,7 @@ index cf6f434..3d7942c 100644
err_nocleanup:
diff --git a/fs/file.c b/fs/file.c
-index ba3f605..fade102 100644
+index d512ca5..3f69c95 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -15,6 +15,7 @@
@@ -63554,7 +63554,7 @@ index fd07c45..4676b8e 100644
static inline void anon_vma_merge(struct vm_area_struct *vma,
struct vm_area_struct *next)
diff --git a/include/linux/sched.h b/include/linux/sched.h
-index e132a2d..5aede09 100644
+index 8cd5cb8..6d7a7a9 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -100,6 +100,7 @@ struct bio_list;
@@ -63565,7 +63565,7 @@ index e132a2d..5aede09 100644
/*
* List of flags we want to share for kernel threads,
-@@ -382,10 +383,13 @@ struct user_namespace;
+@@ -383,10 +384,13 @@ struct user_namespace;
#define DEFAULT_MAX_MAP_COUNT (USHRT_MAX - MAPCOUNT_ELF_CORE_MARGIN)
extern int sysctl_max_map_count;
@@ -63579,7 +63579,7 @@ index e132a2d..5aede09 100644
extern void arch_pick_mmap_layout(struct mm_struct *mm);
extern unsigned long
arch_get_unmapped_area(struct file *, unsigned long, unsigned long,
-@@ -647,6 +651,17 @@ struct signal_struct {
+@@ -648,6 +652,17 @@ struct signal_struct {
#ifdef CONFIG_TASKSTATS
struct taskstats *stats;
#endif
@@ -63597,7 +63597,7 @@ index e132a2d..5aede09 100644
#ifdef CONFIG_AUDIT
unsigned audit_tty;
struct tty_audit_buf *tty_audit_buf;
-@@ -730,6 +745,11 @@ struct user_struct {
+@@ -731,6 +746,11 @@ struct user_struct {
struct key *session_keyring; /* UID's default session keyring */
#endif
@@ -63609,7 +63609,7 @@ index e132a2d..5aede09 100644
/* Hash table maintenance information */
struct hlist_node uidhash_node;
uid_t uid;
-@@ -1393,8 +1413,8 @@ struct task_struct {
+@@ -1395,8 +1415,8 @@ struct task_struct {
struct list_head thread_group;
struct completion *vfork_done; /* for vfork() */
@@ -63620,7 +63620,7 @@ index e132a2d..5aede09 100644
cputime_t utime, stime, utimescaled, stimescaled;
cputime_t gtime;
-@@ -1410,13 +1430,6 @@ struct task_struct {
+@@ -1412,13 +1432,6 @@ struct task_struct {
struct task_cputime cputime_expires;
struct list_head cpu_timers[3];
@@ -63634,7 +63634,7 @@ index e132a2d..5aede09 100644
char comm[TASK_COMM_LEN]; /* executable name excluding path
- access with [gs]et_task_comm (which lock
it with task_lock())
-@@ -1433,8 +1446,16 @@ struct task_struct {
+@@ -1435,8 +1448,16 @@ struct task_struct {
#endif
/* CPU-specific state of this task */
struct thread_struct thread;
@@ -63651,7 +63651,7 @@ index e132a2d..5aede09 100644
/* open file information */
struct files_struct *files;
/* namespaces */
-@@ -1476,6 +1497,11 @@ struct task_struct {
+@@ -1478,6 +1499,11 @@ struct task_struct {
struct rt_mutex_waiter *pi_blocked_on;
#endif
@@ -63663,7 +63663,7 @@ index e132a2d..5aede09 100644
#ifdef CONFIG_DEBUG_MUTEXES
/* mutex deadlock detection */
struct mutex_waiter *blocked_on;
-@@ -1592,6 +1618,27 @@ struct task_struct {
+@@ -1594,6 +1620,27 @@ struct task_struct {
unsigned long default_timer_slack_ns;
struct list_head *scm_work_list;
@@ -63691,7 +63691,7 @@ index e132a2d..5aede09 100644
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
/* Index of current stored address in ret_stack */
int curr_ret_stack;
-@@ -1626,6 +1673,51 @@ struct task_struct {
+@@ -1628,6 +1675,51 @@ struct task_struct {
#endif
};
@@ -63743,7 +63743,7 @@ index e132a2d..5aede09 100644
/* Future-safe accessor for struct task_struct's cpus_allowed. */
#define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
-@@ -2153,7 +2245,9 @@ void yield(void);
+@@ -2155,7 +2247,9 @@ void yield(void);
extern struct exec_domain default_exec_domain;
union thread_union {
@@ -63753,7 +63753,7 @@ index e132a2d..5aede09 100644
unsigned long stack[THREAD_SIZE/sizeof(long)];
};
-@@ -2186,6 +2280,7 @@ extern struct pid_namespace init_pid_ns;
+@@ -2188,6 +2282,7 @@ extern struct pid_namespace init_pid_ns;
*/
extern struct task_struct *find_task_by_vpid(pid_t nr);
@@ -63761,7 +63761,7 @@ index e132a2d..5aede09 100644
extern struct task_struct *find_task_by_pid_ns(pid_t nr,
struct pid_namespace *ns);
-@@ -2329,7 +2424,7 @@ extern void __cleanup_sighand(struct sighand_struct *);
+@@ -2331,7 +2426,7 @@ extern void __cleanup_sighand(struct sighand_struct *);
extern void exit_itimers(struct signal_struct *);
extern void flush_itimer_signals(void);
@@ -63770,7 +63770,7 @@ index e132a2d..5aede09 100644
extern void daemonize(const char *, ...);
extern int allow_signal(int);
-@@ -2520,9 +2615,9 @@ static inline unsigned long *end_of_stack(struct task_struct *p)
+@@ -2522,9 +2617,9 @@ static inline unsigned long *end_of_stack(struct task_struct *p)
#endif
@@ -68561,7 +68561,7 @@ index 19db29f..33b52b6 100644
if (pm_wakeup_pending()) {
diff --git a/kernel/printk.c b/kernel/printk.c
-index e95c662..95f2be3 100644
+index e131c46..a7682fb 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -316,6 +316,11 @@ static int check_syslog_permissions(int type, bool from_file)
@@ -69302,10 +69302,10 @@ index 15f60d0..7e50319 100644
#ifdef CONFIG_RT_GROUP_SCHED
/*
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
-index 3a5b317..80c2318 100644
+index 94f1327..57611f9 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -4047,6 +4047,8 @@ int can_nice(const struct task_struct *p, const int nice)
+@@ -4105,6 +4105,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;
@@ -69314,7 +69314,7 @@ index 3a5b317..80c2318 100644
return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) ||
capable(CAP_SYS_NICE));
}
-@@ -4080,7 +4082,8 @@ SYSCALL_DEFINE1(nice, int, increment)
+@@ -4138,7 +4140,8 @@ SYSCALL_DEFINE1(nice, int, increment)
if (nice > 19)
nice = 19;
@@ -69324,7 +69324,7 @@ index 3a5b317..80c2318 100644
return -EPERM;
retval = security_task_setnice(current, nice);
-@@ -4237,6 +4240,7 @@ recheck:
+@@ -4295,6 +4298,7 @@ recheck:
unsigned long rlim_rtprio =
task_rlimit(p, RLIMIT_RTPRIO);
@@ -69333,7 +69333,7 @@ index 3a5b317..80c2318 100644
if (policy != p->policy && !rlim_rtprio)
return -EPERM;
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index 363df37..0af97b8 100644
+index dd33c9f..49b88ac 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -5126,7 +5126,7 @@ static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle) { }
@@ -70107,7 +70107,7 @@ index f8961bf..6ef6352 100644
cpumask_clear_cpu(cpu, tick_get_broadcast_mask());
tick_broadcast_clear_oneshot(cpu);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
-index eff0b1e..9000af7 100644
+index 32f0cb8..7dbd305 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -14,6 +14,7 @@
@@ -70289,10 +70289,10 @@ index c0bd030..62a1927 100644
ret = -EIO;
bt->dropped_file = debugfs_create_file("dropped", 0444, dir, bt,
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
-index f0e76e93..140b8f1 100644
+index 5efdddf..fc22a80 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
-@@ -1806,12 +1806,17 @@ ftrace_code_disable(struct module *mod, struct dyn_ftrace *rec)
+@@ -1814,12 +1814,17 @@ ftrace_code_disable(struct module *mod, struct dyn_ftrace *rec)
if (unlikely(ftrace_disabled))
return 0;
@@ -70312,7 +70312,7 @@ index f0e76e93..140b8f1 100644
}
/*
-@@ -2916,7 +2921,7 @@ static void ftrace_free_entry_rcu(struct rcu_head *rhp)
+@@ -2955,7 +2960,7 @@ static void ftrace_free_entry_rcu(struct rcu_head *rhp)
int
register_ftrace_function_probe(char *glob, struct ftrace_probe_ops *ops,
@@ -70322,7 +70322,7 @@ index f0e76e93..140b8f1 100644
struct ftrace_func_probe *entry;
struct ftrace_page *pg;
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
-index 2866783..4cc30cf 100644
+index bd0f1c4..7054bb0 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -344,9 +344,9 @@ struct buffer_data_page {
@@ -70451,7 +70451,7 @@ index 2866783..4cc30cf 100644
/* set write to only the index of the write */
write &= RB_WRITE_MASK;
-@@ -2019,7 +2019,7 @@ __rb_reserve_next(struct ring_buffer_per_cpu *cpu_buffer,
+@@ -2026,7 +2026,7 @@ __rb_reserve_next(struct ring_buffer_per_cpu *cpu_buffer,
kmemcheck_annotate_bitfield(event, bitfield);
rb_update_event(cpu_buffer, event, length, add_timestamp, delta);
@@ -70460,7 +70460,7 @@ index 2866783..4cc30cf 100644
/*
* If this is the first commit on the page, then update
-@@ -2052,7 +2052,7 @@ rb_try_to_discard(struct ring_buffer_per_cpu *cpu_buffer,
+@@ -2059,7 +2059,7 @@ rb_try_to_discard(struct ring_buffer_per_cpu *cpu_buffer,
if (bpage->page == (void *)addr && rb_page_write(bpage) == old_index) {
unsigned long write_mask =
@@ -70469,7 +70469,7 @@ index 2866783..4cc30cf 100644
unsigned long event_length = rb_event_length(event);
/*
* This is on the tail page. It is possible that
-@@ -2062,7 +2062,7 @@ rb_try_to_discard(struct ring_buffer_per_cpu *cpu_buffer,
+@@ -2069,7 +2069,7 @@ rb_try_to_discard(struct ring_buffer_per_cpu *cpu_buffer,
*/
old_index += write_mask;
new_index += write_mask;
@@ -70478,7 +70478,7 @@ index 2866783..4cc30cf 100644
if (index == old_index) {
/* update counters */
local_sub(event_length, &cpu_buffer->entries_bytes);
-@@ -2401,7 +2401,7 @@ rb_decrement_entry(struct ring_buffer_per_cpu *cpu_buffer,
+@@ -2408,7 +2408,7 @@ rb_decrement_entry(struct ring_buffer_per_cpu *cpu_buffer,
/* Do the likely case first */
if (likely(bpage->page == (void *)addr)) {
@@ -70487,7 +70487,7 @@ index 2866783..4cc30cf 100644
return;
}
-@@ -2413,7 +2413,7 @@ rb_decrement_entry(struct ring_buffer_per_cpu *cpu_buffer,
+@@ -2420,7 +2420,7 @@ rb_decrement_entry(struct ring_buffer_per_cpu *cpu_buffer,
start = bpage;
do {
if (bpage->page == (void *)addr) {
@@ -70496,7 +70496,7 @@ index 2866783..4cc30cf 100644
return;
}
rb_inc_page(cpu_buffer, &bpage);
-@@ -2695,7 +2695,7 @@ static inline unsigned long
+@@ -2702,7 +2702,7 @@ static inline unsigned long
rb_num_of_entries(struct ring_buffer_per_cpu *cpu_buffer)
{
return local_read(&cpu_buffer->entries) -
@@ -70505,7 +70505,7 @@ index 2866783..4cc30cf 100644
}
/**
-@@ -2783,7 +2783,7 @@ unsigned long ring_buffer_overrun_cpu(struct ring_buffer *buffer, int cpu)
+@@ -2790,7 +2790,7 @@ unsigned long ring_buffer_overrun_cpu(struct ring_buffer *buffer, int cpu)
return 0;
cpu_buffer = buffer->buffers[cpu];
@@ -70514,7 +70514,7 @@ index 2866783..4cc30cf 100644
return ret;
}
-@@ -2804,7 +2804,7 @@ ring_buffer_commit_overrun_cpu(struct ring_buffer *buffer, int cpu)
+@@ -2811,7 +2811,7 @@ ring_buffer_commit_overrun_cpu(struct ring_buffer *buffer, int cpu)
return 0;
cpu_buffer = buffer->buffers[cpu];
@@ -70523,7 +70523,7 @@ index 2866783..4cc30cf 100644
return ret;
}
-@@ -2849,7 +2849,7 @@ unsigned long ring_buffer_overruns(struct ring_buffer *buffer)
+@@ -2856,7 +2856,7 @@ unsigned long ring_buffer_overruns(struct ring_buffer *buffer)
/* if you care about this being correct, lock the buffer */
for_each_buffer_cpu(buffer, cpu) {
cpu_buffer = buffer->buffers[cpu];
@@ -70532,7 +70532,7 @@ index 2866783..4cc30cf 100644
}
return overruns;
-@@ -3021,8 +3021,8 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer)
+@@ -3028,8 +3028,8 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer)
/*
* Reset the reader page to size zero.
*/
@@ -70543,7 +70543,7 @@ index 2866783..4cc30cf 100644
local_set(&cpu_buffer->reader_page->page->commit, 0);
cpu_buffer->reader_page->real_end = 0;
-@@ -3056,7 +3056,7 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer)
+@@ -3063,7 +3063,7 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer)
* want to compare with the last_overrun.
*/
smp_mb();
@@ -70552,7 +70552,7 @@ index 2866783..4cc30cf 100644
/*
* Here's the tricky part.
-@@ -3604,8 +3604,8 @@ rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer)
+@@ -3611,8 +3611,8 @@ rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer)
cpu_buffer->head_page
= list_entry(cpu_buffer->pages, struct buffer_page, list);
@@ -70563,7 +70563,7 @@ index 2866783..4cc30cf 100644
local_set(&cpu_buffer->head_page->page->commit, 0);
cpu_buffer->head_page->read = 0;
-@@ -3614,14 +3614,14 @@ rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer)
+@@ -3621,14 +3621,14 @@ rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer)
cpu_buffer->commit_page = cpu_buffer->head_page;
INIT_LIST_HEAD(&cpu_buffer->reader_page->list);
@@ -70582,7 +70582,7 @@ index 2866783..4cc30cf 100644
local_set(&cpu_buffer->entries, 0);
local_set(&cpu_buffer->committing, 0);
local_set(&cpu_buffer->commits, 0);
-@@ -4019,8 +4019,8 @@ int ring_buffer_read_page(struct ring_buffer *buffer,
+@@ -4026,8 +4026,8 @@ int ring_buffer_read_page(struct ring_buffer *buffer,
rb_init_page(bpage);
bpage = reader->page;
reader->page = *data_page;
@@ -71047,7 +71047,7 @@ index 3ac50dc..240bb7e 100644
static inline void *ptr_to_indirect(void *ptr)
{
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
-index 73e2c45..a8bea8e 100644
+index cd0aab7..a8bea8e 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -16,6 +16,9 @@
@@ -71119,7 +71119,7 @@ index 73e2c45..a8bea8e 100644
case 'B':
return symbol_string(buf, end, ptr, spec, *fmt);
case 'R':
-@@ -921,12 +937,15 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
+@@ -921,6 +937,8 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
va_end(va);
return buf;
}
@@ -71128,15 +71128,7 @@ index 73e2c45..a8bea8e 100644
case 'K':
/*
* %pK cannot be used in IRQ context because its test
- * for CAP_SYSLOG would be meaningless.
- */
-- if (in_irq() || in_serving_softirq() || in_nmi()) {
-+ if (kptr_restrict && (in_irq() || in_serving_softirq() ||
-+ in_nmi())) {
- if (spec.field_width == -1)
- spec.field_width = 2 * sizeof(void *);
- return string(buf, end, "pK-error", spec);
-@@ -969,6 +988,19 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
+@@ -970,6 +988,19 @@ char *pointer(const char *fmt, char *buf, char *end, void *ptr,
}
break;
}
@@ -71156,7 +71148,7 @@ index 73e2c45..a8bea8e 100644
spec.flags |= SMALL;
if (spec.field_width == -1) {
spec.field_width = 2 * sizeof(void *);
-@@ -1680,11 +1712,11 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
+@@ -1681,11 +1712,11 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
typeof(type) value; \
if (sizeof(type) == 8) { \
args = PTR_ALIGN(args, sizeof(u32)); \
@@ -71171,7 +71163,7 @@ index 73e2c45..a8bea8e 100644
} \
args += sizeof(type); \
value; \
-@@ -1747,7 +1779,7 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
+@@ -1748,7 +1779,7 @@ int bstr_printf(char *buf, size_t size, const char *fmt, const u32 *bin_buf)
case FORMAT_TYPE_STR: {
const char *str_arg = args;
args += strlen(str_arg) + 1;
@@ -71294,10 +71286,10 @@ index 3da5c0b..a9ec74a 100644
/* if an huge pmd materialized from under us just retry later */
if (unlikely(pmd_trans_huge(*pmd)))
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
-index af20b77..0dca285 100644
+index 7111f2f..5e926e1 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
-@@ -2484,6 +2484,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2501,6 +2501,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
return 1;
}
@@ -71325,7 +71317,7 @@ index af20b77..0dca285 100644
/*
* Hugetlb_cow() should be called with page lock of the original hugepage held.
* Called with hugetlb_instantiation_mutex held and pte_page locked so we
-@@ -2596,6 +2617,11 @@ retry_avoidcopy:
+@@ -2613,6 +2634,11 @@ retry_avoidcopy:
make_huge_pte(vma, new_page, 1));
page_remove_rmap(old_page);
hugepage_add_new_anon_rmap(new_page, vma, address);
@@ -71337,7 +71329,7 @@ index af20b77..0dca285 100644
/* Make the old page be freed below */
new_page = old_page;
mmu_notifier_invalidate_range_end(mm,
-@@ -2750,6 +2776,10 @@ retry:
+@@ -2767,6 +2793,10 @@ retry:
&& (vma->vm_flags & VM_SHARED)));
set_huge_pte_at(mm, address, ptep, new_pte);
@@ -71348,7 +71340,7 @@ index af20b77..0dca285 100644
if ((flags & FAULT_FLAG_WRITE) && !(vma->vm_flags & VM_SHARED)) {
/* Optimization, do the COW without a second fault */
ret = hugetlb_cow(mm, vma, address, ptep, new_pte, page);
-@@ -2779,6 +2809,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2796,6 +2826,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
static DEFINE_MUTEX(hugetlb_instantiation_mutex);
struct hstate *h = hstate_vma(vma);
@@ -71359,7 +71351,7 @@ index af20b77..0dca285 100644
address &= huge_page_mask(h);
ptep = huge_pte_offset(mm, address);
-@@ -2792,6 +2826,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2809,6 +2843,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
VM_FAULT_SET_HINDEX(h - hstates);
}
@@ -71387,7 +71379,7 @@ index af20b77..0dca285 100644
if (!ptep)
return VM_FAULT_OOM;
diff --git a/mm/internal.h b/mm/internal.h
-index 2189af4..f2ca332 100644
+index 0c26b5e..1cc340f 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -95,6 +95,7 @@ extern void putback_lru_page(struct page *page);
@@ -74058,7 +74050,7 @@ index d3afb47..252a19c 100644
new->vm_region = region;
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index 508822e..58eb303 100644
+index 39d530a..31bc794 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -335,7 +335,7 @@ out:
@@ -74903,7 +74895,7 @@ index 8105be4..33e52d7 100644
EXPORT_SYMBOL(kmem_cache_free);
diff --git a/mm/slub.c b/mm/slub.c
-index 71de9b5..51f97c9 100644
+index c6f225f..bf0de6d 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -209,7 +209,7 @@ struct track {
@@ -75150,7 +75142,7 @@ index 71de9b5..51f97c9 100644
enum slab_stat_type {
SL_ALL, /* All slabs */
SL_PARTIAL, /* Only partially allocated slabs */
-@@ -4709,7 +4790,7 @@ SLAB_ATTR_RO(ctor);
+@@ -4715,7 +4796,7 @@ SLAB_ATTR_RO(ctor);
static ssize_t aliases_show(struct kmem_cache *s, char *buf)
{
@@ -75159,7 +75151,7 @@ index 71de9b5..51f97c9 100644
}
SLAB_ATTR_RO(aliases);
-@@ -5280,6 +5361,7 @@ static char *create_unique_id(struct kmem_cache *s)
+@@ -5286,6 +5367,7 @@ static char *create_unique_id(struct kmem_cache *s)
return name;
}
@@ -75167,7 +75159,7 @@ index 71de9b5..51f97c9 100644
static int sysfs_slab_add(struct kmem_cache *s)
{
int err;
-@@ -5342,6 +5424,7 @@ static void sysfs_slab_remove(struct kmem_cache *s)
+@@ -5348,6 +5430,7 @@ static void sysfs_slab_remove(struct kmem_cache *s)
kobject_del(&s->kobj);
kobject_put(&s->kobj);
}
@@ -75175,7 +75167,7 @@ index 71de9b5..51f97c9 100644
/*
* Need to buffer aliases during bootup until sysfs becomes
-@@ -5355,6 +5438,7 @@ struct saved_alias {
+@@ -5361,6 +5444,7 @@ struct saved_alias {
static struct saved_alias *alias_list;
@@ -75183,7 +75175,7 @@ index 71de9b5..51f97c9 100644
static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
{
struct saved_alias *al;
-@@ -5377,6 +5461,7 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
+@@ -5383,6 +5467,7 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
alias_list = al;
return 0;
}
@@ -75214,7 +75206,7 @@ index 1b7e22a..3fcd4f3 100644
return pgd;
}
diff --git a/mm/swap.c b/mm/swap.c
-index f689e9a..4a937cf 100644
+index a8feea6..4c9e1b9 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -72,6 +72,8 @@ static void __put_compound_page(struct page *page)
@@ -75990,7 +75982,7 @@ index f78f898..00f4a02 100644
diff --git a/net/compat.c b/net/compat.c
-index 17f997e..ef4f9e9 100644
+index 93f5423..03a3dd8 100644
--- a/net/compat.c
+++ b/net/compat.c
@@ -73,9 +73,9 @@ int get_compat_msghdr(struct msghdr *kmsg, struct compat_msghdr __user *umsg)
@@ -76120,7 +76112,7 @@ index 17f997e..ef4f9e9 100644
struct group_filter __user *kgf;
int __user *koptlen;
u32 interface, fmode, numsrc;
-@@ -817,7 +817,7 @@ asmlinkage long compat_sys_socketcall(int call, u32 __user *args)
+@@ -812,7 +812,7 @@ asmlinkage long compat_sys_socketcall(int call, u32 __user *args)
if (call < SYS_SOCKET || call > SYS_SENDMMSG)
return -EINVAL;
@@ -79695,7 +79687,7 @@ index 0000000..008ac1a
+ [[ "$plugincc" =~ "$2" ]] && echo "$2"
+fi
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
-index 44ddaa5..a3119bd 100644
+index ea243fe..807496a 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -128,7 +128,7 @@ static void device_id_check(const char *modname, const char *device_id,