Doug Anderson | 2 Sep 18:14 2014

[PATCH 0/2] Add input supplies to rk808 regulator

We want to specify the input supplies to the rk808 regulator.  This
patch series adds them to the driver.  Note that the bindings are
based atop Chris's most recent version at
<>.  If the regulator patch
is applied before Chris sends out his next version then I think Chris
could squash my bindings change (patch 2) into his next version.

Doug Anderson (2):
  regulator: RK808: Add proper input supplies for rk808
  dt-bindings: Add input supplies to rk808 bindings

 Documentation/devicetree/bindings/mfd/rk808.txt | 11 +++++++++++
 drivers/regulator/rk808-regulator.c             | 15 ++++++++++++++-
 2 files changed, 25 insertions(+), 1 deletion(-)



Laurent Dufour | 2 Sep 18:13 2014

[PATCH] powerpc/kvm/cma: Fix panic introduces by signed shift operation

fc95ca7284bc54953165cba76c3228bd2cdb9591 introduces a memset in
kvmppc_alloc_hpt since the general CMA doesn't clear the memory it

However, the size argument passed to memset is computed from a signed value
and its signed bit is extended by the cast the compiler is doing. This lead
to extremely large size value when dealing with order value >= 31, and
almost all the memory following the allocated space is cleaned. As a
consequence, the system is panicing and may even fail spawning the kdump

This fix makes use of an unsigned value for the memset's size argument to
avoid sign extension. Among this fix, another shift operation which may
lead to signed extended value too is also fixed.

Cc: Alexey Kardashevskiy <aik <at>>
Cc: Paul Mackerras <paulus <at>>
Cc: Alexander Graf <agraf <at>>
Cc: Aneesh Kumar K.V <aneesh.kumar <at>>
Cc: Joonsoo Kim < <at>>
Cc: Benjamin Herrenschmidt <benh <at>>
Signed-off-by: Laurent Dufour <ldufour <at>>
 arch/powerpc/kvm/book3s_64_mmu_hv.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/kvm/book3s_64_mmu_hv.c b/arch/powerpc/kvm/book3s_64_mmu_hv.c
index 72c20bb16d26..79294c4c5015 100644
--- a/arch/powerpc/kvm/book3s_64_mmu_hv.c
+++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c
(Continue reading)

David Vrabel | 2 Sep 18:06 2014

[PATCHv3] x86, fpu: remove the logic of non-eager fpu mem allocation at the first usage

From: Suresh Siddha <sbsiddha <at>>

For non-eager fpu mode, thread's fpu state is allocated during the first
fpu usage (in the context of device not available exception). This can be
a blocking call and hence we enable interrupts (which were originally
disabled when the exception happened), allocate memory and disable
interrupts etc. While this saves 512 bytes or so per-thread, there
are some issues in general.

a.  Most of the future cases will be anyway using eager
FPU (because of processor features like xsaveopt, LWP, MPX etc) and
they do the allocation at the thread creation itself. Nice to have
one common mechanism as all the state save/restore code is
shared. Avoids the confusion and minimizes the subtle bugs
in the core piece involved with context-switch.

b. If a parent thread uses FPU, during fork() we allocate
the FPU state in the child and copy the state etc. Shortly after this,
during exec() we free it up, so that we can later allocate during
the first usage of FPU. So this free/allocate might be slower
for some workloads.

c. math_state_restore() is called from multiple places
and it is error pone if the caller expects interrupts to be disabled
throughout the execution of math_state_restore(). Can lead to subtle
bugs like Ubuntu bug #1265841.

Memory savings will be small anyways and the code complexity
introducing subtle bugs is not worth it. So remove
the logic of non-eager fpu mem allocation at the first usage.
(Continue reading)

Itzcak Pechtalt | 2 Sep 17:45 2014

Race condition in HR timers that cause double insertion and hard lockup -- all latest versions


I opened a bug in  for this subject with full description.
There is also a short fix patch for kernel/hrtimer.c file.
Even if this bug occurs rary, however it resolves system hard lockup option.

