commit:     e312977a31114df85c78b1cf0b7db7c3d364b463
Author:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 10 13:22:04 2021 +0000
Commit:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Sat Apr 10 13:22:04 2021 +0000
URL:        https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=e312977a

Linux patch 4.9.266

Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org>

 0000_README              |   4 +
 1265_linux-4.9.266.patch | 218 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 222 insertions(+)

diff --git a/0000_README b/0000_README
index ec5ff52..25dd58a 100644
--- a/0000_README
+++ b/0000_README
@@ -1103,6 +1103,10 @@ Patch:  1264_linux-4.9.265.patch
 From:   http://www.kernel.org
 Desc:   Linux 4.9.265
 
+Patch:  1265_linux-4.9.266.patch
+From:   http://www.kernel.org
+Desc:   Linux 4.9.266
+
 Patch:  1500_XATTR_USER_PREFIX.patch
 From:   https://bugs.gentoo.org/show_bug.cgi?id=470644
 Desc:   Support for namespace user.pax.* on tmpfs.

diff --git a/1265_linux-4.9.266.patch b/1265_linux-4.9.266.patch
new file mode 100644
index 0000000..2a41c6d
--- /dev/null
+++ b/1265_linux-4.9.266.patch
@@ -0,0 +1,218 @@
+diff --git a/Makefile b/Makefile
+index f47e685de5f64..9e055c32d77ac 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 9
+-SUBLEVEL = 265
++SUBLEVEL = 266
+ EXTRAVERSION =
+ NAME = Roaring Lionus
+ 
+diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
+index 9509cc73b9c64..64ae9cde8bdbd 100644
+--- a/arch/ia64/kernel/mca.c
++++ b/arch/ia64/kernel/mca.c
+@@ -1858,7 +1858,7 @@ ia64_mca_cpu_init(void *cpu_data)
+                       data = mca_bootmem();
+                       first_time = 0;
+               } else
+-                      data = (void *)__get_free_pages(GFP_KERNEL,
++                      data = (void *)__get_free_pages(GFP_ATOMIC,
+                                                       get_order(sz));
+               if (!data)
+                       panic("Could not allocate MCA memory for cpu %d\n",
+diff --git a/arch/x86/Makefile b/arch/x86/Makefile
+index 9f0099c46c881..9ebbd4892557e 100644
+--- a/arch/x86/Makefile
++++ b/arch/x86/Makefile
+@@ -34,7 +34,7 @@ REALMODE_CFLAGS      := $(M16_CFLAGS) -g -Os -D__KERNEL__ \
+                  -DDISABLE_BRANCH_PROFILING \
+                  -Wall -Wstrict-prototypes -march=i386 -mregparm=3 \
+                  -fno-strict-aliasing -fomit-frame-pointer -fno-pic \
+-                 -mno-mmx -mno-sse
++                 -mno-mmx -mno-sse $(call cc-option,-fcf-protection=none)
+ 
+ REALMODE_CFLAGS += $(call __cc-option, $(CC), $(REALMODE_CFLAGS), 
-ffreestanding)
+ REALMODE_CFLAGS += $(call __cc-option, $(CC), $(REALMODE_CFLAGS), 
-fno-stack-protector)
+diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
+index eb5734112cb49..1d1434f9c5a60 100644
+--- a/arch/x86/net/bpf_jit_comp.c
++++ b/arch/x86/net/bpf_jit_comp.c
+@@ -1082,7 +1082,16 @@ common_load:
+               }
+ 
+               if (image) {
+-                      if (unlikely(proglen + ilen > oldproglen)) {
++                      /*
++                       * When populating the image, assert that:
++                       *
++                       *  i) We do not write beyond the allocated space, and
++                       * ii) addrs[i] did not change from the prior run, in 
order
++                       *     to validate assumptions made for computing branch
++                       *     displacements.
++                       */
++                      if (unlikely(proglen + ilen > oldproglen ||
++                                   proglen + ilen != addrs[i])) {
+                               pr_err("bpf_jit_compile fatal error\n");
+                               return -EFAULT;
+                       }
+diff --git a/drivers/gpu/drm/msm/msm_fence.c b/drivers/gpu/drm/msm/msm_fence.c
+index a9b9b1c95a2eb..9dbd17be51f7c 100644
+--- a/drivers/gpu/drm/msm/msm_fence.c
++++ b/drivers/gpu/drm/msm/msm_fence.c
+@@ -56,7 +56,7 @@ int msm_wait_fence(struct msm_fence_context *fctx, uint32_t 
fence,
+       int ret;
+ 
+       if (fence > fctx->last_fence) {
+-              DRM_ERROR("%s: waiting on invalid fence: %u (of %u)\n",
++              DRM_ERROR_RATELIMITED("%s: waiting on invalid fence: %u (of 
%u)\n",
+                               fctx->name, fence, fctx->last_fence);
+               return -EINVAL;
+       }
+diff --git a/drivers/isdn/hardware/mISDN/mISDNipac.c 
b/drivers/isdn/hardware/mISDN/mISDNipac.c
+index 8d338ba366d0a..01a1afde5d3c5 100644
+--- a/drivers/isdn/hardware/mISDN/mISDNipac.c
++++ b/drivers/isdn/hardware/mISDN/mISDNipac.c
+@@ -711,7 +711,7 @@ isac_release(struct isac_hw *isac)
+ {
+       if (isac->type & IPAC_TYPE_ISACX)
+               WriteISAC(isac, ISACX_MASK, 0xff);
+-      else
++      else if (isac->type != 0)
+               WriteISAC(isac, ISAC_MASK, 0xff);
+       if (isac->dch.timer.function != NULL) {
+               del_timer(&isac->dch.timer);
+diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
+index b18bb0334ded6..dcad5213eb348 100644
+--- a/drivers/net/can/flexcan.c
++++ b/drivers/net/can/flexcan.c
+@@ -379,9 +379,15 @@ static int flexcan_chip_disable(struct flexcan_priv *priv)
+ static int flexcan_chip_freeze(struct flexcan_priv *priv)
+ {
+       struct flexcan_regs __iomem *regs = priv->regs;
+-      unsigned int timeout = 1000 * 1000 * 10 / priv->can.bittiming.bitrate;
++      unsigned int timeout;
++      u32 bitrate = priv->can.bittiming.bitrate;
+       u32 reg;
+ 
++      if (bitrate)
++              timeout = 1000 * 1000 * 10 / bitrate;
++      else
++              timeout = FLEXCAN_TIMEOUT_US / 10;
++
+       reg = flexcan_read(&regs->mcr);
+       reg |= FLEXCAN_MCR_FRZ | FLEXCAN_MCR_HALT;
+       flexcan_write(reg, &regs->mcr);
+diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c 
b/drivers/net/ethernet/marvell/pxa168_eth.c
+index 5d5000c8edf1d..09cb0ac701e11 100644
+--- a/drivers/net/ethernet/marvell/pxa168_eth.c
++++ b/drivers/net/ethernet/marvell/pxa168_eth.c
+@@ -1571,8 +1571,8 @@ static int pxa168_eth_remove(struct platform_device 
*pdev)
+ 
+       mdiobus_unregister(pep->smi_bus);
+       mdiobus_free(pep->smi_bus);
+-      unregister_netdev(dev);
+       cancel_work_sync(&pep->tx_timeout_task);
++      unregister_netdev(dev);
+       free_netdev(dev);
+       return 0;
+ }
+diff --git a/drivers/target/target_core_pscsi.c 
b/drivers/target/target_core_pscsi.c
+index ef1c8c158f66b..079db0bd39174 100644
+--- a/drivers/target/target_core_pscsi.c
++++ b/drivers/target/target_core_pscsi.c
+@@ -951,6 +951,14 @@ pscsi_map_sg(struct se_cmd *cmd, struct scatterlist *sgl, 
u32 sgl_nents,
+ 
+       return 0;
+ fail:
++      if (bio)
++              bio_put(bio);
++      while (req->bio) {
++              bio = req->bio;
++              req->bio = bio->bi_next;
++              bio_put(bio);
++      }
++      req->biotail = NULL;
+       return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
+ }
+ 
+diff --git a/fs/cifs/file.c b/fs/cifs/file.c
+index 24508b69e78b7..e2ce90fc504ec 100644
+--- a/fs/cifs/file.c
++++ b/fs/cifs/file.c
+@@ -163,6 +163,7 @@ int cifs_posix_open(char *full_path, struct inode **pinode,
+                       goto posix_open_ret;
+               }
+       } else {
++              cifs_revalidate_mapping(*pinode);
+               cifs_fattr_to_inode(*pinode, &fattr);
+       }
+ 
+diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c
+index bddb2d7b39824..075b285bbd3ea 100644
+--- a/fs/cifs/smb2misc.c
++++ b/fs/cifs/smb2misc.c
+@@ -651,8 +651,8 @@ smb2_is_valid_oplock_break(char *buffer, struct 
TCP_Server_Info *server)
+               }
+       }
+       spin_unlock(&cifs_tcp_ses_lock);
+-      cifs_dbg(FYI, "Can not process oplock break for non-existent 
connection\n");
+-      return false;
++      cifs_dbg(FYI, "No file id matched, oplock break ignored\n");
++      return true;
+ }
+ 
+ void
+diff --git a/init/Kconfig b/init/Kconfig
+index 0a615bdc203a4..07570008e2fd9 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -65,8 +65,7 @@ config CROSS_COMPILE
+ 
+ config COMPILE_TEST
+       bool "Compile also drivers which will not load"
+-      depends on !UML
+-      default n
++      depends on HAS_IOMEM
+       help
+         Some drivers can be compiled on a different platform than they are
+         intended to be run on. Despite they cannot be loaded there (or even
+diff --git a/net/mac80211/main.c b/net/mac80211/main.c
+index e3bbfb20ae829..f31fd21d59ba9 100644
+--- a/net/mac80211/main.c
++++ b/net/mac80211/main.c
+@@ -906,8 +906,19 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
+                       continue;
+ 
+               if (!dflt_chandef.chan) {
++                      /*
++                       * Assign the first enabled channel to dflt_chandef
++                       * from the list of channels
++                       */
++                      for (i = 0; i < sband->n_channels; i++)
++                              if (!(sband->channels[i].flags &
++                                              IEEE80211_CHAN_DISABLED))
++                                      break;
++                      /* if none found then use the first anyway */
++                      if (i == sband->n_channels)
++                              i = 0;
+                       cfg80211_chandef_create(&dflt_chandef,
+-                                              &sband->channels[0],
++                                              &sband->channels[i],
+                                               NL80211_CHAN_NO_HT);
+                       /* init channel we're on */
+                       if (!local->use_chanctx && !local->_oper_chandef.chan) {
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index 79c45046edc61..7b94170aa5ecb 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -6285,7 +6285,6 @@ static const struct snd_hda_pin_quirk 
alc269_pin_fixup_tbl[] = {
+       SND_HDA_PIN_QUIRK(0x10ec0299, 0x1028, "Dell", 
ALC269_FIXUP_DELL4_MIC_NO_PRESENCE,
+               ALC225_STANDARD_PINS,
+               {0x12, 0xb7a60130},
+-              {0x13, 0xb8a61140},
+               {0x17, 0x90170110}),
+       {}
+ };

Reply via email to