<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/crypto/caam/ctrl.c, branch linux-4.9.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>crypto: caam - fix endless loop when DECO acquire fails</title>
<updated>2018-02-17T12:21:17+00:00</updated>
<author>
<name>Horia Geantă</name>
<email>horia.geanta@nxp.com</email>
</author>
<published>2018-02-05T09:15:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a96e820790253c8971ef08670c9c8dd43b619fda'/>
<id>a96e820790253c8971ef08670c9c8dd43b619fda</id>
<content type='text'>
commit 225ece3e7dad4cfc44cca38ce7a3a80f255ea8f1 upstream.

In case DECO0 cannot be acquired - i.e. run_descriptor_deco0() fails
with -ENODEV, caam_probe() enters an endless loop:

run_descriptor_deco0
	ret -ENODEV
	-&gt; instantiate_rng
		-ENODEV, overwritten by -EAGAIN
		ret -EAGAIN
		-&gt; caam_probe
			-EAGAIN results in endless loop

It turns out the error path in instantiate_rng() is incorrect,
the checks are done in the wrong order.

Fixes: 1005bccd7a4a6 ("crypto: caam - enable instantiation of all RNG4 state handles")
Reported-by: Bryan O'Donoghue &lt;pure.logic@nexus-software.ie&gt;
Suggested-by: Auer Lukas &lt;lukas.auer@aisec.fraunhofer.de&gt;
Signed-off-by: Horia Geantă &lt;horia.geanta@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 225ece3e7dad4cfc44cca38ce7a3a80f255ea8f1 upstream.

In case DECO0 cannot be acquired - i.e. run_descriptor_deco0() fails
with -ENODEV, caam_probe() enters an endless loop:

run_descriptor_deco0
	ret -ENODEV
	-&gt; instantiate_rng
		-ENODEV, overwritten by -EAGAIN
		ret -EAGAIN
		-&gt; caam_probe
			-EAGAIN results in endless loop

It turns out the error path in instantiate_rng() is incorrect,
the checks are done in the wrong order.

Fixes: 1005bccd7a4a6 ("crypto: caam - enable instantiation of all RNG4 state handles")
Reported-by: Bryan O'Donoghue &lt;pure.logic@nexus-software.ie&gt;
Suggested-by: Auer Lukas &lt;lukas.auer@aisec.fraunhofer.de&gt;
Signed-off-by: Horia Geantă &lt;horia.geanta@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: caam - fix RNG deinstantiation error checking</title>
<updated>2017-04-18T05:11:49+00:00</updated>
<author>
<name>Horia Geantă</name>
<email>horia.geanta@nxp.com</email>
</author>
<published>2017-04-05T08:41:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=75964d0f191466fed93a85298bf7a75a46abf597'/>
<id>75964d0f191466fed93a85298bf7a75a46abf597</id>
<content type='text'>
commit 40c98cb57cdbc377456116ad4582c89e329721b0 upstream.

RNG instantiation was previously fixed by
commit 62743a4145bb9 ("crypto: caam - fix RNG init descriptor ret. code checking")
while deinstantiation was not addressed.

Since the descriptors used are similar, in the sense that they both end
with a JUMP HALT command, checking for errors should be similar too,
i.e. status code 7000_0000h should be considered successful.

Fixes: 1005bccd7a4a6 ("crypto: caam - enable instantiation of all RNG4 state handles")
Signed-off-by: Horia Geantă &lt;horia.geanta@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 40c98cb57cdbc377456116ad4582c89e329721b0 upstream.

RNG instantiation was previously fixed by
commit 62743a4145bb9 ("crypto: caam - fix RNG init descriptor ret. code checking")
while deinstantiation was not addressed.

Since the descriptors used are similar, in the sense that they both end
with a JUMP HALT command, checking for errors should be similar too,
i.e. status code 7000_0000h should be considered successful.

Fixes: 1005bccd7a4a6 ("crypto: caam - enable instantiation of all RNG4 state handles")
Signed-off-by: Horia Geantă &lt;horia.geanta@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: caam - fix pointer size for AArch64 boot loader, AArch32 kernel</title>
<updated>2016-12-07T11:55:17+00:00</updated>
<author>
<name>Horia Geantă</name>
<email>horia.geanta@nxp.com</email>
</author>
<published>2016-12-05T09:06:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=39eaf759466f4e3fbeaa39075512f4f345dffdc8'/>
<id>39eaf759466f4e3fbeaa39075512f4f345dffdc8</id>
<content type='text'>
Start with a clean slate before dealing with bit 16 (pointer size)
of Master Configuration Register.
This fixes the case of AArch64 boot loader + AArch32 kernel, when
the boot loader might set MCFGR[PS] and kernel would fail to clear it.

Cc: &lt;stable@vger.kernel.org&gt;
Reported-by: Alison Wang &lt;alison.wang@nxp.com&gt;
Signed-off-by: Horia Geantă &lt;horia.geanta@nxp.com&gt;
Reviewed-By: Alison Wang &lt;Alison.wang@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Start with a clean slate before dealing with bit 16 (pointer size)
of Master Configuration Register.
This fixes the case of AArch64 boot loader + AArch32 kernel, when
the boot loader might set MCFGR[PS] and kernel would fail to clear it.

Cc: &lt;stable@vger.kernel.org&gt;
Reported-by: Alison Wang &lt;alison.wang@nxp.com&gt;
Signed-off-by: Horia Geantă &lt;horia.geanta@nxp.com&gt;
Reviewed-By: Alison Wang &lt;Alison.wang@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: caam - add missing header dependencies</title>
<updated>2016-08-31T15:00:41+00:00</updated>
<author>
<name>Baoyou Xie</name>
<email>baoyou.xie@linaro.org</email>
</author>
<published>2016-08-26T09:56:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1ac6b731b81cbbd2b6da389949f65f2d1e453d69'/>
<id>1ac6b731b81cbbd2b6da389949f65f2d1e453d69</id>
<content type='text'>
We get 1 warning when biuld kernel with W=1:
drivers/crypto/caam/ctrl.c:398:5: warning: no previous prototype for 'caam_get_era' [-Wmissing-prototypes]