I suspect that it was targeted by mistake to not active list (timers_realtime-clock <at>
Following is the fix patch based on kernel 3.16.1 (just simple):
diff -uNr a/kernel/hrtimer.c b/kernel/hrtimer.c
--- a/kernel/hrtimer.c 2014-08-31 20:59:52.177452123 +0300
+++ b/kernel/hrtimer.c 2014-08-31 21:02:14.972166540 +0300
 <at>  <at>  -941,7 +941,7  <at>  <at> 
if (!timerqueue_getnext(&base->active))
base->cpu_base->active_bases &= ~(1 << base->index);
- timer->state = newstate;
+ timer->state = (newstate | (timer_state & HRTIMER_STATE_CALLBACK));


Is there a chance for this patch fix to insert into next kernel release?


Itzcak Pechtalt

kan.liang | 2 Sep 17:29 2014

[PATCH v4 1/3] Revert "perf tools: Default to cpu// for events v5"

From: Kan Liang <kan.liang <at>>

This reverts commit 50e200f07948 ("perf tools: Default to cpu// for
events v5")

The fixup cannot handle the case that
new style format(which without //) mixed with
other different formats.

For example,
group events with new style format: {mem-stores,mem-loads}
some hardware event + new style event: cycles,mem-loads
Cache event + new style event: LLC-loads,mem-loads
Raw event + new style event:
old style event and new stytle mixture: mem-stores,cpu/mem-loads/

Signed-off-by: Kan Liang <kan.liang <at>>
 tools/perf/util/include/linux/string.h |  1 -
 tools/perf/util/parse-events.c         | 30 +-----------------------------
 tools/perf/util/string.c               | 24 ------------------------
 3 files changed, 1 insertion(+), 54 deletions(-)

diff --git a/tools/perf/util/include/linux/string.h b/tools/perf/util/include/linux/string.h
index 97a8007..6f19c54 100644
--- a/tools/perf/util/include/linux/string.h
+++ b/tools/perf/util/include/linux/string.h
 <at>  <at>  -1,4 +1,3  <at>  <at> 
 #include <string.h>
(Continue reading)

Boris BREZILLON | 2 Sep 17:27 2014

[PATCH] clk: at91: fix num_parents test in at91sam9260 slow clk implementation

The slow clk block provided by at91sam9260 and derived SoCs should always
have 2 parents.

Signed-off-by: Boris BREZILLON <boris.brezillon <at>>

Hello Mike,

Could you take this fix for the next 3.17 rc ?
Without this fix you won't be able to use programmable clks (the slow
clk is one of the parents of prog clks), and these prog clks are used,
among other things, to provide clks to external audio chips.

No need to backport this fix to previous stable releases, as CCF support
for at91sam9260 (and derived) SoCs only appeared in 3.17.

Best Regards,


 drivers/clk/at91/clk-slow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/at91/clk-slow.c b/drivers/clk/at91/clk-slow.c
index 0300c46..32f7c1b 100644
--- a/drivers/clk/at91/clk-slow.c
+++ b/drivers/clk/at91/clk-slow.c
 <at>  <at>  -447,7 +447,7  <at>  <at>  void __init of_at91sam9260_clk_slow_setup(struct device_node *np,
 	int i;

(Continue reading)

Paolo Bonzini | 2 Sep 17:13 2014

[PATCH 0/4] KVM: nested x86: nested page faults fixes

Patch 1 implements AMD semantics for non-leaf PDPEs and PML4Es, which
are a bit different from Intel.  The SVM test relies on this, so fix it.

Patch 2 lets nested SVM implement nested page fault correctly.  We were
not setting bits 32/33.

Patches 3 and 4 fix the interaction between emulator and nested EPT/NPT,
which was reported by Valentine.

Reviews are very welcome, I'm walking on thin ice here...


Paolo Bonzini (4):
  KVM: x86: reserve bit 8 of non-leaf PDPEs and PML4Es in 64-bit mode on AMD
  KVM: nSVM: propagate the NPF EXITINFO to the guest
  KVM: x86: inject nested page faults on emulated instructions
  KVM: x86: propagate exception from permission checks on the nested page fault

 arch/x86/include/asm/kvm_host.h |  9 ++++++---
 arch/x86/kvm/cpuid.h            |  8 ++++++++
 arch/x86/kvm/mmu.c              | 15 ++++++++++++---
 arch/x86/kvm/paging_tmpl.h      | 13 ++++++++++---
 arch/x86/kvm/svm.c              | 26 ++++++++++++++++++++++----
 arch/x86/kvm/x86.c              | 27 +++++++++++++++++++--------
 6 files changed, 77 insertions(+), 21 deletions(-)



(Continue reading)

Ming Lei | 2 Sep 17:02 2014

[PATCH] blk-merge: fix blk_recount_segments

QUEUE_FLAG_NO_SG_MERGE is set at default for blk-mq devices,
so bio->bi_phys_segment computed may be bigger than
queue_max_segments(q) for blk-mq devices, then drivers will
fail to handle the case, for example, BUG_ON() in
virtio_queue_rq() can be triggerd for virtio-blk:

This patch fixes the issue by ignoring the QUEUE_FLAG_NO_SG_MERGE
flag if the computed bio->bi_phys_segment is bigger than
queue_max_segments(q), and the regression is caused by commit
05f1dd53152173(block: add queue flag for disabling SG merging).

Reported-by: Kick In <pierre-andre.morey <at>>
Tested-by: Chris J Arges <chris.j.arges <at>>
Signed-off-by: Ming Lei <ming.lei <at>>
 block/blk-merge.c |   17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/block/blk-merge.c b/block/blk-merge.c
index 5453583..7788179 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
 <at>  <at>  -10,10 +10,11  <at>  <at> 
 #include "blk.h"

 static unsigned int __blk_recalc_rq_segments(struct request_queue *q,
-					     struct bio *bio)
+					     struct bio *bio,
(Continue reading)

Seunghun Lee | 2 Sep 15:33 2014

[PATCH] fat: Simplify calc_fat_clusters code

Code for fat12 and fat16/32 can be merged to one.

Signed-off-by: Seunghun Lee <waydi1 <at>>
 fs/fat/inode.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index 756aead..6992dea 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
 <at>  <at>  -1307,12 +1307,9  <at>  <at>  static unsigned long calc_fat_clusters(struct super_block *sb)
 	struct msdos_sb_info *sbi = MSDOS_SB(sb);

 	/* Divide first to avoid overflow */
-	if (sbi->fat_bits != 12) {
-		unsigned long ent_per_sec = sb->s_blocksize * 8 / sbi->fat_bits;
-		return ent_per_sec * sbi->fat_length;
-	}
+	unsigned long ent_per_sec = sb->s_blocksize * 8 / sbi->fat_bits;

-	return sbi->fat_length * sb->s_blocksize * 8 / sbi->fat_bits;
+	return ent_per_sec * sbi->fat_length;

 static bool fat_bpb_is_zero(struct fat_boot_sector *b)


(Continue reading)

Georgi Djakov | 2 Sep 15:13 2014

[PATCH v3 0/4] pinctrl: qcom: Add APQ8084 pinctrl support

This set of patches adds pinctrl support for the Qualcomm APQ8084 platform.
The first patch adds the pin definitions. The second patch contains the
devicetree binding documentation. The third patch adds the DT node.
The last patch makes the INTR_TARGET_PROC_APPS value configurable and
defines it for each existing SoC.

Tested on IFC6540 board.

Changes since v2:
 - Fixed some incorrect bits and offsets. (suggested by Bjorn Andersson)
 - Updated binding documentation to follow the format of msm8960.
   (suggested by Bjorn Andersson)
 - Added fourth patch, which removes the hardcoded INTR_TARGET_PROC_APPS
   value and makes it configurable. Also we keep the current value for
   existing SoCs. (suggested by Bjorn Andersson)

Changes since v1:
 - Updated the total number of pins (suggested by Bjorn Andersson)
 - Added the missing pin info (provided by Andy Gross)
 - Updated groups and functions to be consistent with other pinctrls.
   (suggested by Andy Gross)
 - Removed unused functions, qdss and test pins. (suggested by Andy Gross)
 - Updated the documentation with the possible functions.

Georgi Djakov (4):
  pinctrl: qcom: Add APQ8084 pinctrl support
  dt: Document Qualcomm APQ8084 pinctrl binding
  ARM: dts: qcom: Add TLMM DT node for APQ8084
  pinctrl: qcom: Make the target processor value configurable

(Continue reading)

Will Deacon | 2 Sep 15:10 2014

[GIT PULL] arm64: second wave of arm64 fixes for 3.17

Hello Linus,

Please can you pull these fixes for arm64? They address some issues found
by running smatch on the arch code (ignoring the false positives) and also
stop 32-bit Android from losing track of its stack.

There's one additional irq migration fix in the pipeline, but it came in
after I'd tagged and tested this set.




The following changes since commit 52addcf9d6669fa439387610bc65c92fa0980cef:

  Linux 3.17-rc2 (2014-08-25 15:36:20 -0700)

are available in the git repository at:

  git:// tags/arm64-fixes

for you to fetch changes up to 5e39977edf6500fd12f169e6c458d33b0ef62feb:

  Revert "arm64: cpuinfo: print info for all CPUs" (2014-09-01 15:55:22 +0100)

arm64 fixes for -rc4

(Continue reading)