Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1624502

Re: [PATCH 2/3] zram: do not use copy_page with non-page alinged address

From Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Newsgroups linux.kernel
Subject Re: [PATCH 2/3] zram: do not use copy_page with non-page alinged address
Date 2017-04-17 03:50 +0200
Message-ID <tx3XH-2FQ-1@gated-at.bofh.it> (permalink)
References <tvAEp-3qZ-3@gated-at.bofh.it> <tvAEq-3qZ-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On (04/13/17 09:17), Minchan Kim wrote:
> The copy_page is optimized memcpy for page-alinged address.
> If it is used with non-page aligned address, it can corrupt memory which
> means system corruption. With zram, it can happen with
> 
> 1. 64K architecture
> 2. partial IO
> 3. slub debug
> 
> Partial IO need to allocate a page and zram allocates it via kmalloc.
> With slub debug, kmalloc(PAGE_SIZE) doesn't return page-size aligned
> address. And finally, copy_page(mem, cmem) corrupts memory.
> 
> So, this patch changes it to memcpy.
> 
> Acutaully, we don't need to change zram_bvec_write part because zsmalloc
> returns page-aligned address in case of PAGE_SIZE class but it's not
> good to rely on the internal of zsmalloc.
> 
> Note:
> When this patch is merged to stable, clear_page should be fixed, too.
> Unfortunately, recent zram removes it by "same page merge" feature
> so it's hard to backport this patch to -stable tree.
> 
> I will handle it when I receive the mail from stable tree maintainer
> to merge this patch to backport.
> 
> Fixes: 42e99bd ("zram: optimize memory operations with clear_page()/copy_page()")
> Cc: stable@vger.kernel.org
> Signed-off-by: Minchan Kim <minchan@kernel.org>

Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>

	-ss

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 1/3] zram: fix operator precedence to get offset Minchan Kim <minchan@kernel.org> - 2017-04-13 02:20 +0200
  [PATCH 3/3] zsmalloc: expand class bit Minchan Kim <minchan@kernel.org> - 2017-04-13 02:20 +0200
  [PATCH 2/3] zram: do not use copy_page with non-page alinged address Minchan Kim <minchan@kernel.org> - 2017-04-13 02:20 +0200
    Re: [PATCH 2/3] zram: do not use copy_page with non-page alinged  address Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-04-14 07:50 +0200
      Re: [PATCH 2/3] zram: do not use copy_page with non-page alinged  address Minchan Kim <minchan@kernel.org> - 2017-04-14 17:50 +0200
    Re: [PATCH 2/3] zram: do not use copy_page with non-page alinged  address Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-04-17 03:50 +0200
  Re: [PATCH 1/3] zram: fix operator precedence to get offset Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-04-14 07:10 +0200
    Re: [PATCH 1/3] zram: fix operator precedence to get offset Minchan Kim <minchan@kernel.org> - 2017-04-14 17:40 +0200
      Re: [PATCH 1/3] zram: fix operator precedence to get offset Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-04-17 03:30 +0200
        Re: [PATCH 1/3] zram: fix operator precedence to get offset Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-04-17 04:00 +0200
          Re: [PATCH 1/3] zram: fix operator precedence to get offset Minchan Kim <minchan@kernel.org> - 2017-04-17 04:20 +0200
            Re: [PATCH 1/3] zram: fix operator precedence to get offset Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-04-17 13:00 +0200
              Re: [PATCH 1/3] zram: fix operator precedence to get offset Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-04-17 13:00 +0200
              Re: [PATCH 1/3] zram: fix operator precedence to get offset Minchan Kim <minchan@kernel.org> - 2017-04-18 02:00 +0200
                Re: [PATCH 1/3] zram: fix operator precedence to get offset Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-04-18 04:00 +0200
                Re: [PATCH 1/3] zram: fix operator precedence to get offset Minchan Kim <minchan@kernel.org> - 2017-04-18 04:50 +0200
  Re: [PATCH 1/3] zram: fix operator precedence to get offset Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-04-17 03:30 +0200

csiph-web