On Mon, Sep 1, 2014 at 2:49 PM, Geert Uytterhoeven <ge...@linux-m68k.org> wrote: > Hi Andy, > > On Mon, Sep 1, 2014 at 1:33 PM, Andy Shevchenko > <andriy.shevche...@linux.intel.com> wrote: >>> >> However, to protect against overflows if hex_dump_to_buffer() ever >>> >> changes, >>> >> I think it would be better to let hex_dump_to_buffer() indicate if the >>> >> passed buffer was to small (it already checks the passed linebuflen). >>> >> Then you can just check for that. >>> > >>> > I thought about that. We may introduce either new call and make >>> > current one the user of it or change all occurrences. >>> > Nevertheless, currently it will print only one groupsize if there is >>> > enough room for it but for two or more. >>> > Thus, I prefer to keep the behaviour "print until we can". >>> >>> The idea of seq_*() is that it will retry with a bigger bufsize if there's >>> not enough space. >> >> Fair enough. >> >> So, summarize above, the check before hex_dump_to_buffer() should care >> about maximum possible buffer needed for one line. But we have already >> rowsize calculated (we actually can't rely on groupsize in this case). >> >> Do you agree with formula rowsize * 3 + 2 + rowsize + 1? > > That's the _current_ formula. The day hex_dump_to_buffer() is changed, > it will break silently.
Do we have any other option except modify hex_dump_to_buffer() to return an error when buffer is not enough? In this case we require hex_dump_to_buffer() to follow this agreement even if it's changed once. -- With Best Regards, Andy Shevchenko -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/