Hi David, On Thu, Feb 15, 2018 at 10:53:49PM +0000, David Howells wrote: > /* > + * Free up the buffer. > + */ > +static void big_key_free_buffer(struct big_key_buf *buf) > +{ > + unsigned int i; > + > + vunmap(buf->virt); > + for (i = 0; i < buf->nr_pages; i++) > + if (buf->pages[i]) > + __free_page(buf->pages[i]); > + > + memset(buf->virt, 0, buf->nr_pages * PAGE_SIZE); > + kfree(buf); > +} memset() after vunmap(), and also when buf->virt can be NULL? I had suggested: if (buf->virt) { memset(buf->virt, 0, buf->nr_pages * PAGE_SIZE); vunmap(buf->virt); } - Eric