Gentoo Archives: gentoo-commits

From: Mike Pagano <mpagano@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/linux-patches:4.4 commit in: /
Date: Sun, 11 Jul 2021 14:48:22
Message-Id: 1626014887.4d9310ac93165ad4395034d1b9c59d2ef4760807.mpagano@gentoo
1 commit: 4d9310ac93165ad4395034d1b9c59d2ef4760807
2 Author: Mike Pagano <mpagano <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jul 11 14:48:07 2021 +0000
4 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org>
5 CommitDate: Sun Jul 11 14:48:07 2021 +0000
6 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=4d9310ac
7
8 Linux patch 4.4.275
9
10 Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>
11
12 0000_README | 4 ++
13 1274_linux-4.4.275.patch | 112 +++++++++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 116 insertions(+)
15
16 diff --git a/0000_README b/0000_README
17 index b63a9bc..4d64b0b 100644
18 --- a/0000_README
19 +++ b/0000_README
20 @@ -1139,6 +1139,10 @@ Patch: 1273_linux-4.4.274.patch
21 From: http://www.kernel.org
22 Desc: Linux 4.4.274
23
24 +Patch: 1274_linux-4.4.275.patch
25 +From: http://www.kernel.org
26 +Desc: Linux 4.4.275
27 +
28 Patch: 1500_XATTR_USER_PREFIX.patch
29 From: https://bugs.gentoo.org/show_bug.cgi?id=470644
30 Desc: Support for namespace user.pax.* on tmpfs.
31
32 diff --git a/1274_linux-4.4.275.patch b/1274_linux-4.4.275.patch
33 new file mode 100644
34 index 0000000..fae4a49
35 --- /dev/null
36 +++ b/1274_linux-4.4.275.patch
37 @@ -0,0 +1,112 @@
38 +diff --git a/Makefile b/Makefile
39 +index 3d1fc6eb95eca..dbf282146b663 100644
40 +--- a/Makefile
41 ++++ b/Makefile
42 +@@ -1,6 +1,6 @@
43 + VERSION = 4
44 + PATCHLEVEL = 4
45 +-SUBLEVEL = 274
46 ++SUBLEVEL = 275
47 + EXTRAVERSION =
48 + NAME = Blurry Fish Butt
49 +
50 +diff --git a/arch/arm/probes/kprobes/core.c b/arch/arm/probes/kprobes/core.c
51 +index 3eb018fa1a1f5..c3362ddd6c4cb 100644
52 +--- a/arch/arm/probes/kprobes/core.c
53 ++++ b/arch/arm/probes/kprobes/core.c
54 +@@ -270,6 +270,7 @@ void __kprobes kprobe_handler(struct pt_regs *regs)
55 + switch (kcb->kprobe_status) {
56 + case KPROBE_HIT_ACTIVE:
57 + case KPROBE_HIT_SSDONE:
58 ++ case KPROBE_HIT_SS:
59 + /* A pre- or post-handler probe got us here. */
60 + kprobes_inc_nmissed_count(p);
61 + save_previous_kprobe(kcb);
62 +@@ -278,6 +279,11 @@ void __kprobes kprobe_handler(struct pt_regs *regs)
63 + singlestep(p, regs, kcb);
64 + restore_previous_kprobe(kcb);
65 + break;
66 ++ case KPROBE_REENTER:
67 ++ /* A nested probe was hit in FIQ, it is a BUG */
68 ++ pr_warn("Unrecoverable kprobe detected at %p.\n",
69 ++ p->addr);
70 ++ /* fall through */
71 + default:
72 + /* impossible cases */
73 + BUG();
74 +diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
75 +index 78f520d05de92..58c310930bf28 100644
76 +--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
77 ++++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
78 +@@ -458,7 +458,7 @@ nouveau_bo_sync_for_device(struct nouveau_bo *nvbo)
79 + struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm;
80 + int i;
81 +
82 +- if (!ttm_dma)
83 ++ if (!ttm_dma || !ttm_dma->dma_address)
84 + return;
85 +
86 + /* Don't waste time looping if the object is coherent */
87 +@@ -478,7 +478,7 @@ nouveau_bo_sync_for_cpu(struct nouveau_bo *nvbo)
88 + struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm;
89 + int i;
90 +
91 +- if (!ttm_dma)
92 ++ if (!ttm_dma || !ttm_dma->dma_address)
93 + return;
94 +
95 + /* Don't waste time looping if the object is coherent */
96 +diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
97 +index 7dd4d9ded2491..6e31cedf0b6c7 100644
98 +--- a/drivers/scsi/sr.c
99 ++++ b/drivers/scsi/sr.c
100 +@@ -216,6 +216,8 @@ static unsigned int sr_get_events(struct scsi_device *sdev)
101 + return DISK_EVENT_EJECT_REQUEST;
102 + else if (med->media_event_code == 2)
103 + return DISK_EVENT_MEDIA_CHANGE;
104 ++ else if (med->media_event_code == 3)
105 ++ return DISK_EVENT_EJECT_REQUEST;
106 + return 0;
107 + }
108 +
109 +diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
110 +index 56bf952de411d..f271189233904 100644
111 +--- a/drivers/xen/events/events_base.c
112 ++++ b/drivers/xen/events/events_base.c
113 +@@ -533,6 +533,9 @@ static void xen_irq_lateeoi_locked(struct irq_info *info, bool spurious)
114 + }
115 +
116 + info->eoi_time = 0;
117 ++
118 ++ /* is_active hasn't been reset yet, do it now. */
119 ++ smp_store_release(&info->is_active, 0);
120 + do_unmask(info, EVT_MASK_REASON_EOI_PENDING);
121 + }
122 +
123 +@@ -1777,10 +1780,22 @@ static void lateeoi_ack_dynirq(struct irq_data *data)
124 + struct irq_info *info = info_for_irq(data->irq);
125 + evtchn_port_t evtchn = info ? info->evtchn : 0;
126 +
127 +- if (VALID_EVTCHN(evtchn)) {
128 +- do_mask(info, EVT_MASK_REASON_EOI_PENDING);
129 +- ack_dynirq(data);
130 +- }
131 ++ if (!VALID_EVTCHN(evtchn))
132 ++ return;
133 ++
134 ++ do_mask(info, EVT_MASK_REASON_EOI_PENDING);
135 ++
136 ++ if (unlikely(irqd_is_setaffinity_pending(data)) &&
137 ++ likely(!irqd_irq_disabled(data))) {
138 ++ do_mask(info, EVT_MASK_REASON_TEMPORARY);
139 ++
140 ++ clear_evtchn(evtchn);
141 ++
142 ++ irq_move_masked_irq(data);
143 ++
144 ++ do_unmask(info, EVT_MASK_REASON_TEMPORARY);
145 ++ } else
146 ++ clear_evtchn(evtchn);
147 + }
148 +
149 + static void lateeoi_mask_ack_dynirq(struct irq_data *data)