Messages in this thread | | | From | Kees Cook <> | Date | Fri, 26 Oct 2018 20:39:13 +0100 | Subject | Re: [RFC 5/6] pstore: donot treat empty buffers as valid |
| |
On Fri, Oct 26, 2018 at 7:00 PM, Joel Fernandes (Google) <joel@joelfernandes.org> wrote: > pstore currently calls persistent_ram_save_old even if a buffer is > empty. While this appears to work, it is simply not the right thing to > do and could lead to bugs so lets avoid that. It also prevent misleading > prints in the logs which claim the buffer is valid.
I need to be better convinced that a present zero length record is the same as a non-present record. This seems true, but there is potentially still metadata available from a backend. What were the misleading prints in logs?
-Kees
> > Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> > --- > fs/pstore/ram_core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c > index 0792595ebcfb..1299aa3ea734 100644 > --- a/fs/pstore/ram_core.c > +++ b/fs/pstore/ram_core.c > @@ -495,7 +495,7 @@ static int persistent_ram_post_init(struct persistent_ram_zone *prz, u32 sig, > > sig ^= PERSISTENT_RAM_SIG; > > - if (prz->buffer->sig == sig) { > + if (prz->buffer->sig == sig && buffer_size(prz)) { > if (buffer_size(prz) > prz->buffer_size || > buffer_start(prz) > buffer_size(prz)) > pr_info("found existing invalid buffer, size %zu, start %zu\n", > -- > 2.19.1.568.g152ad8e336-goog >
-- Kees Cook
| |