Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1458128 > unrolled thread
| Started by | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| First post | 2016-08-08 21:40 +0200 |
| Last post | 2016-08-09 19:30 +0200 |
| Articles | 20 on this page of 27 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH 4.6 00/96] 4.6.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 06/96] dmaengine: at_xdmac: fix residue corruption Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 25/96] arc: unwind: warn only once if DW2_UNWIND is disabled Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 48/96] cgroup: remove redundant cleanup in css_create Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 47/96] pinctrl: imx: Do not treat a PIN without MUX register as an error Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 31/96] xen-blkfront: fix resume issues after a migration Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 57/96] cpufreq: Avoid false-positive WARN_ON()s in cpufreq_update_policy() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 37/96] Input: elantech - add more IC body types to the list Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 08/96] mm, sl[au]b: add __GFP_ATOMIC to the GFP reclaim mask Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 52/96] locks: use file_inode() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 30/96] xenbus: dont bail early from xenbus_dev_request_and_reply() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:40 +0200
[PATCH 4.6 21/96] radix-tree: fix radix_tree_iter_retry() for tagged iterators. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:50 +0200
[PATCH 4.6 14/96] mm, compaction: prevent VM_BUG_ON when terminating freeing scanner Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:50 +0200
[PATCH 4.6 18/96] vmlinux.lds: account for destructor sections Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:50 +0200
[PATCH 4.6 22/96] pps: do not crash when failed to register Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:50 +0200
[PATCH 4.6 02/96] x86/quirks: Apply nvidia_bugs quirk only on root bus Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:50 +0200
[PATCH 4.6 16/96] mm, meminit: always return a valid node from early_pfn_to_nid Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:50 +0200
[PATCH 4.6 10/96] memcg: css_alloc should return an ERR_PTR value on error Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-08 21:50 +0200
Re: [PATCH 4.6 00/96] 4.6.6-stable review Guenter Roeck <linux@roeck-us.net> - 2016-08-09 07:10 +0200
Re: [PATCH 4.6 00/96] 4.6.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-09 10:30 +0200
Re: [PATCH 4.6 00/96] 4.6.6-stable review Paul Burton <paul.burton@imgtec.com> - 2016-08-09 10:40 +0200
Re: [PATCH 4.6 00/96] 4.6.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-09 10:40 +0200
Re: [PATCH 4.6 00/96] 4.6.6-stable review Guenter Roeck <linux@roeck-us.net> - 2016-08-09 18:20 +0200
Re: [PATCH 4.6 00/96] 4.6.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-09 19:30 +0200
Re: [PATCH 4.6 00/96] 4.6.6-stable review Guenter Roeck <linux@roeck-us.net> - 2016-08-10 03:30 +0200
Re: [PATCH 4.6 00/96] 4.6.6-stable review Shuah Khan <shuah.kh@samsung.com> - 2016-08-09 17:20 +0200
Re: [PATCH 4.6 00/96] 4.6.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-08-09 19:30 +0200
Page 1 of 2 [1] 2 Next page →
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 00/96] 4.6.6-stable review |
| Message-ID | <s3YfD-5sp-7@gated-at.bofh.it> |
This is the start of the stable review cycle for the 4.6.6 release.
There are 96 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 Wed Aug 10 18:02:27 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.6.6-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.6.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Linux 4.6.6-rc1
Miklos Szeredi <mszeredi@redhat.com>
vfs: fix deadlock in file_remove_privs() on overlayfs
Scott Bauer <sbauer@plzdonthack.me>
vfs: ioctl: prevent double-fetch in dedupe ioctl
Alexander Shishkin <alexander.shishkin@linux.intel.com>
intel_th: Fix a deadlock in modprobing
Alexander Shishkin <alexander.shishkin@linux.intel.com>
intel_th: pci: Add Kaby Lake PCH-H support
Gregory Greenman <gregory.greenman@intel.com>
cfg80211: handle failed skb allocation
Dmitri Epshtein <dima@marvell.com>
net: mvneta: set real interrupt per packet for tx_done
Ilya Dryomov <idryomov@gmail.com>
libceph: apply new_state before new_up_client on incrementals
Tejun Heo <tj@kernel.org>
libata: LITE-ON CX1-JB256-HP needs lower max_sectors
Lukasz Gemborowski <lukasz.gemborowski@nokia.com>
i2c: mux: reg: wrong condition checked for of_address_to_resource return value
Sricharan R <sricharan@codeaurora.org>
i2c: qup: Fix wrong value of index variable
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
adv7604: Don't ignore pad number in subdev DV timings pad operations
Thomas Gleixner <tglx@linutronix.de>
cpu/hotplug: Keep enough storage space if SMP=n to avoid array out of bounds scribble
Alexey Dobriyan <adobriyan@gmail.com>
posix_cpu_timer: Exit early when process has been reaped
James Patrick-Evans <james@jmp-e.com>
media: fix airspy usb probe error path
Brian King <brking@linux.vnet.ibm.com>
ipr: Clear interrupt on croc/crocodile when running with LSI
Alan Stern <stern@rowland.harvard.edu>
SCSI: fix new bug in scsi_dev_info_list string matching
Bruno Prémont <bonbons@linux-vserver.org>
qla2xxx: Fix NULL pointer deref in QLA interrupt
Paul Burton <paul.burton@imgtec.com>
irqchip/mips-gic: Match IPI IRQ domain by bus token only
Paul Burton <paul.burton@imgtec.com>
irqchip/mips-gic: Map to VPs using HW VPNum
Vegard Nossum <vegard.nossum@oracle.com>
RDS: fix rds_tcp_init() error path
Oliver Hartkopp <socketcan@hartkopp.net>
can: fix oops caused by wrong rtnl dellink usage
Oliver Hartkopp <socketcan@hartkopp.net>
can: fix handling of unmodifiable configuration options fix
Thor Thayer <tthayer@opensource.altera.com>
can: c_can: Update D_CAN TX and RX functions to 32 bit - fix Altera Cyclone access
Wolfgang Grandegger <wg@grandegger.com>
can: at91_can: RX queue could get stuck at high bus load
Peter Zijlstra <peterz@infradead.org>
sched/fair: Fix effective_load() to consistently use smoothed load
Taras Kondratiuk <takondra@cisco.com>
mmc: block: fix packed command header endianness
Ville Viinikka <ville@tuxera.com>
mmc: block: fix free of uninitialized 'idata->buf'
Omar Sandoval <osandov@fb.com>
block: fix use-after-free in sys_ioprio_get()
Randy Dunlap <rdunlap@infradead.org>
init/Kconfig: keep Expert users menu together
Ursula Braun <ubraun@linux.vnet.ibm.com>
qeth: delete napi struct when removing a qeth device
Dan Carpenter <dan.carpenter@oracle.com>
platform/chrome: cros_ec_dev - double fetch bug in ioctl
Scott Mayhew <smayhew@redhat.com>
lockd: unregister notifier blocks if the service fails to come up completely
Boris Brezillon <boris.brezillon@free-electrons.com>
clk: at91: fix clk_programmable_set_parent()
Heiko Stuebner <heiko@sntech.de>
clk: rockchip: initialize flags of clk_init_data in mmc-phase clock
Michal Suchanek <hramrach@gmail.com>
spi: sun4i: fix FIFO limit
Michal Suchanek <hramrach@gmail.com>
spi: sunxi: fix transfer timeout
Tomeu Vizoso <tomeu.vizoso@collabora.com>
spi: rockchip: Signal unfinished DMA transfers
Andrey Ulanov <andreyu@google.com>
namespace: update event counter when umounting a deleted dentry
Colin Ian King <colin.king@canonical.com>
devpts: fix null pointer dereference on failed memory allocation
Rafael J. Wysocki <rafael.j.wysocki@intel.com>
cpufreq: Avoid false-positive WARN_ON()s in cpufreq_update_policy()
Miklos Szeredi <mszeredi@redhat.com>
9p: use file_dentry()
Vegard Nossum <vegard.nossum@oracle.com>
ext4: verify extent header depth
Jeff Mahoney <jeffm@suse.com>
ecryptfs: don't allow mmap when the lower fs doesn't support it
Jeff Mahoney <jeffm@suse.com>
Revert "ecryptfs: forbid opening files without mmap handler"
Miklos Szeredi <mszeredi@redhat.com>
locks: use file_inode()
Rhyland Klein <rklein@nvidia.com>
power_supply: power_supply_read_temp only if use_cnt > 0
Daniel Bristot de Oliveira <bristot@redhat.com>
cgroup: Disable IRQs while holding css_set_lock
Tejun Heo <tj@kernel.org>
cgroup: set css->id to -1 during init
Wenwei Tao <ww.tao0320@gmail.com>
cgroup: remove redundant cleanup in css_create
Alexander Shiyan <shc_work@mail.ru>
pinctrl: imx: Do not treat a PIN without MUX register as an error
Tony Lindgren <tony@atomide.com>
pinctrl: single: Fix missing flush of posted write for a wakeirq
Minfei Huang <mnghuan@gmail.com>
pvclock: Add CPU barriers to get correct version value
Michael Welling <mwelling@ieee.org>
Input: tsc200x - report proper input_dev name
Andrew Duggan <aduggan@synaptics.com>
Input: synaptics-rmi4 - fix maximum size check for F12 control register 8
Dmitry Torokhov <dmitry.torokhov@gmail.com>
Revert "Input: wacom_w8001 - drop use of ABS_MT_TOOL_TYPE"
Cameron Gutman <aicommander@gmail.com>
Input: xpad - validate USB endpoint count during probe
Ping Cheng <pinglinux@gmail.com>
Input: wacom_w8001 - ignore invalid pen data packets
Ping Cheng <pinglinux@gmail.com>
Input: wacom_w8001 - w8001_MAX_LENGTH should be 13
Cameron Gutman <aicommander@gmail.com>
Input: xpad - fix oops when attaching an unknown Xbox One gamepad
Dmitry Torokhov <dmitry.torokhov@gmail.com>
Input: elantech - add more IC body types to the list
Sinclair Yeh <syeh@vmware.com>
Input: vmmouse - remove port reservation
Kangjie Lu <kangjielu@gmail.com>
ALSA: timer: Fix leak in events via snd_timer_user_tinterrupt
Kangjie Lu <kangjielu@gmail.com>
ALSA: timer: Fix leak in events via snd_timer_user_ccallback
Kangjie Lu <kangjielu@gmail.com>
ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS
Bob Liu <bob.liu@oracle.com>
xen-blkfront: don't call talk_to_blkback when already connected to blkback
Bob Liu <bob.liu@oracle.com>
xen-blkfront: fix resume issues after a migration
Jan Beulich <JBeulich@suse.com>
xenbus: don't bail early from xenbus_dev_request_and_reply()
Jan Beulich <JBeulich@suse.com>
xenbus: don't BUG() on user mode induced condition
Bob Liu <bob.liu@oracle.com>
xen-blkfront: save uncompleted reqs in blkfront_resume()
Andrey Grodzovsky <andrey2805@gmail.com>
xen/pciback: Fix conf_space read/write overlap check.
Vineet Gupta <vgupta@synopsys.com>
ARC: unwind: ensure that .debug_frame is generated (vs. .eh_frame)
Alexey Brodkin <Alexey.Brodkin@synopsys.com>
arc: unwind: warn only once if DW2_UNWIND is disabled
Josh Poimboeuf <jpoimboe@redhat.com>
sched/debug: Fix deadlock when enabling sched events
Andrey Ryabinin <aryabinin@virtuozzo.com>
kernel/sysrq, watchdog, sched/core: Reset watchdog on all CPUs while processing sysrq-w
Jiri Slaby <jslaby@suse.cz>
pps: do not crash when failed to register
Andrey Ryabinin <aryabinin@virtuozzo.com>
radix-tree: fix radix_tree_iter_retry() for tagged iterators.
Johannes Weiner <hannes@cmpxchg.org>
mm: memcontrol: fix cgroup creation failure after many small jobs
Hugh Dickins <hughd@google.com>
mm: thp: refix false positive BUG in page_move_anon_rmap()
Dmitry Vyukov <dvyukov@google.com>
vmlinux.lds: account for destructor sections
Mel Gorman <mgorman@techsingularity.net>
mm, meminit: ensure node is online before checking whether pages are uninitialised
Mel Gorman <mgorman@techsingularity.net>
mm, meminit: always return a valid node from early_pfn_to_nid
Mauro Carvalho Chehab <mchehab@s-opensource.com>
uapi: export lirc.h header
David Rientjes <rientjes@google.com>
mm, compaction: prevent VM_BUG_ON when terminating freeing scanner
Torsten Hilbrich <torsten.hilbrich@secunet.com>
fs/nilfs2: fix potential underflow in call to crc32_le
David Rientjes <rientjes@google.com>
mm, compaction: abort free scanner if split fails
Lukasz Odzioba <lukasz.odzioba@intel.com>
mm/swap.c: flush lru pvecs on compound page arrival
Tejun Heo <tj@kernel.org>
memcg: css_alloc should return an ERR_PTR value on error
Tejun Heo <tj@kernel.org>
memcg: mem_cgroup_migrate() may be called with irq disabled
Mel Gorman <mgorman@techsingularity.net>
mm, sl[au]b: add __GFP_ATOMIC to the GFP reclaim mask
Ludovic Desroches <ludovic.desroches@atmel.com>
dmaengine: at_xdmac: double FIFO flush needed to compute residue
Ludovic Desroches <ludovic.desroches@atmel.com>
dmaengine: at_xdmac: fix residue corruption
Ludovic Desroches <ludovic.desroches@atmel.com>
dmaengine: at_xdmac: align descriptors on 64 bits
Lukas Wunner <lukas@wunner.de>
x86/quirks: Add early quirk to reset Apple AirPort card
Lukas Wunner <lukas@wunner.de>
x86/quirks: Reintroduce scanning of secondary buses
Lukas Wunner <lukas@wunner.de>
x86/quirks: Apply nvidia_bugs quirk only on root bus
Michał Pecio <michal.pecio@gmail.com>
USB: OHCI: Don't mark EDs as ED_OPER if scheduling fails
-------------
Diffstat:
Makefile | 4 +-
arch/arc/Makefile | 2 -
arch/arc/kernel/stacktrace.c | 2 +-
arch/x86/include/asm/pvclock.h | 2 +
arch/x86/kernel/early-quirks.c | 105 ++++++++++++++++++---
arch/x86/kernel/pvclock.c | 4 +
block/ioprio.c | 2 +
drivers/ata/libata-core.c | 6 ++
drivers/bcma/bcma_private.h | 2 -
drivers/block/xen-blkfront.c | 126 ++++++++++++-------------
drivers/clk/at91/clk-programmable.c | 2 +-
drivers/clk/rockchip/clk-mmc-phase.c | 1 +
drivers/cpufreq/cpufreq.c | 4 +
drivers/dma/at_xdmac.c | 82 +++++++++++-----
drivers/hwtracing/intel_th/core.c | 35 ++++++-
drivers/hwtracing/intel_th/intel_th.h | 3 +
drivers/hwtracing/intel_th/pci.c | 5 +
drivers/i2c/busses/i2c-qup.c | 2 +
drivers/i2c/muxes/i2c-mux-reg.c | 2 +-
drivers/input/joystick/xpad.c | 26 ++++--
drivers/input/mouse/elantech.c | 8 +-
drivers/input/mouse/vmmouse.c | 22 +----
drivers/input/rmi4/rmi_f12.c | 9 +-
drivers/input/touchscreen/tsc2004.c | 7 +-
drivers/input/touchscreen/tsc2005.c | 7 +-
drivers/input/touchscreen/tsc200x-core.c | 15 ++-
drivers/input/touchscreen/tsc200x-core.h | 2 +-
drivers/input/touchscreen/wacom_w8001.c | 14 ++-
drivers/irqchip/irq-mips-gic.c | 4 +-
drivers/media/i2c/adv7604.c | 46 ++++++---
drivers/media/usb/airspy/airspy.c | 3 +-
drivers/mmc/card/block.c | 16 ++--
drivers/net/can/at91_can.c | 5 +-
drivers/net/can/c_can/c_can.c | 38 ++++++--
drivers/net/can/dev.c | 9 ++
drivers/net/ethernet/marvell/mvneta.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx.c | 4 +-
drivers/pinctrl/pinctrl-single.c | 3 +
drivers/platform/chrome/cros_ec_dev.c | 8 +-
drivers/power/power_supply_core.c | 27 +++---
drivers/pps/clients/pps_parport.c | 2 +-
drivers/s390/net/qeth_l2_main.c | 1 +
drivers/s390/net/qeth_l3_main.c | 1 +
drivers/scsi/ipr.c | 1 +
drivers/scsi/qla2xxx/qla_isr.c | 2 +-
drivers/scsi/scsi_devinfo.c | 10 +-
drivers/spi/spi-rockchip.c | 4 +-
drivers/spi/spi-sun4i.c | 23 ++++-
drivers/spi/spi-sun6i.c | 10 +-
drivers/tty/pty.c | 7 +-
drivers/usb/host/ohci-q.c | 3 +-
drivers/xen/xen-pciback/conf_space.c | 6 +-
drivers/xen/xenbus/xenbus_dev_frontend.c | 14 +--
drivers/xen/xenbus/xenbus_xs.c | 3 -
fs/9p/vfs_file.c | 6 +-
fs/ecryptfs/file.c | 15 ++-
fs/ecryptfs/kthread.c | 13 +--
fs/ext4/extents.c | 4 +
fs/inode.c | 6 +-
fs/ioctl.c | 1 +
fs/lockd/svc.c | 13 ++-
fs/locks.c | 2 +-
fs/namespace.c | 1 +
fs/nilfs2/the_nilfs.c | 2 +-
include/asm-generic/vmlinux.lds.h | 4 +
include/linux/bcma/bcma.h | 1 +
include/linux/memcontrol.h | 25 ++---
include/linux/radix-tree.h | 1 +
include/linux/rmap.h | 2 +-
include/uapi/linux/Kbuild | 1 +
init/Kconfig | 1 +
kernel/cgroup.c | 148 +++++++++++++++--------------
kernel/cpu.c | 2 +
kernel/sched/core.c | 6 +-
kernel/sched/fair.c | 17 ++--
kernel/time/posix-cpu-timers.c | 1 +
mm/compaction.c | 61 ++++++------
mm/hugetlb.c | 2 +-
mm/internal.h | 3 +-
mm/memcontrol.c | 89 ++++++++++++++++--
mm/memory.c | 3 +-
mm/page_alloc.c | 6 +-
mm/rmap.c | 9 +-
mm/slab_common.c | 4 +-
mm/swap.c | 11 +--
net/ceph/osdmap.c | 156 ++++++++++++++++++++++---------
net/rds/tcp.c | 5 +-
net/wireless/util.c | 2 +
sound/core/timer.c | 3 +
89 files changed, 917 insertions(+), 462 deletions(-)
[toc] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 06/96] dmaengine: at_xdmac: fix residue corruption |
| Message-ID | <s3Yz0-5Ay-17@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ludovic Desroches <ludovic.desroches@atmel.com>
commit 53398f488821c2b5b15291e3debec6ad33f75d3d upstream.
An unexpected value of CUBC can lead to a corrupted residue. A more
complex sequence is needed to detect an inaccurate value for NCA or CUBC.
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Fixes: e1f7c9eee707 ("dmaengine: at_xdmac: creation of the atmel
eXtended DMA Controller driver")
Reviewed-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/dma/at_xdmac.c | 54 +++++++++++++++++++++++++++++--------------------
1 file changed, 32 insertions(+), 22 deletions(-)
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
@@ -1400,6 +1400,7 @@ at_xdmac_tx_status(struct dma_chan *chan
u32 cur_nda, check_nda, cur_ubc, mask, value;
u8 dwidth = 0;
unsigned long flags;
+ bool initd;
ret = dma_cookie_status(chan, cookie, txstate);
if (ret == DMA_COMPLETE)
@@ -1435,34 +1436,43 @@ at_xdmac_tx_status(struct dma_chan *chan
}
/*
- * When processing the residue, we need to read two registers but we
- * can't do it in an atomic way. AT_XDMAC_CNDA is used to find where
- * we stand in the descriptor list and AT_XDMAC_CUBC is used
- * to know how many data are remaining for the current descriptor.
- * Since the dma channel is not paused to not loose data, between the
- * AT_XDMAC_CNDA and AT_XDMAC_CUBC read, we may have change of
- * descriptor.
- * For that reason, after reading AT_XDMAC_CUBC, we check if we are
- * still using the same descriptor by reading a second time
- * AT_XDMAC_CNDA. If AT_XDMAC_CNDA has changed, it means we have to
- * read again AT_XDMAC_CUBC.
+ * The easiest way to compute the residue should be to pause the DMA
+ * but doing this can lead to miss some data as some devices don't
+ * have FIFO.
+ * We need to read several registers because:
+ * - DMA is running therefore a descriptor change is possible while
+ * reading these registers
+ * - When the block transfer is done, the value of the CUBC register
+ * is set to its initial value until the fetch of the next descriptor.
+ * This value will corrupt the residue calculation so we have to skip
+ * it.
+ *
+ * INITD -------- ------------
+ * |____________________|
+ * _______________________ _______________
+ * NDA @desc2 \/ @desc3
+ * _______________________/\_______________
+ * __________ ___________ _______________
+ * CUBC 0 \/ MAX desc1 \/ MAX desc2
+ * __________/\___________/\_______________
+ *
+ * Since descriptors are aligned on 64 bits, we can assume that
+ * the update of NDA and CUBC is atomic.
* Memory barriers are used to ensure the read order of the registers.
- * A max number of retries is set because unlikely it can never ends if
- * we are transferring a lot of data with small buffers.
+ * A max number of retries is set because unlikely it could never ends.
*/
- cur_nda = at_xdmac_chan_read(atchan, AT_XDMAC_CNDA) & 0xfffffffc;
- rmb();
- cur_ubc = at_xdmac_chan_read(atchan, AT_XDMAC_CUBC);
for (retry = 0; retry < AT_XDMAC_RESIDUE_MAX_RETRIES; retry++) {
- rmb();
check_nda = at_xdmac_chan_read(atchan, AT_XDMAC_CNDA) & 0xfffffffc;
-
- if (likely(cur_nda == check_nda))
- break;
-
- cur_nda = check_nda;
+ rmb();
+ initd = !!(at_xdmac_chan_read(atchan, AT_XDMAC_CC) & AT_XDMAC_CC_INITD);
rmb();
cur_ubc = at_xdmac_chan_read(atchan, AT_XDMAC_CUBC);
+ rmb();
+ cur_nda = at_xdmac_chan_read(atchan, AT_XDMAC_CNDA) & 0xfffffffc;
+ rmb();
+
+ if ((check_nda == cur_nda) && initd)
+ break;
}
if (unlikely(retry >= AT_XDMAC_RESIDUE_MAX_RETRIES)) {
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 25/96] arc: unwind: warn only once if DW2_UNWIND is disabled |
| Message-ID | <s3Yz0-5Ay-35@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
commit 9bd54517ee86cb164c734f72ea95aeba4804f10b upstream.
If CONFIG_ARC_DW2_UNWIND is disabled every time arc_unwind_core()
gets called following message gets printed in debug console:
----------------->8---------------
CONFIG_ARC_DW2_UNWIND needs to be enabled
----------------->8---------------
That message makes sense if user indeed wants to see a backtrace or
get nice function call-graphs in perf but what if user disabled
unwinder for the purpose? Why pollute his debug console?
So instead we'll warn user about possibly missing feature once and
let him decide if that was what he or she really wanted.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/arc/kernel/stacktrace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/arc/kernel/stacktrace.c
+++ b/arch/arc/kernel/stacktrace.c
@@ -142,7 +142,7 @@ arc_unwind_core(struct task_struct *tsk,
* prelogue is setup (callee regs saved and then fp set and not other
* way around
*/
- pr_warn("CONFIG_ARC_DW2_UNWIND needs to be enabled\n");
+ pr_warn_once("CONFIG_ARC_DW2_UNWIND needs to be enabled\n");
return 0;
#endif
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 48/96] cgroup: remove redundant cleanup in css_create |
| Message-ID | <s3Yz0-5Ay-23@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Wenwei Tao <ww.tao0320@gmail.com>
commit b00c52dae6d9ee8d0f2407118ef6544ae5524781 upstream.
When create css failed, before call css_free_rcu_fn, we remove the css
id and exit the percpu_ref, but we will do these again in
css_free_work_fn, so they are redundant. Especially the css id, that
would cause problem if we remove it twice, since it may be assigned to
another css after the first remove.
tj: This was broken by two commits updating the free path without
synchronizing the creation failure path. This can be easily
triggered by trying to create more than 64k memory cgroups.
Signed-off-by: Wenwei Tao <ww.tao0320@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Vladimir Davydov <vdavydov@parallels.com>
Fixes: 9a1049da9bd2 ("percpu-refcount: require percpu_ref to be exited explicitly")
Fixes: 01e586598b22 ("cgroup: release css->id after css_free")
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
kernel/cgroup.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -5150,7 +5150,7 @@ static struct cgroup_subsys_state *css_c
err = cgroup_idr_alloc(&ss->css_idr, NULL, 2, 0, GFP_KERNEL);
if (err < 0)
- goto err_free_percpu_ref;
+ goto err_free_css;
css->id = err;
/* @css is ready to be brought online now, make it visible */
@@ -5174,9 +5174,6 @@ static struct cgroup_subsys_state *css_c
err_list_del:
list_del_rcu(&css->sibling);
- cgroup_idr_remove(&ss->css_idr, css->id);
-err_free_percpu_ref:
- percpu_ref_exit(&css->refcnt);
err_free_css:
call_rcu(&css->rcu_head, css_free_rcu_fn);
return ERR_PTR(err);
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 47/96] pinctrl: imx: Do not treat a PIN without MUX register as an error |
| Message-ID | <s3Yz1-5Ay-47@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alexander Shiyan <shc_work@mail.ru>
commit ba562d5e54fd3136bfea0457add3675850247774 upstream.
Some PINs do not have a MUX register, it is not an error.
It is necessary to allow the continuation of the PINs configuration,
otherwise the whole PIN-group will be configured incorrectly.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/pinctrl/freescale/pinctrl-imx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/pinctrl/freescale/pinctrl-imx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx.c
@@ -209,9 +209,9 @@ static int imx_pmx_set(struct pinctrl_de
pin_reg = &info->pin_regs[pin_id];
if (pin_reg->mux_reg == -1) {
- dev_err(ipctl->dev, "Pin(%s) does not support mux function\n",
+ dev_dbg(ipctl->dev, "Pin(%s) does not support mux function\n",
info->pins[pin_id].name);
- return -EINVAL;
+ continue;
}
if (info->flags & SHARE_MUX_CONF_REG) {
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 31/96] xen-blkfront: fix resume issues after a migration |
| Message-ID | <s3Yz0-5Ay-39@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Bob Liu <bob.liu@oracle.com>
commit 2a6f71ad99cabe436e70c3f5fcf58072cb3bc07f upstream.
After a migrate to another host (which may not have multiqueue
support), the number of rings (block hardware queues)
may be changed and the ring info structure will also be reallocated.
This patch fixes two related bugs:
* call blk_mq_update_nr_hw_queues() to make blk-core know the number
of hardware queues have been changed.
* Don't store rinfo pointer to hctx->driver_data, because rinfo may be
reallocated so use hctx->queue_num to get the rinfo structure instead.
Signed-off-by: Bob Liu <bob.liu@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/block/xen-blkfront.c | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -877,8 +877,12 @@ static int blkif_queue_rq(struct blk_mq_
const struct blk_mq_queue_data *qd)
{
unsigned long flags;
- struct blkfront_ring_info *rinfo = (struct blkfront_ring_info *)hctx->driver_data;
+ int qid = hctx->queue_num;
+ struct blkfront_info *info = hctx->queue->queuedata;
+ struct blkfront_ring_info *rinfo = NULL;
+ BUG_ON(info->nr_rings <= qid);
+ rinfo = &info->rinfo[qid];
blk_mq_start_request(qd->rq);
spin_lock_irqsave(&rinfo->ring_lock, flags);
if (RING_FULL(&rinfo->ring))
@@ -904,20 +908,9 @@ out_busy:
return BLK_MQ_RQ_QUEUE_BUSY;
}
-static int blk_mq_init_hctx(struct blk_mq_hw_ctx *hctx, void *data,
- unsigned int index)
-{
- struct blkfront_info *info = (struct blkfront_info *)data;
-
- BUG_ON(info->nr_rings <= index);
- hctx->driver_data = &info->rinfo[index];
- return 0;
-}
-
static struct blk_mq_ops blkfront_mq_ops = {
.queue_rq = blkif_queue_rq,
.map_queue = blk_mq_map_queue,
- .init_hctx = blk_mq_init_hctx,
};
static int xlvbd_init_blk_queue(struct gendisk *gd, u16 sector_size,
@@ -953,6 +946,7 @@ static int xlvbd_init_blk_queue(struct g
return PTR_ERR(rq);
}
+ rq->queuedata = info;
queue_flag_set_unlocked(QUEUE_FLAG_VIRT, rq);
if (info->feature_discard) {
@@ -2137,6 +2131,8 @@ static int blkfront_resume(struct xenbus
return err;
err = talk_to_blkback(dev, info);
+ if (!err)
+ blk_mq_update_nr_hw_queues(&info->tag_set, info->nr_rings);
/*
* We have to wait for the backend to switch to
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 57/96] cpufreq: Avoid false-positive WARN_ON()s in cpufreq_update_policy() |
| Message-ID | <s3Yz0-5Ay-45@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
commit 742c87bf27d3b715820da6f8a81d6357adbf18f8 upstream.
CPU notifications from the firmware coming in when cpufreq is
suspended cause cpufreq_update_current_freq() to return 0 which
triggers the WARN_ON() in cpufreq_update_policy() for no reason.
Avoid that by checking cpufreq_suspended before calling
cpufreq_update_current_freq().
Fixes: c9d9c929e674 (cpufreq: Abort cpufreq_update_current_freq() for cpufreq_suspended set)
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/cpufreq/cpufreq.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -2169,6 +2169,10 @@ int cpufreq_update_policy(unsigned int c
* -> ask driver for current freq and notify governors about a change
*/
if (cpufreq_driver->get && !cpufreq_driver->setpolicy) {
+ if (cpufreq_suspended) {
+ ret = -EAGAIN;
+ goto unlock;
+ }
new_policy.cur = cpufreq_update_current_freq(policy);
if (WARN_ON(!new_policy.cur)) {
ret = -EIO;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 37/96] Input: elantech - add more IC body types to the list |
| Message-ID | <s3Yz1-5Ay-53@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know. ------------------ From: Dmitry Torokhov <dmitry.torokhov@gmail.com> commit 226ba707744a51acb4244724e09caacb1d96aed9 upstream. The touchpad in HP Pavilion 14-ab057ca reports it's version as 12 and according to Elan both 11 and 12 are valid IC types and should be identified as hw_version 4. Reported-by: Patrick Lessard <Patrick.Lessard@cogeco.com> Tested-by: Patrick Lessard <Patrick.Lessard@cogeco.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/input/mouse/elantech.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) --- a/drivers/input/mouse/elantech.c +++ b/drivers/input/mouse/elantech.c @@ -1568,13 +1568,7 @@ static int elantech_set_properties(struc case 5: etd->hw_version = 3; break; - case 6: - case 7: - case 8: - case 9: - case 10: - case 13: - case 14: + case 6 ... 14: etd->hw_version = 4; break; default:
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 08/96] mm, sl[au]b: add __GFP_ATOMIC to the GFP reclaim mask |
| Message-ID | <s3Yz1-5Ay-63@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Mel Gorman <mgorman@techsingularity.net>
commit e838a45f9392a5bd2be1cd3ab0b16ae85857461c upstream.
Commit d0164adc89f6 ("mm, page_alloc: distinguish between being unable
to sleep, unwilling to sleep and avoiding waking kswapd") modified
__GFP_WAIT to explicitly identify the difference between atomic callers
and those that were unwilling to sleep. Later the definition was
removed entirely.
The GFP_RECLAIM_MASK is the set of flags that affect watermark checking
and reclaim behaviour but __GFP_ATOMIC was never added. Without it,
atomic users of the slab allocator strip the __GFP_ATOMIC flag and
cannot access the page allocator atomic reserves. This patch addresses
the problem.
The user-visible impact depends on the workload but potentially atomic
allocations unnecessarily fail without this path.
Link: http://lkml.kernel.org/r/20160610093832.GK2527@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Reported-by: Marcin Wojtas <mw@semihalf.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
mm/internal.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -24,7 +24,8 @@
*/
#define GFP_RECLAIM_MASK (__GFP_RECLAIM|__GFP_HIGH|__GFP_IO|__GFP_FS|\
__GFP_NOWARN|__GFP_REPEAT|__GFP_NOFAIL|\
- __GFP_NORETRY|__GFP_MEMALLOC|__GFP_NOMEMALLOC)
+ __GFP_NORETRY|__GFP_MEMALLOC|__GFP_NOMEMALLOC|\
+ __GFP_ATOMIC)
/* The GFP flags allowed during early boot */
#define GFP_BOOT_MASK (__GFP_BITS_MASK & ~(__GFP_RECLAIM|__GFP_IO|__GFP_FS))
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 52/96] locks: use file_inode() |
| Message-ID | <s3Yz1-5Ay-61@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Miklos Szeredi <mszeredi@redhat.com>
commit 6343a2120862f7023006c8091ad95c1f16a32077 upstream.
(Another one for the f_path debacle.)
ltp fcntl33 testcase caused an Oops in selinux_file_send_sigiotask.
The reason is that generic_add_lease() used filp->f_path.dentry->inode
while all the others use file_inode(). This makes a difference for files
opened on overlayfs since the former will point to the overlay inode the
latter to the underlying inode.
So generic_add_lease() added the lease to the overlay inode and
generic_delete_lease() removed it from the underlying inode. When the file
was released the lease remained on the overlay inode's lock list, resulting
in use after free.
Reported-by: Eryu Guan <eguan@redhat.com>
Fixes: 4bacc9c9234c ("overlayfs: Make f_path always point to the overlay and f_inode to the underlay")
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/locks.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -1628,7 +1628,7 @@ generic_add_lease(struct file *filp, lon
{
struct file_lock *fl, *my_fl = NULL, *lease;
struct dentry *dentry = filp->f_path.dentry;
- struct inode *inode = dentry->d_inode;
+ struct inode *inode = file_inode(filp);
struct file_lock_context *ctx;
bool is_deleg = (*flp)->fl_flags & FL_DELEG;
int error;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:40 +0200 |
| Subject | [PATCH 4.6 30/96] xenbus: dont bail early from xenbus_dev_request_and_reply() |
| Message-ID | <s3Yz1-5Ay-79@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jan Beulich <JBeulich@suse.com>
commit 7469be95a487319514adce2304ad2af3553d2fc9 upstream.
xenbus_dev_request_and_reply() needs to track whether a transaction is
open. For XS_TRANSACTION_START messages it calls transaction_start()
and for XS_TRANSACTION_END messages it calls transaction_end().
If sending an XS_TRANSACTION_START message fails or responds with an
an error, the transaction is not open and transaction_end() must be
called.
If sending an XS_TRANSACTION_END message fails, the transaction is
still open, but if an error response is returned the transaction is
closed.
Commit 027bd7e89906 ("xen/xenbus: Avoid synchronous wait on XenBus
stalling shutdown/restart") introduced a regression where failed
XS_TRANSACTION_START messages were leaving the transaction open. This
can cause problems with suspend (and migration) as all transactions
must be closed before suspending.
It appears that the problematic change was added accidentally, so just
remove it.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/xen/xenbus/xenbus_xs.c | 3 ---
1 file changed, 3 deletions(-)
--- a/drivers/xen/xenbus/xenbus_xs.c
+++ b/drivers/xen/xenbus/xenbus_xs.c
@@ -249,9 +249,6 @@ void *xenbus_dev_request_and_reply(struc
mutex_unlock(&xs_state.request_mutex);
- if (IS_ERR(ret))
- return ret;
-
if ((msg->type == XS_TRANSACTION_END) ||
((req_msg.type == XS_TRANSACTION_START) &&
(msg->type == XS_ERROR)))
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:50 +0200 |
| Subject | [PATCH 4.6 21/96] radix-tree: fix radix_tree_iter_retry() for tagged iterators. |
| Message-ID | <s3YIG-5FD-5@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Andrey Ryabinin <aryabinin@virtuozzo.com>
commit 3cb9185c67304b2a7ea9be73e7d13df6fb2793a1 upstream.
radix_tree_iter_retry() resets slot to NULL, but it doesn't reset tags.
Then NULL slot and non-zero iter.tags passed to radix_tree_next_slot()
leading to crash:
RIP: radix_tree_next_slot include/linux/radix-tree.h:473
find_get_pages_tag+0x334/0x930 mm/filemap.c:1452
....
Call Trace:
pagevec_lookup_tag+0x3a/0x80 mm/swap.c:960
mpage_prepare_extent_to_map+0x321/0xa90 fs/ext4/inode.c:2516
ext4_writepages+0x10be/0x2b20 fs/ext4/inode.c:2736
do_writepages+0x97/0x100 mm/page-writeback.c:2364
__filemap_fdatawrite_range+0x248/0x2e0 mm/filemap.c:300
filemap_write_and_wait_range+0x121/0x1b0 mm/filemap.c:490
ext4_sync_file+0x34d/0xdb0 fs/ext4/fsync.c:115
vfs_fsync_range+0x10a/0x250 fs/sync.c:195
vfs_fsync fs/sync.c:209
do_fsync+0x42/0x70 fs/sync.c:219
SYSC_fdatasync fs/sync.c:232
SyS_fdatasync+0x19/0x20 fs/sync.c:230
entry_SYSCALL_64_fastpath+0x23/0xc1 arch/x86/entry/entry_64.S:207
We must reset iterator's tags to bail out from radix_tree_next_slot()
and go to the slow-path in radix_tree_next_chunk().
Fixes: 46437f9a554f ("radix-tree: fix race in gang lookup")
Link: http://lkml.kernel.org/r/1468495196-10604-1-git-send-email-aryabinin@virtuozzo.com
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Acked-by: Konstantin Khlebnikov <koct9i@gmail.com>
Cc: Matthew Wilcox <willy@linux.intel.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
include/linux/radix-tree.h | 1 +
1 file changed, 1 insertion(+)
--- a/include/linux/radix-tree.h
+++ b/include/linux/radix-tree.h
@@ -399,6 +399,7 @@ static inline __must_check
void **radix_tree_iter_retry(struct radix_tree_iter *iter)
{
iter->next_index = iter->index;
+ iter->tags = 0;
return NULL;
}
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:50 +0200 |
| Subject | [PATCH 4.6 14/96] mm, compaction: prevent VM_BUG_ON when terminating freeing scanner |
| Message-ID | <s3YIG-5FD-3@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: David Rientjes <rientjes@google.com>
commit a46cbf3bc53b6a93fb84a5ffb288c354fa807954 upstream.
It's possible to isolate some freepages in a pageblock and then fail
split_free_page() due to the low watermark check. In this case, we hit
VM_BUG_ON() because the freeing scanner terminated early without a
contended lock or enough freepages.
This should never have been a VM_BUG_ON() since it's not a fatal
condition. It should have been a VM_WARN_ON() at best, or even handled
gracefully.
Regardless, we need to terminate anytime the full pageblock scan was not
done. The logic belongs in isolate_freepages_block(), so handle its
state gracefully by terminating the pageblock loop and making a note to
restart at the same pageblock next time since it was not possible to
complete the scan this time.
[rientjes@google.com: don't rescan pages in a pageblock]
Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1607111244150.83138@chino.kir.corp.google.com
Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1606291436300.145590@chino.kir.corp.google.com
Signed-off-by: David Rientjes <rientjes@google.com>
Reported-by: Minchan Kim <minchan@kernel.org>
Tested-by: Minchan Kim <minchan@kernel.org>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
mm/compaction.c | 36 ++++++++++++++----------------------
1 file changed, 14 insertions(+), 22 deletions(-)
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -936,8 +936,6 @@ static void isolate_freepages(struct com
block_end_pfn = block_start_pfn,
block_start_pfn -= pageblock_nr_pages,
isolate_start_pfn = block_start_pfn) {
- unsigned long isolated;
-
/*
* This can iterate a massively long zone without finding any
* suitable migration targets, so periodically check if we need
@@ -961,36 +959,30 @@ static void isolate_freepages(struct com
continue;
/* Found a block suitable for isolating free pages from. */
- isolated = isolate_freepages_block(cc, &isolate_start_pfn,
- block_end_pfn, freelist, false);
- /* If isolation failed early, do not continue needlessly */
- if (!isolated && isolate_start_pfn < block_end_pfn &&
- cc->nr_migratepages > cc->nr_freepages)
- break;
+ isolate_freepages_block(cc, &isolate_start_pfn, block_end_pfn,
+ freelist, false);
/*
- * If we isolated enough freepages, or aborted due to async
- * compaction being contended, terminate the loop.
- * Remember where the free scanner should restart next time,
- * which is where isolate_freepages_block() left off.
- * But if it scanned the whole pageblock, isolate_start_pfn
- * now points at block_end_pfn, which is the start of the next
- * pageblock.
- * In that case we will however want to restart at the start
- * of the previous pageblock.
+ * If we isolated enough freepages, or aborted due to lock
+ * contention, terminate.
*/
if ((cc->nr_freepages >= cc->nr_migratepages)
|| cc->contended) {
- if (isolate_start_pfn >= block_end_pfn)
+ if (isolate_start_pfn >= block_end_pfn) {
+ /*
+ * Restart at previous pageblock if more
+ * freepages can be isolated next time.
+ */
isolate_start_pfn =
block_start_pfn - pageblock_nr_pages;
+ }
break;
- } else {
+ } else if (isolate_start_pfn < block_end_pfn) {
/*
- * isolate_freepages_block() should not terminate
- * prematurely unless contended, or isolated enough
+ * If isolation failed early, do not continue
+ * needlessly.
*/
- VM_BUG_ON(isolate_start_pfn < block_end_pfn);
+ break;
}
}
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:50 +0200 |
| Subject | [PATCH 4.6 18/96] vmlinux.lds: account for destructor sections |
| Message-ID | <s3YIG-5FD-13@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Vyukov <dvyukov@google.com>
commit e41f501d391265ff568f3e49d6128cc30856a36f upstream.
If CONFIG_KASAN is enabled and gcc is configured with
--disable-initfini-array and/or gold linker is used, gcc emits
.ctors/.dtors and .text.startup/.text.exit sections instead of
.init_array/.fini_array. .dtors section is not explicitly accounted in
the linker script and messes vvar/percpu layout.
We want:
ffffffff822bfd80 D _edata
ffffffff822c0000 D __vvar_beginning_hack
ffffffff822c0000 A __vvar_page
ffffffff822c0080 0000000000000098 D vsyscall_gtod_data
ffffffff822c1000 A __init_begin
ffffffff822c1000 D init_per_cpu__irq_stack_union
ffffffff822c1000 A __per_cpu_load
ffffffff822d3000 D init_per_cpu__gdt_page
We got:
ffffffff8279a600 D _edata
ffffffff8279b000 A __vvar_page
ffffffff8279c000 A __init_begin
ffffffff8279c000 D init_per_cpu__irq_stack_union
ffffffff8279c000 A __per_cpu_load
ffffffff8279e000 D __vvar_beginning_hack
ffffffff8279e080 0000000000000098 D vsyscall_gtod_data
ffffffff827ae000 D init_per_cpu__gdt_page
This happens because __vvar_page and .vvar get different addresses in
arch/x86/kernel/vmlinux.lds.S:
. = ALIGN(PAGE_SIZE);
__vvar_page = .;
.vvar : AT(ADDR(.vvar) - LOAD_OFFSET) {
/* work around gold bug 13023 */
__vvar_beginning_hack = .;
Discard .dtors/.fini_array/.text.exit, since we don't call dtors.
Merge .text.startup into init text.
Link: http://lkml.kernel.org/r/1467386363-120030-1-git-send-email-dvyukov@google.com
Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
Reviewed-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
include/asm-generic/vmlinux.lds.h | 4 ++++
1 file changed, 4 insertions(+)
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -540,15 +540,19 @@
#define INIT_TEXT \
*(.init.text) \
+ *(.text.startup) \
MEM_DISCARD(init.text)
#define EXIT_DATA \
*(.exit.data) \
+ *(.fini_array) \
+ *(.dtors) \
MEM_DISCARD(exit.data) \
MEM_DISCARD(exit.rodata)
#define EXIT_TEXT \
*(.exit.text) \
+ *(.text.exit) \
MEM_DISCARD(exit.text)
#define EXIT_CALL \
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:50 +0200 |
| Subject | [PATCH 4.6 22/96] pps: do not crash when failed to register |
| Message-ID | <s3YIH-5FD-35@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jiri Slaby <jslaby@suse.cz>
commit 368301f2fe4b07e5fb71dba3cc566bc59eb6705f upstream.
With this command sequence:
modprobe plip
modprobe pps_parport
rmmod pps_parport
the partport_pps modules causes this crash:
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: parport_detach+0x1d/0x60 [pps_parport]
Oops: 0000 [#1] SMP
...
Call Trace:
parport_unregister_driver+0x65/0xc0 [parport]
SyS_delete_module+0x187/0x210
The sequence that builds up to this is:
1) plip is loaded and takes the parport device for exclusive use:
plip0: Parallel port at 0x378, using IRQ 7.
2) pps_parport then fails to grab the device:
pps_parport: parallel port PPS client
parport0: cannot grant exclusive access for device pps_parport
pps_parport: couldn't register with parport0
3) rmmod of pps_parport is then killed because it tries to access
pardev->name, but pardev (taken from port->cad) is NULL.
So add a check for NULL in the test there too.
Link: http://lkml.kernel.org/r/20160714115245.12651-1-jslaby@suse.cz
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Acked-by: Rodolfo Giometti <giometti@enneenne.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/pps/clients/pps_parport.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/pps/clients/pps_parport.c
+++ b/drivers/pps/clients/pps_parport.c
@@ -195,7 +195,7 @@ static void parport_detach(struct parpor
struct pps_client_pp *device;
/* FIXME: oooh, this is ugly! */
- if (strcmp(pardev->name, KBUILD_MODNAME))
+ if (!pardev || strcmp(pardev->name, KBUILD_MODNAME))
/* not our port */
return;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:50 +0200 |
| Subject | [PATCH 4.6 02/96] x86/quirks: Apply nvidia_bugs quirk only on root bus |
| Message-ID | <s3YIH-5FD-53@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Lukas Wunner <lukas@wunner.de>
commit 447d29d1d3aed839e74c2401ef63387780ac51ed upstream.
Since the following commit:
8659c406ade3 ("x86: only scan the root bus in early PCI quirks")
... early quirks are only applied to devices on the root bus.
The motivation was to prevent application of the nvidia_bugs quirk on
secondary buses.
We're about to reintroduce scanning of secondary buses for a quirk to
reset the Broadcom 4331 wireless card on 2011/2012 Macs. To prevent
regressions, open code the requirement to apply nvidia_bugs only on the
root bus.
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
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: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/4d5477c1d76b2f0387a780f2142bbcdd9fee869b.1465690253.git.lukas@wunner.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/x86/kernel/early-quirks.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -76,6 +76,13 @@ static void __init nvidia_bugs(int num,
#ifdef CONFIG_ACPI
#ifdef CONFIG_X86_IO_APIC
/*
+ * Only applies to Nvidia root ports (bus 0) and not to
+ * Nvidia graphics cards with PCI ports on secondary buses.
+ */
+ if (num)
+ return;
+
+ /*
* All timer overrides on Nvidia are
* wrong unless HPET is enabled.
* Unfortunately that's not true on many Asus boards.
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:50 +0200 |
| Subject | [PATCH 4.6 16/96] mm, meminit: always return a valid node from early_pfn_to_nid |
| Message-ID | <s3YIH-5FD-45@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Mel Gorman <mgorman@techsingularity.net>
commit e4568d3803852d00effd41dcdd489e726b998879 upstream.
early_pfn_to_nid can return node 0 if a PFN is invalid on machines that
has no node 0. A machine with only node 1 was observed to crash with
the following message:
BUG: unable to handle kernel paging request at 000000000002a3c8
PGD 0
Modules linked in:
Hardware name: Supermicro H8DSP-8/H8DSP-8, BIOS 080011 06/30/2006
task: ffffffff81c0d500 ti: ffffffff81c00000 task.ti: ffffffff81c00000
RIP: reserve_bootmem_region+0x6a/0xef
CR2: 000000000002a3c8 CR3: 0000000001c06000 CR4: 00000000000006b0
Call Trace:
free_all_bootmem+0x4b/0x12a
mem_init+0x70/0xa3
start_kernel+0x25b/0x49b
The problem is that early_page_uninitialised uses the early_pfn_to_nid
helper which returns node 0 for invalid PFNs. No caller of
early_pfn_to_nid cares except early_page_uninitialised. This patch has
early_pfn_to_nid always return a valid node.
Link: http://lkml.kernel.org/r/1468008031-3848-3-git-send-email-mgorman@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
mm/page_alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1110,7 +1110,7 @@ int __meminit early_pfn_to_nid(unsigned
spin_lock(&early_pfn_lock);
nid = __early_pfn_to_nid(pfn, &early_pfnnid_cache);
if (nid < 0)
- nid = 0;
+ nid = first_online_node;
spin_unlock(&early_pfn_lock);
return nid;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-08 21:50 +0200 |
| Subject | [PATCH 4.6 10/96] memcg: css_alloc should return an ERR_PTR value on error |
| Message-ID | <s3YII-5FD-71@gated-at.bofh.it> |
| In reply to | #1458128 |
4.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tejun Heo <tj@kernel.org>
commit ea3a9645866e12d2b198434f03df3c3e96fb86ce upstream.
mem_cgroup_css_alloc() was returning NULL on failure while cgroup core
expected it to return an ERR_PTR value leading to the following NULL
deref after a css allocation failure. Fix it by return
ERR_PTR(-ENOMEM) instead. I'll also update cgroup core so that it
can handle NULL returns.
mkdir: page allocation failure: order:6, mode:0x240c0c0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO)
CPU: 0 PID: 8738 Comm: mkdir Not tainted 4.7.0-rc3+ #123
...
Call Trace:
dump_stack+0x68/0xa1
warn_alloc_failed+0xd6/0x130
__alloc_pages_nodemask+0x4c6/0xf20
alloc_pages_current+0x66/0xe0
alloc_kmem_pages+0x14/0x80
kmalloc_order_trace+0x2a/0x1a0
__kmalloc+0x291/0x310
memcg_update_all_caches+0x6c/0x130
mem_cgroup_css_alloc+0x590/0x610
cgroup_apply_control_enable+0x18b/0x370
cgroup_mkdir+0x1de/0x2e0
kernfs_iop_mkdir+0x55/0x80
vfs_mkdir+0xb9/0x150
SyS_mkdir+0x66/0xd0
do_syscall_64+0x53/0x120
entry_SYSCALL64_slow_path+0x25/0x25
...
BUG: unable to handle kernel NULL pointer dereference at 00000000000000d0
IP: init_and_link_css+0x37/0x220
PGD 34b1e067 PUD 3a109067 PMD 0
Oops: 0002 [#1] SMP
Modules linked in:
CPU: 0 PID: 8738 Comm: mkdir Not tainted 4.7.0-rc3+ #123
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.2-20160422_131301-anatol 04/01/2014
task: ffff88007cbc5200 ti: ffff8800666d4000 task.ti: ffff8800666d4000
RIP: 0010:[<ffffffff810f2ca7>] [<ffffffff810f2ca7>] init_and_link_css+0x37/0x220
RSP: 0018:ffff8800666d7d90 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffffffff810f2499 RSI: 0000000000000000 RDI: 0000000000000008
RBP: ffff8800666d7db8 R08: 0000000000000003 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff88005a5fb400
R13: ffffffff81f0f8a0 R14: ffff88005a5fb400 R15: 0000000000000010
FS: 00007fc944689700(0000) GS:ffff88007fc00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3aed0d2b80 CR3: 000000003a1e8000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
cgroup_apply_control_enable+0x1ac/0x370
cgroup_mkdir+0x1de/0x2e0
kernfs_iop_mkdir+0x55/0x80
vfs_mkdir+0xb9/0x150
SyS_mkdir+0x66/0xd0
do_syscall_64+0x53/0x120
entry_SYSCALL64_slow_path+0x25/0x25
Code: 89 f5 48 89 fb 49 89 d4 48 83 ec 08 8b 05 72 3b d8 00 85 c0 0f 85 60 01 00 00 4c 89 e7 e8 72 f7 ff ff 48 8d 7b 08 48 89 d9 31 c0 <48> c7 83 d0 00 00 00 00 00 00 00 48 83 e7 f8 48 29 f9 81 c1 d8
RIP init_and_link_css+0x37/0x220
RSP <ffff8800666d7d90>
CR2: 00000000000000d0
---[ end trace a2d8836ae1e852d1 ]---
Link: http://lkml.kernel.org/r/20160621165740.GJ3262@mtj.duckdns.org
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Johannes Weiner <hannes@cmpxchg.org>
Reviewed-by: Vladimir Davydov <vdavydov@virtuozzo.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
mm/memcontrol.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4184,7 +4184,7 @@ mem_cgroup_css_alloc(struct cgroup_subsy
return &memcg->css;
fail:
mem_cgroup_free(memcg);
- return NULL;
+ return ERR_PTR(-ENOMEM);
}
static int
[toc] | [prev] | [next] | [standalone]
| From | Guenter Roeck <linux@roeck-us.net> |
|---|---|
| Date | 2016-08-09 07:10 +0200 |
| Message-ID | <s47sB-36N-3@gated-at.bofh.it> |
| In reply to | #1458128 |
On 08/08/2016 12:10 PM, Greg Kroah-Hartman wrote: > This is the start of the stable review cycle for the 4.6.6 release. > There are 96 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 Wed Aug 10 18:02:27 UTC 2016. > Anything received after that time might be too late. > Build results: total: 148 pass: 146 fail: 2 Failed builds: unicore32:defconfig unicore32:allnoconfig Qemu test results: total: 107 pass: 103 fail: 4 Failed tests: mips:malta_defconfig:nosmp mips64:malta_defconfig:nosmp mipsel:malta_defconfig:nosmp mipsel64:malta_defconfig:nosmp The unicore32 build error is still not fixed in mainline. mips: Building mips:malta_defconfig:nosmp ... failed ------------ Error log: drivers/built-in.o: In function `gic_shared_irq_domain_map.isra.0': irq-mips-gic.c:(.text+0x1d58): undefined reference to `smp_num_siblings' irq-mips-gic.c:(.text+0x1d5c): undefined reference to `smp_num_siblings' irq-mips-gic.c:(.text+0x1de0): undefined reference to `smp_num_siblings' irq-mips-gic.c:(.text+0x1de8): undefined reference to `smp_num_siblings' Only seen with non-SMP builds. Tricky one, required bisect. # bad: [0353fa20cb40ea75a7e3b7293b533bde4fa013e9] Linux 4.6.6-rc1 # good: [bed4c611a3b80fae04d75b9f85fcaf174bac1b06] Linux 4.6.5 git bisect start 'HEAD' 'v4.6.5' # good: [8d3b41c18cff2db7ccea71243b945a33610b8cb5] cgroup: remove redundant cleanup in css_create git bisect good 8d3b41c18cff2db7ccea71243b945a33610b8cb583c9f9e994f5c963fc652a52befc120699dcc591 # good: [3a255979bc75ffcc263928045df4b5f46df8a8ca] sched/fair: Fix effective_load() to consistently use smoothed load git bisect good 3a255979bc75ffcc263928045df4b5f46df8a8ca # bad: [6eafb1f777de375b52c8a83d262da2885a28579a] posix_cpu_timer: Exit early when process has been reaped git bisect bad 6eafb1f777de375b52c8a83d262da2885a28579a # bad: [83c9f9e994f5c963fc652a52befc120699dcc591] irqchip/mips-gic: Map to VPs using HW VPNum git bisect bad 83c9f9e994f5c963fc652a52befc120699dcc591 # good: [3a1e9944db1570f9b654b7a187f13898e5c59529] can: fix handling of unmodifiable configuration options fix git bisect good 3a1e9944db1570f9b654b7a187f13898e5c59529 # good: [f06b9b8071ae6e383931795e2a459d6abc0bc7bd] RDS: fix rds_tcp_init() error path git bisect good f06b9b8071ae6e383931795e2a459d6abc0bc7bd # first bad commit: [83c9f9e994f5c963fc652a52befc120699dcc591] irqchip/mips-gic: Map to VPs using HW VPNum Reverting 83c9f9e994f5c963fc652a52befc120699dcc591 fixes the problem. Its description suggests that it fixes a real bug, though, so copying Paul for input. Guenter
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-08-09 10:30 +0200 |
| Message-ID | <s4aAa-55a-33@gated-at.bofh.it> |
| In reply to | #1458401 |
On Mon, Aug 08, 2016 at 10:03:39PM -0700, Guenter Roeck wrote: > On 08/08/2016 12:10 PM, Greg Kroah-Hartman wrote: > > This is the start of the stable review cycle for the 4.6.6 release. > > There are 96 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 Wed Aug 10 18:02:27 UTC 2016. > > Anything received after that time might be too late. > > > > Build results: > total: 148 pass: 146 fail: 2 > Failed builds: > unicore32:defconfig > unicore32:allnoconfig > > Qemu test results: > total: 107 pass: 103 fail: 4 > Failed tests: > mips:malta_defconfig:nosmp > mips64:malta_defconfig:nosmp > mipsel:malta_defconfig:nosmp > mipsel64:malta_defconfig:nosmp > > The unicore32 build error is still not fixed in mainline. > > mips: > > Building mips:malta_defconfig:nosmp ... failed > ------------ > Error log: > drivers/built-in.o: In function `gic_shared_irq_domain_map.isra.0': > irq-mips-gic.c:(.text+0x1d58): undefined reference to `smp_num_siblings' > irq-mips-gic.c:(.text+0x1d5c): undefined reference to `smp_num_siblings' > irq-mips-gic.c:(.text+0x1de0): undefined reference to `smp_num_siblings' > irq-mips-gic.c:(.text+0x1de8): undefined reference to `smp_num_siblings' > > Only seen with non-SMP builds. Tricky one, required bisect. > > # bad: [0353fa20cb40ea75a7e3b7293b533bde4fa013e9] Linux 4.6.6-rc1 > # good: [bed4c611a3b80fae04d75b9f85fcaf174bac1b06] Linux 4.6.5 > git bisect start 'HEAD' 'v4.6.5' > # good: [8d3b41c18cff2db7ccea71243b945a33610b8cb5] cgroup: remove redundant cleanup in css_create > git bisect good 8d3b41c18cff2db7ccea71243b945a33610b8cb583c9f9e994f5c963fc652a52befc120699dcc591 > # good: [3a255979bc75ffcc263928045df4b5f46df8a8ca] sched/fair: Fix effective_load() to consistently use smoothed load > git bisect good 3a255979bc75ffcc263928045df4b5f46df8a8ca > # bad: [6eafb1f777de375b52c8a83d262da2885a28579a] posix_cpu_timer: Exit early when process has been reaped > git bisect bad 6eafb1f777de375b52c8a83d262da2885a28579a > # bad: [83c9f9e994f5c963fc652a52befc120699dcc591] irqchip/mips-gic: Map to VPs using HW VPNum > git bisect bad 83c9f9e994f5c963fc652a52befc120699dcc591 > # good: [3a1e9944db1570f9b654b7a187f13898e5c59529] can: fix handling of unmodifiable configuration options fix > git bisect good 3a1e9944db1570f9b654b7a187f13898e5c59529 > # good: [f06b9b8071ae6e383931795e2a459d6abc0bc7bd] RDS: fix rds_tcp_init() error path > git bisect good f06b9b8071ae6e383931795e2a459d6abc0bc7bd > # first bad commit: [83c9f9e994f5c963fc652a52befc120699dcc591] irqchip/mips-gic: Map to VPs using HW VPNum > > Reverting 83c9f9e994f5c963fc652a52befc120699dcc591 fixes the problem. > Its description suggests that it fixes a real bug, though, so copying Paul for input. Thanks for the bisection and report. Paul, any ideas? Why doesn't this also fail in 4.7? thanks, greg k-h
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | linux.kernel
csiph-web