Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1704432 > unrolled thread
| Started by | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| First post | 2017-08-05 02:00 +0200 |
| Last post | 2017-08-05 08:20 +0200 |
| Articles | 20 on this page of 38 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH 4.4 00/91] 4.4.80-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 23/91] nfc: fdp: fix NULL pointer dereference Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 38/91] libnvdimm, btt: fix btt_rw_page not returning errors Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 06/91] md/raid5: add thread_group worker async_tx_issue_pending_all Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 04/91] powerpc/pseries: Fix of_node_put() underflow during reconfig remove Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 26/91] isdn/i4l: fix buffer overflow Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 29/91] mailbox: always wait in mbox_send_message for blocking Tx mode Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 05/91] crypto: authencesn - Fix digest_null crash Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 28/91] wil6210: fix deadlock when using fw_no_recovery option Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 54/91] x86/mce/AMD: Make the init code more robust Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 62/91] irqchip/keystone: Fix "scheduling while atomic" on rt Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 53/91] tpm: Replace device number bitmap with IDR Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 47/91] pstore: Use dynamic spinlock initializer Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 17/91] drm: rcar-du: Simplify and fix probe error handling Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
Re: [PATCH 4.4 17/91] drm: rcar-du: Simplify and fix probe error handling Ben Hutchings <ben.hutchings@codethink.co.uk> - 2017-08-07 17:20 +0200
Re: [PATCH 4.4 17/91] drm: rcar-du: Simplify and fix probe error handling Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-08 18:30 +0200
[PATCH 4.4 34/91] kaweth: fix oops upon failed memory allocation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 07/91] drm/vmwgfx: Fix gcc-7.1.1 warning Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 25/91] isdn: Fix a sleep-in-atomic bug Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 39/91] ipmi/watchdog: fix watchdog timeout set on reboot Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 36/91] PM / Domains: defer dev_pm_domain_set() until genpd->attach_dev succeeds if present Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 03/91] net: reduce skb_warn_bad_offload() noise Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 32/91] mpt3sas: Dont overreach ioc->reply_post[] during initialization Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 08/91] drm/nouveau/bar/gf100: fix access to upper half of BAR2 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 27/91] ath10k: fix null deref on wmi-tlv when trying spectral scan Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 09/91] KVM: PPC: Book3S HV: Context-switch EBB registers properly Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 60/91] drm/msm: Verify that MSM_SUBMIT_BO_FLAGS are set Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 22/91] xfs: dont BUG() on mixed direct and mapped I/O Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:00 +0200
[PATCH 4.4 15/91] drm/rcar: Nuke preclose hook Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:10 +0200
[PATCH 4.4 18/91] perf intel-pt: Fix ip compression Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:10 +0200
[PATCH 4.4 13/91] Revert "powerpc/numa: Fix percpu allocations to be NUMA aware" Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:10 +0200
[PATCH 4.4 11/91] KVM: PPC: Book3S HV: Reload HTM registers explicitly Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:10 +0200
[PATCH 4.4 14/91] Staging: comedi: comedi_fops: Avoid orphaned proc entry Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:10 +0200
[PATCH 4.4 16/91] drm: rcar-du: Perform initialization/cleanup at probe/remove time Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:10 +0200
[PATCH 4.4 19/91] perf intel-pt: Fix last_ip usage Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:10 +0200
[PATCH 4.4 10/91] KVM: PPC: Book3S HV: Restore critical SPRs to host values on guest exit Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-08-05 02:10 +0200
Re: [PATCH 4.4 00/91] 4.4.80-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2017-08-05 04:00 +0200
Re: [PATCH 4.4 00/91] 4.4.80-stable review Guenter Roeck <linux@roeck-us.net> - 2017-08-05 08:20 +0200
Page 1 of 2 [1] 2 Next page →
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 00/91] 4.4.80-stable review |
| Message-ID | <uaUcx-5a1-3@gated-at.bofh.it> |
This is the start of the stable review cycle for the 4.4.80 release.
There are 91 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 Aug 6 23:15:31 UTC 2017.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.80-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Linux 4.4.80-rc1
Patrick Lai <plai@codeaurora.org>
ASoC: dpcm: Avoid putting stream state to STOP when FE stream is paused
Burak Ok <burak-kernel@bur0k.de>
scsi: snic: Return error code on memory allocation failure
Satish Kharat <satishkh@cisco.com>
scsi: fnic: Avoid sending reset to firmware when another reset is in progress
Jiri Kosina <jkosina@suse.cz>
HID: ignore Petzl USB headlamp
Ioan-Adrian Ratiu <adi@adirat.com>
ALSA: usb-audio: test EP_FLAG_RUNNING at urb completion
Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
sh_eth: enable RX descriptor word 0 shift on SH7734
Daniel Schultz <d.schultz@phytec.de>
nvmem: imx-ocotp: Fix wrong register size
Mark Rutland <mark.rutland@arm.com>
arm64: mm: fix show_pte KERN_CONT fallout
Arvind Yadav <arvind.yadav.cs@gmail.com>
vfio-pci: Handle error from pci_iomap
Arvind Yadav <arvind.yadav.cs@gmail.com>
video: fbdev: cobalt_lcdfb: Handle return NULL error from devm_ioremap
Arnaldo Carvalho de Melo <acme@redhat.com>
perf symbols: Robustify reading of build-id from sysfs
Arnaldo Carvalho de Melo <acme@redhat.com>
perf tools: Install tools/lib/traceevent plugins with install-bin
Steffen Klassert <steffen.klassert@secunet.com>
xfrm: Don't use sk_family for socket policy lookups
Daniel Bristot de Oliveira <bristot@redhat.com>
tools lib traceevent: Fix prev/next_prio for deadline tasks
Liu Bo <bo.li.liu@oracle.com>
Btrfs: adjust outstanding_extents counter properly when dio write is split
David Lechner <david@lechnology.com>
usb: gadget: Fix copy/pasted error message
Rafael J. Wysocki <rafael.j.wysocki@intel.com>
ACPI / scan: Prefer devices without _HID/_CID for _ADR matching
Krzysztof Kozlowski <krzk@kernel.org>
ARM: s3c2410_defconfig: Fix invalid values for NF_CT_PROTO_*
Moritz Fischer <mdf@kernel.org>
ARM64: zynqmp: Fix i2c node's compatible string
Michal Simek <michal.simek@xilinx.com>
ARM64: zynqmp: Fix W=1 dtc 1.4 warnings
Christophe JAILLET <christophe.jaillet@wanadoo.fr>
dmaengine: ti-dma-crossbar: Add some 'of_node_put()' in error path.
Dave Jiang <dave.jiang@intel.com>
dmaengine: ioatdma: workaround SKX ioatdma version
Dave Jiang <dave.jiang@intel.com>
dmaengine: ioatdma: Add Skylake PCI Dev ID
Stafford Horne <shorne@gmail.com>
openrisc: Add _text symbol to fix ksym build error
Stefan Wahren <stefan.wahren@i2se.com>
irqchip/mxs: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND
John Hsu <KCHSU0@nuvoton.com>
ASoC: nau8825: fix invalid configuration in Pre-Scalar of FLL
Phil Reid <preid@electromag.com.au>
spi: dw: Make debugfs name unique between instances
Peter Ujfalusi <peter.ujfalusi@ti.com>
ASoC: tlv320aic3x: Mark the RESET register as volatile
Strashko, Grygorii <grygorii.strashko@ti.com>
irqchip/keystone: Fix "scheduling while atomic" on rt
Arnd Bergmann <arnd@arndb.de>
vfio-pci: use 32-bit comparisons for register address for gcc-4.5
Jordan Crouse <jcrouse@codeaurora.org>
drm/msm: Verify that MSM_SUBMIT_BO_FLAGS are set
Jordan Crouse <jcrouse@codeaurora.org>
drm/msm: Ensure that the hardware write pointer is valid
Leon Romanovsky <leonro@mellanox.com>
net/mlx4: Remove BUG_ON from ICM allocation routine
Zheng Li <james.z.li@ericsson.com>
ipv6: Should use consistent conditional judgement for ip6 fragment between __ip6_append_data and ip6_finish_output
Pali Rohár <pali.rohar@gmail.com>
ARM: dts: n900: Mark eMMC slot with no-sdio and no-sd flags
Chun-Hao Lin <hau@realtek.com>
r8169: add support for RTL8168 series add-on card.
Thomas Gleixner <tglx@linutronix.de>
x86/mce/AMD: Make the init code more robust
Stefan Berger <stefanb@linux.vnet.ibm.com>
tpm: Replace device number bitmap with IDR
Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
tpm: fix a kernel memory leak in tpm-sysfs.c
Juergen Gross <jgross@suse.com>
xen/blkback: don't use xen_blkif_get() in xen-blkback kthread
Juergen Gross <jgross@suse.com>
xen/blkback: don't free be structure too early
Wanpeng Li <wanpeng.li@hotmail.com>
sched/cputime: Fix prev steal time accouting during CPU hotplug
Eric Dumazet <edumazet@google.com>
net: skb_needs_check() accepts CHECKSUM_NONE for tx
Kees Cook <keescook@chromium.org>
pstore: Use dynamic spinlock initializer
Kees Cook <keescook@chromium.org>
pstore: Correctly initialize spinlock and flags
Joel Fernandes <joelaf@google.com>
pstore: Allow prz to control need for locking
Mike Manning <mmanning@brocade.com>
vlan: Propagate MAC address to VLANs
Linus Torvalds <torvalds@linux-foundation.org>
/proc/iomem: only expose physical resource addresses to privileged users
Linus Torvalds <torvalds@linux-foundation.org>
Make file credentials available to the seqfile interfaces
Andrzej Hajda <a.hajda@samsung.com>
v4l: s5c73m3: fix negation operator
Al Viro <viro@zeniv.linux.org.uk>
dentry name snapshots
Valentin Vidic <Valentin.Vidic@CARNet.hr>
ipmi/watchdog: fix watchdog timeout set on reboot
Vishal Verma <vishal.l.verma@intel.com>
libnvdimm, btt: fix btt_rw_page not returning errors
Ismail, Mustafa <mustafa.ismail@intel.com>
RDMA/uverbs: Fix the check for port number
Sudeep Holla <Sudeep.Holla@arm.com>
PM / Domains: defer dev_pm_domain_set() until genpd->attach_dev succeeds if present
Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
sched/cgroup: Move sched_online_group() back into css_online() to fix crash
Oliver Neukum <oneukum@suse.com>
kaweth: fix oops upon failed memory allocation
Oliver Neukum <oneukum@suse.com>
kaweth: fix firmware download
Calvin Owens <calvinowens@fb.com>
mpt3sas: Don't overreach ioc->reply_post[] during initialization
Sudeep Holla <sudeep.holla@arm.com>
mailbox: handle empty message in tx_tick
Sudeep Holla <sudeep.holla@arm.com>
mailbox: skip complete wait event if timer expired
Sudeep Holla <sudeep.holla@arm.com>
mailbox: always wait in mbox_send_message for blocking Tx mode
Lior David <qca_liord@qca.qualcomm.com>
wil6210: fix deadlock when using fw_no_recovery option
Michal Kazior <michal.kazior@tieto.com>
ath10k: fix null deref on wmi-tlv when trying spectral scan
Annie Cherkaev <annie.cherk@gmail.com>
isdn/i4l: fix buffer overflow
Jia-Ju Bai <baijiaju1990@163.com>
isdn: Fix a sleep-in-atomic bug
Florian Fainelli <f.fainelli@gmail.com>
net: phy: Do not perform software reset for Generic PHY
Sudip Mukherjee <sudipm.mukherjee@gmail.com>
nfc: fdp: fix NULL pointer dereference
Brian Foster <bfoster@redhat.com>
xfs: don't BUG() on mixed direct and mapped I/O
Adrian Hunter <adrian.hunter@intel.com>
perf intel-pt: Ensure never to set 'last_ip' when packet 'count' is zero
Adrian Hunter <adrian.hunter@intel.com>
perf intel-pt: Use FUP always when scanning for an IP
Adrian Hunter <adrian.hunter@intel.com>
perf intel-pt: Fix last_ip usage
Adrian Hunter <adrian.hunter@intel.com>
perf intel-pt: Fix ip compression
Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
drm: rcar-du: Simplify and fix probe error handling
Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
drm: rcar-du: Perform initialization/cleanup at probe/remove time
Daniel Vetter <daniel.vetter@ffwll.ch>
drm/rcar: Nuke preclose hook
Cheah Kok Cheong <thrust73@gmail.com>
Staging: comedi: comedi_fops: Avoid orphaned proc entry
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Revert "powerpc/numa: Fix percpu allocations to be NUMA aware"
Paul Mackerras <paulus@ozlabs.org>
KVM: PPC: Book3S HV: Save/restore host values of debug registers
Paul Mackerras <paulus@ozlabs.org>
KVM: PPC: Book3S HV: Reload HTM registers explicitly
Paul Mackerras <paulus@ozlabs.org>
KVM: PPC: Book3S HV: Restore critical SPRs to host values on guest exit
Paul Mackerras <paulus@ozlabs.org>
KVM: PPC: Book3S HV: Context-switch EBB registers properly
Ben Skeggs <bskeggs@redhat.com>
drm/nouveau/bar/gf100: fix access to upper half of BAR2
Sinclair Yeh <syeh@vmware.com>
drm/vmwgfx: Fix gcc-7.1.1 warning
Ofer Heifetz <oferh@marvell.com>
md/raid5: add thread_group worker async_tx_issue_pending_all
Herbert Xu <herbert@gondor.apana.org.au>
crypto: authencesn - Fix digest_null crash
Laurent Vivier <lvivier@redhat.com>
powerpc/pseries: Fix of_node_put() underflow during reconfig remove
Eric Dumazet <edumazet@google.com>
net: reduce skb_warn_bad_offload() noise
Joel Fernandes <joelaf@google.com>
pstore: Make spinlock per zone instead of global
Yuejie Shi <syjcnss@gmail.com>
af_key: Add lock to key dump
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/omap3-n900.dts | 2 +
arch/arm/configs/s3c2410_defconfig | 6 +-
arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts | 2 +-
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 6 +-
arch/arm64/mm/fault.c | 8 +-
arch/openrisc/kernel/vmlinux.lds.S | 2 +
arch/powerpc/include/asm/topology.h | 14 --
arch/powerpc/kernel/setup_64.c | 4 +-
arch/powerpc/kvm/book3s_hv.c | 41 ++++-
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 41 ++++-
arch/powerpc/platforms/pseries/reconfig.c | 1 -
arch/x86/kernel/cpu/mcheck/mce_amd.c | 3 +
crypto/authencesn.c | 5 +
drivers/acpi/glue.c | 10 +-
drivers/base/power/domain.c | 6 +-
drivers/block/xen-blkback/blkback.c | 3 -
drivers/block/xen-blkback/xenbus.c | 8 +-
drivers/char/ipmi/ipmi_watchdog.c | 7 +-
drivers/char/tpm/tpm-chip.c | 85 +++++-----
drivers/char/tpm/tpm-interface.c | 1 +
drivers/char/tpm/tpm-sysfs.c | 2 +
drivers/char/tpm/tpm.h | 5 +-
drivers/dma/ioat/hw.h | 2 +
drivers/dma/ioat/init.c | 11 +-
drivers/dma/ti-dma-crossbar.c | 2 +
drivers/gpu/drm/msm/adreno/adreno_gpu.c | 9 +-
drivers/gpu/drm/msm/msm_gem_submit.c | 3 +-
drivers/gpu/drm/msm/msm_ringbuffer.c | 3 +-
drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c | 2 +-
drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 20 ---
drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 2 -
drivers/gpu/drm/rcar-du/rcar_du_drv.c | 185 ++++++++++-----------
drivers/gpu/drm/rcar-du/rcar_du_hdmicon.c | 11 +-
drivers/gpu/drm/rcar-du/rcar_du_kms.c | 7 +
drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 11 +-
drivers/gpu/drm/rcar-du/rcar_du_vgacon.c | 11 +-
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 2 +-
drivers/hid/hid-core.c | 1 +
drivers/hid/hid-ids.h | 3 +
drivers/infiniband/core/uverbs_cmd.c | 5 +-
drivers/irqchip/irq-keystone.c | 28 +++-
drivers/irqchip/irq-mxs.c | 4 +
drivers/isdn/i4l/isdn_common.c | 1 +
drivers/isdn/i4l/isdn_net.c | 5 +-
drivers/isdn/i4l/isdn_ppp.c | 2 +-
drivers/mailbox/mailbox.c | 13 +-
drivers/md/raid5.c | 2 +
drivers/media/i2c/s5c73m3/s5c73m3-ctrls.c | 2 +-
drivers/net/ethernet/mellanox/mlx4/icm.c | 7 +-
drivers/net/ethernet/realtek/r8169.c | 1 +
drivers/net/ethernet/renesas/sh_eth.c | 1 +
drivers/net/phy/phy_device.c | 2 +-
drivers/net/usb/kaweth.c | 10 +-
drivers/net/wireless/ath/ath10k/wmi-ops.h | 6 +
drivers/net/wireless/ath/wil6210/main.c | 15 +-
drivers/nfc/fdp/i2c.c | 6 +-
drivers/nvdimm/btt.c | 9 +-
drivers/nvmem/imx-ocotp.c | 2 +-
drivers/scsi/fnic/fnic.h | 1 +
drivers/scsi/fnic/fnic_scsi.c | 16 ++
drivers/scsi/mpt3sas/mpt3sas_base.c | 33 ++--
drivers/scsi/snic/snic_main.c | 3 +
drivers/spi/spi-dw.c | 5 +-
drivers/staging/comedi/comedi_fops.c | 6 +-
drivers/usb/gadget/function/f_hid.c | 2 +-
drivers/vfio/pci/vfio_pci.c | 4 +
drivers/vfio/pci/vfio_pci_rdwr.c | 5 +-
drivers/video/fbdev/cobalt_lcdfb.c | 5 +
fs/btrfs/inode.c | 11 +-
fs/dcache.c | 27 +++
fs/debugfs/inode.c | 10 +-
fs/namei.c | 8 +-
fs/notify/fsnotify.c | 8 +-
fs/pstore/ram.c | 5 +-
fs/pstore/ram_core.c | 25 ++-
fs/seq_file.c | 7 +-
fs/xfs/xfs_aops.c | 21 ++-
include/linux/dcache.h | 6 +
include/linux/fsnotify.h | 31 ----
include/linux/phy.h | 4 +
include/linux/pstore_ram.h | 11 +-
include/linux/seq_file.h | 13 +-
kernel/resource.c | 13 +-
kernel/sched/core.c | 15 +-
kernel/sched/sched.h | 13 --
net/8021q/vlan.c | 5 +
net/8021q/vlan.h | 2 +
net/8021q/vlan_dev.c | 20 ++-
net/core/dev.c | 19 ++-
net/ipv6/ip6_output.c | 2 +-
net/key/af_key.c | 46 ++++-
net/xfrm/xfrm_policy.c | 9 +-
sound/soc/codecs/nau8825.c | 3 +-
sound/soc/codecs/nau8825.h | 3 +-
sound/soc/codecs/tlv320aic3x.c | 13 ++
sound/soc/soc-pcm.c | 4 +-
sound/usb/endpoint.c | 3 +
tools/lib/traceevent/plugin_sched_switch.c | 4 +-
tools/perf/Makefile.perf | 4 +-
.../perf/util/intel-pt-decoder/intel-pt-decoder.c | 67 ++++----
.../util/intel-pt-decoder/intel-pt-pkt-decoder.c | 24 ++-
tools/perf/util/symbol-elf.c | 6 +
103 files changed, 752 insertions(+), 462 deletions(-)
[toc] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 23/91] nfc: fdp: fix NULL pointer dereference |
| Message-ID | <uaUFB-5lm-21@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
commit b6355fb3f5f40bbce165847d277e64896cab8f95 upstream.
We are checking phy after dereferencing it. We can print the debug
information after checking it. If phy is NULL then we will get a good
stack trace to tell us that we are in this irq handler.
Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/nfc/fdp/i2c.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/drivers/nfc/fdp/i2c.c
+++ b/drivers/nfc/fdp/i2c.c
@@ -210,14 +210,14 @@ static irqreturn_t fdp_nci_i2c_irq_threa
struct sk_buff *skb;
int r;
- client = phy->i2c_dev;
- dev_dbg(&client->dev, "%s\n", __func__);
-
if (!phy || irq != phy->i2c_dev->irq) {
WARN_ON_ONCE(1);
return IRQ_NONE;
}
+ client = phy->i2c_dev;
+ dev_dbg(&client->dev, "%s\n", __func__);
+
r = fdp_nci_i2c_read(phy, &skb);
if (r == -EREMOTEIO)
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 38/91] libnvdimm, btt: fix btt_rw_page not returning errors |
| Message-ID | <uaUFA-5lm-19@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Vishal Verma <vishal.l.verma@intel.com>
commit c13c43d54f2c6a3be1c675766778ac1ad8dfbfcc upstream.
btt_rw_page was not propagating errors frm btt_do_bvec, resulting in any
IO errors via the rw_page path going unnoticed. the pmem driver recently
fixed this in e10624f pmem: fail io-requests to known bad blocks
but same problem in BTT went neglected.
Fixes: 5212e11fde4d ("nd_btt: atomic sector updates")
Cc: Toshi Kani <toshi.kani@hpe.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/nvdimm/btt.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
--- a/drivers/nvdimm/btt.c
+++ b/drivers/nvdimm/btt.c
@@ -1205,10 +1205,13 @@ static int btt_rw_page(struct block_devi
struct page *page, int rw)
{
struct btt *btt = bdev->bd_disk->private_data;
+ int rc;
- btt_do_bvec(btt, NULL, page, PAGE_CACHE_SIZE, 0, rw, sector);
- page_endio(page, rw & WRITE, 0);
- return 0;
+ rc = btt_do_bvec(btt, NULL, page, PAGE_CACHE_SIZE, 0, rw, sector);
+ if (rc == 0)
+ page_endio(page, rw & WRITE, 0);
+
+ return rc;
}
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 06/91] md/raid5: add thread_group worker async_tx_issue_pending_all |
| Message-ID | <uaUFB-5lm-23@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ofer Heifetz <oferh@marvell.com>
commit 7e96d559634b73a8158ee99a7abece2eacec2668 upstream.
Since thread_group worker and raid5d kthread are not in sync, if
worker writes stripe before raid5d then requests will be waiting
for issue_pendig.
Issue observed when building raid5 with ext4, in some build runs
jbd2 would get hung and requests were waiting in the HW engine
waiting to be issued.
Fix this by adding a call to async_tx_issue_pending_all in the
raid5_do_work.
Signed-off-by: Ofer Heifetz <oferh@marvell.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/md/raid5.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -5821,6 +5821,8 @@ static void raid5_do_work(struct work_st
pr_debug("%d stripes handled\n", handled);
spin_unlock_irq(&conf->device_lock);
+
+ async_tx_issue_pending_all();
blk_finish_plug(&plug);
pr_debug("--- raid5worker inactive\n");
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 04/91] powerpc/pseries: Fix of_node_put() underflow during reconfig remove |
| Message-ID | <uaUFB-5lm-27@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Laurent Vivier <lvivier@redhat.com>
commit 4fd1bd443e80b12f0a01a45fb9a793206b41cb72 upstream.
As for commit 68baf692c435 ("powerpc/pseries: Fix of_node_put()
underflow during DLPAR remove"), the call to of_node_put() must be
removed from pSeries_reconfig_remove_node().
dlpar_detach_node() and pSeries_reconfig_remove_node() both call
of_detach_node(), and thus the node should not be released in both
cases.
Fixes: 0829f6d1f69e ("of: device_node kobject lifecycle fixes")
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/powerpc/platforms/pseries/reconfig.c | 1 -
1 file changed, 1 deletion(-)
--- a/arch/powerpc/platforms/pseries/reconfig.c
+++ b/arch/powerpc/platforms/pseries/reconfig.c
@@ -82,7 +82,6 @@ static int pSeries_reconfig_remove_node(
of_detach_node(np);
of_node_put(parent);
- of_node_put(np); /* Must decrement the refcount */
return 0;
}
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 26/91] isdn/i4l: fix buffer overflow |
| Message-ID | <uaUFB-5lm-29@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Annie Cherkaev <annie.cherk@gmail.com>
commit 9f5af546e6acc30f075828cb58c7f09665033967 upstream.
This fixes a potential buffer overflow in isdn_net.c caused by an
unbounded strcpy.
[ ISDN seems to be effectively unmaintained, and the I4L driver in
particular is long deprecated, but in case somebody uses this..
- Linus ]
Signed-off-by: Jiten Thakkar <jitenmt@gmail.com>
Signed-off-by: Annie Cherkaev <annie.cherk@gmail.com>
Cc: Karsten Keil <isdn@linux-pingi.de>
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/isdn/i4l/isdn_common.c | 1 +
drivers/isdn/i4l/isdn_net.c | 5 ++---
2 files changed, 3 insertions(+), 3 deletions(-)
--- a/drivers/isdn/i4l/isdn_common.c
+++ b/drivers/isdn/i4l/isdn_common.c
@@ -1379,6 +1379,7 @@ isdn_ioctl(struct file *file, uint cmd,
if (arg) {
if (copy_from_user(bname, argp, sizeof(bname) - 1))
return -EFAULT;
+ bname[sizeof(bname)-1] = 0;
} else
return -EINVAL;
ret = mutex_lock_interruptible(&dev->mtx);
--- a/drivers/isdn/i4l/isdn_net.c
+++ b/drivers/isdn/i4l/isdn_net.c
@@ -2611,10 +2611,9 @@ isdn_net_newslave(char *parm)
char newname[10];
if (p) {
- /* Slave-Name MUST not be empty */
- if (!strlen(p + 1))
+ /* Slave-Name MUST not be empty or overflow 'newname' */
+ if (strscpy(newname, p + 1, sizeof(newname)) <= 0)
return NULL;
- strcpy(newname, p + 1);
*p = 0;
/* Master must already exist */
if (!(n = isdn_net_findif(parm)))
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 29/91] mailbox: always wait in mbox_send_message for blocking Tx mode |
| Message-ID | <uaUFB-5lm-31@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sudeep Holla <sudeep.holla@arm.com>
commit c61b781ee084e69855477d23dd33e7e6caad652c upstream.
There exists a race when msg_submit return immediately as there was an
active request being processed which may have completed just before it's
checked again in mbox_send_message. This will result in return to the
caller without waiting in mbox_send_message even when it's blocking Tx.
This patch fixes the issue by waiting for the completion always if Tx
is in blocking mode.
Fixes: 2b6d83e2b8b7 ("mailbox: Introduce framework for mailbox")
Reported-by: Alexey Klimov <alexey.klimov@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Reviewed-by: Alexey Klimov <alexey.klimov@arm.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/mailbox/mailbox.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/mailbox/mailbox.c
+++ b/drivers/mailbox/mailbox.c
@@ -261,7 +261,7 @@ int mbox_send_message(struct mbox_chan *
msg_submit(chan);
- if (chan->cl->tx_block && chan->active_req) {
+ if (chan->cl->tx_block) {
unsigned long wait;
int ret;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 05/91] crypto: authencesn - Fix digest_null crash |
| Message-ID | <uaUFB-5lm-33@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Herbert Xu <herbert@gondor.apana.org.au>
commit 41cdf7a45389e01991ee31e3301ed83cb3e3f7dc upstream.
When authencesn is used together with digest_null a crash will
occur on the decrypt path. This is because normally we perform
a special setup to preserve the ESN, but this is skipped if there
is no authentication. However, on the post-authentication path
it always expects the preservation to be in place, thus causing
a crash when digest_null is used.
This patch fixes this by also skipping the post-processing when
there is no authentication.
Fixes: 104880a6b470 ("crypto: authencesn - Convert to new AEAD...")
Reported-by: Jan Tluka <jtluka@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
crypto/authencesn.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/crypto/authencesn.c
+++ b/crypto/authencesn.c
@@ -245,6 +245,9 @@ static int crypto_authenc_esn_decrypt_ta
u8 *ihash = ohash + crypto_ahash_digestsize(auth);
u32 tmp[2];
+ if (!authsize)
+ goto decrypt;
+
/* Move high-order bits of sequence number back. */
scatterwalk_map_and_copy(tmp, dst, 4, 4, 0);
scatterwalk_map_and_copy(tmp + 1, dst, assoclen + cryptlen, 4, 0);
@@ -253,6 +256,8 @@ static int crypto_authenc_esn_decrypt_ta
if (crypto_memneq(ihash, ohash, authsize))
return -EBADMSG;
+decrypt:
+
sg_init_table(areq_ctx->dst, 2);
dst = scatterwalk_ffwd(areq_ctx->dst, dst, assoclen);
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 28/91] wil6210: fix deadlock when using fw_no_recovery option |
| Message-ID | <uaUFB-5lm-35@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Lior David <qca_liord@qca.qualcomm.com>
commit dfb5b098e0f40b68aa07f2ec55f4dd762efefbfa upstream.
When FW crashes with no_fw_recovery option, driver
waits for manual recovery with wil->mutex held, this
can easily create deadlocks.
Fix the problem by moving the wait outside the lock.
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/net/wireless/ath/wil6210/main.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
--- a/drivers/net/wireless/ath/wil6210/main.c
+++ b/drivers/net/wireless/ath/wil6210/main.c
@@ -330,18 +330,19 @@ static void wil_fw_error_worker(struct w
wil->last_fw_recovery = jiffies;
+ wil_info(wil, "fw error recovery requested (try %d)...\n",
+ wil->recovery_count);
+ if (!no_fw_recovery)
+ wil->recovery_state = fw_recovery_running;
+ if (wil_wait_for_recovery(wil) != 0)
+ return;
+
mutex_lock(&wil->mutex);
switch (wdev->iftype) {
case NL80211_IFTYPE_STATION:
case NL80211_IFTYPE_P2P_CLIENT:
case NL80211_IFTYPE_MONITOR:
- wil_info(wil, "fw error recovery requested (try %d)...\n",
- wil->recovery_count);
- if (!no_fw_recovery)
- wil->recovery_state = fw_recovery_running;
- if (0 != wil_wait_for_recovery(wil))
- break;
-
+ /* silent recovery, upper layers will see disconnect */
__wil_down(wil);
__wil_up(wil);
break;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 54/91] x86/mce/AMD: Make the init code more robust |
| Message-ID | <uaUFB-5lm-39@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Thomas Gleixner <tglx@linutronix.de>
[ Upstream commit 0dad3a3014a0b9e72521ff44f17e0054f43dcdea ]
If mce_device_init() fails then the mce device pointer is NULL and the
AMD mce code happily dereferences it.
Add a sanity check.
Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Reported-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/x86/kernel/cpu/mcheck/mce_amd.c | 3 +++
1 file changed, 3 insertions(+)
--- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
+++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
@@ -682,6 +682,9 @@ static int threshold_create_bank(unsigne
const char *name = th_names[bank];
int err = 0;
+ if (!dev)
+ return -ENODEV;
+
if (is_shared_bank(bank)) {
nb = node_to_amd_nb(amd_get_nb_id(cpu));
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 62/91] irqchip/keystone: Fix "scheduling while atomic" on rt |
| Message-ID | <uaUFB-5lm-41@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: "Strashko, Grygorii" <grygorii.strashko@ti.com>
[ Upstream commit 2f884e6e688a0deb69e6c9552e51aef8b7e3f5f1 ]
The below call chain generates "scheduling while atomic" backtrace and
causes system crash when Keystone 2 IRQ chip driver is used with RT-kernel:
gic_handle_irq()
|-__handle_domain_irq()
|-generic_handle_irq()
|-keystone_irq_handler()
|-regmap_read()
|-regmap_lock_spinlock()
|-rt_spin_lock()
The reason is that Keystone driver dispatches IRQ using chained IRQ handler
and accesses I/O memory through syscon->regmap(mmio) which is implemented
as fast_io regmap and uses regular spinlocks for synchronization, but
spinlocks transformed to rt_mutexes on RT.
Hence, convert Keystone 2 IRQ driver to use generic irq handler instead of
chained IRQ handler. This way it will be compatible with RT kernel where it
will be forced thread IRQ handler while in non-RT kernel it still will be
executed in HW IRQ context.
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Tested-by: Suman Anna <s-anna@ti.com>
Link: https://lkml.kernel.org/r/20161208233310.10329-1-grygorii.strashko@ti.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/irqchip/irq-keystone.c | 28 +++++++++++++++++++---------
1 file changed, 19 insertions(+), 9 deletions(-)
--- a/drivers/irqchip/irq-keystone.c
+++ b/drivers/irqchip/irq-keystone.c
@@ -19,9 +19,9 @@
#include <linux/bitops.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
+#include <linux/interrupt.h>
#include <linux/irqdomain.h>
#include <linux/irqchip.h>
-#include <linux/irqchip/chained_irq.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/mfd/syscon.h>
@@ -39,6 +39,7 @@ struct keystone_irq_device {
struct irq_domain *irqd;
struct regmap *devctrl_regs;
u32 devctrl_offset;
+ raw_spinlock_t wa_lock;
};
static inline u32 keystone_irq_readl(struct keystone_irq_device *kirq)
@@ -83,17 +84,15 @@ static void keystone_irq_ack(struct irq_
/* nothing to do here */
}
-static void keystone_irq_handler(struct irq_desc *desc)
+static irqreturn_t keystone_irq_handler(int irq, void *keystone_irq)
{
- unsigned int irq = irq_desc_get_irq(desc);
- struct keystone_irq_device *kirq = irq_desc_get_handler_data(desc);
+ struct keystone_irq_device *kirq = keystone_irq;
+ unsigned long wa_lock_flags;
unsigned long pending;
int src, virq;
dev_dbg(kirq->dev, "start irq %d\n", irq);
- chained_irq_enter(irq_desc_get_chip(desc), desc);
-
pending = keystone_irq_readl(kirq);
keystone_irq_writel(kirq, pending);
@@ -111,13 +110,15 @@ static void keystone_irq_handler(struct
if (!virq)
dev_warn(kirq->dev, "sporious irq detected hwirq %d, virq %d\n",
src, virq);
+ raw_spin_lock_irqsave(&kirq->wa_lock, wa_lock_flags);
generic_handle_irq(virq);
+ raw_spin_unlock_irqrestore(&kirq->wa_lock,
+ wa_lock_flags);
}
}
- chained_irq_exit(irq_desc_get_chip(desc), desc);
-
dev_dbg(kirq->dev, "end irq %d\n", irq);
+ return IRQ_HANDLED;
}
static int keystone_irq_map(struct irq_domain *h, unsigned int virq,
@@ -182,9 +183,16 @@ static int keystone_irq_probe(struct pla
return -ENODEV;
}
+ raw_spin_lock_init(&kirq->wa_lock);
+
platform_set_drvdata(pdev, kirq);
- irq_set_chained_handler_and_data(kirq->irq, keystone_irq_handler, kirq);
+ ret = request_irq(kirq->irq, keystone_irq_handler,
+ 0, dev_name(dev), kirq);
+ if (ret) {
+ irq_domain_remove(kirq->irqd);
+ return ret;
+ }
/* clear all source bits */
keystone_irq_writel(kirq, ~0x0);
@@ -199,6 +207,8 @@ static int keystone_irq_remove(struct pl
struct keystone_irq_device *kirq = platform_get_drvdata(pdev);
int hwirq;
+ free_irq(kirq->irq, kirq);
+
for (hwirq = 0; hwirq < KEYSTONE_N_IRQ; hwirq++)
irq_dispose_mapping(irq_find_mapping(kirq->irqd, hwirq));
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 53/91] tpm: Replace device number bitmap with IDR |
| Message-ID | <uaUFB-5lm-37@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Stefan Berger <stefanb@linux.vnet.ibm.com>
commit 15516788e581eb32ec1c50e5f00aba3faf95d817 upstream.
Replace the device number bitmap with IDR. Extend the number of devices we
can create to 64k.
Since an IDR allows us to associate a pointer with an ID, we use this now
to rewrite tpm_chip_find_get() to simply look up the chip pointer by the
given device ID.
Protect the IDR calls with a mutex.
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Reviewed-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/char/tpm/tpm-chip.c | 85 +++++++++++++++++++++------------------
drivers/char/tpm/tpm-interface.c | 1
drivers/char/tpm/tpm.h | 5 --
3 files changed, 49 insertions(+), 42 deletions(-)
--- a/drivers/char/tpm/tpm-chip.c
+++ b/drivers/char/tpm/tpm-chip.c
@@ -29,9 +29,8 @@
#include "tpm.h"
#include "tpm_eventlog.h"
-static DECLARE_BITMAP(dev_mask, TPM_NUM_DEVICES);
-static LIST_HEAD(tpm_chip_list);
-static DEFINE_SPINLOCK(driver_lock);
+DEFINE_IDR(dev_nums_idr);
+static DEFINE_MUTEX(idr_lock);
struct class *tpm_class;
dev_t tpm_devt;
@@ -92,20 +91,30 @@ EXPORT_SYMBOL_GPL(tpm_put_ops);
*/
struct tpm_chip *tpm_chip_find_get(int chip_num)
{
- struct tpm_chip *pos, *chip = NULL;
+ struct tpm_chip *chip, *res = NULL;
+ int chip_prev;
- rcu_read_lock();
- list_for_each_entry_rcu(pos, &tpm_chip_list, list) {
- if (chip_num != TPM_ANY_NUM && chip_num != pos->dev_num)
- continue;
-
- /* rcu prevents chip from being free'd */
- if (!tpm_try_get_ops(pos))
- chip = pos;
- break;
+ mutex_lock(&idr_lock);
+
+ if (chip_num == TPM_ANY_NUM) {
+ chip_num = 0;
+ do {
+ chip_prev = chip_num;
+ chip = idr_get_next(&dev_nums_idr, &chip_num);
+ if (chip && !tpm_try_get_ops(chip)) {
+ res = chip;
+ break;
+ }
+ } while (chip_prev != chip_num);
+ } else {
+ chip = idr_find_slowpath(&dev_nums_idr, chip_num);
+ if (chip && !tpm_try_get_ops(chip))
+ res = chip;
}
- rcu_read_unlock();
- return chip;
+
+ mutex_unlock(&idr_lock);
+
+ return res;
}
/**
@@ -118,9 +127,10 @@ static void tpm_dev_release(struct devic
{
struct tpm_chip *chip = container_of(dev, struct tpm_chip, dev);
- spin_lock(&driver_lock);
- clear_bit(chip->dev_num, dev_mask);
- spin_unlock(&driver_lock);
+ mutex_lock(&idr_lock);
+ idr_remove(&dev_nums_idr, chip->dev_num);
+ mutex_unlock(&idr_lock);
+
kfree(chip);
}
@@ -173,6 +183,7 @@ struct tpm_chip *tpmm_chip_alloc(struct
const struct tpm_class_ops *ops)
{
struct tpm_chip *chip;
+ int rc;
chip = kzalloc(sizeof(*chip), GFP_KERNEL);
if (chip == NULL)
@@ -180,21 +191,18 @@ struct tpm_chip *tpmm_chip_alloc(struct
mutex_init(&chip->tpm_mutex);
init_rwsem(&chip->ops_sem);
- INIT_LIST_HEAD(&chip->list);
chip->ops = ops;
- spin_lock(&driver_lock);
- chip->dev_num = find_first_zero_bit(dev_mask, TPM_NUM_DEVICES);
- spin_unlock(&driver_lock);
-
- if (chip->dev_num >= TPM_NUM_DEVICES) {
+ mutex_lock(&idr_lock);
+ rc = idr_alloc(&dev_nums_idr, NULL, 0, TPM_NUM_DEVICES, GFP_KERNEL);
+ mutex_unlock(&idr_lock);
+ if (rc < 0) {
dev_err(dev, "No available tpm device numbers\n");
kfree(chip);
- return ERR_PTR(-ENOMEM);
+ return ERR_PTR(rc);
}
-
- set_bit(chip->dev_num, dev_mask);
+ chip->dev_num = rc;
scnprintf(chip->devname, sizeof(chip->devname), "tpm%d", chip->dev_num);
@@ -252,19 +260,28 @@ static int tpm_add_char_device(struct tp
return rc;
}
+ /* Make the chip available. */
+ mutex_lock(&idr_lock);
+ idr_replace(&dev_nums_idr, chip, chip->dev_num);
+ mutex_unlock(&idr_lock);
+
return rc;
}
static void tpm_del_char_device(struct tpm_chip *chip)
{
cdev_del(&chip->cdev);
+ device_del(&chip->dev);
+
+ /* Make the chip unavailable. */
+ mutex_lock(&idr_lock);
+ idr_replace(&dev_nums_idr, NULL, chip->dev_num);
+ mutex_unlock(&idr_lock);
/* Make the driver uncallable. */
down_write(&chip->ops_sem);
chip->ops = NULL;
up_write(&chip->ops_sem);
-
- device_del(&chip->dev);
}
static int tpm1_chip_register(struct tpm_chip *chip)
@@ -319,11 +336,6 @@ int tpm_chip_register(struct tpm_chip *c
if (rc)
goto out_err;
- /* Make the chip available. */
- spin_lock(&driver_lock);
- list_add_tail_rcu(&chip->list, &tpm_chip_list);
- spin_unlock(&driver_lock);
-
chip->flags |= TPM_CHIP_FLAG_REGISTERED;
if (!(chip->flags & TPM_CHIP_FLAG_TPM2)) {
@@ -360,11 +372,6 @@ void tpm_chip_unregister(struct tpm_chip
if (!(chip->flags & TPM_CHIP_FLAG_REGISTERED))
return;
- spin_lock(&driver_lock);
- list_del_rcu(&chip->list);
- spin_unlock(&driver_lock);
- synchronize_rcu();
-
if (!(chip->flags & TPM_CHIP_FLAG_TPM2))
sysfs_remove_link(&chip->dev.parent->kobj, "ppi");
--- a/drivers/char/tpm/tpm-interface.c
+++ b/drivers/char/tpm/tpm-interface.c
@@ -1127,6 +1127,7 @@ static int __init tpm_init(void)
static void __exit tpm_exit(void)
{
+ idr_destroy(&dev_nums_idr);
class_destroy(tpm_class);
unregister_chrdev_region(tpm_devt, TPM_NUM_DEVICES);
}
--- a/drivers/char/tpm/tpm.h
+++ b/drivers/char/tpm/tpm.h
@@ -34,7 +34,7 @@
enum tpm_const {
TPM_MINOR = 224, /* officially assigned */
TPM_BUFSIZE = 4096,
- TPM_NUM_DEVICES = 256,
+ TPM_NUM_DEVICES = 65536,
TPM_RETRY = 50, /* 5 seconds */
};
@@ -200,8 +200,6 @@ struct tpm_chip {
acpi_handle acpi_dev_handle;
char ppi_version[TPM_PPI_VERSION_LEN + 1];
#endif /* CONFIG_ACPI */
-
- struct list_head list;
};
#define to_tpm_chip(d) container_of(d, struct tpm_chip, dev)
@@ -497,6 +495,7 @@ static inline void tpm_buf_append_u32(st
extern struct class *tpm_class;
extern dev_t tpm_devt;
extern const struct file_operations tpm_fops;
+extern struct idr dev_nums_idr;
enum tpm_transmit_flags {
TPM_TRANSMIT_UNLOCKED = BIT(0),
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 47/91] pstore: Use dynamic spinlock initializer |
| Message-ID | <uaUFB-5lm-43@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Kees Cook <keescook@chromium.org>
commit e9a330c4289f2ba1ca4bf98c2b430ab165a8931b upstream.
The per-prz spinlock should be using the dynamic initializer so that
lockdep can correctly track it. Without this, under lockdep, we get a
warning at boot that the lock is in non-static memory.
Fixes: 109704492ef6 ("pstore: Make spinlock per zone instead of global")
Fixes: 76d5692a5803 ("pstore: Correctly initialize spinlock and flags")
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/pstore/ram_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/fs/pstore/ram_core.c
+++ b/fs/pstore/ram_core.c
@@ -489,7 +489,7 @@ struct persistent_ram_zone *persistent_r
}
/* Initialize general buffer state. */
- prz->buffer_lock = __RAW_SPIN_LOCK_UNLOCKED(buffer_lock);
+ raw_spin_lock_init(&prz->buffer_lock);
prz->flags = flags;
ret = persistent_ram_buffer_map(start, size, prz, memtype);
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 17/91] drm: rcar-du: Simplify and fix probe error handling |
| Message-ID | <uaUFB-5lm-45@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
commit 4f7b0d263833928e947e172eff2d2997179c5cb9 upstream.
It isn't safe to call drm_dev_unregister() without first initializing
mode setting with drm_mode_config_init(). This leads to a crash if
either IO memory can't be remapped or vblank initialization fails.
Fix this by reordering the initialization sequence. Move vblank
initialization after the drm_mode_config_init() call, and move IO
remapping before drm_dev_alloc() to avoid the need to perform clean up
in case of failure.
While at it remove the explicit drm_vblank_cleanup() call from
rcar_du_remove() as the drm_dev_unregister() function already cleans up
vblank.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: thongsyho <thong.ho.px@rvc.renesas.com>
Signed-off-by: Nhan Nguyen <nhan.nguyen.yb@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/gpu/drm/rcar-du/rcar_du_drv.c | 30 +++++++++---------------------
drivers/gpu/drm/rcar-du/rcar_du_kms.c | 7 +++++++
2 files changed, 16 insertions(+), 21 deletions(-)
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -260,7 +260,6 @@ static int rcar_du_remove(struct platfor
drm_kms_helper_poll_fini(ddev);
drm_mode_config_cleanup(ddev);
- drm_vblank_cleanup(ddev);
drm_dev_unref(ddev);
@@ -291,6 +290,15 @@ static int rcar_du_probe(struct platform
rcdu->dev = &pdev->dev;
rcdu->info = of_match_device(rcar_du_of_table, rcdu->dev)->data;
+ platform_set_drvdata(pdev, rcdu);
+
+ /* I/O resources */
+ mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ rcdu->mmio = devm_ioremap_resource(&pdev->dev, mem);
+ if (IS_ERR(rcdu->mmio))
+ ret = PTR_ERR(rcdu->mmio);
+
+ /* DRM/KMS objects */
ddev = drm_dev_alloc(&rcar_du_driver, &pdev->dev);
if (!ddev)
return -ENOMEM;
@@ -300,26 +308,6 @@ static int rcar_du_probe(struct platform
rcdu->ddev = ddev;
ddev->dev_private = rcdu;
- platform_set_drvdata(pdev, rcdu);
-
- /* I/O resources */
- mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- rcdu->mmio = devm_ioremap_resource(&pdev->dev, mem);
- if (IS_ERR(rcdu->mmio)) {
- ret = PTR_ERR(rcdu->mmio);
- goto error;
- }
-
- /* Initialize vertical blanking interrupts handling. Start with vblank
- * disabled for all CRTCs.
- */
- ret = drm_vblank_init(ddev, (1 << rcdu->info->num_crtcs) - 1);
- if (ret < 0) {
- dev_err(&pdev->dev, "failed to initialize vblank\n");
- goto error;
- }
-
- /* DRM/KMS objects */
ret = rcar_du_modeset_init(rcdu);
if (ret < 0) {
dev_err(&pdev->dev, "failed to initialize DRM/KMS (%d)\n", ret);
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
@@ -761,6 +761,13 @@ int rcar_du_modeset_init(struct rcar_du_
if (ret < 0)
return ret;
+ /* Initialize vertical blanking interrupts handling. Start with vblank
+ * disabled for all CRTCs.
+ */
+ ret = drm_vblank_init(dev, (1 << rcdu->info->num_crtcs) - 1);
+ if (ret < 0)
+ return ret;
+
/* Initialize the groups. */
num_groups = DIV_ROUND_UP(rcdu->num_crtcs, 2);
[toc] | [prev] | [next] | [standalone]
| From | Ben Hutchings <ben.hutchings@codethink.co.uk> |
|---|---|
| Date | 2017-08-07 17:20 +0200 |
| Subject | Re: [PATCH 4.4 17/91] drm: rcar-du: Simplify and fix probe error handling |
| Message-ID | <ubRZ0-1OG-47@gated-at.bofh.it> |
| In reply to | #1704446 |
On Fri, 2017-08-04 at 16:15 -0700, Greg Kroah-Hartman wrote: [...] > @@ -291,6 +290,15 @@ static int rcar_du_probe(struct platform > rcdu->dev = &pdev->dev; > rcdu->info = of_match_device(rcar_du_of_table, rcdu->dev)->data; > > + platform_set_drvdata(pdev, rcdu); > + > + /* I/O resources */ > + mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + rcdu->mmio = devm_ioremap_resource(&pdev->dev, mem); > + if (IS_ERR(rcdu->mmio)) > + ret = PTR_ERR(rcdu->mmio); [...] Last line above should be: return PTR_ERR(rcdu->mmio); This is an error introduced in the backport, not the upstream commit. Ben. -- Ben Hutchings Software Developer, Codethink Ltd.
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-08 18:30 +0200 |
| Subject | Re: [PATCH 4.4 17/91] drm: rcar-du: Simplify and fix probe error handling |
| Message-ID | <ucfyi-2uV-13@gated-at.bofh.it> |
| In reply to | #1705636 |
On Mon, Aug 07, 2017 at 04:17:58PM +0100, Ben Hutchings wrote: > On Fri, 2017-08-04 at 16:15 -0700, Greg Kroah-Hartman wrote: > [...] > > @@ -291,6 +290,15 @@ static int rcar_du_probe(struct platform > > rcdu->dev = &pdev->dev; > > rcdu->info = of_match_device(rcar_du_of_table, rcdu->dev)->data; > > > > + platform_set_drvdata(pdev, rcdu); > > + > > + /* I/O resources */ > > + mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); > > + rcdu->mmio = devm_ioremap_resource(&pdev->dev, mem); > > + if (IS_ERR(rcdu->mmio)) > > + ret = PTR_ERR(rcdu->mmio); > [...] > > Last line above should be: > > return PTR_ERR(rcdu->mmio); > > This is an error introduced in the backport, not the upstream commit. Good catch, thanks for this, I've now fixed it up. greg k-h
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 34/91] kaweth: fix oops upon failed memory allocation |
| Message-ID | <uaUFC-5lm-47@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Oliver Neukum <oneukum@suse.com>
commit 575ced7f8090c1a4e91e2daf8da9352a6a1fc7a7 upstream.
Just return an error upon failure.
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/net/usb/kaweth.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
--- a/drivers/net/usb/kaweth.c
+++ b/drivers/net/usb/kaweth.c
@@ -1009,6 +1009,7 @@ static int kaweth_probe(
struct net_device *netdev;
const eth_addr_t bcast_addr = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
int result = 0;
+ int rv = -EIO;
dev_dbg(dev,
"Kawasaki Device Probe (Device number:%d): 0x%4.4x:0x%4.4x:0x%4.4x\n",
@@ -1049,6 +1050,10 @@ static int kaweth_probe(
/* Download the firmware */
dev_info(dev, "Downloading firmware...\n");
kaweth->firmware_buf = (__u8 *)__get_free_page(GFP_KERNEL);
+ if (!kaweth->firmware_buf) {
+ rv = -ENOMEM;
+ goto err_free_netdev;
+ }
if ((result = kaweth_download_firmware(kaweth,
"kaweth/new_code.bin",
100,
@@ -1203,7 +1208,7 @@ err_only_tx:
err_free_netdev:
free_netdev(netdev);
- return -EIO;
+ return rv;
}
/****************************************************************
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 07/91] drm/vmwgfx: Fix gcc-7.1.1 warning |
| Message-ID | <uaUFC-5lm-49@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sinclair Yeh <syeh@vmware.com>
commit fcfffdd8f98ac305285dca568b5065ef86be6458 upstream.
The current code does not look correct, and the reason for it is
probably lost. Since this now generates a compiler warning,
fix it to what makes sense.
Reported-by: Arnd Bergmann <arnd@arndb.de>
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
@@ -471,7 +471,7 @@ static int vmw_cmd_invalid(struct vmw_pr
struct vmw_sw_context *sw_context,
SVGA3dCmdHeader *header)
{
- return capable(CAP_SYS_ADMIN) ? : -EINVAL;
+ return -EINVAL;
}
static int vmw_cmd_ok(struct vmw_private *dev_priv,
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 25/91] isdn: Fix a sleep-in-atomic bug |
| Message-ID | <uaUFC-5lm-51@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jia-Ju Bai <baijiaju1990@163.com>
commit e8f4ae85439f34bec3b0ab69223a41809dab28c9 upstream.
The driver may sleep under a spin lock, the function call path is:
isdn_ppp_mp_receive (acquire the lock)
isdn_ppp_mp_reassembly
isdn_ppp_push_higher
isdn_ppp_decompress
isdn_ppp_ccp_reset_trans
isdn_ppp_ccp_reset_alloc_state
kzalloc(GFP_KERNEL) --> may sleep
To fixed it, the "GFP_KERNEL" is replaced with "GFP_ATOMIC".
Signed-off-by: Jia-Ju Bai <baijiaju1990@163.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/isdn/i4l/isdn_ppp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/isdn/i4l/isdn_ppp.c
+++ b/drivers/isdn/i4l/isdn_ppp.c
@@ -2364,7 +2364,7 @@ static struct ippp_ccp_reset_state *isdn
id);
return NULL;
} else {
- rs = kzalloc(sizeof(struct ippp_ccp_reset_state), GFP_KERNEL);
+ rs = kzalloc(sizeof(struct ippp_ccp_reset_state), GFP_ATOMIC);
if (!rs)
return NULL;
rs->state = CCPResetIdle;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2017-08-05 02:00 +0200 |
| Subject | [PATCH 4.4 39/91] ipmi/watchdog: fix watchdog timeout set on reboot |
| Message-ID | <uaUFC-5lm-53@gated-at.bofh.it> |
| In reply to | #1704432 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Valentin Vidic <Valentin.Vidic@CARNet.hr>
commit 860f01e96981a68553f3ca49f574ff14fe955e72 upstream.
systemd by default starts watchdog on reboot and sets the timer to
ShutdownWatchdogSec=10min. Reboot handler in ipmi_watchdog than reduces
the timer to 120s which is not enough time to boot a Xen machine with
a lot of RAM. As a result the machine is rebooted the second time
during the long run of (XEN) Scrubbing Free RAM.....
Fix this by setting the timer to 120s only if it was previously
set to a low value.
Signed-off-by: Valentin Vidic <Valentin.Vidic@CARNet.hr>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/char/ipmi/ipmi_watchdog.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
--- a/drivers/char/ipmi/ipmi_watchdog.c
+++ b/drivers/char/ipmi/ipmi_watchdog.c
@@ -1162,10 +1162,11 @@ static int wdog_reboot_handler(struct no
ipmi_watchdog_state = WDOG_TIMEOUT_NONE;
ipmi_set_timeout(IPMI_SET_TIMEOUT_NO_HB);
} else if (ipmi_watchdog_state != WDOG_TIMEOUT_NONE) {
- /* Set a long timer to let the reboot happens, but
- reboot if it hangs, but only if the watchdog
+ /* Set a long timer to let the reboot happen or
+ reset if it hangs, but only if the watchdog
timer was already running. */
- timeout = 120;
+ if (timeout < 120)
+ timeout = 120;
pretimeout = 0;
ipmi_watchdog_state = WDOG_TIMEOUT_RESET;
ipmi_set_timeout(IPMI_SET_TIMEOUT_NO_HB);
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | linux.kernel
csiph-web