* 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[parent not found: <52F9E10F.8060904-RJz4owOZxyXQFUHtdCDX3A@public.gmane.org>]
* 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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.