Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1375159 > unrolled thread
| Started by | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| First post | 2016-04-10 22:10 +0200 |
| Last post | 2016-04-11 19:30 +0200 |
| Articles | 20 on this page of 55 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH 4.4 000/210] 4.4.7-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 025/210] EDAC/sb_edac: Fix computation of channel address Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 043/210] scsi: storvsc: fix SRB_STATUS_ABORTED handling Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 006/210] mmc: sh_mmcif: Correct TX DMA channel allocation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 007/210] x86/microcode/intel: Make early loader look for builtin microcode too Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 026/210] EDAC, amd64_edac: Shift wrapping issue in f1x_get_norm_dct_addr() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 016/210] KVM: VMX: avoid guest hang on invalid invvpid instruction Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 094/210] staging: comedi: ni_mio_common: fix the ni_write[blw]() functions Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 009/210] x86/entry/compat: Keep TS_COMPAT set during signal delivery Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 096/210] net: irda: Fix use-after-free in irtty_open() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 092/210] staging: comedi: ni_tiocmd: change mistaken use of start_src for start_arg Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 085/210] tpm_crb: tpm2_shutdown() must be called before tpm_chip_unregister() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 024/210] sched/preempt, sh: kmap_coherent relies on disabled preemption Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 042/210] sd: Fix discard granularity when LBPRZ=1 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 077/210] crypto: ccp - memset request context to zero during import Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 053/210] usb: hub: fix a typo in hub_port_init() leading to wrong logic Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 008/210] x86/microcode: Untangle from BLK_DEV_INITRD Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 051/210] dm: fix rq_end_stats() NULL pointer in dm_requeue_original_request() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 048/210] dm: fix excessive dm-mq context switching Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 076/210] crypto: ccp - Dont assume export/import areas are aligned Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 029/210] s390/pci: enforce fmb page boundary rule Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 091/210] HID: fix hid_ignore_special_drivers module parameter Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 022/210] Thermal: Ignore invalid trip points Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 090/210] HID: multitouch: force retrieving of Win8 signature blob Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 047/210] dm snapshot: disallow the COW and origin devices from being identical Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 044/210] be2iscsi: set the boot_kset pointer to NULL in case of failure Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:10 +0200
[PATCH 4.4 018/210] perf/core: Fix perf_sched_count derailment Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 001/210] s390/cpumf: Fix lpp detection Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 011/210] x86/PCI: Mark Broadwell-EP Home Agent & PCU as having non-compliant BARs Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 019/210] perf tools: Dont stop PMU parsing on alias parse error Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 014/210] KVM: fix spin_lock_init order on x86 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 017/210] KVM: VMX: fix nested vpid for old KVM guests Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 021/210] perf tools: Fix python extension build Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 012/210] KVM: x86: fix missed hardware breakpoints Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 004/210] ASoC: samsung: pass DMA channels as pointers Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 010/210] perf/x86/intel: Add definition for PT PMI bit Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 015/210] KVM: VMX: avoid guest hang on invalid invept instruction Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 005/210] mmc: sh_mmcif: rework dma channel handling Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 020/210] perf tools: Fix checking asprintf return value Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 002/210] regulator: core: avoid unused variable warning Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:20 +0200
[PATCH 4.4 028/210] s390/cpumf: add missing lpp magic initialization Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:40 +0200
[PATCH 4.4 182/210] clk: rockchip: add hclk_cpubus to the list of rk3188 critical clocks Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:40 +0200
[PATCH 4.4 170/210] kbuild/mkspec: fix grub2 installkernel issue Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:40 +0200
[PATCH 4.4 069/210] ALSA: usb-audio: Minor code cleanup in create_fixed_stream_quirk() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:40 +0200
[PATCH 4.4 073/210] Bluetooth: btusb: Add a new AR3012 ID 13d3:3472 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:40 +0200
[PATCH 4.4 188/210] iser-target: Rework connection termination Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:40 +0200
[PATCH 4.4 178/210] clk: rockchip: rk3368: fix cpuclk mux bit of big cpu-cluster Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:40 +0200
[PATCH 4.4 037/210] x86/mm: TLB_REMOTE_SEND_IPI should count pages Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-10 22:50 +0200
Re: [PATCH 4.4 159/210] drm/radeon: disable runtime pm on PX laptops without dGPU power control Michel Dänzer <michel@daenzer.net> - 2016-04-11 04:40 +0200
Re: [PATCH 4.4 159/210] drm/radeon: disable runtime pm on PX laptops without dGPU power control Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-12 16:20 +0200
Re: [PATCH 4.4 159/210] drm/radeon: disable runtime pm on PX laptops without dGPU power control Michel Dänzer <michel@daenzer.net> - 2016-04-13 06:00 +0200
Re: [PATCH 4.4 159/210] drm/radeon: disable runtime pm on PX laptops without dGPU power control Michel Dänzer <michel@daenzer.net> - 2016-04-14 04:50 +0200
Re: [PATCH 4.4 159/210] drm/radeon: disable runtime pm on PX laptops without dGPU power control Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-04-14 16:30 +0200
Re: [PATCH 4.4 000/210] 4.4.7-stable review Guenter Roeck <linux@roeck-us.net> - 2016-04-11 05:20 +0200
Re: [PATCH 4.4 000/210] 4.4.7-stable review shuahkh <shuahkh@osg.sisa.samsung.com> - 2016-04-11 19:30 +0200
Page 1 of 3 [1] 2 3 Next page →
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 000/210] 4.4.7-stable review |
| Message-ID | <rmsKu-Wx-25@gated-at.bofh.it> |
This is the start of the stable review cycle for the 4.4.7 release.
There are 210 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 Tue Apr 12 18:34:54 UTC 2016.
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.7-rc1.gz
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Linux 4.4.7-rc1
Andi Kleen <ak@linux.intel.com>
perf/x86/intel: Fix PEBS data source interpretation on Nehalem/Westmere
Jiri Olsa <jolsa@redhat.com>
perf/x86/intel: Use PAGE_SIZE for PEBS buffer size on Core2
Kan Liang <kan.liang@intel.com>
perf/x86/intel: Fix PEBS warning by only restoring active PMU in pmi
Stephane Eranian <eranian@google.com>
perf/x86/pebs: Add workaround for broken OVFL status on HSW+
Thomas Gleixner <tglx@linutronix.de>
sched/cputime: Fix steal time accounting vs. CPU hotplug
Hannes Reinecke <hare@suse.de>
scsi_common: do not clobber fixed sense information
Lukas Wunner <lukas@wunner.de>
PM / sleep: Clear pm_suspend_global_flags upon hibernate
Len Brown <len.brown@intel.com>
intel_idle: prevent SKL-H boot failure when C8+C9+C10 enabled
Aaro Koskinen <aaro.koskinen@iki.fi>
mtd: onenand: fix deadlock in onenand_block_markbad
Vlastimil Babka <vbabka@suse.cz>
mm/page_alloc: prevent merging between isolated and other pageblocks
Joseph Qi <joseph.qi@huawei.com>
ocfs2/dlm: fix BUG in dlm_move_lockres_to_recovery_list
Joseph Qi <joseph.qi@huawei.com>
ocfs2/dlm: fix race between convert and recovery
Vladis Dronov <vdronov@redhat.com>
Input: ati_remote2 - fix crashes on detecting device with invalid descriptor
Oliver Neukum <oneukum@suse.com>
Input: ims-pcu - sanity check against missing interfaces
Benjamin Tissoires <benjamin.tissoires@redhat.com>
Input: synaptics - handle spurious release of trackstick buttons, again
Tejun Heo <tj@kernel.org>
writeback, cgroup: fix use of the wrong bdi_writeback which mismatches the inode
Tejun Heo <tj@kernel.org>
writeback, cgroup: fix premature wb_put() in locked_inode_to_wb_and_lock_list()
Lukas Wunner <lukas@wunner.de>
ACPI / PM: Runtime resume devices when waking from hibernate
Ludovic Desroches <ludovic.desroches@atmel.com>
ARM: dts: at91: sama5d4 Xplained: don't disable hsmci regulator
Ludovic Desroches <ludovic.desroches@atmel.com>
ARM: dts: at91: sama5d3 Xplained: don't disable hsmci regulator
J. Bruce Fields <bfields@redhat.com>
nfsd: fix deadlock secinfo+readdir compound
J. Bruce Fields <bfields@redhat.com>
nfsd4: fix bad bounds checking
Jenny Derzhavetz <jennyf@mellanox.com>
iser-target: Rework connection termination
Jenny Derzhavetz <jennyf@mellanox.com>
iser-target: Separate flows for np listeners and connections cma events
Jenny Derzhavetz <jennyf@mellanox.com>
iser-target: Add new state ISER_CONN_BOUND to isert_conn
Jenny Derzhavetz <jennyf@mellanox.com>
iser-target: Fix identification of login rx descriptor type
Himanshu Madhani <himanshu.madhani@qlogic.com>
target: Fix target_release_cmd_kref shutdown comp leak
Eric Anholt <eric@anholt.net>
clk: bcm2835: Fix setting of PLL divider clock rates
Alexander Kochetkov <al.kochet@gmail.com>
clk: rockchip: add hclk_cpubus to the list of rk3188 critical clocks
Heiko Stuebner <heiko@sntech.de>
clk: rockchip: rk3368: fix hdmi_cec gate-register
Heiko Stuebner <heiko@sntech.de>
clk: rockchip: rk3368: fix parents of video encoder/decoder
Heiko Stuebner <heiko@sntech.de>
clk: rockchip: rk3368: fix cpuclk core dividers
Heiko Stuebner <heiko@sntech.de>
clk: rockchip: rk3368: fix cpuclk mux bit of big cpu-cluster
Adrian Hunter <adrian.hunter@intel.com>
mmc: sdhci: Fix override of timeout clk wrt max_busy_timeout
Russell King <rmk+kernel@arm.linux.org.uk>
mmc: sdhci: fix data timeout (part 2)
Russell King <rmk+kernel@arm.linux.org.uk>
mmc: sdhci: fix data timeout (part 1)
Magnus Damm <damm+renesas@opensource.se>
mmc: mmc_spi: Add Card Detect comments and fix CD GPIO case
Shawn Lin <shawn.lin@rock-chips.com>
mmc: block: fix ABI regression of mmc_blk_ioctl
John Dahlstrom <jodarom@SDF.ORG>
ideapad-laptop: Add ideapad Y700 (15) to the no_hw_rfkill DMI list
Guenter Roeck <linux@roeck-us.net>
MAINTAINERS: Update mailing list and web page for hwmon subsystem
Jiri Kosina <jkosina@suse.cz>
kbuild/mkspec: fix grub2 installkernel issue
Jan Beulich <JBeulich@suse.com>
scripts/kconfig: allow building with make 3.80 again
Julia Lawall <Julia.Lawall@lip6.fr>
scripts/coccinelle: modernize &
Peter Zijlstra <peterz@infradead.org>
bitops: Do not default to __clear_bit() for __clear_bit_unlock()
Steven Rostedt (Red Hat) <rostedt@goodmis.org>
tracing: Fix trace_printk() to print when not using bprintk()
Steven Rostedt (Red Hat) <rostedt@goodmis.org>
tracing: Fix crash from reading trace_pipe with sendfile
Steven Rostedt (Red Hat) <rostedt@goodmis.org>
tracing: Have preempt(irqs)off trace preempt disabled functions
Alex Estrin <alex.estrin@intel.com>
IB/ipoib: fix for rare multicast join race condition
Ken Wang <Qingqing.Wang@amd.com>
drm/amdgpu: include the right version of gmc header files for iceland
Alex Deucher <alexander.deucher@amd.com>
drm/amdgpu: disable runtime pm on PX laptops without dGPU power control
Mario Kleiner <mario.kleiner.de@gmail.com>
drm/radeon: Don't drop DP 2.7 Ghz link setup on some cards.
Alex Deucher <alexander.deucher@amd.com>
drm/radeon: disable runtime pm on PX laptops without dGPU power control
Matti Gottlieb <matti.gottlieb@intel.com>
iwlwifi: mvm: Fix paging memory leak
Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
ipr: Fix regression when loading firmware
Insu Yun <wuninsu@gmail.com>
ipr: Fix out-of-bounds null overwrite
Aurelien Jacquiot <a-jacquiot@ti.com>
rapidio/rionet: fix deadlock on SMP
Jann Horn <jann@thejh.net>
fs/coredump: prevent fsuid=0 dumps into user-controlled directories
Jan Kiszka <jan.kiszka@siemens.com>
scripts/gdb: account for changes in module data structure
Seth Forshee <seth.forshee@canonical.com>
fuse: Add reference counting for fuse_io_priv
Robert Doebbelin <robert@quobyte.com>
fuse: do not use iocb after it may have been freed
Ming Lei <ming.lei@canonical.com>
md: multipath: don't hardcopy bio in .make_request path
NeilBrown <neilb@suse.com>
md/raid5: preserve STRIPE_PREREAD_ACTIVE in break_stripe_batch_list
Shaohua Li <shli@fb.com>
raid10: include bio_end_io_list in nr_queued to prevent freeze_array hang
Shaohua Li <shli@fb.com>
RAID5: revert e9e4c377e2f563 to fix a livelock
Shaohua Li <shli@fb.com>
RAID5: check_reshape() shouldn't call mddev_suspend
Jes Sorensen <Jes.Sorensen@redhat.com>
md/raid5: Compare apples to apples (or sectors to sectors)
Nate Dailey <nate.dailey@stratus.com>
raid1: include bio_end_io_list in nr_queued to prevent freeze_array hang
Mateusz Guzik <mguzik@redhat.com>
xfs: fix two memory leaks in xfs_attr_list.c error paths
Nikolay Borisov <kernel@kyup.com>
quota: Fix possible GPF due to uninitialised pointers
Vineet Gupta <vgupta@synopsys.com>
ARC: bitops: Remove non relevant comments
Lada Trimasova <ltrimas@synopsys.com>
ARC: [BE] readl()/writel() to work in Big Endian CPU configuration
Max Filippov <jcmvbkbc@gmail.com>
xtensa: clear all DBREAKC registers on start
Max Filippov <jcmvbkbc@gmail.com>
xtensa: fix preemption in {clear,copy}_user_highpage
Max Filippov <jcmvbkbc@gmail.com>
xtensa: ISS: don't hang if stdin EOF is reached
Rabin Vincent <rabin@rab.in>
splice: handle zero nr_pages in splice_to_pipe()
Dmitry V. Levin <ldv@altlinux.org>
vfs: show_vfsstat: do not ignore errors from show_devname method
Vinayak Menon <vinmenon@codeaurora.org>
of: alloc anywhere from memblock if range not specified
Dmitri Epshtein <dima@marvell.com>
net: mvneta: enable change MAC address when interface is up
Tejun Heo <tj@kernel.org>
cgroup: ignore css_sets associated with dead cgroups during migration
Johan Hedberg <johan.hedberg@intel.com>
Bluetooth: Fix potential buffer overflow with Add Advertising
Dmitry Tunin <hanipouspilot@gmail.com>
Bluetooth: Add new AR3012 ID 0489:e095
Michael S. Tsirkin <mst@redhat.com>
watchdog: rc32434_wdt: fix ioctl error handling
Joshua Hunt <johunt@akamai.com>
watchdog: don't run proc_watchdog_update if new value is same as old
Luis R. Rodriguez <mcgrof@kernel.org>
ia64: define ioremap_uc()
Johannes Weiner <hannes@cmpxchg.org>
mm: memcontrol: reclaim and OOM kill when shrinking memory.max below usage
Johannes Weiner <hannes@cmpxchg.org>
mm: memcontrol: reclaim when shrinking memory.high below usage
Eric Wheeler <git@linux.ewheeler.net>
bcache: fix cache_set_flush() NULL pointer dereference on OOM
Eric Wheeler <git@linux.ewheeler.net>
bcache: fix race of writeback thread starting before complete initialization
Eric Wheeler <git@linux.ewheeler.net>
bcache: cleaned up error handling around register_cache()
Bart Van Assche <bart.vanassche@sandisk.com>
IB/srpt: Simplify srpt_handle_tsk_mgmt()
Bart Van Assche <bart.vanassche@sandisk.com>
brd: Fix discard request processing
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
jbd2: fix FS corruption possibility in jbd2_journal_destroy() on umount path
Kamal Mostafa <kamal@canonical.com>
tools/hv: Use include/uapi with __EXPORTED_HEADERS__
Takashi Iwai <tiwai@suse.de>
ALSA: hda - Fix unconditional GPIO toggle via automute
Hui Wang <hui.wang@canonical.com>
ALSA: hda - fix the mic mute button and led problem for a Lenovo AIO
Takashi Iwai <tiwai@suse.de>
ALSA: hda - Don't handle ELD notify from invalid port
Vittorio Gambaletta (VittGam) <linuxbugs@vittgam.net>
ALSA: intel8x0: Add clock quirk entry for AD1981B on IBM ThinkPad X41.
Takashi Iwai <tiwai@suse.de>
ALSA: pcm: Avoid "BUG:" string for warnings again
Takashi Iwai <tiwai@suse.de>
ALSA: hda - Apply reboot D3 fix for CX20724 codec, too
Asai Thambi SP <asamymuthupa@micron.com>
mtip32xx: Cleanup queued requests after surprise removal
Asai Thambi SP <asamymuthupa@micron.com>
mtip32xx: Implement timeout handler
Asai Thambi SP <asamymuthupa@micron.com>
mtip32xx: Handle FTL rebuild failure state during device initialization
Asai Thambi SP <asamymuthupa@micron.com>
mtip32xx: Handle safe removal during IO
Asai Thambi SP <asamymuthupa@micron.com>
mtip32xx: Fix for rmmod crash when drive is in FTL rebuild
Asai Thambi SP <asamymuthupa@micron.com>
mtip32xx: Print exact time when an internal command is interrupted
Asai Thambi SP <asamymuthupa@micron.com>
mtip32xx: Remove unwanted code from taskfile error handler
Asai Thambi SP <asamymuthupa@micron.com>
mtip32xx: Fix broken service thread handling
Asai Thambi SP <asamymuthupa@micron.com>
mtip32xx: Avoid issuing standby immediate cmd during FTL rebuild
Tiffany Lin <tiffany.lin@mediatek.com>
media: v4l2-compat-ioctl32: fix missing length copy in put_v4l2_buffer32
Philipp Zabel <p.zabel@pengutronix.de>
coda: fix first encoded frame payload
Hans de Goede <hdegoede@redhat.com>
bttv: Width must be a multiple of 16 when capturing planar formats
Hans Verkuil <hverkuil@xs4all.nl>
adv7511: TX_EDID_PRESENT is still 1 after a disconnect
Hans de Goede <hdegoede@redhat.com>
saa7134: Fix bytesperline not being set correctly for planar formats
Sebastian Frias <sf84@laposte.net>
8250: use callbacks to access UART_DLL/UART_DLM
Peter Hurley <peter@hurleysoftware.com>
net: irda: Fix use-after-free in irtty_open()
Peter Hurley <peter@hurleysoftware.com>
tty: Fix GPF in flush_to_ldisc(), part 2
H Hartley Sweeten <hsweeten@visionengravers.com>
staging: comedi: ni_mio_common: fix the ni_write[blw]() functions
Vladimir Zapolskiy <vz@mleia.com>
staging: android: ion_test: fix check of platform_device_register_simple() error code
Spencer E. Olson <olsonse@umich.edu>
staging: comedi: ni_tiocmd: change mistaken use of start_src for start_arg
Benjamin Tissoires <benjamin.tissoires@redhat.com>
HID: fix hid_ignore_special_drivers module parameter
Benjamin Tissoires <benjamin.tissoires@redhat.com>
HID: multitouch: force retrieving of Win8 signature blob
Dmitry Torokhov <dtor@chromium.org>
HID: i2c-hid: fix OOB write in i2c_hid_set_or_send_report()
Grazvydas Ignotas <notasas@gmail.com>
HID: logitech: fix Dual Action gamepad support
Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
tpm: fix the cleanup of struct tpm_chip
Harald Hoyer <harald@redhat.com>
tpm_eventlog.c: fix binary_bios_measurements
Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
tpm_crb: tpm2_shutdown() must be called before tpm_chip_unregister()
Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
tpm: fix the rollback in tpm_chip_register()
Alexander Usyskin <alexander.usyskin@intel.com>
mei: bus: check if the device is enabled before data transfer
David Howells <dhowells@redhat.com>
X.509: Fix leap year handling again
Boris BREZILLON <boris.brezillon@free-electrons.com>
crypto: marvell/cesa - forward devm_ioremap_resource() error code
Vladimir Zapolskiy <vz@mleia.com>
crypto: ux500 - fix checks of error code returned by devm_ioremap_resource()
Vladimir Zapolskiy <vz@mleia.com>
crypto: atmel - fix checks of error code returned by devm_ioremap_resource()
Dan Carpenter <dan.carpenter@oracle.com>
crypto: keywrap - memzero the correct memory
Tom Lendacky <thomas.lendacky@amd.com>
crypto: ccp - memset request context to zero during import
Tom Lendacky <thomas.lendacky@amd.com>
crypto: ccp - Don't assume export/import areas are aligned
Tom Lendacky <thomas.lendacky@amd.com>
crypto: ccp - Limit the amount of information exported
Tom Lendacky <thomas.lendacky@amd.com>
crypto: ccp - Add hash state import and export support
Dmitry Tunin <hanipouspilot@gmail.com>
Bluetooth: btusb: Add a new AR3012 ID 13d3:3472
Dmitry Tunin <hanipouspilot@gmail.com>
Bluetooth: btusb: Add a new AR3012 ID 04ca:3014
Dmitry Tunin <hanipouspilot@gmail.com>
Bluetooth: btusb: Add new AR3012 ID 13d3:3395
Vladis Dronov <vdronov@redhat.com>
ALSA: usb-audio: Fix double-free in error paths after snd_usb_add_audio_stream() call
Takashi Iwai <tiwai@suse.de>
ALSA: usb-audio: Minor code cleanup in create_fixed_stream_quirk()
Victor Clément <victor.clement@openmailbox.org>
ALSA: usb-audio: add Microsoft HD-5001 to quirks
Takashi Iwai <tiwai@suse.de>
ALSA: usb-audio: Add sanity checks for endpoint accesses
Takashi Iwai <tiwai@suse.de>
ALSA: usb-audio: Fix NULL dereference in create_fixed_stream_quirk()
Josh Boyer <jwboyer@fedoraproject.org>
Input: powermate - fix oops with malicious USB descriptors
Hans de Goede <hdegoede@redhat.com>
pwc: Add USB id for Philips Spc880nc webcam
Bjørn Mork <bjorn@mork.no>
USB: option: add "D-Link DWM-221 B1" device id
Josh Boyer <jwboyer@fedoraproject.org>
USB: serial: ftdi_sio: Add support for ICP DAS I-756xU devices
Martyn Welch <martyn.welch@collabora.co.uk>
USB: serial: cp210x: Adding GE Healthcare Device ID
Oliver Neukum <oneukum@suse.com>
USB: cypress_m8: add endpoint sanity check
Oliver Neukum <oneukum@suse.com>
USB: digi_acceleport: do sanity checking for the number of ports
Oliver Neukum <oneukum@suse.com>
USB: mct_u232: add sanity checking in probe
Oliver Neukum <oneukum@suse.com>
USB: usb_driver_claim_interface: add sanity checking
Josh Boyer <jwboyer@fedoraproject.org>
USB: iowarrior: fix oops with malicious USB descriptors
Oliver Neukum <oneukum@suse.com>
USB: cdc-acm: more sanity checking
Hans de Goede <hdegoede@redhat.com>
USB: uas: Reduce can_queue to MAX_CMNDS
Oliver Neukum <oneukum@suse.com>
usb: hub: fix a typo in hub_port_init() leading to wrong logic
Oliver Neukum <oneukum@suse.com>
usb: retry reset if a device times out
Bryn M. Reeves <bmr@redhat.com>
dm: fix rq_end_stats() NULL pointer in dm_requeue_original_request()
Joe Thornber <ejt@redhat.com>
dm cache: make sure every metadata function checks fail_io
Joe Thornber <ejt@redhat.com>
dm thin metadata: don't issue prefetches if a transaction abort has failed
Mike Snitzer <snitzer@redhat.com>
dm: fix excessive dm-mq context switching
DingXiang <dingxiang@huawei.com>
dm snapshot: disallow the COW and origin devices from being identical
Jerry Hoemann <jerry.hoemann@hpe.com>
libnvdimm: Fix security issue with DSM IOCTL.
Alan <gnomes@lxorguk.ukuu.org.uk>
aic7xxx: Fix queue depth handling
Maurizio Lombardi <mlombard@redhat.com>
be2iscsi: set the boot_kset pointer to NULL in case of failure
Vitaly Kuznetsov <vkuznets@redhat.com>
scsi: storvsc: fix SRB_STATUS_ABORTED handling
Martin K. Petersen <martin.petersen@oracle.com>
sd: Fix discard granularity when LBPRZ=1
Raghava Aditya Renukunta <raghavaaditya.renukunta@pmcs.com>
aacraid: Set correct msix count for EEH recovery
Raghava Aditya Renukunta <raghavaaditya.renukunta@pmcs.com>
aacraid: Fix memory leak in aac_fib_map_free
Raghava Aditya Renukunta <raghavaaditya.renukunta@pmcs.com>
aacraid: Fix RRQ overload
Douglas Gilbert <dgilbert@interlog.com>
sg: fix dxferp in from_to case
Nadav Amit <namit@vmware.com>
x86/mm: TLB_REMOTE_SEND_IPI should count pages
Andy Lutomirski <luto@kernel.org>
x86/iopl: Fix iopl capability check on Xen PV
Andy Lutomirski <luto@kernel.org>
x86/iopl/64: Properly context-switch IOPL on Xen PV
Dave Jones <davej@codemonkey.org.uk>
x86/apic: Fix suspicious RCU usage in smp_trace_call_function_interrupt()
Thomas Gleixner <tglx@linutronix.de>
x86/irq: Cure live lock in fixup_irqs()
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
PCI: ACPI: IA64: fix IO port generic range check
Bjorn Helgaas <bhelgaas@google.com>
PCI: Disable IO/MEM decoding for devices with non-compliant BARs
Phil Elwell <phil@raspberrypi.org>
pinctrl-bcm2835: Fix cut-and-paste error in "pull" parsing
Sebastian Ott <sebott@linux.vnet.ibm.com>
s390/pci: enforce fmb page boundary rule
Heiko Carstens <heiko.carstens@de.ibm.com>
s390/cpumf: add missing lpp magic initialization
Martin Schwidefsky <schwidefsky@de.ibm.com>
s390: fix floating pointer register corruption (again)
Dan Carpenter <dan.carpenter@oracle.com>
EDAC, amd64_edac: Shift wrapping issue in f1x_get_norm_dct_addr()
Tony Luck <tony.luck@intel.com>
EDAC/sb_edac: Fix computation of channel address
David Hildenbrand <dahi@linux.vnet.ibm.com>
sched/preempt, sh: kmap_coherent relies on disabled preemption
Chris Friesen <cbf123@mail.usask.ca>
sched/cputime: Fix steal_account_process_tick() to always return jiffies
Zhang Rui <rui.zhang@intel.com>
Thermal: Ignore invalid trip points
Jiri Olsa <jolsa@redhat.com>
perf tools: Fix python extension build
Wang Nan <wangnan0@huawei.com>
perf tools: Fix checking asprintf return value
Andi Kleen <ak@linux.intel.com>
perf tools: Dont stop PMU parsing on alias parse error
Alexander Shishkin <alexander.shishkin@linux.intel.com>
perf/core: Fix perf_sched_count derailment
Paolo Bonzini <pbonzini@redhat.com>
KVM: VMX: fix nested vpid for old KVM guests
Paolo Bonzini <pbonzini@redhat.com>
KVM: VMX: avoid guest hang on invalid invvpid instruction
Paolo Bonzini <pbonzini@redhat.com>
KVM: VMX: avoid guest hang on invalid invept instruction
Paolo Bonzini <pbonzini@redhat.com>
KVM: fix spin_lock_init order on x86
Radim Krčmář <rkrcmar@redhat.com>
KVM: i8254: change PIT discard tick policy
Paolo Bonzini <pbonzini@redhat.com>
KVM: x86: fix missed hardware breakpoints
Bjorn Helgaas <bhelgaas@google.com>
x86/PCI: Mark Broadwell-EP Home Agent & PCU as having non-compliant BARs
Stephane Eranian <eranian@google.com>
perf/x86/intel: Add definition for PT PMI bit
Andy Lutomirski <luto@kernel.org>
x86/entry/compat: Keep TS_COMPAT set during signal delivery
Borislav Petkov <bp@suse.de>
x86/microcode: Untangle from BLK_DEV_INITRD
Borislav Petkov <bp@suse.de>
x86/microcode/intel: Make early loader look for builtin microcode too
Chris Paterson <chris.paterson2@renesas.com>
mmc: sh_mmcif: Correct TX DMA channel allocation
Arnd Bergmann <arnd@arndb.de>
mmc: sh_mmcif: rework dma channel handling
Arnd Bergmann <arnd@arndb.de>
ASoC: samsung: pass DMA channels as pointers
Thierry Reding <treding@nvidia.com>
regulator: core: Fix nested locking of supplies
Arnd Bergmann <arnd@arndb.de>
regulator: core: avoid unused variable warning
Christian Borntraeger <borntraeger@de.ibm.com>
s390/cpumf: Fix lpp detection
-------------
Diffstat:
MAINTAINERS | 96 ++++----
Makefile | 4 +-
arch/arc/include/asm/bitops.h | 15 --
arch/arc/include/asm/io.h | 18 +-
arch/arm/boot/dts/at91-sama5d3_xplained.dts | 1 +
arch/arm/boot/dts/at91-sama5d4_xplained.dts | 1 +
arch/arm/mach-s3c64xx/dev-audio.c | 41 ++--
arch/arm/mach-s3c64xx/include/mach/dma.h | 52 ++---
arch/arm/plat-samsung/devs.c | 11 +-
arch/ia64/include/asm/io.h | 1 +
arch/s390/include/asm/pci.h | 2 +-
arch/s390/kernel/entry.S | 106 +--------
arch/s390/kernel/head64.S | 2 +-
arch/s390/kernel/setup.c | 1 +
arch/s390/pci/pci.c | 5 +-
arch/sh/mm/kmap.c | 2 +
arch/um/drivers/mconsole_kern.c | 2 +-
arch/x86/Kconfig | 27 +--
arch/x86/entry/common.c | 23 +-
arch/x86/include/asm/apic.h | 2 +-
arch/x86/include/asm/hw_irq.h | 1 +
arch/x86/include/asm/microcode.h | 26 +++
arch/x86/include/asm/perf_event.h | 1 +
arch/x86/include/asm/xen/hypervisor.h | 2 +
arch/x86/kernel/apic/vector.c | 88 +++++--
arch/x86/kernel/cpu/microcode/intel.c | 38 +--
arch/x86/kernel/cpu/perf_event.c | 13 ++
arch/x86/kernel/cpu/perf_event.h | 3 +
arch/x86/kernel/cpu/perf_event_intel.c | 27 ++-
arch/x86/kernel/cpu/perf_event_intel_ds.c | 24 +-
arch/x86/kernel/cpu/perf_event_knc.c | 4 +-
arch/x86/kernel/ioport.c | 12 +-
arch/x86/kernel/process_64.c | 12 +
arch/x86/kvm/i8254.c | 12 +-
arch/x86/kvm/vmx.c | 16 +-
arch/x86/kvm/x86.c | 1 +
arch/x86/mm/tlb.c | 12 +-
arch/x86/pci/fixup.c | 7 +
arch/x86/xen/enlighten.c | 2 +-
arch/xtensa/kernel/head.S | 2 +-
arch/xtensa/mm/cache.c | 8 +-
arch/xtensa/platforms/iss/console.c | 10 +-
block/blk-core.c | 2 +-
crypto/asymmetric_keys/x509_cert_parser.c | 8 +-
crypto/keywrap.c | 4 +-
drivers/acpi/resource.c | 14 +-
drivers/acpi/sleep.c | 1 +
drivers/block/brd.c | 2 +-
drivers/block/mtip32xx/mtip32xx.c | 267 +++++++++++++++++-----
drivers/block/mtip32xx/mtip32xx.h | 11 +-
drivers/bluetooth/ath3k.c | 8 +
drivers/bluetooth/btusb.c | 4 +
drivers/char/tpm/tpm-chip.c | 14 +-
drivers/char/tpm/tpm_crb.c | 4 +-
drivers/char/tpm/tpm_eventlog.c | 14 +-
drivers/clk/bcm/clk-bcm2835.c | 12 +-
drivers/clk/rockchip/clk-rk3188.c | 1 +
drivers/clk/rockchip/clk-rk3368.c | 48 ++--
drivers/crypto/atmel-aes.c | 4 +-
drivers/crypto/atmel-sha.c | 4 +-
drivers/crypto/atmel-tdes.c | 4 +-
drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 36 +++
drivers/crypto/ccp/ccp-crypto-sha.c | 40 ++++
drivers/crypto/ccp/ccp-crypto.h | 22 ++
drivers/crypto/marvell/cesa.c | 2 +-
drivers/crypto/ux500/cryp/cryp_core.c | 4 +-
drivers/crypto/ux500/hash/hash_core.c | 4 +-
drivers/edac/amd64_edac.c | 2 +-
drivers/edac/sb_edac.c | 26 +--
drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 8 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 +-
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 4 +-
drivers/gpu/drm/radeon/atombios_encoders.c | 6 +-
drivers/gpu/drm/radeon/radeon_atpx_handler.c | 8 +-
drivers/gpu/drm/radeon/radeon_device.c | 8 +-
drivers/hid/hid-core.c | 8 +-
drivers/hid/hid-multitouch.c | 5 +
drivers/hid/i2c-hid/i2c-hid.c | 16 +-
drivers/idle/intel_idle.c | 108 +++++++--
drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 24 +-
drivers/infiniband/ulp/isert/ib_isert.c | 122 +++++-----
drivers/infiniband/ulp/isert/ib_isert.h | 2 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 59 +----
drivers/input/misc/ati_remote2.c | 36 ++-
drivers/input/misc/ims-pcu.c | 4 +
drivers/input/misc/powermate.c | 3 +
drivers/input/mouse/synaptics.c | 5 +-
drivers/md/bcache/super.c | 46 ++--
drivers/md/dm-cache-metadata.c | 98 ++++----
drivers/md/dm-cache-metadata.h | 4 +-
drivers/md/dm-cache-target.c | 12 +-
drivers/md/dm-snap.c | 9 +
drivers/md/dm-table.c | 36 ++-
drivers/md/dm-thin-metadata.c | 5 +-
drivers/md/dm.c | 15 +-
drivers/md/multipath.c | 4 +-
drivers/md/raid1.c | 7 +-
drivers/md/raid10.c | 7 +-
drivers/md/raid5.c | 51 +++--
drivers/md/raid5.h | 4 +-
drivers/media/i2c/adv7511.c | 21 +-
drivers/media/pci/bt8xx/bttv-driver.c | 26 ++-
drivers/media/pci/saa7134/saa7134-video.c | 18 +-
drivers/media/platform/coda/coda-bit.c | 2 +-
drivers/media/usb/pwc/pwc-if.c | 6 +
drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 21 +-
drivers/misc/mei/bus.c | 9 +
drivers/mmc/card/block.c | 24 +-
drivers/mmc/host/mmc_spi.c | 6 +
drivers/mmc/host/sdhci.c | 23 +-
drivers/mmc/host/sh_mmcif.c | 84 +++----
drivers/mtd/onenand/onenand_base.c | 3 +-
drivers/net/ethernet/marvell/mvneta.c | 2 +-
drivers/net/irda/irtty-sir.c | 10 -
drivers/net/rionet.c | 4 +-
drivers/net/wireless/iwlwifi/mvm/fw.c | 4 +-
drivers/net/wireless/iwlwifi/mvm/mvm.h | 3 +
drivers/net/wireless/iwlwifi/mvm/ops.c | 2 +
drivers/nvdimm/bus.c | 8 +-
drivers/of/of_reserved_mem.c | 4 +-
drivers/pci/probe.c | 14 ++
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 2 +-
drivers/platform/x86/ideapad-laptop.c | 14 ++
drivers/regulator/core.c | 22 +-
drivers/scsi/aacraid/aacraid.h | 2 +
drivers/scsi/aacraid/commsup.c | 37 ++-
drivers/scsi/aacraid/linit.c | 12 +-
drivers/scsi/aacraid/src.c | 30 +--
drivers/scsi/aic7xxx/aic7xxx_osm.c | 1 +
drivers/scsi/be2iscsi/be_main.c | 1 +
drivers/scsi/ipr.c | 10 +-
drivers/scsi/scsi_common.c | 12 +-
drivers/scsi/sd.c | 2 +-
drivers/scsi/sg.c | 3 +-
drivers/scsi/storvsc_drv.c | 5 +-
drivers/staging/android/ion/ion_test.c | 4 +-
drivers/staging/comedi/drivers/ni_mio_common.c | 12 +-
drivers/staging/comedi/drivers/ni_tiocmd.c | 2 +-
drivers/target/target_core_transport.c | 2 -
drivers/thermal/thermal_core.c | 13 +-
drivers/tty/serial/8250/8250_port.c | 18 +-
drivers/usb/class/cdc-acm.c | 3 +
drivers/usb/core/driver.c | 6 +-
drivers/usb/core/hub.c | 16 +-
drivers/usb/misc/iowarrior.c | 6 +
drivers/usb/serial/cp210x.c | 1 +
drivers/usb/serial/cypress_m8.c | 11 +-
drivers/usb/serial/digi_acceleport.c | 19 ++
drivers/usb/serial/ftdi_sio.c | 4 +
drivers/usb/serial/ftdi_sio_ids.h | 8 +
drivers/usb/serial/mct_u232.c | 9 +-
drivers/usb/serial/option.c | 2 +
drivers/usb/storage/uas.c | 2 +-
drivers/watchdog/rc32434_wdt.c | 2 +-
fs/coredump.c | 30 ++-
fs/fhandle.c | 2 +-
fs/fs-writeback.c | 37 +--
fs/fuse/cuse.c | 4 +-
fs/fuse/file.c | 33 ++-
fs/fuse/fuse_i.h | 9 +
fs/jbd2/journal.c | 17 +-
fs/nfsd/nfs4proc.c | 1 +
fs/nfsd/nfs4xdr.c | 13 +-
fs/ocfs2/dlm/dlmconvert.c | 24 +-
fs/ocfs2/dlm/dlmrecovery.c | 1 -
fs/open.c | 6 +-
fs/proc_namespace.c | 2 +
fs/quota/dquot.c | 3 +-
fs/splice.c | 3 +
fs/xfs/xfs_attr_list.c | 19 +-
include/asm-generic/bitops/lock.h | 14 +-
include/linux/cgroup-defs.h | 3 +
include/linux/device-mapper.h | 2 +
include/linux/fs.h | 2 +-
include/linux/kernel.h | 6 +-
include/linux/pci.h | 1 +
include/linux/platform_data/asoc-s3c.h | 4 +
include/linux/thermal.h | 2 +
include/linux/tty.h | 2 +-
kernel/cgroup.c | 20 +-
kernel/events/core.c | 7 +-
kernel/power/hibernate.c | 1 +
kernel/sched/core.c | 1 +
kernel/sched/cputime.c | 14 +-
kernel/sched/sched.h | 13 ++
kernel/sysctl_binary.c | 2 +-
kernel/trace/trace.c | 5 +-
kernel/trace/trace_irqsoff.c | 8 +-
kernel/trace/trace_printk.c | 3 +
kernel/watchdog.c | 9 +-
mm/memcontrol.c | 44 +++-
mm/page_alloc.c | 46 ++--
net/bluetooth/mgmt.c | 4 +
scripts/coccinelle/iterators/use_after_iter.cocci | 2 +-
scripts/gdb/linux/modules.py | 5 +-
scripts/gdb/linux/symbols.py | 2 +-
scripts/kconfig/Makefile | 4 +-
scripts/package/mkspec | 8 +-
sound/core/pcm_lib.c | 2 +-
sound/pci/hda/patch_cirrus.c | 8 +-
sound/pci/hda/patch_conexant.c | 7 +-
sound/pci/hda/patch_hdmi.c | 4 +
sound/pci/hda/patch_realtek.c | 1 +
sound/pci/intel8x0.c | 1 +
sound/soc/samsung/ac97.c | 26 +--
sound/soc/samsung/dma.h | 2 +-
sound/soc/samsung/dmaengine.c | 4 +-
sound/soc/samsung/i2s.c | 26 +--
sound/soc/samsung/pcm.c | 20 +-
sound/soc/samsung/s3c2412-i2s.c | 4 +-
sound/soc/samsung/s3c24xx-i2s.c | 4 +-
sound/soc/samsung/spdif.c | 10 +-
sound/usb/clock.c | 2 +
sound/usb/endpoint.c | 3 +
sound/usb/mixer_quirks.c | 4 +
sound/usb/pcm.c | 2 +
sound/usb/quirks.c | 27 ++-
sound/usb/stream.c | 6 +-
tools/hv/Makefile | 2 +
tools/perf/util/parse-events.c | 6 +-
tools/perf/util/pmu.c | 15 +-
tools/perf/util/setup.py | 4 +
virt/kvm/kvm_main.c | 21 +-
223 files changed, 2112 insertions(+), 1151 deletions(-)
[toc] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 025/210] EDAC/sb_edac: Fix computation of channel address |
| Message-ID | <rmtQe-22e-21@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tony Luck <tony.luck@intel.com>
commit eb1af3b71f9d83e45f2fd2fd649356e98e1c582c upstream.
Large memory Haswell-EX systems with multiple DIMMs per channel were
sometimes reporting the wrong DIMM.
Found three problems:
1) Debug printouts for socket and channel interleave were not interpreting
the register fields correctly. The socket interleave field is a 2^X
value (0=1, 1=2, 2=4, 3=8). The channel interleave is X+1 (0=1, 1=2,
2=3. 3=4).
2) Actual use of the socket interleave value didn't interpret as 2^X
3) Conversion of address to channel address was complicated, and wrong.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Acked-by: Aristeu Rozanski <arozansk@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-edac@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/edac/sb_edac.c | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)
--- a/drivers/edac/sb_edac.c
+++ b/drivers/edac/sb_edac.c
@@ -1117,8 +1117,8 @@ static void get_memory_layout(const stru
edac_dbg(0, "TAD#%d: up to %u.%03u GB (0x%016Lx), socket interleave %d, memory interleave %d, TGT: %d, %d, %d, %d, reg=0x%08x\n",
n_tads, gb, (mb*1000)/1024,
((u64)tmp_mb) << 20L,
- (u32)TAD_SOCK(reg),
- (u32)TAD_CH(reg),
+ (u32)(1 << TAD_SOCK(reg)),
+ (u32)TAD_CH(reg) + 1,
(u32)TAD_TGT0(reg),
(u32)TAD_TGT1(reg),
(u32)TAD_TGT2(reg),
@@ -1396,7 +1396,7 @@ static int get_memory_error_data(struct
}
ch_way = TAD_CH(reg) + 1;
- sck_way = TAD_SOCK(reg) + 1;
+ sck_way = 1 << TAD_SOCK(reg);
if (ch_way == 3)
idx = addr >> 6;
@@ -1453,7 +1453,7 @@ static int get_memory_error_data(struct
n_tads,
addr,
limit,
- (u32)TAD_SOCK(reg),
+ sck_way,
ch_way,
offset,
idx,
@@ -1468,18 +1468,12 @@ static int get_memory_error_data(struct
offset, addr);
return -EINVAL;
}
- addr -= offset;
- /* Store the low bits [0:6] of the addr */
- ch_addr = addr & 0x7f;
- /* Remove socket wayness and remove 6 bits */
- addr >>= 6;
- addr = div_u64(addr, sck_xch);
-#if 0
- /* Divide by channel way */
- addr = addr / ch_way;
-#endif
- /* Recover the last 6 bits */
- ch_addr |= addr << 6;
+
+ ch_addr = addr - offset;
+ ch_addr >>= (6 + shiftup);
+ ch_addr /= ch_way * sck_way;
+ ch_addr <<= (6 + shiftup);
+ ch_addr |= addr & ((1 << (6 + shiftup)) - 1);
/*
* Step 3) Decode rank
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 043/210] scsi: storvsc: fix SRB_STATUS_ABORTED handling |
| Message-ID | <rmtQf-22e-23@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Vitaly Kuznetsov <vkuznets@redhat.com>
commit ff06c5ffbcb4ffa542fb80c897be977956fafecc upstream.
Commit 3209f9d780d1 ("scsi: storvsc: Fix a bug in the handling of SRB
status flags") filtered SRB_STATUS_AUTOSENSE_VALID out effectively making
the (SRB_STATUS_ABORTED | SRB_STATUS_AUTOSENSE_VALID) case a dead code. The
logic from this branch (e.g. storvsc_device_scan() call) is still required,
fix the check.
Fixes: 3209f9d780d1 ("scsi: storvsc: Fix a bug in the handling of SRB status flags")
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Acked-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/scsi/storvsc_drv.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -889,8 +889,9 @@ static void storvsc_handle_error(struct
do_work = true;
process_err_fn = storvsc_remove_lun;
break;
- case (SRB_STATUS_ABORTED | SRB_STATUS_AUTOSENSE_VALID):
- if ((asc == 0x2a) && (ascq == 0x9)) {
+ case SRB_STATUS_ABORTED:
+ if (vm_srb->srb_status & SRB_STATUS_AUTOSENSE_VALID &&
+ (asc == 0x2a) && (ascq == 0x9)) {
do_work = true;
process_err_fn = storvsc_device_scan;
/*
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 006/210] mmc: sh_mmcif: Correct TX DMA channel allocation |
| Message-ID | <rmtQe-22e-19@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Chris Paterson <chris.paterson2@renesas.com>
commit a32ef81c9889c9554a3c4b465c4ee7b2d26c6b10 upstream.
Commit 27cbd7e815a8 ("mmc: sh_mmcif: rework dma channel handling")
introduced a typo causing the TX DMA channel allocation to be overwritten
by the requested RX DMA channel.
Fixes: 27cbd7e815a8 ("mmc: sh_mmcif: rework dma channel handling")
Signed-off-by: Chris Paterson <chris.paterson2@renesas.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/mmc/host/sh_mmcif.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/mmc/host/sh_mmcif.c
+++ b/drivers/mmc/host/sh_mmcif.c
@@ -445,7 +445,7 @@ static void sh_mmcif_request_dma(struct
pdata->slave_id_rx);
} else {
host->chan_tx = dma_request_slave_channel(dev, "tx");
- host->chan_tx = dma_request_slave_channel(dev, "rx");
+ host->chan_rx = dma_request_slave_channel(dev, "rx");
}
dev_dbg(dev, "%s: got channel TX %p RX %p\n", __func__, host->chan_tx,
host->chan_rx);
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 007/210] x86/microcode/intel: Make early loader look for builtin microcode too |
| Message-ID | <rmtQf-22e-29@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Borislav Petkov <bp@suse.de>
commit 264285ac01673e70557c43ecee338ce97c4c0672 upstream.
Set the initrd @start depending on the presence of an initrd. Otherwise,
builtin microcode loading doesn't work as the start is wrong and we're
using it to compute offset to the microcode blobs.
Tested-by: Thomas Voegtle <tv@lio96.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1454499225-21544-3-git-send-email-bp@alien8.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/x86/kernel/cpu/microcode/intel.c | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
--- a/arch/x86/kernel/cpu/microcode/intel.c
+++ b/arch/x86/kernel/cpu/microcode/intel.c
@@ -555,10 +555,14 @@ scan_microcode(struct mc_saved_data *mc_
cd.data = NULL;
cd.size = 0;
- cd = find_cpio_data(p, (void *)start, size, &offset);
- if (!cd.data) {
+ /* try built-in microcode if no initrd */
+ if (!size) {
if (!load_builtin_intel_microcode(&cd))
return UCODE_ERROR;
+ } else {
+ cd = find_cpio_data(p, (void *)start, size, &offset);
+ if (!cd.data)
+ return UCODE_ERROR;
}
return get_matching_model_microcode(0, start, cd.data, cd.size,
@@ -732,16 +736,20 @@ void __init load_ucode_intel_bsp(void)
struct boot_params *p;
p = (struct boot_params *)__pa_nodebug(&boot_params);
- start = p->hdr.ramdisk_image;
size = p->hdr.ramdisk_size;
- _load_ucode_intel_bsp(
- (struct mc_saved_data *)__pa_nodebug(&mc_saved_data),
- (unsigned long *)__pa_nodebug(&mc_saved_in_initrd),
- start, size);
+ /*
+ * Set start only if we have an initrd image. We cannot use initrd_start
+ * because it is not set that early yet.
+ */
+ start = (size ? p->hdr.ramdisk_image : 0);
+
+ _load_ucode_intel_bsp((struct mc_saved_data *)__pa_nodebug(&mc_saved_data),
+ (unsigned long *)__pa_nodebug(&mc_saved_in_initrd),
+ start, size);
#else
- start = boot_params.hdr.ramdisk_image + PAGE_OFFSET;
size = boot_params.hdr.ramdisk_size;
+ start = (size ? boot_params.hdr.ramdisk_image + PAGE_OFFSET : 0);
_load_ucode_intel_bsp(&mc_saved_data, mc_saved_in_initrd, start, size);
#endif
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 026/210] EDAC, amd64_edac: Shift wrapping issue in f1x_get_norm_dct_addr() |
| Message-ID | <rmtQf-22e-31@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dan Carpenter <dan.carpenter@oracle.com>
commit 6f3508f61c814ee852c199988a62bd954c50dfc1 upstream.
dct_sel_base_off is declared as a u64 but we're only using the lower 32
bits because of a shift wrapping bug. This can possibly truncate the
upper 16 bits of DctSelBaseOffset[47:26], causing us to misdecode the CS
row.
Fixes: c8e518d5673d ('amd64_edac: Sanitize f10_get_base_addr_offset')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Link: http://lkml.kernel.org/r/20160120095451.GB19898@mwanda
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/edac/amd64_edac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -1452,7 +1452,7 @@ static u64 f1x_get_norm_dct_addr(struct
u64 chan_off;
u64 dram_base = get_dram_base(pvt, range);
u64 hole_off = f10_dhar_offset(pvt);
- u64 dct_sel_base_off = (pvt->dct_sel_hi & 0xFFFFFC00) << 16;
+ u64 dct_sel_base_off = (u64)(pvt->dct_sel_hi & 0xFFFFFC00) << 16;
if (hi_rng) {
/*
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 016/210] KVM: VMX: avoid guest hang on invalid invvpid instruction |
| Message-ID | <rmtQf-22e-27@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Paolo Bonzini <pbonzini@redhat.com>
commit f6870ee9e53430f2a318ccf0dd5e66bb46194e43 upstream.
A guest executing an invalid invvpid instruction would hang
because the instruction pointer was not updated.
Reported-by: jmontleo@redhat.com
Tested-by: jmontleo@redhat.com
Fixes: 99b83ac893b84ed1a62ad6d1f2b6cc32026b9e85
Reviewed-by: David Matlack <dmatlack@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/x86/kvm/vmx.c | 1 +
1 file changed, 1 insertion(+)
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -7399,6 +7399,7 @@ static int handle_invvpid(struct kvm_vcp
if (!(types & (1UL << type))) {
nested_vmx_failValid(vcpu,
VMXERR_INVALID_OPERAND_TO_INVEPT_INVVPID);
+ skip_emulated_instruction(vcpu);
return 1;
}
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 094/210] staging: comedi: ni_mio_common: fix the ni_write[blw]() functions |
| Message-ID | <rmtQf-22e-33@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: H Hartley Sweeten <hsweeten@visionengravers.com>
commit bd3a3cd6c27b117fb9a43a38c8072c95332beecc upstream.
Memory mapped io (dev->mmio) should not also be writing to the ioport
(dev->iobase) registers. Add the missing 'else' to these functions.
Fixes: 0953ee4acca0 ("staging: comedi: ni_mio_common: checkpatch.pl cleanup (else not useful)")
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/staging/comedi/drivers/ni_mio_common.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
--- a/drivers/staging/comedi/drivers/ni_mio_common.c
+++ b/drivers/staging/comedi/drivers/ni_mio_common.c
@@ -246,24 +246,24 @@ static void ni_writel(struct comedi_devi
{
if (dev->mmio)
writel(data, dev->mmio + reg);
-
- outl(data, dev->iobase + reg);
+ else
+ outl(data, dev->iobase + reg);
}
static void ni_writew(struct comedi_device *dev, uint16_t data, int reg)
{
if (dev->mmio)
writew(data, dev->mmio + reg);
-
- outw(data, dev->iobase + reg);
+ else
+ outw(data, dev->iobase + reg);
}
static void ni_writeb(struct comedi_device *dev, uint8_t data, int reg)
{
if (dev->mmio)
writeb(data, dev->mmio + reg);
-
- outb(data, dev->iobase + reg);
+ else
+ outb(data, dev->iobase + reg);
}
static uint32_t ni_readl(struct comedi_device *dev, int reg)
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 009/210] x86/entry/compat: Keep TS_COMPAT set during signal delivery |
| Message-ID | <rmtQf-22e-39@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Andy Lutomirski <luto@kernel.org>
commit 4e79e182b419172e35936a47f098509092d69817 upstream.
Signal delivery needs to know the sign of an interrupted syscall's
return value in order to detect -ERESTART variants. Normally this
works independently of bitness because syscalls internally return
long. Under ptrace, however, this can break, and syscall_get_error
is supposed to sign-extend regs->ax if needed.
We were clearing TS_COMPAT too early, though, and this prevented
sign extension, which subtly broke syscall restart under ptrace.
Reported-by: Robert O'Callahan <robert@ocallahan.org>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Shuah Khan <shuahkh@osg.samsung.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: c5c46f59e4e7 ("x86/entry: Add new, comprehensible entry and exit handlers written in C")
Link: http://lkml.kernel.org/r/cbce3cf545522f64eb37f5478cb59746230db3b5.1455142412.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/x86/entry/common.c | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
--- a/arch/x86/entry/common.c
+++ b/arch/x86/entry/common.c
@@ -268,6 +268,7 @@ static void exit_to_usermode_loop(struct
/* Called with IRQs disabled. */
__visible inline void prepare_exit_to_usermode(struct pt_regs *regs)
{
+ struct thread_info *ti = pt_regs_to_thread_info(regs);
u32 cached_flags;
if (IS_ENABLED(CONFIG_PROVE_LOCKING) && WARN_ON(!irqs_disabled()))
@@ -275,12 +276,22 @@ __visible inline void prepare_exit_to_us
lockdep_sys_exit();
- cached_flags =
- READ_ONCE(pt_regs_to_thread_info(regs)->flags);
+ cached_flags = READ_ONCE(ti->flags);
if (unlikely(cached_flags & EXIT_TO_USERMODE_LOOP_FLAGS))
exit_to_usermode_loop(regs, cached_flags);
+#ifdef CONFIG_COMPAT
+ /*
+ * Compat syscalls set TS_COMPAT. Make sure we clear it before
+ * returning to user mode. We need to clear it *after* signal
+ * handling, because syscall restart has a fixup for compat
+ * syscalls. The fixup is exercised by the ptrace_syscall_32
+ * selftest.
+ */
+ ti->status &= ~TS_COMPAT;
+#endif
+
user_enter();
}
@@ -332,14 +343,6 @@ __visible inline void syscall_return_slo
if (unlikely(cached_flags & SYSCALL_EXIT_WORK_FLAGS))
syscall_slow_exit_work(regs, cached_flags);
-#ifdef CONFIG_COMPAT
- /*
- * Compat syscalls set TS_COMPAT. Make sure we clear it before
- * returning to user mode.
- */
- ti->status &= ~TS_COMPAT;
-#endif
-
local_irq_disable();
prepare_exit_to_usermode(regs);
}
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 096/210] net: irda: Fix use-after-free in irtty_open() |
| Message-ID | <rmtQf-22e-41@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Peter Hurley <peter@hurleysoftware.com>
commit 401879c57f01cbf2da204ad2e8db910525c6dbea upstream.
The N_IRDA line discipline may access the previous line discipline's closed
and already-fre private data on open [1].
The tty->disc_data field _never_ refers to valid data on entry to the
line discipline's open() method. Rather, the ldisc is expected to
initialize that field for its own use for the lifetime of the instance
(ie. from open() to close() only).
[1]
==================================================================
BUG: KASAN: use-after-free in irtty_open+0x422/0x550 at addr ffff8800331dd068
Read of size 4 by task a.out/13960
=============================================================================
BUG kmalloc-512 (Tainted: G B ): kasan: bad access detected
-----------------------------------------------------------------------------
...
Call Trace:
[<ffffffff815fa2ae>] __asan_report_load4_noabort+0x3e/0x40 mm/kasan/report.c:279
[<ffffffff836938a2>] irtty_open+0x422/0x550 drivers/net/irda/irtty-sir.c:436
[<ffffffff829f1b80>] tty_ldisc_open.isra.2+0x60/0xa0 drivers/tty/tty_ldisc.c:447
[<ffffffff829f21c0>] tty_set_ldisc+0x1a0/0x940 drivers/tty/tty_ldisc.c:567
[< inline >] tiocsetd drivers/tty/tty_io.c:2650
[<ffffffff829da49e>] tty_ioctl+0xace/0x1fd0 drivers/tty/tty_io.c:2883
[< inline >] vfs_ioctl fs/ioctl.c:43
[<ffffffff816708ac>] do_vfs_ioctl+0x57c/0xe60 fs/ioctl.c:607
[< inline >] SYSC_ioctl fs/ioctl.c:622
[<ffffffff81671204>] SyS_ioctl+0x74/0x80 fs/ioctl.c:613
[<ffffffff852a7876>] entry_SYSCALL_64_fastpath+0x16/0x7a
Reported-and-tested-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/net/irda/irtty-sir.c | 10 ----------
1 file changed, 10 deletions(-)
--- a/drivers/net/irda/irtty-sir.c
+++ b/drivers/net/irda/irtty-sir.c
@@ -430,16 +430,6 @@ static int irtty_open(struct tty_struct
/* Module stuff handled via irda_ldisc.owner - Jean II */
- /* First make sure we're not already connected. */
- if (tty->disc_data != NULL) {
- priv = tty->disc_data;
- if (priv && priv->magic == IRTTY_MAGIC) {
- ret = -EEXIST;
- goto out;
- }
- tty->disc_data = NULL; /* ### */
- }
-
/* stop the underlying driver */
irtty_stop_receiver(tty, TRUE);
if (tty->ops->stop)
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 092/210] staging: comedi: ni_tiocmd: change mistaken use of start_src for start_arg |
| Message-ID | <rmtQf-22e-37@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Spencer E. Olson <olsonse@umich.edu>
commit 1fd24a4702d2af0ea4d5845126cf57d4d1796216 upstream.
This fixes a bug in function ni_tio_input_inttrig(). The trigger number
should be compared to cmd->start_arg, not cmd->start_src.
Fixes: 6a760394d7eb ("staging: comedi: ni_tiocmd: clarify the cmd->start_arg validation and use")
Signed-off-by: Spencer E. Olson <olsonse@umich.edu>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/staging/comedi/drivers/ni_tiocmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/staging/comedi/drivers/ni_tiocmd.c
+++ b/drivers/staging/comedi/drivers/ni_tiocmd.c
@@ -92,7 +92,7 @@ static int ni_tio_input_inttrig(struct c
unsigned long flags;
int ret = 0;
- if (trig_num != cmd->start_src)
+ if (trig_num != cmd->start_arg)
return -EINVAL;
spin_lock_irqsave(&counter->lock, flags);
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 085/210] tpm_crb: tpm2_shutdown() must be called before tpm_chip_unregister() |
| Message-ID | <rmtQf-22e-43@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> commit 99cda8cb4639de81cde785b5bab9bc52e916e594 upstream. Wrong call order. Reported-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Fixes: 74d6b3ceaa17 Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/char/tpm/tpm_crb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/char/tpm/tpm_crb.c +++ b/drivers/char/tpm/tpm_crb.c @@ -310,11 +310,11 @@ static int crb_acpi_remove(struct acpi_d struct device *dev = &device->dev; struct tpm_chip *chip = dev_get_drvdata(dev); - tpm_chip_unregister(chip); - if (chip->flags & TPM_CHIP_FLAG_TPM2) tpm2_shutdown(chip, TPM2_SU_CLEAR); + tpm_chip_unregister(chip); + return 0; }
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 024/210] sched/preempt, sh: kmap_coherent relies on disabled preemption |
| Message-ID | <rmtQf-22e-45@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: David Hildenbrand <dahi@linux.vnet.ibm.com> commit b15d53d009558d14c4f394a6d1fa2039c7f45c43 upstream. kmap_coherent needs disabled preemption to not schedule in the critical section, just like kmap_coherent on mips and kmap_atomic in general. Fixes: 8222dbe21e79 "sched/preempt, mm/fault: Decouple preemption from the page fault logic" Reported-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Tested-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Rich Felker <dalias@libc.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- arch/sh/mm/kmap.c | 2 ++ 1 file changed, 2 insertions(+) --- a/arch/sh/mm/kmap.c +++ b/arch/sh/mm/kmap.c @@ -36,6 +36,7 @@ void *kmap_coherent(struct page *page, u BUG_ON(!test_bit(PG_dcache_clean, &page->flags)); + preempt_disable(); pagefault_disable(); idx = FIX_CMAP_END - @@ -64,4 +65,5 @@ void kunmap_coherent(void *kvaddr) } pagefault_enable(); + preempt_enable(); }
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 042/210] sd: Fix discard granularity when LBPRZ=1 |
| Message-ID | <rmtQf-22e-47@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Martin K. Petersen <martin.petersen@oracle.com>
commit 6540a65da90c09590897310e31993b1f6e28485a upstream.
Commit 397737223c59 ("sd: Make discard granularity match logical block
size when LBPRZ=1") accidentally set the granularity to one byte instead
of one logical block on devices that provide deterministic zeroes after
UNMAP.
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Reported-by: Mike Snitzer <snitzer@redhat.com>
Reviewed-by: Ewan Milne <emilne@redhat.com>
Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com>
Fixes: 397737223c59e89dca7305feb6528caef8fbef84
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/scsi/sd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -648,7 +648,7 @@ static void sd_config_discard(struct scs
*/
if (sdkp->lbprz) {
q->limits.discard_alignment = 0;
- q->limits.discard_granularity = 1;
+ q->limits.discard_granularity = logical_block_size;
} else {
q->limits.discard_alignment = sdkp->unmap_alignment *
logical_block_size;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 077/210] crypto: ccp - memset request context to zero during import |
| Message-ID | <rmtQf-22e-49@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Tom Lendacky <thomas.lendacky@amd.com> commit ce0ae266feaf35930394bd770c69778e4ef03ba9 upstream. Since a crypto_ahash_import() can be called against a request context that has not had a crypto_ahash_init() performed, the request context needs to be cleared to insure there is no random data present. If not, the random data can result in a kernel oops during crypto_ahash_update(). Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 1 + drivers/crypto/ccp/ccp-crypto-sha.c | 1 + 2 files changed, 2 insertions(+) --- a/drivers/crypto/ccp/ccp-crypto-aes-cmac.c +++ b/drivers/crypto/ccp/ccp-crypto-aes-cmac.c @@ -244,6 +244,7 @@ static int ccp_aes_cmac_import(struct ah /* 'in' may not be aligned so memcpy to local variable */ memcpy(&state, in, sizeof(state)); + memset(rctx, 0, sizeof(*rctx)); rctx->null_msg = state.null_msg; memcpy(rctx->iv, state.iv, sizeof(rctx->iv)); rctx->buf_count = state.buf_count; --- a/drivers/crypto/ccp/ccp-crypto-sha.c +++ b/drivers/crypto/ccp/ccp-crypto-sha.c @@ -233,6 +233,7 @@ static int ccp_sha_import(struct ahash_r /* 'in' may not be aligned so memcpy to local variable */ memcpy(&state, in, sizeof(state)); + memset(rctx, 0, sizeof(*rctx)); rctx->type = state.type; rctx->msg_bits = state.msg_bits; rctx->first = state.first;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 053/210] usb: hub: fix a typo in hub_port_init() leading to wrong logic |
| Message-ID | <rmtQg-22e-51@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Oliver Neukum <oneukum@suse.com>
commit 0d5ce778c43bf888328231bcdce05d5c860655aa upstream.
A typo of j for i led to a logic bug. To rule out future
confusion, the variable names are made meaningful.
Signed-off-by: Oliver Neukum <ONeukum@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/usb/core/hub.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -4277,7 +4277,7 @@ hub_port_init(struct usb_hub *hub, struc
{
struct usb_device *hdev = hub->hdev;
struct usb_hcd *hcd = bus_to_hcd(hdev->bus);
- int i, j, retval;
+ int retries, operations, retval, i;
unsigned delay = HUB_SHORT_RESET_TIME;
enum usb_device_speed oldspeed = udev->speed;
const char *speed;
@@ -4379,7 +4379,7 @@ hub_port_init(struct usb_hub *hub, struc
* first 8 bytes of the device descriptor to get the ep0 maxpacket
* value.
*/
- for (i = 0; i < GET_DESCRIPTOR_TRIES; (++i, msleep(100))) {
+ for (retries = 0; retries < GET_DESCRIPTOR_TRIES; (++retries, msleep(100))) {
bool did_new_scheme = false;
if (use_new_scheme(udev, retry_counter)) {
@@ -4406,7 +4406,7 @@ hub_port_init(struct usb_hub *hub, struc
* 255 is for WUSB devices, we actually need to use
* 512 (WUSB1.0[4.8.1]).
*/
- for (j = 0; j < 3; ++j) {
+ for (operations = 0; operations < 3; ++operations) {
buf->bMaxPacketSize0 = 0;
r = usb_control_msg(udev, usb_rcvaddr0pipe(),
USB_REQ_GET_DESCRIPTOR, USB_DIR_IN,
@@ -4432,7 +4432,7 @@ hub_port_init(struct usb_hub *hub, struc
* reset. But only on the first attempt,
* lest we get into a time out/reset loop
*/
- if (r == 0 || (r == -ETIMEDOUT && j == 0))
+ if (r == 0 || (r == -ETIMEDOUT && retries == 0))
break;
}
udev->descriptor.bMaxPacketSize0 =
@@ -4464,7 +4464,7 @@ hub_port_init(struct usb_hub *hub, struc
* authorization will assign the final address.
*/
if (udev->wusb == 0) {
- for (j = 0; j < SET_ADDRESS_TRIES; ++j) {
+ for (operations = 0; operations < SET_ADDRESS_TRIES; ++operations) {
retval = hub_set_address(udev, devnum);
if (retval >= 0)
break;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 008/210] x86/microcode: Untangle from BLK_DEV_INITRD |
| Message-ID | <rmtQg-22e-55@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Borislav Petkov <bp@suse.de>
commit 5f9c01aa7c49a2d74474d6d879a797b8badf29e6 upstream.
Thomas Voegtle reported that doing oldconfig with a .config which has
CONFIG_MICROCODE enabled but BLK_DEV_INITRD disabled prevents the
microcode loading mechanism from being built.
So untangle it from the BLK_DEV_INITRD dependency so that oldconfig
doesn't turn it off and add an explanatory text to its Kconfig help what
the supported methods for supplying microcode are.
Reported-by: Thomas Voegtle <tv@lio96.de>
Tested-by: Thomas Voegtle <tv@lio96.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1454499225-21544-2-git-send-email-bp@alien8.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/x86/Kconfig | 23 ++++++++++++-----------
arch/x86/include/asm/microcode.h | 26 ++++++++++++++++++++++++++
arch/x86/kernel/cpu/microcode/intel.c | 14 ++++----------
3 files changed, 42 insertions(+), 21 deletions(-)
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1126,22 +1126,23 @@ config MICROCODE
bool "CPU microcode loading support"
default y
depends on CPU_SUP_AMD || CPU_SUP_INTEL
- depends on BLK_DEV_INITRD
select FW_LOADER
---help---
-
If you say Y here, you will be able to update the microcode on
- certain Intel and AMD processors. The Intel support is for the
- IA32 family, e.g. Pentium Pro, Pentium II, Pentium III, Pentium 4,
- Xeon etc. The AMD support is for families 0x10 and later. You will
- obviously need the actual microcode binary data itself which is not
- shipped with the Linux kernel.
+ Intel and AMD processors. The Intel support is for the IA32 family,
+ e.g. Pentium Pro, Pentium II, Pentium III, Pentium 4, Xeon etc. The
+ AMD support is for families 0x10 and later. You will obviously need
+ the actual microcode binary data itself which is not shipped with
+ the Linux kernel.
- This option selects the general module only, you need to select
- at least one vendor specific module as well.
+ The preferred method to load microcode from a detached initrd is described
+ in Documentation/x86/early-microcode.txt. For that you need to enable
+ CONFIG_BLK_DEV_INITRD in order for the loader to be able to scan the
+ initrd for microcode blobs.
- To compile this driver as a module, choose M here: the module
- will be called microcode.
+ In addition, you can build-in the microcode into the kernel. For that you
+ need to enable FIRMWARE_IN_KERNEL and add the vendor-supplied microcode
+ to the CONFIG_EXTRA_FIRMWARE config option.
config MICROCODE_INTEL
bool "Intel microcode loading support"
--- a/arch/x86/include/asm/microcode.h
+++ b/arch/x86/include/asm/microcode.h
@@ -2,6 +2,7 @@
#define _ASM_X86_MICROCODE_H
#include <linux/earlycpio.h>
+#include <linux/initrd.h>
#define native_rdmsr(msr, val1, val2) \
do { \
@@ -168,4 +169,29 @@ static inline void reload_early_microcod
static inline bool
get_builtin_firmware(struct cpio_data *cd, const char *name) { return false; }
#endif
+
+static inline unsigned long get_initrd_start(void)
+{
+#ifdef CONFIG_BLK_DEV_INITRD
+ return initrd_start;
+#else
+ return 0;
+#endif
+}
+
+static inline unsigned long get_initrd_start_addr(void)
+{
+#ifdef CONFIG_BLK_DEV_INITRD
+#ifdef CONFIG_X86_32
+ unsigned long *initrd_start_p = (unsigned long *)__pa_nodebug(&initrd_start);
+
+ return (unsigned long)__pa_nodebug(*initrd_start_p);
+#else
+ return get_initrd_start();
+#endif
+#else /* CONFIG_BLK_DEV_INITRD */
+ return 0;
+#endif
+}
+
#endif /* _ASM_X86_MICROCODE_H */
--- a/arch/x86/kernel/cpu/microcode/intel.c
+++ b/arch/x86/kernel/cpu/microcode/intel.c
@@ -698,7 +698,7 @@ int __init save_microcode_in_initrd_inte
if (count == 0)
return ret;
- copy_initrd_ptrs(mc_saved, mc_saved_in_initrd, initrd_start, count);
+ copy_initrd_ptrs(mc_saved, mc_saved_in_initrd, get_initrd_start(), count);
ret = save_microcode(&mc_saved_data, mc_saved, count);
if (ret)
pr_err("Cannot save microcode patches from initrd.\n");
@@ -760,20 +760,14 @@ void load_ucode_intel_ap(void)
struct mc_saved_data *mc_saved_data_p;
struct ucode_cpu_info uci;
unsigned long *mc_saved_in_initrd_p;
- unsigned long initrd_start_addr;
enum ucode_state ret;
#ifdef CONFIG_X86_32
- unsigned long *initrd_start_p;
- mc_saved_in_initrd_p =
- (unsigned long *)__pa_nodebug(mc_saved_in_initrd);
+ mc_saved_in_initrd_p = (unsigned long *)__pa_nodebug(mc_saved_in_initrd);
mc_saved_data_p = (struct mc_saved_data *)__pa_nodebug(&mc_saved_data);
- initrd_start_p = (unsigned long *)__pa_nodebug(&initrd_start);
- initrd_start_addr = (unsigned long)__pa_nodebug(*initrd_start_p);
#else
- mc_saved_data_p = &mc_saved_data;
mc_saved_in_initrd_p = mc_saved_in_initrd;
- initrd_start_addr = initrd_start;
+ mc_saved_data_p = &mc_saved_data;
#endif
/*
@@ -785,7 +779,7 @@ void load_ucode_intel_ap(void)
collect_cpu_info_early(&uci);
ret = load_microcode(mc_saved_data_p, mc_saved_in_initrd_p,
- initrd_start_addr, &uci);
+ get_initrd_start_addr(), &uci);
if (ret != UCODE_OK)
return;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 051/210] dm: fix rq_end_stats() NULL pointer in dm_requeue_original_request() |
| Message-ID | <rmtQg-22e-53@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Bryn M. Reeves <bmr@redhat.com>
commit 98dbc9c6c61698792e3a66f32f3bf066201d42d7 upstream.
An "old" (.request_fn) DM 'struct request' stores a pointer to the
associated 'struct dm_rq_target_io' in rq->special.
dm_requeue_original_request(), previously named
dm_requeue_unmapped_original_request(), called dm_unprep_request() to
reset rq->special to NULL. But rq_end_stats() would go on to hit a NULL
pointer deference because its call to tio_from_request() returned NULL.
Fix this by calling rq_end_stats() _before_ dm_unprep_request()
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Fixes: e262f34741 ("dm stats: add support for request-based DM devices")
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/md/dm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1210,9 +1210,9 @@ static void dm_requeue_original_request(
{
int rw = rq_data_dir(rq);
+ rq_end_stats(md, rq);
dm_unprep_request(rq);
- rq_end_stats(md, rq);
if (!rq->q->mq_ops)
old_requeue_request(rq);
else {
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 048/210] dm: fix excessive dm-mq context switching |
| Message-ID | <rmtQg-22e-57@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Mike Snitzer <snitzer@redhat.com>
commit 6acfe68bac7e6f16dc312157b1fa6e2368985013 upstream.
Request-based DM's blk-mq support (dm-mq) was reported to be 50% slower
than if an underlying null_blk device were used directly. One of the
reasons for this drop in performance is that blk_insert_clone_request()
was calling blk_mq_insert_request() with @async=true. This forced the
use of kblockd_schedule_delayed_work_on() to run the blk-mq hw queues
which ushered in ping-ponging between process context (fio in this case)
and kblockd's kworker to submit the cloned request. The ftrace
function_graph tracer showed:
kworker-2013 => fio-12190
fio-12190 => kworker-2013
...
kworker-2013 => fio-12190
fio-12190 => kworker-2013
...
Fixing blk_insert_clone_request()'s blk_mq_insert_request() call to
_not_ use kblockd to submit the cloned requests isn't enough to
eliminate the observed context switches.
In addition to this dm-mq specific blk-core fix, there are 2 DM core
fixes to dm-mq that (when paired with the blk-core fix) completely
eliminate the observed context switching:
1) don't blk_mq_run_hw_queues in blk-mq request completion
Motivated by desire to reduce overhead of dm-mq, punting to kblockd
just increases context switches.
In my testing against a really fast null_blk device there was no benefit
to running blk_mq_run_hw_queues() on completion (and no other blk-mq
driver does this). So hopefully this change doesn't induce the need for
yet another revert like commit 621739b00e16ca2d !
2) use blk_mq_complete_request() in dm_complete_request()
blk_complete_request() doesn't offer the traditional q->mq_ops vs
.request_fn branching pattern that other historic block interfaces
do (e.g. blk_get_request). Using blk_mq_complete_request() for
blk-mq requests is important for performance. It should be noted
that, like blk_complete_request(), blk_mq_complete_request() doesn't
natively handle partial completions -- but the request-based
DM-multipath target does provide the required partial completion
support by dm.c:end_clone_bio() triggering requeueing of the request
via dm-mpath.c:multipath_end_io()'s return of DM_ENDIO_REQUEUE.
dm-mq fix #2 is _much_ more important than #1 for eliminating the
context switches.
Before: cpu : usr=15.10%, sys=59.39%, ctx=7905181, majf=0, minf=475
After: cpu : usr=20.60%, sys=79.35%, ctx=2008, majf=0, minf=472
With these changes multithreaded async read IOPs improved from ~950K
to ~1350K for this dm-mq stacked on null_blk test-case. The raw read
IOPs of the underlying null_blk device for the same workload is ~1950K.
Fixes: 7fb4898e0 ("block: add blk-mq support to blk_insert_cloned_request()")
Fixes: bfebd1cdb ("dm: add full blk-mq support to request-based DM")
Reported-by: Sagi Grimberg <sagig@dev.mellanox.co.il>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Acked-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
block/blk-core.c | 2 +-
drivers/md/dm.c | 13 ++++++-------
2 files changed, 7 insertions(+), 8 deletions(-)
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -2189,7 +2189,7 @@ int blk_insert_cloned_request(struct req
if (q->mq_ops) {
if (blk_queue_io_stat(q))
blk_account_io_start(rq, true);
- blk_mq_insert_request(rq, false, true, true);
+ blk_mq_insert_request(rq, false, true, false);
return 0;
}
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1109,12 +1109,8 @@ static void rq_completed(struct mapped_d
* back into ->request_fn() could deadlock attempting to grab the
* queue lock again.
*/
- if (run_queue) {
- if (md->queue->mq_ops)
- blk_mq_run_hw_queues(md->queue, true);
- else
- blk_run_queue_async(md->queue);
- }
+ if (!md->queue->mq_ops && run_queue)
+ blk_run_queue_async(md->queue);
/*
* dm_put() must be at the end of this function. See the comment above
@@ -1336,7 +1332,10 @@ static void dm_complete_request(struct r
struct dm_rq_target_io *tio = tio_from_request(rq);
tio->error = error;
- blk_complete_request(rq);
+ if (!rq->q->mq_ops)
+ blk_complete_request(rq);
+ else
+ blk_mq_complete_request(rq, error);
}
/*
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-04-10 22:10 +0200 |
| Subject | [PATCH 4.4 076/210] crypto: ccp - Dont assume export/import areas are aligned |
| Message-ID | <rmtQh-22e-65@gated-at.bofh.it> |
| In reply to | #1375159 |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tom Lendacky <thomas.lendacky@amd.com>
commit b31dde2a5cb1bf764282abf934266b7193c2bc7c upstream.
Use a local variable for the exported and imported state so that
alignment is not an issue. On export, set a local variable from the
request context and then memcpy the contents of the local variable to
the export memory area. On import, memcpy the import memory area into
a local variable and then use the local variable to set the request
context.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 26 ++++++++++++++---------
drivers/crypto/ccp/ccp-crypto-sha.c | 34 ++++++++++++++++++-------------
2 files changed, 36 insertions(+), 24 deletions(-)
--- a/drivers/crypto/ccp/ccp-crypto-aes-cmac.c
+++ b/drivers/crypto/ccp/ccp-crypto-aes-cmac.c
@@ -223,12 +223,15 @@ static int ccp_aes_cmac_digest(struct ah
static int ccp_aes_cmac_export(struct ahash_request *req, void *out)
{
struct ccp_aes_cmac_req_ctx *rctx = ahash_request_ctx(req);
- struct ccp_aes_cmac_exp_ctx *state = out;
+ struct ccp_aes_cmac_exp_ctx state;
- state->null_msg = rctx->null_msg;
- memcpy(state->iv, rctx->iv, sizeof(state->iv));
- state->buf_count = rctx->buf_count;
- memcpy(state->buf, rctx->buf, sizeof(state->buf));
+ state.null_msg = rctx->null_msg;
+ memcpy(state.iv, rctx->iv, sizeof(state.iv));
+ state.buf_count = rctx->buf_count;
+ memcpy(state.buf, rctx->buf, sizeof(state.buf));
+
+ /* 'out' may not be aligned so memcpy from local variable */
+ memcpy(out, &state, sizeof(state));
return 0;
}
@@ -236,12 +239,15 @@ static int ccp_aes_cmac_export(struct ah
static int ccp_aes_cmac_import(struct ahash_request *req, const void *in)
{
struct ccp_aes_cmac_req_ctx *rctx = ahash_request_ctx(req);
- const struct ccp_aes_cmac_exp_ctx *state = in;
+ struct ccp_aes_cmac_exp_ctx state;
+
+ /* 'in' may not be aligned so memcpy to local variable */
+ memcpy(&state, in, sizeof(state));
- rctx->null_msg = state->null_msg;
- memcpy(rctx->iv, state->iv, sizeof(rctx->iv));
- rctx->buf_count = state->buf_count;
- memcpy(rctx->buf, state->buf, sizeof(rctx->buf));
+ rctx->null_msg = state.null_msg;
+ memcpy(rctx->iv, state.iv, sizeof(rctx->iv));
+ rctx->buf_count = state.buf_count;
+ memcpy(rctx->buf, state.buf, sizeof(rctx->buf));
return 0;
}
--- a/drivers/crypto/ccp/ccp-crypto-sha.c
+++ b/drivers/crypto/ccp/ccp-crypto-sha.c
@@ -210,14 +210,17 @@ static int ccp_sha_digest(struct ahash_r
static int ccp_sha_export(struct ahash_request *req, void *out)
{
struct ccp_sha_req_ctx *rctx = ahash_request_ctx(req);
- struct ccp_sha_exp_ctx *state = out;
+ struct ccp_sha_exp_ctx state;
- state->type = rctx->type;
- state->msg_bits = rctx->msg_bits;
- state->first = rctx->first;
- memcpy(state->ctx, rctx->ctx, sizeof(state->ctx));
- state->buf_count = rctx->buf_count;
- memcpy(state->buf, rctx->buf, sizeof(state->buf));
+ state.type = rctx->type;
+ state.msg_bits = rctx->msg_bits;
+ state.first = rctx->first;
+ memcpy(state.ctx, rctx->ctx, sizeof(state.ctx));
+ state.buf_count = rctx->buf_count;
+ memcpy(state.buf, rctx->buf, sizeof(state.buf));
+
+ /* 'out' may not be aligned so memcpy from local variable */
+ memcpy(out, &state, sizeof(state));
return 0;
}
@@ -225,14 +228,17 @@ static int ccp_sha_export(struct ahash_r
static int ccp_sha_import(struct ahash_request *req, const void *in)
{
struct ccp_sha_req_ctx *rctx = ahash_request_ctx(req);
- const struct ccp_sha_exp_ctx *state = in;
+ struct ccp_sha_exp_ctx state;
+
+ /* 'in' may not be aligned so memcpy to local variable */
+ memcpy(&state, in, sizeof(state));
- rctx->type = state->type;
- rctx->msg_bits = state->msg_bits;
- rctx->first = state->first;
- memcpy(rctx->ctx, state->ctx, sizeof(rctx->ctx));
- rctx->buf_count = state->buf_count;
- memcpy(rctx->buf, state->buf, sizeof(rctx->buf));
+ rctx->type = state.type;
+ rctx->msg_bits = state.msg_bits;
+ rctx->first = state.first;
+ memcpy(rctx->ctx, state.ctx, sizeof(rctx->ctx));
+ rctx->buf_count = state.buf_count;
+ memcpy(rctx->buf, state.buf, sizeof(rctx->buf));
return 0;
}
[toc] | [prev] | [next] | [standalone]
Page 1 of 3 [1] 2 3 Next page →
Back to top | Article view | linux.kernel
csiph-web