Magellan Linux

Annotation of /trunk/kernel-alx-legacy/patches-4.9/0365-4.9.266-all-fixes.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3667 - (hide annotations) (download)
Mon Oct 24 14:07:44 2022 UTC (18 months, 2 weeks ago) by niro
File size: 7357 byte(s)
-linux-4.9.266
1 niro 3667 diff --git a/Makefile b/Makefile
2     index f47e685de5f64..9e055c32d77ac 100644
3     --- a/Makefile
4     +++ b/Makefile
5     @@ -1,6 +1,6 @@
6     VERSION = 4
7     PATCHLEVEL = 9
8     -SUBLEVEL = 265
9     +SUBLEVEL = 266
10     EXTRAVERSION =
11     NAME = Roaring Lionus
12    
13     diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
14     index 9509cc73b9c64..64ae9cde8bdbd 100644
15     --- a/arch/ia64/kernel/mca.c
16     +++ b/arch/ia64/kernel/mca.c
17     @@ -1858,7 +1858,7 @@ ia64_mca_cpu_init(void *cpu_data)
18     data = mca_bootmem();
19     first_time = 0;
20     } else
21     - data = (void *)__get_free_pages(GFP_KERNEL,
22     + data = (void *)__get_free_pages(GFP_ATOMIC,
23     get_order(sz));
24     if (!data)
25     panic("Could not allocate MCA memory for cpu %d\n",
26     diff --git a/arch/x86/Makefile b/arch/x86/Makefile
27     index 9f0099c46c881..9ebbd4892557e 100644
28     --- a/arch/x86/Makefile
29     +++ b/arch/x86/Makefile
30     @@ -34,7 +34,7 @@ REALMODE_CFLAGS := $(M16_CFLAGS) -g -Os -D__KERNEL__ \
31     -DDISABLE_BRANCH_PROFILING \
32     -Wall -Wstrict-prototypes -march=i386 -mregparm=3 \
33     -fno-strict-aliasing -fomit-frame-pointer -fno-pic \
34     - -mno-mmx -mno-sse
35     + -mno-mmx -mno-sse $(call cc-option,-fcf-protection=none)
36    
37     REALMODE_CFLAGS += $(call __cc-option, $(CC), $(REALMODE_CFLAGS), -ffreestanding)
38     REALMODE_CFLAGS += $(call __cc-option, $(CC), $(REALMODE_CFLAGS), -fno-stack-protector)
39     diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
40     index eb5734112cb49..1d1434f9c5a60 100644
41     --- a/arch/x86/net/bpf_jit_comp.c
42     +++ b/arch/x86/net/bpf_jit_comp.c
43     @@ -1082,7 +1082,16 @@ common_load:
44     }
45    
46     if (image) {
47     - if (unlikely(proglen + ilen > oldproglen)) {
48     + /*
49     + * When populating the image, assert that:
50     + *
51     + * i) We do not write beyond the allocated space, and
52     + * ii) addrs[i] did not change from the prior run, in order
53     + * to validate assumptions made for computing branch
54     + * displacements.
55     + */
56     + if (unlikely(proglen + ilen > oldproglen ||
57     + proglen + ilen != addrs[i])) {
58     pr_err("bpf_jit_compile fatal error\n");
59     return -EFAULT;
60     }
61     diff --git a/drivers/gpu/drm/msm/msm_fence.c b/drivers/gpu/drm/msm/msm_fence.c
62     index a9b9b1c95a2eb..9dbd17be51f7c 100644
63     --- a/drivers/gpu/drm/msm/msm_fence.c
64     +++ b/drivers/gpu/drm/msm/msm_fence.c
65     @@ -56,7 +56,7 @@ int msm_wait_fence(struct msm_fence_context *fctx, uint32_t fence,
66     int ret;
67    
68     if (fence > fctx->last_fence) {
69     - DRM_ERROR("%s: waiting on invalid fence: %u (of %u)\n",
70     + DRM_ERROR_RATELIMITED("%s: waiting on invalid fence: %u (of %u)\n",
71     fctx->name, fence, fctx->last_fence);
72     return -EINVAL;
73     }
74     diff --git a/drivers/isdn/hardware/mISDN/mISDNipac.c b/drivers/isdn/hardware/mISDN/mISDNipac.c
75     index 8d338ba366d0a..01a1afde5d3c5 100644
76     --- a/drivers/isdn/hardware/mISDN/mISDNipac.c
77     +++ b/drivers/isdn/hardware/mISDN/mISDNipac.c
78     @@ -711,7 +711,7 @@ isac_release(struct isac_hw *isac)
79     {
80     if (isac->type & IPAC_TYPE_ISACX)
81     WriteISAC(isac, ISACX_MASK, 0xff);
82     - else
83     + else if (isac->type != 0)
84     WriteISAC(isac, ISAC_MASK, 0xff);
85     if (isac->dch.timer.function != NULL) {
86     del_timer(&isac->dch.timer);
87     diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
88     index b18bb0334ded6..dcad5213eb348 100644
89     --- a/drivers/net/can/flexcan.c
90     +++ b/drivers/net/can/flexcan.c
91     @@ -379,9 +379,15 @@ static int flexcan_chip_disable(struct flexcan_priv *priv)
92     static int flexcan_chip_freeze(struct flexcan_priv *priv)
93     {
94     struct flexcan_regs __iomem *regs = priv->regs;
95     - unsigned int timeout = 1000 * 1000 * 10 / priv->can.bittiming.bitrate;
96     + unsigned int timeout;
97     + u32 bitrate = priv->can.bittiming.bitrate;
98     u32 reg;
99    
100     + if (bitrate)
101     + timeout = 1000 * 1000 * 10 / bitrate;
102     + else
103     + timeout = FLEXCAN_TIMEOUT_US / 10;
104     +
105     reg = flexcan_read(&regs->mcr);
106     reg |= FLEXCAN_MCR_FRZ | FLEXCAN_MCR_HALT;
107     flexcan_write(reg, &regs->mcr);
108     diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c b/drivers/net/ethernet/marvell/pxa168_eth.c
109     index 5d5000c8edf1d..09cb0ac701e11 100644
110     --- a/drivers/net/ethernet/marvell/pxa168_eth.c
111     +++ b/drivers/net/ethernet/marvell/pxa168_eth.c
112     @@ -1571,8 +1571,8 @@ static int pxa168_eth_remove(struct platform_device *pdev)
113    
114     mdiobus_unregister(pep->smi_bus);
115     mdiobus_free(pep->smi_bus);
116     - unregister_netdev(dev);
117     cancel_work_sync(&pep->tx_timeout_task);
118     + unregister_netdev(dev);
119     free_netdev(dev);
120     return 0;
121     }
122     diff --git a/drivers/target/target_core_pscsi.c b/drivers/target/target_core_pscsi.c
123     index ef1c8c158f66b..079db0bd39174 100644
124     --- a/drivers/target/target_core_pscsi.c
125     +++ b/drivers/target/target_core_pscsi.c
126     @@ -951,6 +951,14 @@ pscsi_map_sg(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
127    
128     return 0;
129     fail:
130     + if (bio)
131     + bio_put(bio);
132     + while (req->bio) {
133     + bio = req->bio;
134     + req->bio = bio->bi_next;
135     + bio_put(bio);
136     + }
137     + req->biotail = NULL;
138     return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
139     }
140    
141     diff --git a/fs/cifs/file.c b/fs/cifs/file.c
142     index 24508b69e78b7..e2ce90fc504ec 100644
143     --- a/fs/cifs/file.c
144     +++ b/fs/cifs/file.c
145     @@ -163,6 +163,7 @@ int cifs_posix_open(char *full_path, struct inode **pinode,
146     goto posix_open_ret;
147     }
148     } else {
149     + cifs_revalidate_mapping(*pinode);
150     cifs_fattr_to_inode(*pinode, &fattr);
151     }
152    
153     diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c
154     index bddb2d7b39824..075b285bbd3ea 100644
155     --- a/fs/cifs/smb2misc.c
156     +++ b/fs/cifs/smb2misc.c
157     @@ -651,8 +651,8 @@ smb2_is_valid_oplock_break(char *buffer, struct TCP_Server_Info *server)
158     }
159     }
160     spin_unlock(&cifs_tcp_ses_lock);
161     - cifs_dbg(FYI, "Can not process oplock break for non-existent connection\n");
162     - return false;
163     + cifs_dbg(FYI, "No file id matched, oplock break ignored\n");
164     + return true;
165     }
166    
167     void
168     diff --git a/init/Kconfig b/init/Kconfig
169     index 0a615bdc203a4..07570008e2fd9 100644
170     --- a/init/Kconfig
171     +++ b/init/Kconfig
172     @@ -65,8 +65,7 @@ config CROSS_COMPILE
173    
174     config COMPILE_TEST
175     bool "Compile also drivers which will not load"
176     - depends on !UML
177     - default n
178     + depends on HAS_IOMEM
179     help
180     Some drivers can be compiled on a different platform than they are
181     intended to be run on. Despite they cannot be loaded there (or even
182     diff --git a/net/mac80211/main.c b/net/mac80211/main.c
183     index e3bbfb20ae829..f31fd21d59ba9 100644
184     --- a/net/mac80211/main.c
185     +++ b/net/mac80211/main.c
186     @@ -906,8 +906,19 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
187     continue;
188    
189     if (!dflt_chandef.chan) {
190     + /*
191     + * Assign the first enabled channel to dflt_chandef
192     + * from the list of channels
193     + */
194     + for (i = 0; i < sband->n_channels; i++)
195     + if (!(sband->channels[i].flags &
196     + IEEE80211_CHAN_DISABLED))
197     + break;
198     + /* if none found then use the first anyway */
199     + if (i == sband->n_channels)
200     + i = 0;
201     cfg80211_chandef_create(&dflt_chandef,
202     - &sband->channels[0],
203     + &sband->channels[i],
204     NL80211_CHAN_NO_HT);
205     /* init channel we're on */
206     if (!local->use_chanctx && !local->_oper_chandef.chan) {
207     diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
208     index 79c45046edc61..7b94170aa5ecb 100644
209     --- a/sound/pci/hda/patch_realtek.c
210     +++ b/sound/pci/hda/patch_realtek.c
211     @@ -6285,7 +6285,6 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
212     SND_HDA_PIN_QUIRK(0x10ec0299, 0x1028, "Dell", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE,
213     ALC225_STANDARD_PINS,
214     {0x12, 0xb7a60130},
215     - {0x13, 0xb8a61140},
216     {0x17, 0x90170110}),
217     {}
218     };