This is the start of the stable review cycle for the 4.15.6 release.
There are 45 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Sun Feb 25 17:06:43 UTC 2018.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.15.6-rc1…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.15.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.15.6-rc1
Michal Hocko <mhocko(a)suse.com>
vmalloc: fix __GFP_HIGHMEM usage for vmalloc_32 on 32b systems
Tomas Winkler <tomas.winkler(a)intel.com>
mei: me: add cannon point device ids for 4th device
Alexander Usyskin <alexander.usyskin(a)intel.com>
mei: me: add cannon point device ids
Kamil Konieczny <k.konieczny(a)partner.samsung.com>
crypto: s5p-sss - Fix kernel Oops in AES-ECB mode
Shuah Khan <shuah(a)kernel.org>
usbip: keep usbip_device sockfd state in sync with tcp_socket
Zhengjun Xing <zhengjun.xing(a)linux.intel.com>
xhci: fix xhci debugfs errors in xhci_stop
Zhengjun Xing <zhengjun.xing(a)linux.intel.com>
xhci: xhci debugfs device nodes weren't removed after device plugged out
Zhengjun Xing <zhengjun.xing(a)linux.intel.com>
xhci: Fix xhci debugfs devices node disappearance after hibernation
Zhengjun Xing <zhengjun.xing(a)linux.intel.com>
xhci: Fix NULL pointer in xhci debugfs
Alexandru Ardelean <alexandru.ardelean(a)analog.com>
staging: iio: ad5933: switch buffer mode to software
Alexandru Ardelean <alexandru.ardelean(a)analog.com>
staging: iio: adc: ad7192: fix external frequency setting
Arnd Bergmann <arnd(a)arndb.de>
staging: fsl-mc: fix build testing on x86
Todd Kjos <tkjos(a)android.com>
binder: replace "%p" with "%pK"
Eric Biggers <ebiggers(a)google.com>
binder: check for binder_thread allocation failure in binder_poll()
Ben Hutchings <ben(a)decadent.org.uk>
staging: android: ashmem: Fix a race condition in pin ioctls
Martijn Coenen <maco(a)android.com>
ANDROID: binder: synchronize_rcu() when using POLLFREE.
Todd Kjos <tkjos(a)android.com>
ANDROID: binder: remove WARN() for redundant txn error
Paolo Abeni <pabeni(a)redhat.com>
dn_getsockoptdecnet: move nf_{get/set}sockopt outside sock lock
Arnd Bergmann <arnd(a)arndb.de>
arm64: dts: add #cooling-cells to CPU nodes
Arnd Bergmann <arnd(a)arndb.de>
ARM: 8743/1: bL_switcher: add MODULE_LICENSE tag
Arnd Bergmann <arnd(a)arndb.de>
video: fbdev/mmp: add MODULE_LICENSE
Arnd Bergmann <arnd(a)arndb.de>
ASoC: ux500: add MODULE_LICENSE tag
Jesse Chan <jc(a)linux.com>
soc: qcom: rmtfs_mem: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
Eric Dumazet <edumazet(a)google.com>
net_sched: gen_estimator: fix lockdep splat
Willem de Bruijn <willemb(a)google.com>
net: avoid skb_warn_bad_offload on IS_ERR
Sowmini Varadhan <sowmini.varadhan(a)oracle.com>
rds: tcp: atomically purge entries from rds_tcp_conn_list during netns delete
Sowmini Varadhan <sowmini.varadhan(a)oracle.com>
rds: tcp: correctly sequence cleanup on netns deletion.
Cong Wang <xiyou.wangcong(a)gmail.com>
netfilter: xt_RATEEST: acquire xt_rateest_mutex for hash insert
Cong Wang <xiyou.wangcong(a)gmail.com>
netfilter: xt_cgroup: initialize info->priv in cgroup_mt_check_v1()
Paolo Abeni <pabeni(a)redhat.com>
netfilter: on sockopt() acquire sock lock only in the required scope
Dmitry Vyukov <dvyukov(a)google.com>
netfilter: ipt_CLUSTERIP: fix out-of-bounds accesses in clusterip_tg_check()
Eric Dumazet <edumazet(a)google.com>
netfilter: x_tables: avoid out-of-bounds reads in xt_request_find_{match|target}
Dmitry Vyukov <dvyukov(a)google.com>
netfilter: x_tables: fix int overflow in xt_alloc_table_info()
Dmitry Vyukov <dvyukov(a)google.com>
kcov: detect double association with a single task
Wanpeng Li <wanpeng.li(a)hotmail.com>
KVM: x86: fix escape of guest dr6 to the host
Douglas Gilbert <dgilbert(a)interlog.com>
blk_rq_map_user_iov: fix error override
Laura Abbott <labbott(a)redhat.com>
staging: android: ion: Switch from WARN to pr_warn
Laura Abbott <labbott(a)redhat.com>
staging: android: ion: Add __GFP_NOWARN for system contig heap
Eric Biggers <ebiggers(a)google.com>
crypto: x86/twofish-3way - Fix %rbp usage
Andrey Konovalov <andreyknvl(a)google.com>
media: pvrusb2: properly check endpoint types
Paul Moore <paul(a)paul-moore.com>
selinux: skip bounded transition processing if the policy isn't loaded
Paul Moore <paul(a)paul-moore.com>
selinux: ensure the context is NUL terminated in security_context_to_sid_core()
Jason Wang <jasowang(a)redhat.com>
ptr_ring: try vmalloc() when kmalloc() fails
Jason Wang <jasowang(a)redhat.com>
ptr_ring: fail early if queue occupies more than KMALLOC_MAX_SIZE
Eric Dumazet <edumazet(a)google.com>
tun: fix tun_napi_alloc_frags() frag allocator
-------------
Diffstat:
Makefile | 4 +-
arch/arm/common/bL_switcher_dummy_if.c | 4 +
arch/arm64/boot/dts/mediatek/mt8173.dtsi | 2 +
arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 112 +++++++++++++-----------
arch/x86/kvm/x86.c | 6 ++
block/blk-map.c | 4 +-
drivers/android/binder.c | 29 ++++--
drivers/crypto/s5p-sss.c | 12 ++-
drivers/media/usb/pvrusb2/pvrusb2-hdw.c | 12 +++
drivers/misc/mei/hw-me-regs.h | 5 ++
drivers/misc/mei/pci-me.c | 5 ++
drivers/net/tun.c | 16 ++--
drivers/soc/qcom/rmtfs_mem.c | 4 +
drivers/staging/android/ashmem.c | 19 ++--
drivers/staging/android/ion/ion-ioctl.c | 4 +-
drivers/staging/android/ion/ion_system_heap.c | 2 +-
drivers/staging/fsl-mc/bus/Kconfig | 2 +-
drivers/staging/iio/adc/ad7192.c | 27 ++++--
drivers/staging/iio/impedance-analyzer/ad5933.c | 4 +-
drivers/usb/host/xhci-debugfs.c | 4 +-
drivers/usb/host/xhci.c | 10 +--
drivers/usb/usbip/stub_dev.c | 3 +
drivers/usb/usbip/vhci_hcd.c | 2 +
drivers/video/fbdev/mmp/core.c | 5 ++
include/linux/ptr_ring.h | 15 ++--
kernel/kcov.c | 4 +-
mm/vmalloc.c | 10 ++-
net/core/dev.c | 2 +-
net/core/gen_estimator.c | 4 +
net/decnet/af_decnet.c | 62 +++++++------
net/ipv4/ip_sockglue.c | 14 +--
net/ipv4/netfilter/ipt_CLUSTERIP.c | 16 +++-
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c | 6 +-
net/ipv6/ipv6_sockglue.c | 17 ++--
net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c | 18 ++--
net/netfilter/x_tables.c | 9 +-
net/netfilter/xt_RATEEST.c | 22 +++--
net/netfilter/xt_cgroup.c | 1 +
net/rds/connection.c | 3 +-
net/rds/rds.h | 6 +-
net/rds/tcp.c | 13 ++-
net/rds/tcp.h | 1 +
security/selinux/ss/services.c | 21 ++---
sound/soc/ux500/mop500.c | 4 +
sound/soc/ux500/ux500_pcm.c | 5 ++
45 files changed, 348 insertions(+), 202 deletions(-)
In commit c713fb071edc ("rtlwifi: rtl8821ae: Fix connection lost problem
correctly") a problem in rtl8821ae that caused loss of signal was fixed.
That same problem has now been reported for rtl8723be. Accordingly,
the ASPM L1 latency has been increased from 0 to 7 to fix the instability.
Signed-off-by: Larry Finger <Larry.Finger(a)lwfinger.net>
Cc: Stable <stable(a)vger.kernel.org>
---
Kalle,
This patch should be sent to 4.16.
Thanks,
Larry
---
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
index f9ccd13c79f9..e7bbbc95cdb1 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
@@ -1125,7 +1125,8 @@ static void _rtl8723be_enable_aspm_back_door(struct ieee80211_hw *hw)
/* Configuration Space offset 0x70f BIT7 is used to control L0S */
tmp8 = _rtl8723be_dbi_read(rtlpriv, 0x70f);
- _rtl8723be_dbi_write(rtlpriv, 0x70f, tmp8 | BIT(7));
+ _rtl8723be_dbi_write(rtlpriv, 0x70f, tmp8 | BIT(7) |
+ ASPM_L1_LATENCY << 3);
/* Configuration Space offset 0x719 Bit3 is for L1
* BIT4 is for clock request
--
2.16.2
On Sat, Feb 24, 2018 at 11:41:01AM +0000, Harsh Shandilya wrote:
> On Sat 24 Feb, 2018, 12:01 AM Greg Kroah-Hartman, <
> gregkh(a)linuxfoundation.org> wrote:
>
> > This is the start of the stable review cycle for the 3.18.96 release.
> > There are 58 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Sun Feb 25 17:01:41 UTC 2018.
> > Anything received after that time might be too late.
> >
> > The whole patch series can be found in one patch at:
> >
> > https://www.kernel.org/pub/linux/kernel/v3.x/stable-review/patch-3.18.96-rc…
> > or in the git tree and branch at:
> > git://
> > git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > linux-3.18.y
> > and the diffstat can be found below.
> >
>
> Clean merge into the msm-3.18 CAF tree, no regressions noticed on the
> OnePlus 3T. Thanks for the update :)
Great, thanks for testing and letting me know.
greg k-h
This is the start of the stable review cycle for the 3.18.96 release.
There are 58 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Sun Feb 25 17:01:41 UTC 2018.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v3.x/stable-review/patch-3.18.96-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-3.18.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 3.18.96-rc1
Kamil Konieczny <k.konieczny(a)partner.samsung.com>
crypto: s5p-sss - Fix kernel Oops in AES-ECB mode
Wanpeng Li <wanpeng.li(a)hotmail.com>
KVM: async_pf: Fix #DF due to inject "Page not Present" and "Page Ready" exceptions simultaneously
Jia-Ju Bai <baijiaju1990(a)163.com>
hippi: Fix a Fix a possible sleep-in-atomic bug in rr_close
Jan Beulich <JBeulich(a)suse.com>
xen: XEN_ACPI_PROCESSOR is Dom0-only
Karol Herbst <kherbst(a)redhat.com>
x86/mm/kmmio: Fix mmiotrace for page unaligned addresses
Dave Young <dyoung(a)redhat.com>
mm/early_ioremap: Fix boot hang with earlyprintk=efi,keep
Tobias Jordan <Tobias.Jordan(a)elektrobit.com>
dmaengine: jz4740: disable/unprepare clk if probe fails
Steffen Klassert <steffen.klassert(a)secunet.com>
xfrm: Fix stack-out-of-bounds with misconfigured transport mode policies.
Takuo Koguchi <takuo.koguchi(a)gmail.com>
spi: sun4i: disable clocks in the remove function
Eric Biggers <ebiggers3(a)gmail.com>
509: fix printing uninitialized stack memory when OID is empty
Nikolay Borisov <nborisov(a)suse.com>
btrfs: Fix possible off-by-one in btrfs_search_path_in_tree
Nogah Frankel <nogahf(a)mellanox.com>
net_sched: red: Avoid illegal values
Nogah Frankel <nogahf(a)mellanox.com>
net_sched: red: Avoid devision by zero
Zumeng Chen <zumeng.chen(a)gmail.com>
gianfar: fix a flooded alignment reports because of padding issue.
Stefan Haberland <sth(a)linux.vnet.ibm.com>
s390/dasd: prevent prefix I/O error
Ravi Bangoria <ravi.bangoria(a)linux.vnet.ibm.com>
powerpc/perf: Fix oops when grouping different pmu events
Greg Ungerer <gerg(a)linux-m68k.org>
m68k: add missing SOFTIRQENTRY_TEXT linker section
Will Deacon <will.deacon(a)arm.com>
scripts/kernel-doc: Don't fail with status != 0 if error encountered with -none
Mauro Carvalho Chehab <mchehab(a)s-opensource.com>
media: s5k6aa: describe some function parameters
Satheesh Rajendran <sathnaga(a)linux.vnet.ibm.com>
perf bench numa: Fixup discontiguous/sparse numa nodes
Jiri Olsa <jolsa(a)kernel.org>
perf top: Fix window dimensions change handling
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ARM: dts: am4372: Correct the interrupts_properties of McASP
Keerthy <j-keerthy(a)ti.com>
ARM: AM33xx: PRM: Remove am33xx_pwrdm_read_prev_pwrst function
Randy Dunlap <rdunlap(a)infradead.org>
usb: build drivers/usb/common/ when USB_SUPPORT is set
Shuah Khan <shuahkh(a)osg.samsung.com>
usbip: keep usbip_device sockfd state in sync with tcp_socket
Paolo Abeni <pabeni(a)redhat.com>
dn_getsockoptdecnet: move nf_{get/set}sockopt outside sock lock
Arnd Bergmann <arnd(a)arndb.de>
video: fbdev/mmp: add MODULE_LICENSE
Arnd Bergmann <arnd(a)arndb.de>
ASoC: ux500: add MODULE_LICENSE tag
Paul Moore <paul(a)paul-moore.com>
selinux: ensure the context is NUL terminated in security_context_to_sid_core()
David Howells <dhowells(a)redhat.com>
Provide a function to create a NUL-terminated string from unterminated data
Willem de Bruijn <willemb(a)google.com>
net: avoid skb_warn_bad_offload on IS_ERR
Cong Wang <xiyou.wangcong(a)gmail.com>
netfilter: xt_RATEEST: acquire xt_rateest_mutex for hash insert
Paolo Abeni <pabeni(a)redhat.com>
netfilter: on sockopt() acquire sock lock only in the required scope
Dmitry Vyukov <dvyukov(a)google.com>
netfilter: ipt_CLUSTERIP: fix out-of-bounds accesses in clusterip_tg_check()
Eric Dumazet <edumazet(a)google.com>
netfilter: x_tables: avoid out-of-bounds reads in xt_request_find_{match|target}
Dmitry Vyukov <dvyukov(a)google.com>
netfilter: x_tables: fix int overflow in xt_alloc_table_info()
Laura Abbott <labbott(a)redhat.com>
staging: android: ion: Add __GFP_NOWARN for system contig heap
Eric Biggers <ebiggers(a)google.com>
crypto: x86/twofish-3way - Fix %rbp usage
Paul Moore <paul(a)paul-moore.com>
selinux: skip bounded transition processing if the policy isn't loaded
Cong Wang <xiyou.wangcong(a)gmail.com>
xfrm: check id proto in validate_tmpl()
Tetsuo Handa <penguin-kernel(a)I-love.SAKURA.ne.jp>
mm,vmscan: Make unregister_shrinker() no-op if register_shrinker() failed.
Arnd Bergmann <arnd(a)arndb.de>
media: r820t: fix r820t_write_reg for KASAN
Arnd Bergmann <arnd(a)arndb.de>
ARM: dts: s5pv210: add interrupt-parent for ohci
Takashi Iwai <tiwai(a)suse.de>
ALSA: seq: Fix racy pool initializations
Liu Bo <bo.li.liu(a)oracle.com>
Btrfs: fix crash due to not cleaning up tree log block's dirty bits
Liu Bo <bo.li.liu(a)oracle.com>
Btrfs: fix deadlock in run_delalloc_nocow
Nicolas Pitre <nicolas.pitre(a)linaro.org>
console/dummy: leave .con_font_get set to NULL
Johan Hovold <johan(a)kernel.org>
video: fbdev: atmel_lcdfb: fix display-timings lookup
Ernesto A. Fernández <ernesto.mnd.fernandez(a)gmail.com>
ext4: correct documentation for grpid mount option
Zhouyi Zhou <zhouzhouyi(a)gmail.com>
ext4: save error to disk in __ext4_grp_locked_error()
Julia Lawall <Julia.Lawall(a)lip6.fr>
drm/radeon: adjust tested variable
Takashi Iwai <tiwai(a)suse.de>
ALSA: seq: Fix regression by incorrect ioctl_mutex usages
Viresh Kumar <viresh.kumar(a)linaro.org>
arm: spear13xx: Fix spics gpio controller's warning
Viresh Kumar <viresh.kumar(a)linaro.org>
arm: spear13xx: Fix dmas cells
Viresh Kumar <viresh.kumar(a)linaro.org>
arm: spear600: Add missing interrupt-parent of rtc
Eugene Syromiatnikov <esyr(a)redhat.com>
s390: fix handling of -1 in set{,fs}[gu]id16 syscalls
Bjorn Andersson <bjorn.andersson(a)linaro.org>
PM / devfreq: Propagate error from devfreq_add_device()
Jack Morgenstein <jackm(a)dev.mellanox.co.il>
IB/mlx4: Fix incorrectly releasing steerable UD QPs when have only ETH ports
-------------
Diffstat:
Documentation/devicetree/bindings/dma/snps-dma.txt | 2 +-
Documentation/filesystems/ext4.txt | 2 +-
Makefile | 4 +-
arch/arm/boot/dts/am4372.dtsi | 6 +-
arch/arm/boot/dts/s5pv210.dtsi | 1 +
arch/arm/boot/dts/spear1310-evb.dts | 2 +-
arch/arm/boot/dts/spear1340.dtsi | 4 +-
arch/arm/boot/dts/spear13xx.dtsi | 6 +-
arch/arm/boot/dts/spear600.dtsi | 1 +
arch/arm/mach-omap2/prm33xx.c | 12 ---
arch/m68k/kernel/vmlinux-nommu.lds | 2 +
arch/m68k/kernel/vmlinux-std.lds | 2 +
arch/m68k/kernel/vmlinux-sun3.lds | 2 +
arch/powerpc/perf/core-book3s.c | 4 +-
arch/s390/kernel/compat_linux.c | 8 +-
arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 112 +++++++++++----------
arch/x86/kvm/x86.c | 34 +++++--
arch/x86/mm/ioremap.c | 4 +-
arch/x86/mm/kmmio.c | 12 ++-
drivers/Makefile | 1 +
drivers/crypto/s5p-sss.c | 13 ++-
drivers/devfreq/devfreq.c | 2 +-
drivers/dma/dma-jz4740.c | 4 +-
drivers/gpu/drm/radeon/radeon_uvd.c | 2 +-
drivers/infiniband/hw/mlx4/main.c | 13 +--
drivers/media/i2c/s5k6aa.c | 5 +
drivers/media/tuners/r820t.c | 13 ++-
drivers/net/ethernet/freescale/gianfar.c | 6 +-
drivers/net/ethernet/mellanox/mlx4/qp.c | 3 +
drivers/net/hippi/rrunner.c | 2 +-
drivers/s390/block/dasd_eckd.c | 16 +--
drivers/spi/spi-sun4i.c | 2 +-
drivers/staging/android/ion/ion_system_heap.c | 2 +-
drivers/usb/usbip/stub_dev.c | 3 +
drivers/usb/usbip/vhci_hcd.c | 2 +
drivers/video/console/dummycon.c | 1 -
drivers/video/fbdev/atmel_lcdfb.c | 8 +-
drivers/video/fbdev/mmp/core.c | 5 +
drivers/xen/Kconfig | 2 +-
fs/btrfs/inode.c | 5 +-
fs/btrfs/ioctl.c | 2 +-
fs/btrfs/tree-log.c | 9 ++
fs/ext4/super.c | 1 +
include/linux/string.h | 1 +
include/net/red.h | 13 ++-
lib/oid_registry.c | 8 +-
mm/early_ioremap.c | 2 +-
mm/util.c | 24 +++++
mm/vmscan.c | 3 +
net/core/dev.c | 2 +-
net/decnet/af_decnet.c | 62 ++++++------
net/ipv4/ip_sockglue.c | 14 +--
net/ipv4/netfilter/ipt_CLUSTERIP.c | 16 ++-
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c | 6 +-
net/ipv6/ipv6_sockglue.c | 17 +---
net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c | 18 ++--
net/netfilter/x_tables.c | 10 +-
net/netfilter/xt_RATEEST.c | 22 +++-
net/sched/sch_choke.c | 3 +
net/sched/sch_gred.c | 3 +
net/sched/sch_red.c | 2 +
net/sched/sch_sfq.c | 3 +
net/xfrm/xfrm_user.c | 24 +++++
scripts/kernel-doc | 2 +-
security/selinux/ss/services.c | 21 ++--
sound/core/seq/seq_clientmgr.c | 23 +++--
sound/soc/ux500/mop500.c | 4 +
sound/soc/ux500/ux500_pcm.c | 5 +
tools/perf/bench/numa.c | 56 ++++++++++-
tools/perf/builtin-top.c | 15 ++-
70 files changed, 485 insertions(+), 236 deletions(-)
This is a note to let you know that I've just added the patch titled
net: dst_cache_per_cpu_dst_set() can be static
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=sum…
The filename of the patch is:
net-dst_cache_per_cpu_dst_set-can-be-static.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable(a)vger.kernel.org> know about it.
>From b73f96fcb49ec90c2f837719893e7b25fcdf08d8 Mon Sep 17 00:00:00 2001
From: Wu Fengguang <fengguang.wu(a)intel.com>
Date: Fri, 18 Mar 2016 23:27:28 +0800
Subject: net: dst_cache_per_cpu_dst_set() can be static
From: Wu Fengguang <fengguang.wu(a)intel.com>
commit b73f96fcb49ec90c2f837719893e7b25fcdf08d8 upstream.
Signed-off-by: Fengguang Wu <fengguang.wu(a)intel.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
net/core/dst_cache.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--- a/net/core/dst_cache.c
+++ b/net/core/dst_cache.c
@@ -28,8 +28,8 @@ struct dst_cache_pcpu {
};
};
-void dst_cache_per_cpu_dst_set(struct dst_cache_pcpu *dst_cache,
- struct dst_entry *dst, u32 cookie)
+static void dst_cache_per_cpu_dst_set(struct dst_cache_pcpu *dst_cache,
+ struct dst_entry *dst, u32 cookie)
{
dst_release(dst_cache->dst);
if (dst)
@@ -39,8 +39,8 @@ void dst_cache_per_cpu_dst_set(struct ds
dst_cache->dst = dst;
}
-struct dst_entry *dst_cache_per_cpu_get(struct dst_cache *dst_cache,
- struct dst_cache_pcpu *idst)
+static struct dst_entry *dst_cache_per_cpu_get(struct dst_cache *dst_cache,
+ struct dst_cache_pcpu *idst)
{
struct dst_entry *dst;
Patches currently in stable-queue which might be from fengguang.wu(a)intel.com are
queue-4.4/net-dst_cache_per_cpu_dst_set-can-be-static.patch
queue-4.4/video-use-bool-instead-int-pointer-for-get_opt_bool-argument.patch
queue-4.4/staging-wilc1000-fix-kbuild-test-robot-error.patch
queue-4.4/serial-8250_mid-fix-broken-dma-dependency.patch
Guests on new hypersiors might set KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT
bit when enabling async_PF, but this bit is reserved on old hypervisors,
which results in a failure upon migration.
To avoid breaking different cases, we are checking for CPUID feature bit
before enabling the feature and nothing else.
Fixes: 52a5c155cf79 ("KVM: async_pf: Let guest support delivery of async_pf from guest mode")
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Radim Krčmář <rkrcmar(a)redhat.com>
---
v2:
* added documentation [Paolo]
* retained compatibility recent kernels [Paolo]
---
Documentation/virtual/kvm/cpuid.txt | 4 ++++
Documentation/virtual/kvm/msr.txt | 3 ++-
arch/x86/include/uapi/asm/kvm_para.h | 1 +
arch/x86/kernel/kvm.c | 8 ++++----
arch/x86/kvm/cpuid.c | 3 ++-
5 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/Documentation/virtual/kvm/cpuid.txt b/Documentation/virtual/kvm/cpuid.txt
index dcab6dc11e3b..87a7506f31c2 100644
--- a/Documentation/virtual/kvm/cpuid.txt
+++ b/Documentation/virtual/kvm/cpuid.txt
@@ -58,6 +58,10 @@ KVM_FEATURE_PV_TLB_FLUSH || 9 || guest checks this feature bit
|| || before enabling paravirtualized
|| || tlb flush.
------------------------------------------------------------------------------
+KVM_FEATURE_ASYNC_PF_VMEXIT || 10 || paravirtualized async PF VM exit
+ || || can be enabled by setting bit 2
+ || || when writing to msr 0x4b564d02
+------------------------------------------------------------------------------
KVM_FEATURE_CLOCKSOURCE_STABLE_BIT || 24 || host will warn if no guest-side
|| || per-cpu warps are expected in
|| || kvmclock.
diff --git a/Documentation/virtual/kvm/msr.txt b/Documentation/virtual/kvm/msr.txt
index 1ebecc115dc6..f3f0d57ced8e 100644
--- a/Documentation/virtual/kvm/msr.txt
+++ b/Documentation/virtual/kvm/msr.txt
@@ -170,7 +170,8 @@ MSR_KVM_ASYNC_PF_EN: 0x4b564d02
when asynchronous page faults are enabled on the vcpu 0 when
disabled. Bit 1 is 1 if asynchronous page faults can be injected
when vcpu is in cpl == 0. Bit 2 is 1 if asynchronous page faults
- are delivered to L1 as #PF vmexits.
+ are delivered to L1 as #PF vmexits. Bit 2 can be set only if
+ KVM_FEATURE_ASYNC_PF_VMEXIT is present in CPUID.
First 4 byte of 64 byte memory location will be written to by
the hypervisor at the time of asynchronous page fault (APF)
diff --git a/arch/x86/include/uapi/asm/kvm_para.h b/arch/x86/include/uapi/asm/kvm_para.h
index 7a2ade4aa235..6cfa9c8cb7d6 100644
--- a/arch/x86/include/uapi/asm/kvm_para.h
+++ b/arch/x86/include/uapi/asm/kvm_para.h
@@ -26,6 +26,7 @@
#define KVM_FEATURE_PV_EOI 6
#define KVM_FEATURE_PV_UNHALT 7
#define KVM_FEATURE_PV_TLB_FLUSH 9
+#define KVM_FEATURE_ASYNC_PF_VMEXIT 10
/* The last 8 bits are used to indicate how to interpret the flags field
* in pvclock structure. If no bits are set, all flags are ignored.
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 4e37d1a851a6..971babe964d2 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -341,10 +341,10 @@ static void kvm_guest_cpu_init(void)
#endif
pa |= KVM_ASYNC_PF_ENABLED;
- /* Async page fault support for L1 hypervisor is optional */
- if (wrmsr_safe(MSR_KVM_ASYNC_PF_EN,
- (pa | KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT) & 0xffffffff, pa >> 32) < 0)
- wrmsrl(MSR_KVM_ASYNC_PF_EN, pa);
+ if (kvm_para_has_feature(KVM_FEATURE_ASYNC_PF_VMEXIT))
+ pa |= KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT;
+
+ wrmsrl(MSR_KVM_ASYNC_PF_EN, pa);
__this_cpu_write(apf_reason.enabled, 1);
printk(KERN_INFO"KVM setup async PF for cpu %d\n",
smp_processor_id());
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 20e491b94f44..7fc04a176c57 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -604,7 +604,8 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function,
(1 << KVM_FEATURE_PV_EOI) |
(1 << KVM_FEATURE_CLOCKSOURCE_STABLE_BIT) |
(1 << KVM_FEATURE_PV_UNHALT) |
- (1 << KVM_FEATURE_PV_TLB_FLUSH);
+ (1 << KVM_FEATURE_PV_TLB_FLUSH) |
+ (1 << KVM_FEATURE_ASYNC_PF_VMEXIT);
if (sched_info_on())
entry->eax |= (1 << KVM_FEATURE_STEAL_TIME);
--
2.15.1