In fact, this function is declared in drivers/crypto/caam/ctrl.h,
so this patch add missing header dependencies.

Signed-off-by: Baoyou Xie &lt;baoyou.xie@linaro.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We get 1 warning when biuld kernel with W=1:
drivers/crypto/caam/ctrl.c:398:5: warning: no previous prototype for 'caam_get_era' [-Wmissing-prototypes]

In fact, this function is declared in drivers/crypto/caam/ctrl.h,
so this patch add missing header dependencies.

Signed-off-by: Baoyou Xie &lt;baoyou.xie@linaro.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: caam - avoid kernel warnings on probe failure</title>
<updated>2016-08-09T10:47:28+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@armlinux.org.uk</email>
</author>
<published>2016-08-09T07:30:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=bdc67da7947d4a8d8cb38939d88d315536bb4dfd'/>
<id>bdc67da7947d4a8d8cb38939d88d315536bb4dfd</id>
<content type='text'>
While debugging setkey issues, the following warnings were found while
trying to reinsert the caam module.  Fix this by avoiding the duplicated
cleanup in the probe path after caam_remove(), which has already cleaned
up the resources.

------------[ cut here ]------------
WARNING: CPU: 0 PID: 2346 at /home/rmk/git/linux-rmk/mm/vmalloc.c:1490 __vunmap+0xcc/0xf4
Trying to vfree() nonexistent vm area (f2400000)
Modules linked in: caam(+) cbc rfcomm bnep bluetooth nfsd em28xx_rc si2157 si2168 em28xx_dvb uvcvideo snd_soc_imx_sgtl5000 em28xx snd_soc_imx_spdif tveeprom snd_soc_fsl_asoc_card snd_soc_imx_audmux snd_soc_sgtl5000 imx_sdma imx2_wdt coda v4l2_mem2mem videobuf2_dma_contig snd_soc_fsl_ssi rc_cec snd_soc_fsl_spdif imx_pcm_dma videobuf2_vmalloc videobuf2_memops imx_thermal dw_hdmi_ahb_audio dw_hdmi_cec etnaviv fuse rc_pinnacle_pctv_hd [last unloaded: caam]
CPU: 0 PID: 2346 Comm: modprobe Tainted: G        W       4.8.0-rc1+ #2014
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[&lt;c0013bb0&gt;] (dump_backtrace) from [&lt;c0013d4c&gt;] (show_stack+0x18/0x1c)
[&lt;c0013d34&gt;] (show_stack) from [&lt;c0357c00&gt;] (dump_stack+0xa4/0xdc)
[&lt;c0357b5c&gt;] (dump_stack) from [&lt;c002e650&gt;] (__warn+0xdc/0x108)
[&lt;c002e574&gt;] (__warn) from [&lt;c002e734&gt;] (warn_slowpath_fmt+0x40/0x48)
[&lt;c002e6f8&gt;] (warn_slowpath_fmt) from [&lt;c0151708&gt;] (__vunmap+0xcc/0xf4)
[&lt;c015163c&gt;] (__vunmap) from [&lt;c015177c&gt;] (vunmap+0x4c/0x54)
[&lt;c0151730&gt;] (vunmap) from [&lt;c001f48c&gt;] (__iounmap+0x2c/0x30)
[&lt;c001f460&gt;] (__iounmap) from [&lt;c001f118&gt;] (iounmap+0x1c/0x20)
[&lt;c001f0fc&gt;] (iounmap) from [&lt;bf247ae4&gt;] (caam_probe+0x3dc/0x1498 [caam])
[&lt;bf247708&gt;] (caam_probe [caam]) from [&lt;c042da8c&gt;] (platform_drv_probe+0x58/0xb8)
[&lt;c042da34&gt;] (platform_drv_probe) from [&lt;c042bb4c&gt;] (driver_probe_device+0x1fc/0x2b8)
[&lt;c042b950&gt;] (driver_probe_device) from [&lt;c042bcc4&gt;] (__driver_attach+0xbc/0xc0) r10:00000000 r8:bf24b000 r7:00000000 r6:ef215844 r5:bf2490c4 r4:ef215810
[&lt;c042bc08&gt;] (__driver_attach) from [&lt;c0429f14&gt;] (bus_for_each_dev+0x5c/0x90)
[&lt;c0429eb8&gt;] (bus_for_each_dev) from [&lt;c042b358&gt;] (driver_attach+0x24/0x28)
[&lt;c042b334&gt;] (driver_attach) from [&lt;c042b058&gt;] (bus_add_driver+0xf4/0x200)
[&lt;c042af64&gt;] (bus_add_driver) from [&lt;c042cadc&gt;] (driver_register+0x80/0xfc)
[&lt;c042ca5c&gt;] (driver_register) from [&lt;c042d960&gt;] (__platform_driver_register+0x48/0x4c)
[&lt;c042d918&gt;] (__platform_driver_register) from [&lt;bf24b018&gt;] (caam_driver_init+0x18/0x24 [caam])
[&lt;bf24b000&gt;] (caam_driver_init [caam]) from [&lt;c00098ac&gt;] (do_one_initcall+0x44/0x178)
[&lt;c0009868&gt;] (do_one_initcall) from [&lt;c010e034&gt;] (do_init_module+0x68/0x1d8)
[&lt;c010dfcc&gt;] (do_init_module) from [&lt;c00c8fbc&gt;] (load_module+0x1974/0x20b0)
[&lt;c00c7648&gt;] (load_module) from [&lt;c00c98d0&gt;] (SyS_finit_module+0x94/0xa0)
[&lt;c00c983c&gt;] (SyS_finit_module) from [&lt;c000fda0&gt;] (ret_fast_syscall+0x0/0x1c)
---[ end trace 34e3370d88bb1786 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2346 at /home/rmk/git/linux-rmk/drivers/clk/clk.c:594 clk_core_disable+0xe4/0x26c
Modules linked in: caam(+) cbc rfcomm bnep bluetooth nfsd em28xx_rc si2157 si2168 em28xx_dvb uvcvideo snd_soc_imx_sgtl5000 em28xx snd_soc_imx_spdif tveeprom snd_soc_fsl_asoc_card snd_soc_imx_audmux snd_soc_sgtl5000 imx_sdma imx2_wdt coda v4l2_mem2mem videobuf2_dma_contig snd_soc_fsl_ssi rc_cec snd_soc_fsl_spdif imx_pcm_dma videobuf2_vmalloc videobuf2_memops imx_thermal dw_hdmi_ahb_audio dw_hdmi_cec etnaviv fuse rc_pinnacle_pctv_hd [last unloaded: caam]
CPU: 0 PID: 2346 Comm: modprobe Tainted: G        W       4.8.0-rc1+ #2014
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[&lt;c0013bb0&gt;] (dump_backtrace) from [&lt;c0013d4c&gt;] (show_stack+0x18/0x1c)
[&lt;c0013d34&gt;] (show_stack) from [&lt;c0357c00&gt;] (dump_stack+0xa4/0xdc)
[&lt;c0357b5c&gt;] (dump_stack) from [&lt;c002e650&gt;] (__warn+0xdc/0x108)
[&lt;c002e574&gt;] (__warn) from [&lt;c002e6a4&gt;] (warn_slowpath_null+0x28/0x30)
[&lt;c002e67c&gt;] (warn_slowpath_null) from [&lt;c05b113c&gt;] (clk_core_disable+0xe4/0x26c)
[&lt;c05b1058&gt;] (clk_core_disable) from [&lt;c05b2e3c&gt;] (clk_core_disable_lock+0x20/0x2c)
[&lt;c05b2e1c&gt;] (clk_core_disable_lock) from [&lt;c05b2e6c&gt;] (clk_disable+0x24/0x28)
[&lt;c05b2e48&gt;] (clk_disable) from [&lt;bf247b04&gt;] (caam_probe+0x3fc/0x1498 [caam])
[&lt;bf247708&gt;] (caam_probe [caam]) from [&lt;c042da8c&gt;] (platform_drv_probe+0x58/0xb8)
[&lt;c042da34&gt;] (platform_drv_probe) from [&lt;c042bb4c&gt;] (driver_probe_device+0x1fc/0x2b8)
[&lt;c042b950&gt;] (driver_probe_device) from [&lt;c042bcc4&gt;] (__driver_attach+0xbc/0xc0) r10:00000000 r8:bf24b000 r7:00000000 r6:ef215844 r5:bf2490c4 r4:ef215810
[&lt;c042bc08&gt;] (__driver_attach) from [&lt;c0429f14&gt;] (bus_for_each_dev+0x5c/0x90)
[&lt;c0429eb8&gt;] (bus_for_each_dev) from [&lt;c042b358&gt;] (driver_attach+0x24/0x28)
[&lt;c042b334&gt;] (driver_attach) from [&lt;c042b058&gt;] (bus_add_driver+0xf4/0x200)
[&lt;c042af64&gt;] (bus_add_driver) from [&lt;c042cadc&gt;] (driver_register+0x80/0xfc)
[&lt;c042ca5c&gt;] (driver_register) from [&lt;c042d960&gt;] (__platform_driver_register+0x48/0x4c)
[&lt;c042d918&gt;] (__platform_driver_register) from [&lt;bf24b018&gt;] (caam_driver_init+0x18/0x24 [caam])
[&lt;bf24b000&gt;] (caam_driver_init [caam]) from [&lt;c00098ac&gt;] (do_one_initcall+0x44/0x178)
[&lt;c0009868&gt;] (do_one_initcall) from [&lt;c010e034&gt;] (do_init_module+0x68/0x1d8)
[&lt;c010dfcc&gt;] (do_init_module) from [&lt;c00c8fbc&gt;] (load_module+0x1974/0x20b0)
[&lt;c00c7648&gt;] (load_module) from [&lt;c00c98d0&gt;] (SyS_finit_module+0x94/0xa0)
[&lt;c00c983c&gt;] (SyS_finit_module) from [&lt;c000fda0&gt;] (ret_fast_syscall+0x0/0x1c)
---[ end trace 34e3370d88bb1787 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2346 at /home/rmk/git/linux-rmk/drivers/clk/clk.c:476 clk_core_unprepare+0x204/0x388
Modules linked in: caam(+) cbc rfcomm bnep bluetooth nfsd em28xx_rc si2157 si2168 em28xx_dvb uvcvideo snd_soc_imx_sgtl5000 em28xx snd_soc_imx_spdif tveeprom snd_soc_fsl_asoc_card snd_soc_imx_audmux snd_soc_sgtl5000 imx_sdma imx2_wdt coda v4l2_mem2mem videobuf2_dma_contig snd_soc_fsl_ssi rc_cec snd_soc_fsl_spdif imx_pcm_dma videobuf2_vmalloc videobuf2_memops imx_thermal dw_hdmi_ahb_audio dw_hdmi_cec etnaviv fuse rc_pinnacle_pctv_hd [last unloaded: caam]
CPU: 0 PID: 2346 Comm: modprobe Tainted: G        W       4.8.0-rc1+ #2014
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[&lt;c0013bb0&gt;] (dump_backtrace) from [&lt;c0013d4c&gt;] (show_stack+0x18/0x1c)
[&lt;c0013d34&gt;] (show_stack) from [&lt;c0357c00&gt;] (dump_stack+0xa4/0xdc)
[&lt;c0357b5c&gt;] (dump_stack) from [&lt;c002e650&gt;] (__warn+0xdc/0x108)
[&lt;c002e574&gt;] (__warn) from [&lt;c002e6a4&gt;] (warn_slowpath_null+0x28/0x30)
[&lt;c002e67c&gt;] (warn_slowpath_null) from [&lt;c05b0834&gt;] (clk_core_unprepare+0x204/0x388)
[&lt;c05b0630&gt;] (clk_core_unprepare) from [&lt;c05b4c0c&gt;] (clk_unprepare+0x2c/0x34)
[&lt;c05b4be0&gt;] (clk_unprepare) from [&lt;bf247b0c&gt;] (caam_probe+0x404/0x1498 [caam])
[&lt;bf247708&gt;] (caam_probe [caam]) from [&lt;c042da8c&gt;] (platform_drv_probe+0x58/0xb8)
[&lt;c042da34&gt;] (platform_drv_probe) from [&lt;c042bb4c&gt;] (driver_probe_device+0x1fc/0x2b8)
[&lt;c042b950&gt;] (driver_probe_device) from [&lt;c042bcc4&gt;] (__driver_attach+0xbc/0xc0) r10:00000000 r8:bf24b000 r7:00000000 r6:ef215844 r5:bf2490c4 r4:ef215810
[&lt;c042bc08&gt;] (__driver_attach) from [&lt;c0429f14&gt;] (bus_for_each_dev+0x5c/0x90)
[&lt;c0429eb8&gt;] (bus_for_each_dev) from [&lt;c042b358&gt;] (driver_attach+0x24/0x28)
[&lt;c042b334&gt;] (driver_attach) from [&lt;c042b058&gt;] (bus_add_driver+0xf4/0x200)
[&lt;c042af64&gt;] (bus_add_driver) from [&lt;c042cadc&gt;] (driver_register+0x80/0xfc)
[&lt;c042ca5c&gt;] (driver_register) from [&lt;c042d960&gt;] (__platform_driver_register+0x48/0x4c)
[&lt;c042d918&gt;] (__platform_driver_register) from [&lt;bf24b018&gt;] (caam_driver_init+0x18/0x24 [caam])
[&lt;bf24b000&gt;] (caam_driver_init [caam]) from [&lt;c00098ac&gt;] (do_one_initcall+0x44/0x178)
[&lt;c0009868&gt;] (do_one_initcall) from [&lt;c010e034&gt;] (do_init_module+0x68/0x1d8)
[&lt;c010dfcc&gt;] (do_init_module) from [&lt;c00c8fbc&gt;] (load_module+0x1974/0x20b0)
[&lt;c00c7648&gt;] (load_module) from [&lt;c00c98d0&gt;] (SyS_finit_module+0x94/0xa0)
[&lt;c00c983c&gt;] (SyS_finit_module) from [&lt;c000fda0&gt;] (ret_fast_syscall+0x0/0x1c)
---[ end trace 34e3370d88bb1788 ]---

Signed-off-by: Russell King &lt;rmk+kernel@armlinux.org.uk&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While debugging setkey issues, the following warnings were found while
trying to reinsert the caam module.  Fix this by avoiding the duplicated
cleanup in the probe path after caam_remove(), which has already cleaned
up the resources.

------------[ cut here ]------------
WARNING: CPU: 0 PID: 2346 at /home/rmk/git/linux-rmk/mm/vmalloc.c:1490 __vunmap+0xcc/0xf4
Trying to vfree() nonexistent vm area (f2400000)
Modules linked in: caam(+) cbc rfcomm bnep bluetooth nfsd em28xx_rc si2157 si2168 em28xx_dvb uvcvideo snd_soc_imx_sgtl5000 em28xx snd_soc_imx_spdif tveeprom snd_soc_fsl_asoc_card snd_soc_imx_audmux snd_soc_sgtl5000 imx_sdma imx2_wdt coda v4l2_mem2mem videobuf2_dma_contig snd_soc_fsl_ssi rc_cec snd_soc_fsl_spdif imx_pcm_dma videobuf2_vmalloc videobuf2_memops imx_thermal dw_hdmi_ahb_audio dw_hdmi_cec etnaviv fuse rc_pinnacle_pctv_hd [last unloaded: caam]
CPU: 0 PID: 2346 Comm: modprobe Tainted: G        W       4.8.0-rc1+ #2014
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[&lt;c0013bb0&gt;] (dump_backtrace) from [&lt;c0013d4c&gt;] (show_stack+0x18/0x1c)
[&lt;c0013d34&gt;] (show_stack) from [&lt;c0357c00&gt;] (dump_stack+0xa4/0xdc)
[&lt;c0357b5c&gt;] (dump_stack) from [&lt;c002e650&gt;] (__warn+0xdc/0x108)
[&lt;c002e574&gt;] (__warn) from [&lt;c002e734&gt;] (warn_slowpath_fmt+0x40/0x48)
[&lt;c002e6f8&gt;] (warn_slowpath_fmt) from [&lt;c0151708&gt;] (__vunmap+0xcc/0xf4)
[&lt;c015163c&gt;] (__vunmap) from [&lt;c015177c&gt;] (vunmap+0x4c/0x54)
[&lt;c0151730&gt;] (vunmap) from [&lt;c001f48c&gt;] (__iounmap+0x2c/0x30)
[&lt;c001f460&gt;] (__iounmap) from [&lt;c001f118&gt;] (iounmap+0x1c/0x20)
[&lt;c001f0fc&gt;] (iounmap) from [&lt;bf247ae4&gt;] (caam_probe+0x3dc/0x1498 [caam])
[&lt;bf247708&gt;] (caam_probe [caam]) from [&lt;c042da8c&gt;] (platform_drv_probe+0x58/0xb8)
[&lt;c042da34&gt;] (platform_drv_probe) from [&lt;c042bb4c&gt;] (driver_probe_device+0x1fc/0x2b8)
[&lt;c042b950&gt;] (driver_probe_device) from [&lt;c042bcc4&gt;] (__driver_attach+0xbc/0xc0) r10:00000000 r8:bf24b000 r7:00000000 r6:ef215844 r5:bf2490c4 r4:ef215810
[&lt;c042bc08&gt;] (__driver_attach) from [&lt;c0429f14&gt;] (bus_for_each_dev+0x5c/0x90)
[&lt;c0429eb8&gt;] (bus_for_each_dev) from [&lt;c042b358&gt;] (driver_attach+0x24/0x28)
[&lt;c042b334&gt;] (driver_attach) from [&lt;c042b058&gt;] (bus_add_driver+0xf4/0x200)
[&lt;c042af64&gt;] (bus_add_driver) from [&lt;c042cadc&gt;] (driver_register+0x80/0xfc)
[&lt;c042ca5c&gt;] (driver_register) from [&lt;c042d960&gt;] (__platform_driver_register+0x48/0x4c)
[&lt;c042d918&gt;] (__platform_driver_register) from [&lt;bf24b018&gt;] (caam_driver_init+0x18/0x24 [caam])
[&lt;bf24b000&gt;] (caam_driver_init [caam]) from [&lt;c00098ac&gt;] (do_one_initcall+0x44/0x178)
[&lt;c0009868&gt;] (do_one_initcall) from [&lt;c010e034&gt;] (do_init_module+0x68/0x1d8)
[&lt;c010dfcc&gt;] (do_init_module) from [&lt;c00c8fbc&gt;] (load_module+0x1974/0x20b0)
[&lt;c00c7648&gt;] (load_module) from [&lt;c00c98d0&gt;] (SyS_finit_module+0x94/0xa0)
[&lt;c00c983c&gt;] (SyS_finit_module) from [&lt;c000fda0&gt;] (ret_fast_syscall+0x0/0x1c)
---[ end trace 34e3370d88bb1786 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2346 at /home/rmk/git/linux-rmk/drivers/clk/clk.c:594 clk_core_disable+0xe4/0x26c
Modules linked in: caam(+) cbc rfcomm bnep bluetooth nfsd em28xx_rc si2157 si2168 em28xx_dvb uvcvideo snd_soc_imx_sgtl5000 em28xx snd_soc_imx_spdif tveeprom snd_soc_fsl_asoc_card snd_soc_imx_audmux snd_soc_sgtl5000 imx_sdma imx2_wdt coda v4l2_mem2mem videobuf2_dma_contig snd_soc_fsl_ssi rc_cec snd_soc_fsl_spdif imx_pcm_dma videobuf2_vmalloc videobuf2_memops imx_thermal dw_hdmi_ahb_audio dw_hdmi_cec etnaviv fuse rc_pinnacle_pctv_hd [last unloaded: caam]
CPU: 0 PID: 2346 Comm: modprobe Tainted: G        W       4.8.0-rc1+ #2014
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[&lt;c0013bb0&gt;] (dump_backtrace) from [&lt;c0013d4c&gt;] (show_stack+0x18/0x1c)
[&lt;c0013d34&gt;] (show_stack) from [&lt;c0357c00&gt;] (dump_stack+0xa4/0xdc)
[&lt;c0357b5c&gt;] (dump_stack) from [&lt;c002e650&gt;] (__warn+0xdc/0x108)
[&lt;c002e574&gt;] (__warn) from [&lt;c002e6a4&gt;] (warn_slowpath_null+0x28/0x30)
[&lt;c002e67c&gt;] (warn_slowpath_null) from [&lt;c05b113c&gt;] (clk_core_disable+0xe4/0x26c)
[&lt;c05b1058&gt;] (clk_core_disable) from [&lt;c05b2e3c&gt;] (clk_core_disable_lock+0x20/0x2c)
[&lt;c05b2e1c&gt;] (clk_core_disable_lock) from [&lt;c05b2e6c&gt;] (clk_disable+0x24/0x28)
[&lt;c05b2e48&gt;] (clk_disable) from [&lt;bf247b04&gt;] (caam_probe+0x3fc/0x1498 [caam])
[&lt;bf247708&gt;] (caam_probe [caam]) from [&lt;c042da8c&gt;] (platform_drv_probe+0x58/0xb8)
[&lt;c042da34&gt;] (platform_drv_probe) from [&lt;c042bb4c&gt;] (driver_probe_device+0x1fc/0x2b8)
[&lt;c042b950&gt;] (driver_probe_device) from [&lt;c042bcc4&gt;] (__driver_attach+0xbc/0xc0) r10:00000000 r8:bf24b000 r7:00000000 r6:ef215844 r5:bf2490c4 r4:ef215810
[&lt;c042bc08&gt;] (__driver_attach) from [&lt;c0429f14&gt;] (bus_for_each_dev+0x5c/0x90)
[&lt;c0429eb8&gt;] (bus_for_each_dev) from [&lt;c042b358&gt;] (driver_attach+0x24/0x28)
[&lt;c042b334&gt;] (driver_attach) from [&lt;c042b058&gt;] (bus_add_driver+0xf4/0x200)
[&lt;c042af64&gt;] (bus_add_driver) from [&lt;c042cadc&gt;] (driver_register+0x80/0xfc)
[&lt;c042ca5c&gt;] (driver_register) from [&lt;c042d960&gt;] (__platform_driver_register+0x48/0x4c)
[&lt;c042d918&gt;] (__platform_driver_register) from [&lt;bf24b018&gt;] (caam_driver_init+0x18/0x24 [caam])
[&lt;bf24b000&gt;] (caam_driver_init [caam]) from [&lt;c00098ac&gt;] (do_one_initcall+0x44/0x178)
[&lt;c0009868&gt;] (do_one_initcall) from [&lt;c010e034&gt;] (do_init_module+0x68/0x1d8)
[&lt;c010dfcc&gt;] (do_init_module) from [&lt;c00c8fbc&gt;] (load_module+0x1974/0x20b0)
[&lt;c00c7648&gt;] (load_module) from [&lt;c00c98d0&gt;] (SyS_finit_module+0x94/0xa0)
[&lt;c00c983c&gt;] (SyS_finit_module) from [&lt;c000fda0&gt;] (ret_fast_syscall+0x0/0x1c)
---[ end trace 34e3370d88bb1787 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2346 at /home/rmk/git/linux-rmk/drivers/clk/clk.c:476 clk_core_unprepare+0x204/0x388
Modules linked in: caam(+) cbc rfcomm bnep bluetooth nfsd em28xx_rc si2157 si2168 em28xx_dvb uvcvideo snd_soc_imx_sgtl5000 em28xx snd_soc_imx_spdif tveeprom snd_soc_fsl_asoc_card snd_soc_imx_audmux snd_soc_sgtl5000 imx_sdma imx2_wdt coda v4l2_mem2mem videobuf2_dma_contig snd_soc_fsl_ssi rc_cec snd_soc_fsl_spdif imx_pcm_dma videobuf2_vmalloc videobuf2_memops imx_thermal dw_hdmi_ahb_audio dw_hdmi_cec etnaviv fuse rc_pinnacle_pctv_hd [last unloaded: caam]
CPU: 0 PID: 2346 Comm: modprobe Tainted: G        W       4.8.0-rc1+ #2014
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Backtrace:
[&lt;c0013bb0&gt;] (dump_backtrace) from [&lt;c0013d4c&gt;] (show_stack+0x18/0x1c)
[&lt;c0013d34&gt;] (show_stack) from [&lt;c0357c00&gt;] (dump_stack+0xa4/0xdc)
[&lt;c0357b5c&gt;] (dump_stack) from [&lt;c002e650&gt;] (__warn+0xdc/0x108)
[&lt;c002e574&gt;] (__warn) from [&lt;c002e6a4&gt;] (warn_slowpath_null+0x28/0x30)
[&lt;c002e67c&gt;] (warn_slowpath_null) from [&lt;c05b0834&gt;] (clk_core_unprepare+0x204/0x388)
[&lt;c05b0630&gt;] (clk_core_unprepare) from [&lt;c05b4c0c&gt;] (clk_unprepare+0x2c/0x34)
[&lt;c05b4be0&gt;] (clk_unprepare) from [&lt;bf247b0c&gt;] (caam_probe+0x404/0x1498 [caam])
[&lt;bf247708&gt;] (caam_probe [caam]) from [&lt;c042da8c&gt;] (platform_drv_probe+0x58/0xb8)
[&lt;c042da34&gt;] (platform_drv_probe) from [&lt;c042bb4c&gt;] (driver_probe_device+0x1fc/0x2b8)
[&lt;c042b950&gt;] (driver_probe_device) from [&lt;c042bcc4&gt;] (__driver_attach+0xbc/0xc0) r10:00000000 r8:bf24b000 r7:00000000 r6:ef215844 r5:bf2490c4 r4:ef215810
[&lt;c042bc08&gt;] (__driver_attach) from [&lt;c0429f14&gt;] (bus_for_each_dev+0x5c/0x90)
[&lt;c0429eb8&gt;] (bus_for_each_dev) from [&lt;c042b358&gt;] (driver_attach+0x24/0x28)
[&lt;c042b334&gt;] (driver_attach) from [&lt;c042b058&gt;] (bus_add_driver+0xf4/0x200)
[&lt;c042af64&gt;] (bus_add_driver) from [&lt;c042cadc&gt;] (driver_register+0x80/0xfc)
[&lt;c042ca5c&gt;] (driver_register) from [&lt;c042d960&gt;] (__platform_driver_register+0x48/0x4c)
[&lt;c042d918&gt;] (__platform_driver_register) from [&lt;bf24b018&gt;] (caam_driver_init+0x18/0x24 [caam])
[&lt;bf24b000&gt;] (caam_driver_init [caam]) from [&lt;c00098ac&gt;] (do_one_initcall+0x44/0x178)
[&lt;c0009868&gt;] (do_one_initcall) from [&lt;c010e034&gt;] (do_init_module+0x68/0x1d8)
[&lt;c010dfcc&gt;] (do_init_module) from [&lt;c00c8fbc&gt;] (load_module+0x1974/0x20b0)
[&lt;c00c7648&gt;] (load_module) from [&lt;c00c98d0&gt;] (SyS_finit_module+0x94/0xa0)
[&lt;c00c983c&gt;] (SyS_finit_module) from [&lt;c000fda0&gt;] (ret_fast_syscall+0x0/0x1c)
---[ end trace 34e3370d88bb1788 ]---

Signed-off-by: Russell King &lt;rmk+kernel@armlinux.org.uk&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: caam - handle core endianness != caam endianness</title>
<updated>2016-05-31T08:41:54+00:00</updated>
<author>
<name>Horia Geantă</name>
<email>horia.geanta@nxp.com</email>
</author>
<published>2016-05-19T15:11:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=261ea058f016bc04fa064348ad9bf39d94379381'/>
<id>261ea058f016bc04fa064348ad9bf39d94379381</id>
<content type='text'>
There are SoCs like LS1043A where CAAM endianness (BE) does not match
the default endianness of the core (LE).
Moreover, there are requirements for the driver to handle cases like
CPU_BIG_ENDIAN=y on ARM-based SoCs.
This requires for a complete rewrite of the I/O accessors.

PPC-specific accessors - {in,out}_{le,be}XX - are replaced with
generic ones - io{read,write}[be]XX.

Endianness is detected dynamically (at runtime) to allow for
multiplatform kernels, for e.g. running the same kernel image
on LS1043A (BE CAAM) and LS2080A (LE CAAM) armv8-based SoCs.

While here: debugfs entries need to take into consideration the
endianness of the core when displaying data. Add the necessary
glue code so the entries remain the same, but they are properly
read, regardless of the core and/or SEC endianness.

Note: pdb.h fixes only what is currently being used (IPsec).

Reviewed-by: Tudor Ambarus &lt;tudor-dan.ambarus@nxp.com&gt;
Signed-off-by: Horia Geantă &lt;horia.geanta@nxp.com&gt;
Signed-off-by: Alex Porosanu &lt;alexandru.porosanu@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are SoCs like LS1043A where CAAM endianness (BE) does not match
the default endianness of the core (LE).
Moreover, there are requirements for the driver to handle cases like
CPU_BIG_ENDIAN=y on ARM-based SoCs.
This requires for a complete rewrite of the I/O accessors.

PPC-specific accessors - {in,out}_{le,be}XX - are replaced with
generic ones - io{read,write}[be]XX.

Endianness is detected dynamically (at runtime) to allow for
multiplatform kernels, for e.g. running the same kernel image
on LS1043A (BE CAAM) and LS2080A (LE CAAM) armv8-based SoCs.

While here: debugfs entries need to take into consideration the
endianness of the core when displaying data. Add the necessary
glue code so the entries remain the same, but they are properly
read, regardless of the core and/or SEC endianness.

Note: pdb.h fixes only what is currently being used (IPsec).

Reviewed-by: Tudor Ambarus &lt;tudor-dan.ambarus@nxp.com&gt;
Signed-off-by: Horia Geantă &lt;horia.geanta@nxp.com&gt;
Signed-off-by: Alex Porosanu &lt;alexandru.porosanu@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>remove lots of IS_ERR_VALUE abuses</title>
<updated>2016-05-27T22:26:11+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2016-05-27T21:23:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=287980e49ffc0f6d911601e7e352a812ed27768e'/>
<id>287980e49ffc0f6d911601e7e352a812ed27768e</id>
<content type='text'>
Most users of IS_ERR_VALUE() in the kernel are wrong, as they
pass an 'int' into a function that takes an 'unsigned long'
argument. This happens to work because the type is sign-extended
on 64-bit architectures before it gets converted into an
unsigned type.

However, anything that passes an 'unsigned short' or 'unsigned int'
argument into IS_ERR_VALUE() is guaranteed to be broken, as are
8-bit integers and types that are wider than 'unsigned long'.

Andrzej Hajda has already fixed a lot of the worst abusers that
were causing actual bugs, but it would be nice to prevent any
users that are not passing 'unsigned long' arguments.

This patch changes all users of IS_ERR_VALUE() that I could find
on 32-bit ARM randconfig builds and x86 allmodconfig. For the
moment, this doesn't change the definition of IS_ERR_VALUE()
because there are probably still architecture specific users
elsewhere.

Almost all the warnings I got are for files that are better off
using 'if (err)' or 'if (err &lt; 0)'.
The only legitimate user I could find that we get a warning for
is the (32-bit only) freescale fman driver, so I did not remove
the IS_ERR_VALUE() there but changed the type to 'unsigned long'.
For 9pfs, I just worked around one user whose calling conventions
are so obscure that I did not dare change the behavior.

I was using this definition for testing:

 #define IS_ERR_VALUE(x) ((unsigned long*)NULL == (typeof (x)*)NULL &amp;&amp; \
       unlikely((unsigned long long)(x) &gt;= (unsigned long long)(typeof(x))-MAX_ERRNO))

which ends up making all 16-bit or wider types work correctly with
the most plausible interpretation of what IS_ERR_VALUE() was supposed
to return according to its users, but also causes a compile-time
warning for any users that do not pass an 'unsigned long' argument.

I suggested this approach earlier this year, but back then we ended
up deciding to just fix the users that are obviously broken. After
the initial warning that caused me to get involved in the discussion
(fs/gfs2/dir.c) showed up again in the mainline kernel, Linus
asked me to send the whole thing again.

[ Updated the 9p parts as per Al Viro  - Linus ]

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Link: https://lkml.org/lkml/2016/1/7/363
Link: https://lkml.org/lkml/2016/5/27/486
Acked-by: Srinivas Kandagatla &lt;srinivas.kandagatla@linaro.org&gt; # For nvmem part
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most users of IS_ERR_VALUE() in the kernel are wrong, as they
pass an 'int' into a function that takes an 'unsigned long'
argument. This happens to work because the type is sign-extended
on 64-bit architectures before it gets converted into an
unsigned type.

However, anything that passes an 'unsigned short' or 'unsigned int'
argument into IS_ERR_VALUE() is guaranteed to be broken, as are
8-bit integers and types that are wider than 'unsigned long'.

Andrzej Hajda has already fixed a lot of the worst abusers that
were causing actual bugs, but it would be nice to prevent any
users that are not passing 'unsigned long' arguments.

This patch changes all users of IS_ERR_VALUE() that I could find
on 32-bit ARM randconfig builds and x86 allmodconfig. For the
moment, this doesn't change the definition of IS_ERR_VALUE()
because there are probably still architecture specific users
elsewhere.

Almost all the warnings I got are for files that are better off
using 'if (err)' or 'if (err &lt; 0)'.
The only legitimate user I could find that we get a warning for
is the (32-bit only) freescale fman driver, so I did not remove
the IS_ERR_VALUE() there but changed the type to 'unsigned long'.
For 9pfs, I just worked around one user whose calling conventions
are so obscure that I did not dare change the behavior.

I was using this definition for testing:

 #define IS_ERR_VALUE(x) ((unsigned long*)NULL == (typeof (x)*)NULL &amp;&amp; \
       unlikely((unsigned long long)(x) &gt;= (unsigned long long)(typeof(x))-MAX_ERRNO))

which ends up making all 16-bit or wider types work correctly with
the most plausible interpretation of what IS_ERR_VALUE() was supposed
to return according to its users, but also causes a compile-time
warning for any users that do not pass an 'unsigned long' argument.

I suggested this approach earlier this year, but back then we ended
up deciding to just fix the users that are obviously broken. After
the initial warning that caused me to get involved in the discussion
(fs/gfs2/dir.c) showed up again in the mainline kernel, Linus
asked me to send the whole thing again.

[ Updated the 9p parts as per Al Viro  - Linus ]

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Link: https://lkml.org/lkml/2016/1/7/363
Link: https://lkml.org/lkml/2016/5/27/486
Acked-by: Srinivas Kandagatla &lt;srinivas.kandagatla@linaro.org&gt; # For nvmem part
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: caam - enable LARGE_BURST for enhancing DMA transactions size</title>
<updated>2016-01-25T14:39:03+00:00</updated>
<author>
<name>Horia Geant?</name>
<email>horia.geanta@nxp.com</email>
</author>
<published>2016-01-12T15:14:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=624144a7eb2c9abcf76722d29f983cdf9801bb2e'/>
<id>624144a7eb2c9abcf76722d29f983cdf9801bb2e</id>
<content type='text'>
Increasing CAAM DMA engine transaction size either
-reduces the number of required transactions or
-adds the ability to transfer more data with same transaction count

Signed-off-by: Horia Geant? &lt;horia.geanta@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Increasing CAAM DMA engine transaction size either
-reduces the number of required transactions or
-adds the ability to transfer more data with same transaction count

Signed-off-by: Horia Geant? &lt;horia.geanta@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: caam - make write transactions bufferable on PPC platforms</title>
<updated>2016-01-25T13:47:44+00:00</updated>
<author>
<name>Horia Geant?</name>
<email>horia.geanta@nxp.com</email>
</author>
<published>2016-01-12T15:59:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e7a7104e432c0db8469ca3568daf4f1d1afe3e73'/>
<id>e7a7104e432c0db8469ca3568daf4f1d1afe3e73</id>
<content type='text'>
Previous change (see "Fixes" tag) to the MCFGR register
clears AWCACHE[0] ("bufferable" AXI3 attribute) (which is "1" at POR).

This makes all writes non-bufferable, causing a ~ 5% performance drop
for PPC-based platforms.

Rework previous change such that MCFGR[AWCACHE]=4'b0011
(bufferable + cacheable) for all platforms.
Note: For ARM-based platforms, AWCACHE[0] is ignored
by the interconnect IP.

Cc: &lt;stable@vger.kernel.org&gt; # 4.3+
Fixes: f10967495144 ("crypto: caam - fix snooping for write transactions")
Signed-off-by: Horia Geant? &lt;horia.geanta@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previous change (see "Fixes" tag) to the MCFGR register
clears AWCACHE[0] ("bufferable" AXI3 attribute) (which is "1" at POR).

This makes all writes non-bufferable, causing a ~ 5% performance drop
for PPC-based platforms.

Rework previous change such that MCFGR[AWCACHE]=4'b0011
(bufferable + cacheable) for all platforms.
Note: For ARM-based platforms, AWCACHE[0] is ignored
by the interconnect IP.

Cc: &lt;stable@vger.kernel.org&gt; # 4.3+
Fixes: f10967495144 ("crypto: caam - fix snooping for write transactions")
Signed-off-by: Horia Geant? &lt;horia.geanta@nxp.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: caam - Use the preferred style for memory allocations</title>
<updated>2015-08-24T14:07:42+00:00</updated>
<author>
<name>Fabio Estevam</name>
<email>fabio.estevam@freescale.com</email>
</author>
<published>2015-08-21T16:52:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9c4f9733e26f0d6977096fcafe71ea2ba9f0cd7c'/>
<id>9c4f9733e26f0d6977096fcafe71ea2ba9f0cd7c</id>
<content type='text'>
"The preferred form for passing a size of a struct is the following:

        p = kmalloc(sizeof(*p), ...);
....

The preferred form for allocating a zeroed array is the following:

        p = kcalloc(n, sizeof(...), ...); "

,so do as suggested.

Signed-off-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Reviewed-by: Horia Geant? &lt;horia.geanta@freescale.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"The preferred form for passing a size of a struct is the following:

        p = kmalloc(sizeof(*p), ...);
....

The preferred form for allocating a zeroed array is the following:

        p = kcalloc(n, sizeof(...), ...); "

,so do as suggested.

Signed-off-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Reviewed-by: Horia Geant? &lt;horia.geanta@freescale.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
</feed>
