<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/clk, branch v3.15.2</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>Merge tag 'clk-tegra-fixes-3.15' of git://nv-tegra.nvidia.com/user/pdeschrijver/linux into clk-fixes</title>
<updated>2014-05-28T04:11:08+00:00</updated>
<author>
<name>Mike Turquette</name>
<email>mturquette@linaro.org</email>
</author>
<published>2014-05-28T04:11:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5178438041cc94680e606e5a9c6d1ad9c911199b'/>
<id>5178438041cc94680e606e5a9c6d1ad9c911199b</id>
<content type='text'>
PLLE fixes for 3.15
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PLLE fixes for 3.15
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: st: Fix memory leak</title>
<updated>2014-05-23T22:13:32+00:00</updated>
<author>
<name>Valentin Ilie</name>
<email>valentin.ilie@gmail.com</email>
</author>
<published>2014-04-22T13:15:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=72b1c2c3a4de8891b06df18da95514d69eae65de'/>
<id>72b1c2c3a4de8891b06df18da95514d69eae65de</id>
<content type='text'>
When it fails to allocate div, gate should be free'd before return

Signed-off-by: Valentin Ilie &lt;valentin.ilie@gmail.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When it fails to allocate div, gate should be free'd before return

Signed-off-by: Valentin Ilie &lt;valentin.ilie@gmail.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: divider: Fix table round up function</title>
<updated>2014-05-23T21:27:31+00:00</updated>
<author>
<name>Maxime COQUELIN</name>
<email>maxime.coquelin@st.com</email>
</author>
<published>2014-05-07T16:48:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=fe52e7505f8bf365d5ab0eeee19ababe406cbaaf'/>
<id>fe52e7505f8bf365d5ab0eeee19ababe406cbaaf</id>
<content type='text'>
Commit 1d9fe6b97 ("clk: divider: Fix best div calculation for power-of-two and
table dividers") introduces a regression in its _table_round_up function.

When the divider passed to this function is greater than the max divider
available in the table, this function returns table's max divider.
Problem is that it causes an infinite loop in clk_divider_bestdiv() because
_next_div() will never return a value greater than maxdiv.

Instead of returning table's max divider, this patch returns INT_MAX.

Reported-by: Fabio Estevam &lt;festevam@gmail.com&gt;
Reported-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Tested-by: Fabio Estevam &lt;festevam@gmail.com&gt;
Tested-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Maxime Coquelin &lt;maxime.coquelin@st.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 1d9fe6b97 ("clk: divider: Fix best div calculation for power-of-two and
table dividers") introduces a regression in its _table_round_up function.

When the divider passed to this function is greater than the max divider
available in the table, this function returns table's max divider.
Problem is that it causes an infinite loop in clk_divider_bestdiv() because
_next_div() will never return a value greater than maxdiv.

Instead of returning table's max divider, this patch returns INT_MAX.

Reported-by: Fabio Estevam &lt;festevam@gmail.com&gt;
Reported-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Tested-by: Fabio Estevam &lt;festevam@gmail.com&gt;
Tested-by: Shawn Guo &lt;shawn.guo@freescale.com&gt;
Signed-off-by: Maxime Coquelin &lt;maxime.coquelin@st.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux</title>
<updated>2014-05-21T09:55:17+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-05-21T09:55:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=026d68be45a217f65f1617d08271f6838bfc07d7'/>
<id>026d68be45a217f65f1617d08271f6838bfc07d7</id>
<content type='text'>
Pull clock framework fixes from Mike Turquette:
 "Clock framework and driver fixes, all of which fix user-visible
  regressions.

  As usual most fixes are for platform-specific clock drivers, but there
  are also two fixes to the clk core after recent changes to the way
  that clock unregistration is handled"

* tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux:
  clk: tegra: Fix wrong value written to PLLE_AUX
  clk: shmobile: clk-mstp: change to using clock-indices
  clk: Fix slab corruption in clk_unregister()
  clk: Fix double free due to devm_clk_register()
  clk: socfpga: fix clock driver for 3.15
  clk: divider: Fix best div calculation for power-of-two and table dividers
  clk: bcm281xx: don't use unnamed structs or unions
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull clock framework fixes from Mike Turquette:
 "Clock framework and driver fixes, all of which fix user-visible
  regressions.

  As usual most fixes are for platform-specific clock drivers, but there
  are also two fixes to the clk core after recent changes to the way
  that clock unregistration is handled"

* tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux:
  clk: tegra: Fix wrong value written to PLLE_AUX
  clk: shmobile: clk-mstp: change to using clock-indices
  clk: Fix slab corruption in clk_unregister()
  clk: Fix double free due to devm_clk_register()
  clk: socfpga: fix clock driver for 3.15
  clk: divider: Fix best div calculation for power-of-two and table dividers
  clk: bcm281xx: don't use unnamed structs or unions
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: tegra: Fix wrong value written to PLLE_AUX</title>
<updated>2014-05-16T22:49:23+00:00</updated>
<author>
<name>Tuomas Tynkkynen</name>
<email>ttynkkynen@nvidia.com</email>
</author>
<published>2014-05-16T13:50:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d2c834abe2b39a2d5a6c38ef44de87c97cbb34b4'/>
<id>d2c834abe2b39a2d5a6c38ef44de87c97cbb34b4</id>
<content type='text'>
The value written to PLLE_AUX was incorrect due to a wrong variable
being used. Without this fix SATA does not work.

Cc: stable@vger.kernel.org
Signed-off-by: Tuomas Tynkkynen &lt;ttynkkynen@nvidia.com&gt;
Tested-by: Mikko Perttunen &lt;mperttunen@nvidia.com&gt;
Reviewed-by: Thierry Reding &lt;treding@nvidia.com&gt;
Tested-by: Thierry Reding &lt;treding@nvidia.com&gt;
Acked-by: Thierry Reding &lt;treding@nvidia.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
[mturquette@linaro.org: improved changelog]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The value written to PLLE_AUX was incorrect due to a wrong variable
being used. Without this fix SATA does not work.

Cc: stable@vger.kernel.org
Signed-off-by: Tuomas Tynkkynen &lt;ttynkkynen@nvidia.com&gt;
Tested-by: Mikko Perttunen &lt;mperttunen@nvidia.com&gt;
Reviewed-by: Thierry Reding &lt;treding@nvidia.com&gt;
Tested-by: Thierry Reding &lt;treding@nvidia.com&gt;
Acked-by: Thierry Reding &lt;treding@nvidia.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
[mturquette@linaro.org: improved changelog]
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: shmobile: clk-mstp: change to using clock-indices</title>
<updated>2014-05-12T23:53:37+00:00</updated>
<author>
<name>Ben Dooks</name>
<email>ben.dooks@codethink.co.uk</email>
</author>
<published>2014-04-15T16:06:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8e33f91a0b84ae1964bef77cb92f5d41d97530c8'/>
<id>8e33f91a0b84ae1964bef77cb92f5d41d97530c8</id>
<content type='text'>
With the addition of clock-indices, we need to change the renesas
clock implementation to use these instead of the local definition
of "renesas,clock-indices".

Since this will break booting with older device trees, we add a
simple auto-detection of which properties are present.

Signed-off-by: Ben Dooks &lt;ben.dooks@codethink.co.uk&gt;
Acked-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Reviewed-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the addition of clock-indices, we need to change the renesas
clock implementation to use these instead of the local definition
of "renesas,clock-indices".

Since this will break booting with older device trees, we add a
simple auto-detection of which properties are present.

Signed-off-by: Ben Dooks &lt;ben.dooks@codethink.co.uk&gt;
Acked-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Reviewed-by: Wolfram Sang &lt;wsa+renesas@sang-engineering.com&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vexpress: Initialise the sysregs before setting up the clocks</title>
<updated>2014-05-04T10:35:29+00:00</updated>
<author>
<name>Catalin Marinas</name>
<email>catalin.marinas@arm.com</email>
</author>
<published>2014-04-28T16:08:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e715eb2e73918f4cefbba0b717ff8902e8030b39'/>
<id>e715eb2e73918f4cefbba0b717ff8902e8030b39</id>
<content type='text'>
Following arm64 commit bc3ee18a7a57 (arm64: init: Move of_clk_init to
time_init()), vexpress_osc_of_setup() is called via of_clk_init() long
before initcalls are issued. Initialising the vexpress oscillators
requires the vespress sysregs to be already initialised, so this patch
adds an explicit call to vexpress_sysreg_of_early_init() in vexpress
oscillator setup function.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Tested-by: Will Deacon &lt;will.deacon@arm.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Tested-by: Pawel Moll &lt;pawel.moll@arm.com&gt;
Acked-by: Pawel Moll &lt;pawel.moll@arm.com&gt;
Cc: Mike Turquette &lt;mturquette@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following arm64 commit bc3ee18a7a57 (arm64: init: Move of_clk_init to
time_init()), vexpress_osc_of_setup() is called via of_clk_init() long
before initcalls are issued. Initialising the vexpress oscillators
requires the vespress sysregs to be already initialised, so this patch
adds an explicit call to vexpress_sysreg_of_early_init() in vexpress
oscillator setup function.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Tested-by: Will Deacon &lt;will.deacon@arm.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Tested-by: Pawel Moll &lt;pawel.moll@arm.com&gt;
Acked-by: Pawel Moll &lt;pawel.moll@arm.com&gt;
Cc: Mike Turquette &lt;mturquette@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: Fix slab corruption in clk_unregister()</title>
<updated>2014-04-30T18:44:05+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2014-04-18T23:29:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=874f224cc52d64c912087e68e3724be95ad80ee7'/>
<id>874f224cc52d64c912087e68e3724be95ad80ee7</id>
<content type='text'>
When a clock is unregsitered, we iterate over the list of
children and reparent them to NULL (i.e. orphan list). While
iterating the list, we should use the safe iterators because the
children list for this clock is changing when we reparent the
children to NULL. Failure to iterate safely can lead to slab
corruption like this:

=============================================================================
BUG kmalloc-128 (Not tainted): Poison overwritten
-----------------------------------------------------------------------------

Disabling lock debugging due to kernel taint
INFO: 0xed0c4900-0xed0c4903. First byte 0x0 instead of 0x6b
INFO: Allocated in clk_register+0x20/0x1bc age=297 cpu=2 pid=70
 __slab_alloc.isra.39.constprop.42+0x410/0x454
 kmem_cache_alloc_trace+0x200/0x24c
 clk_register+0x20/0x1bc
 devm_clk_register+0x34/0x68
 0xbf0000f0
 platform_drv_probe+0x18/0x48
 driver_probe_device+0x94/0x360
 __driver_attach+0x94/0x98
 bus_for_each_dev+0x54/0x88
 bus_add_driver+0xe8/0x204
 driver_register+0x78/0xf4
 do_one_initcall+0xc4/0x17c
 load_module+0x19ac/0x2294
 SyS_init_module+0xa4/0x110
 ret_fast_syscall+0x0/0x48
INFO: Freed in clk_unregister+0xd4/0x140 age=23 cpu=2 pid=73
 __slab_free+0x38/0x41c
 clk_unregister+0xd4/0x140
 release_nodes+0x164/0x1d8
 __device_release_driver+0x60/0xb0
 driver_detach+0xb4/0xb8
 bus_remove_driver+0x5c/0xc4
 SyS_delete_module+0x148/0x1d8
 ret_fast_syscall+0x0/0x48
INFO: Slab 0xeec50b90 objects=25 used=0 fp=0xed0c5400 flags=0x4080
INFO: Object 0xed0c48c0 @offset=2240 fp=0xed0c4a00

Bytes b4 ed0c48b0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
Object ed0c48c0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c48d0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c48e0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c48f0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c4900: 00 00 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  ....kkkkkkkkkkkk
Object ed0c4910: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c4920: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c4930: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5  kkkkkkkkkkkkkkk.
Redzone ed0c4940: bb bb bb bb                                      ....
Padding ed0c49e8: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
Padding ed0c49f8: 5a 5a 5a 5a 5a 5a 5a 5a                          ZZZZZZZZ
CPU: 3 PID: 75 Comm: mdev Tainted: G    B         3.14.0-11033-g2054ba5ca781 #35
[&lt;c0014be0&gt;] (unwind_backtrace) from [&lt;c0012240&gt;] (show_stack+0x10/0x14)
[&lt;c0012240&gt;] (show_stack) from [&lt;c04b74a0&gt;] (dump_stack+0x70/0xbc)
[&lt;c04b74a0&gt;] (dump_stack) from [&lt;c00f7a78&gt;] (check_bytes_and_report+0xbc/0x100)
[&lt;c00f7a78&gt;] (check_bytes_and_report) from [&lt;c00f7c48&gt;] (check_object+0x18c/0x218)
[&lt;c00f7c48&gt;] (check_object) from [&lt;c00f7efc&gt;] (__free_slab+0x104/0x144)
[&lt;c00f7efc&gt;] (__free_slab) from [&lt;c04b6668&gt;] (__slab_free+0x3dc/0x41c)
[&lt;c04b6668&gt;] (__slab_free) from [&lt;c014c008&gt;] (load_elf_binary+0x88/0x12b4)
[&lt;c014c008&gt;] (load_elf_binary) from [&lt;c0105a44&gt;] (search_binary_handler+0x78/0x18c)
[&lt;c0105a44&gt;] (search_binary_handler) from [&lt;c0106fc0&gt;] (do_execve+0x490/0x5dc)
[&lt;c0106fc0&gt;] (do_execve) from [&lt;c0036b8c&gt;] (____call_usermodehelper+0x134/0x168)
[&lt;c0036b8c&gt;] (____call_usermodehelper) from [&lt;c000f048&gt;] (ret_from_fork+0x14/0x2c)
FIX kmalloc-128: Restoring 0xed0c4900-0xed0c4903=0x6b

Fixes: fcb0ee6a3d33 (clk: Implement clk_unregister)
Cc: Jiada Wang &lt;jiada_wang@mentor.com&gt;
Cc: Sylwester Nawrocki &lt;s.nawrocki@samsung.com&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Cc: stable@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a clock is unregsitered, we iterate over the list of
children and reparent them to NULL (i.e. orphan list). While
iterating the list, we should use the safe iterators because the
children list for this clock is changing when we reparent the
children to NULL. Failure to iterate safely can lead to slab
corruption like this:

=============================================================================
BUG kmalloc-128 (Not tainted): Poison overwritten
-----------------------------------------------------------------------------

Disabling lock debugging due to kernel taint
INFO: 0xed0c4900-0xed0c4903. First byte 0x0 instead of 0x6b
INFO: Allocated in clk_register+0x20/0x1bc age=297 cpu=2 pid=70
 __slab_alloc.isra.39.constprop.42+0x410/0x454
 kmem_cache_alloc_trace+0x200/0x24c
 clk_register+0x20/0x1bc
 devm_clk_register+0x34/0x68
 0xbf0000f0
 platform_drv_probe+0x18/0x48
 driver_probe_device+0x94/0x360
 __driver_attach+0x94/0x98
 bus_for_each_dev+0x54/0x88
 bus_add_driver+0xe8/0x204
 driver_register+0x78/0xf4
 do_one_initcall+0xc4/0x17c
 load_module+0x19ac/0x2294
 SyS_init_module+0xa4/0x110
 ret_fast_syscall+0x0/0x48
INFO: Freed in clk_unregister+0xd4/0x140 age=23 cpu=2 pid=73
 __slab_free+0x38/0x41c
 clk_unregister+0xd4/0x140
 release_nodes+0x164/0x1d8
 __device_release_driver+0x60/0xb0
 driver_detach+0xb4/0xb8
 bus_remove_driver+0x5c/0xc4
 SyS_delete_module+0x148/0x1d8
 ret_fast_syscall+0x0/0x48
INFO: Slab 0xeec50b90 objects=25 used=0 fp=0xed0c5400 flags=0x4080
INFO: Object 0xed0c48c0 @offset=2240 fp=0xed0c4a00

Bytes b4 ed0c48b0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
Object ed0c48c0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c48d0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c48e0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c48f0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c4900: 00 00 00 00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  ....kkkkkkkkkkkk
Object ed0c4910: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c4920: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ed0c4930: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5  kkkkkkkkkkkkkkk.
Redzone ed0c4940: bb bb bb bb                                      ....
Padding ed0c49e8: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
Padding ed0c49f8: 5a 5a 5a 5a 5a 5a 5a 5a                          ZZZZZZZZ
CPU: 3 PID: 75 Comm: mdev Tainted: G    B         3.14.0-11033-g2054ba5ca781 #35
[&lt;c0014be0&gt;] (unwind_backtrace) from [&lt;c0012240&gt;] (show_stack+0x10/0x14)
[&lt;c0012240&gt;] (show_stack) from [&lt;c04b74a0&gt;] (dump_stack+0x70/0xbc)
[&lt;c04b74a0&gt;] (dump_stack) from [&lt;c00f7a78&gt;] (check_bytes_and_report+0xbc/0x100)
[&lt;c00f7a78&gt;] (check_bytes_and_report) from [&lt;c00f7c48&gt;] (check_object+0x18c/0x218)
[&lt;c00f7c48&gt;] (check_object) from [&lt;c00f7efc&gt;] (__free_slab+0x104/0x144)
[&lt;c00f7efc&gt;] (__free_slab) from [&lt;c04b6668&gt;] (__slab_free+0x3dc/0x41c)
[&lt;c04b6668&gt;] (__slab_free) from [&lt;c014c008&gt;] (load_elf_binary+0x88/0x12b4)
[&lt;c014c008&gt;] (load_elf_binary) from [&lt;c0105a44&gt;] (search_binary_handler+0x78/0x18c)
[&lt;c0105a44&gt;] (search_binary_handler) from [&lt;c0106fc0&gt;] (do_execve+0x490/0x5dc)
[&lt;c0106fc0&gt;] (do_execve) from [&lt;c0036b8c&gt;] (____call_usermodehelper+0x134/0x168)
[&lt;c0036b8c&gt;] (____call_usermodehelper) from [&lt;c000f048&gt;] (ret_from_fork+0x14/0x2c)
FIX kmalloc-128: Restoring 0xed0c4900-0xed0c4903=0x6b

Fixes: fcb0ee6a3d33 (clk: Implement clk_unregister)
Cc: Jiada Wang &lt;jiada_wang@mentor.com&gt;
Cc: Sylwester Nawrocki &lt;s.nawrocki@samsung.com&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Cc: stable@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: Fix double free due to devm_clk_register()</title>
<updated>2014-04-30T18:44:04+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2014-04-18T23:29:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=293ba3b4a4fd54891b900f2911d1a57e1ed4a843'/>
<id>293ba3b4a4fd54891b900f2911d1a57e1ed4a843</id>
<content type='text'>
Now that clk_unregister() frees the struct clk we're
unregistering we'll free memory twice: first we'll call kfree()
in __clk_release() with an address kmalloc doesn't know about and
second we'll call kfree() in the devres layer. Remove the
allocation of struct clk in devm_clk_register() and let
clk_release() handle it. This fixes slab errors like:

=============================================================================
BUG kmalloc-128 (Not tainted): Invalid object pointer 0xed08e8d0
-----------------------------------------------------------------------------

Disabling lock debugging due to kernel taint
INFO: Slab 0xeec503f8 objects=25 used=15 fp=0xed08ea00 flags=0x4081
CPU: 2 PID: 73 Comm: rmmod Tainted: G    B         3.14.0-11032-g526e9c764381 #34
[&lt;c0014be0&gt;] (unwind_backtrace) from [&lt;c0012240&gt;] (show_stack+0x10/0x14)
[&lt;c0012240&gt;] (show_stack) from [&lt;c04b74dc&gt;] (dump_stack+0x70/0xbc)
[&lt;c04b74dc&gt;] (dump_stack) from [&lt;c00f6778&gt;] (slab_err+0x74/0x84)
[&lt;c00f6778&gt;] (slab_err) from [&lt;c04b6278&gt;] (free_debug_processing+0x2cc/0x31c)
[&lt;c04b6278&gt;] (free_debug_processing) from [&lt;c04b6300&gt;] (__slab_free+0x38/0x41c)
[&lt;c04b6300&gt;] (__slab_free) from [&lt;c03931bc&gt;] (clk_unregister+0xd4/0x140)
[&lt;c03931bc&gt;] (clk_unregister) from [&lt;c02fb774&gt;] (release_nodes+0x164/0x1d8)
[&lt;c02fb774&gt;] (release_nodes) from [&lt;c02f8698&gt;] (__device_release_driver+0x60/0xb0)
[&lt;c02f8698&gt;] (__device_release_driver) from [&lt;c02f9080&gt;] (driver_detach+0xb4/0xb8)
[&lt;c02f9080&gt;] (driver_detach) from [&lt;c02f8480&gt;] (bus_remove_driver+0x5c/0xc4)
[&lt;c02f8480&gt;] (bus_remove_driver) from [&lt;c008c9b8&gt;] (SyS_delete_module+0x148/0x1d8)
[&lt;c008c9b8&gt;] (SyS_delete_module) from [&lt;c000ef80&gt;] (ret_fast_syscall+0x0/0x48)
FIX kmalloc-128: Object at 0xed08e8d0 not freed

Fixes: fcb0ee6a3d33 (clk: Implement clk_unregister)
Cc: Jiada Wang &lt;jiada_wang@mentor.com&gt;
Cc: Sylwester Nawrocki &lt;s.nawrocki@samsung.com&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Cc: stable@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that clk_unregister() frees the struct clk we're
unregistering we'll free memory twice: first we'll call kfree()
in __clk_release() with an address kmalloc doesn't know about and
second we'll call kfree() in the devres layer. Remove the
allocation of struct clk in devm_clk_register() and let
clk_release() handle it. This fixes slab errors like:

=============================================================================
BUG kmalloc-128 (Not tainted): Invalid object pointer 0xed08e8d0
-----------------------------------------------------------------------------

Disabling lock debugging due to kernel taint
INFO: Slab 0xeec503f8 objects=25 used=15 fp=0xed08ea00 flags=0x4081
CPU: 2 PID: 73 Comm: rmmod Tainted: G    B         3.14.0-11032-g526e9c764381 #34
[&lt;c0014be0&gt;] (unwind_backtrace) from [&lt;c0012240&gt;] (show_stack+0x10/0x14)
[&lt;c0012240&gt;] (show_stack) from [&lt;c04b74dc&gt;] (dump_stack+0x70/0xbc)
[&lt;c04b74dc&gt;] (dump_stack) from [&lt;c00f6778&gt;] (slab_err+0x74/0x84)
[&lt;c00f6778&gt;] (slab_err) from [&lt;c04b6278&gt;] (free_debug_processing+0x2cc/0x31c)
[&lt;c04b6278&gt;] (free_debug_processing) from [&lt;c04b6300&gt;] (__slab_free+0x38/0x41c)
[&lt;c04b6300&gt;] (__slab_free) from [&lt;c03931bc&gt;] (clk_unregister+0xd4/0x140)
[&lt;c03931bc&gt;] (clk_unregister) from [&lt;c02fb774&gt;] (release_nodes+0x164/0x1d8)
[&lt;c02fb774&gt;] (release_nodes) from [&lt;c02f8698&gt;] (__device_release_driver+0x60/0xb0)
[&lt;c02f8698&gt;] (__device_release_driver) from [&lt;c02f9080&gt;] (driver_detach+0xb4/0xb8)
[&lt;c02f9080&gt;] (driver_detach) from [&lt;c02f8480&gt;] (bus_remove_driver+0x5c/0xc4)
[&lt;c02f8480&gt;] (bus_remove_driver) from [&lt;c008c9b8&gt;] (SyS_delete_module+0x148/0x1d8)
[&lt;c008c9b8&gt;] (SyS_delete_module) from [&lt;c000ef80&gt;] (ret_fast_syscall+0x0/0x48)
FIX kmalloc-128: Object at 0xed08e8d0 not freed

Fixes: fcb0ee6a3d33 (clk: Implement clk_unregister)
Cc: Jiada Wang &lt;jiada_wang@mentor.com&gt;
Cc: Sylwester Nawrocki &lt;s.nawrocki@samsung.com&gt;
Cc: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Mike Turquette &lt;mturquette@linaro.org&gt;
Cc: stable@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'socfpga-clk-fix-for-3.15' of git://git.rocketboards.org/linux-socfpga-next into clk-fixes-socfpga</title>
<updated>2014-04-30T18:44:02+00:00</updated>
<author>
<name>Mike Turquette</name>
<email>mturquette@linaro.org</email>
</author>
<published>2014-04-25T15:33:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2aa6dd07bd86daf4dd7ddb3118dd2d0941fbda2e'/>
<id>2aa6dd07bd86daf4dd7ddb3118dd2d0941fbda2e</id>
<content type='text'>
clk: socfpga: clock fix for v3.15

Currently on 3.15-rc1, the SOCFPGA platform is unable to boot. This patch
fixes the issue and allows the platform to boot.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
clk: socfpga: clock fix for v3.15

Currently on 3.15-rc1, the SOCFPGA platform is unable to boot. This patch
fixes the issue and allows the platform to boot.
</pre>
</div>
</content>
</entry>
</feed>
