* mtdblock read sector and cache_data == NULL
@ 2014-02-11 8:36 Cestonaro Thilo
[not found] ` <52F9E10F.8060904-RJz4owOZxyXQFUHtdCDX3A@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Cestonaro Thilo @ 2014-02-11 8:36 UTC (permalink / raw)
To: linux-spi-u79uwXL29TY76Z2rM5mHXA
Hey,
I think the cache_data buffer is used uninitialized in case no write
prepends the first read.
Initialization of cache_data buffer:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/mtd/mtdblock.c?id=refs/tags/v3.14-rc2#n300
--------------------
if (!(mbd->mtd->flags & MTD_NO_ERASE) && mbd->mtd->erasesize) {
mtdblk->cache_size = mbd->mtd->erasesize;
mtdblk->cache_data = NULL;
}
----------------
And later in do_cached_read it is just used with mtdblock->cache_data +
offset.
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/mtd/mtdblock.c?id=refs/tags/v3.14-rc2#n243
The only allocation I can find is in writesector function, so I figured
that the mtd_read will get NULL+offset in the first read.
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/mtd/mtdblock.c?id=refs/tags/v3.14-rc2#n272
Is it correct to place the same if unlikely stuff in the
mtdblock_readsect function like in the mtdblock_writesect one?
Greetings
Thilo
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: mtdblock read sector and cache_data == NULL
[not found] ` <52F9E10F.8060904-RJz4owOZxyXQFUHtdCDX3A@public.gmane.org>
@ 2014-02-11 8:46 ` Cestonaro Thilo
0 siblings, 0 replies; 2+ messages in thread
From: Cestonaro Thilo @ 2014-02-11 8:46 UTC (permalink / raw)
To: linux-spi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
hey,
forget it :) ... I got confused ....
Greetings Thilo
On 11.02.2014 09:36, Cestonaro Thilo wrote:
> Hey,
>
> I think the cache_data buffer is used uninitialized in case no write
> prepends the first read.
>
> Initialization of cache_data buffer:
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/mtd/mtdblock.c?id=refs/tags/v3.14-rc2#n300
> --------------------
>
> if (!(mbd->mtd->flags & MTD_NO_ERASE) && mbd->mtd->erasesize) {
> mtdblk->cache_size = mbd->mtd->erasesize;
> mtdblk->cache_data = NULL;
> }
> ----------------
>
> And later in do_cached_read it is just used with mtdblock->cache_data +
> offset.
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/mtd/mtdblock.c?id=refs/tags/v3.14-rc2#n243
>
> The only allocation I can find is in writesector function, so I figured
> that the mtd_read will get NULL+offset in the first read.
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/mtd/mtdblock.c?id=refs/tags/v3.14-rc2#n272
>
> Is it correct to place the same if unlikely stuff in the
> mtdblock_readsect function like in the mtdblock_writesect one?
>
> Greetings
> Thilo
>
--
With best regards
Thilo Cestonaro
FTS PBG PDG WPS R&D EPC
Fujitsu Technology Solutions GmbH
Buergermeister-Ulrich-Str. 100
86199 Augsburg
Germany
Tel.: +49 (0)821 804 2328
Fax: +49 (0)821 804 82328
E-mail: thilo.cestonaro-RJz4owOZxyXQFUHtdCDX3A@public.gmane.org
Web: http://ts.fujitsu.com
Company details: http://ts.fujitsu.com/imprint
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-02-11 8:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-11 8:36 mtdblock read sector and cache_data == NULL Cestonaro Thilo
[not found] ` <52F9E10F.8060904-RJz4owOZxyXQFUHtdCDX3A@public.gmane.org>
2014-02-11 8:46 ` Cestonaro Thilo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).