← Back to team overview

kernel-packages team mailing list archive

[Bug 1556141] Re: s390/mm: four page table levels vs. fork

 

** Tags added: kernel-cve-skip-description

** Also affects: linux (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: linux-armadaxp (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-quantal (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-saucy (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: linux-goldfish (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-trusty (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-vivid (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-wily (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: linux-raspi2 (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-xenial (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux-armadaxp (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-quantal (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-saucy (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux-goldfish (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-trusty (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-vivid (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-wily (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux-raspi2 (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-xenial (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Wily)
   Importance: Undecided
       Status: New

** Also affects: linux-armadaxp (Ubuntu Wily)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-quantal (Ubuntu Wily)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-saucy (Ubuntu Wily)
   Importance: Undecided
       Status: New

** Also affects: linux-goldfish (Ubuntu Wily)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-trusty (Ubuntu Wily)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-vivid (Ubuntu Wily)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-wily (Ubuntu Wily)
   Importance: Undecided
       Status: New

** Also affects: linux-raspi2 (Ubuntu Wily)
   Importance: Undecided
       Status: New

** Also affects: linux-lts-xenial (Ubuntu Wily)
   Importance: Undecided
       Status: New

** Changed in: linux-lts-trusty (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-lts-trusty (Ubuntu Wily)
       Status: New => Invalid

** Changed in: linux-lts-trusty (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-lts-trusty (Ubuntu Xenial)
       Status: New => Invalid

** Changed in: linux-lts-trusty (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-lts-trusty (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-lts-trusty (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-lts-wily (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-lts-wily (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-lts-wily (Ubuntu Wily)
       Status: New => Invalid

** Changed in: linux-lts-wily (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-lts-wily (Ubuntu Xenial)
       Status: New => Invalid

** Changed in: linux-lts-wily (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-lts-wily (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-lts-quantal (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-lts-quantal (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-lts-quantal (Ubuntu Wily)
       Status: New => Invalid

** Changed in: linux-lts-quantal (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-lts-quantal (Ubuntu Xenial)
       Status: New => Invalid

** Changed in: linux-lts-quantal (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-lts-quantal (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-lts-quantal (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-ti-omap4 (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-ti-omap4 (Ubuntu Wily)
       Status: New => Invalid

** Changed in: linux-ti-omap4 (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-ti-omap4 (Ubuntu Xenial)
       Status: New => Invalid

** Changed in: linux-ti-omap4 (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-ti-omap4 (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-ti-omap4 (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-lts-raring (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-lts-raring (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-lts-raring (Ubuntu Wily)
       Status: New => Invalid

** Changed in: linux-lts-raring (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-lts-raring (Ubuntu Xenial)
       Status: New => Invalid

** Changed in: linux-lts-raring (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-lts-raring (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-lts-raring (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-armadaxp (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-armadaxp (Ubuntu Wily)
       Status: New => Invalid

** Changed in: linux-armadaxp (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-armadaxp (Ubuntu Xenial)
       Status: New => Invalid

** Changed in: linux-armadaxp (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-armadaxp (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-armadaxp (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-lts-xenial (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-lts-xenial (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-lts-xenial (Ubuntu Wily)
       Status: New => Invalid

** Changed in: linux-lts-xenial (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-lts-xenial (Ubuntu Xenial)
       Status: New => Invalid

** Changed in: linux-lts-xenial (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-lts-xenial (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-lts-saucy (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-lts-saucy (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-lts-saucy (Ubuntu Wily)
       Status: New => Invalid

** Changed in: linux-lts-saucy (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-lts-saucy (Ubuntu Xenial)
       Status: New => Invalid

** Changed in: linux-lts-saucy (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-lts-saucy (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-lts-saucy (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-manta (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-manta (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-manta (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-manta (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-manta (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-manta (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-lts-vivid (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-lts-vivid (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-lts-vivid (Ubuntu Wily)
       Status: New => Invalid

** Changed in: linux-lts-vivid (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-lts-vivid (Ubuntu Xenial)
       Status: New => Invalid

** Changed in: linux-lts-vivid (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-lts-vivid (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-raspi2 (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-raspi2 (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-raspi2 (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-raspi2 (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-raspi2 (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-raspi2 (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-mako (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-mako (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-mako (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-mako (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-mako (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-mako (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-lts-utopic (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-lts-utopic (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-lts-utopic (Ubuntu Wily)
       Status: New => Invalid

** Changed in: linux-lts-utopic (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-lts-utopic (Ubuntu Xenial)
       Status: New => Invalid

** Changed in: linux-lts-utopic (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-lts-utopic (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-goldfish (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-goldfish (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-goldfish (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-goldfish (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-goldfish (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-goldfish (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux-flo (Ubuntu Precise)
       Status: New => Invalid

** Changed in: linux-flo (Ubuntu Precise)
   Importance: Undecided => Medium

** Changed in: linux-flo (Ubuntu Wily)
   Importance: Undecided => Medium

** Changed in: linux-flo (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: linux-flo (Ubuntu Trusty)
       Status: New => Invalid

** Changed in: linux-flo (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: linux (Ubuntu Xenial)
       Status: Fix Released => New

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1556141

Title:
  s390/mm: four page table levels vs. fork

Status in linux package in Ubuntu:
  New
Status in linux-armadaxp package in Ubuntu:
  Invalid
Status in linux-flo package in Ubuntu:
  New
Status in linux-goldfish package in Ubuntu:
  New
Status in linux-lts-quantal package in Ubuntu:
  Invalid
Status in linux-lts-raring package in Ubuntu:
  Invalid
Status in linux-lts-saucy package in Ubuntu:
  Invalid
Status in linux-lts-trusty package in Ubuntu:
  Invalid
Status in linux-lts-utopic package in Ubuntu:
  Invalid
Status in linux-lts-vivid package in Ubuntu:
  Invalid
Status in linux-lts-wily package in Ubuntu:
  Invalid
Status in linux-lts-xenial package in Ubuntu:
  Invalid
Status in linux-mako package in Ubuntu:
  New
Status in linux-manta package in Ubuntu:
  New
Status in linux-raspi2 package in Ubuntu:
  New
Status in linux-ti-omap4 package in Ubuntu:
  Invalid
Status in linux source package in Precise:
  New
Status in linux-armadaxp source package in Precise:
  New
Status in linux-flo source package in Precise:
  Invalid
Status in linux-goldfish source package in Precise:
  Invalid
Status in linux-lts-quantal source package in Precise:
  Invalid
Status in linux-lts-raring source package in Precise:
  Invalid
Status in linux-lts-saucy source package in Precise:
  Invalid
Status in linux-lts-trusty source package in Precise:
  New
Status in linux-lts-utopic source package in Precise:
  Invalid
Status in linux-lts-vivid source package in Precise:
  Invalid
Status in linux-lts-wily source package in Precise:
  Invalid
Status in linux-lts-xenial source package in Precise:
  Invalid
Status in linux-mako source package in Precise:
  Invalid
Status in linux-manta source package in Precise:
  Invalid
Status in linux-raspi2 source package in Precise:
  Invalid
Status in linux-ti-omap4 source package in Precise:
  New
Status in linux source package in Trusty:
  New
Status in linux-armadaxp source package in Trusty:
  Invalid
Status in linux-flo source package in Trusty:
  Invalid
Status in linux-goldfish source package in Trusty:
  Invalid
Status in linux-lts-quantal source package in Trusty:
  Invalid
Status in linux-lts-raring source package in Trusty:
  Invalid
Status in linux-lts-saucy source package in Trusty:
  Invalid
Status in linux-lts-trusty source package in Trusty:
  Invalid
Status in linux-lts-utopic source package in Trusty:
  New
Status in linux-lts-vivid source package in Trusty:
  New
Status in linux-lts-wily source package in Trusty:
  New
Status in linux-lts-xenial source package in Trusty:
  New
Status in linux-mako source package in Trusty:
  Invalid
Status in linux-manta source package in Trusty:
  Invalid
Status in linux-raspi2 source package in Trusty:
  Invalid
Status in linux-ti-omap4 source package in Trusty:
  Invalid
Status in linux source package in Wily:
  New
Status in linux-armadaxp source package in Wily:
  Invalid
Status in linux-flo source package in Wily:
  New
Status in linux-goldfish source package in Wily:
  New
Status in linux-lts-quantal source package in Wily:
  Invalid
Status in linux-lts-raring source package in Wily:
  Invalid
Status in linux-lts-saucy source package in Wily:
  Invalid
Status in linux-lts-trusty source package in Wily:
  Invalid
Status in linux-lts-utopic source package in Wily:
  Invalid
Status in linux-lts-vivid source package in Wily:
  Invalid
Status in linux-lts-wily source package in Wily:
  Invalid
Status in linux-lts-xenial source package in Wily:
  Invalid
Status in linux-mako source package in Wily:
  New
Status in linux-manta source package in Wily:
  New
Status in linux-raspi2 source package in Wily:
  New
Status in linux-ti-omap4 source package in Wily:
  Invalid
Status in linux source package in Xenial:
  New
Status in linux-armadaxp source package in Xenial:
  Invalid
Status in linux-flo source package in Xenial:
  New
Status in linux-goldfish source package in Xenial:
  New
Status in linux-lts-quantal source package in Xenial:
  Invalid
Status in linux-lts-raring source package in Xenial:
  Invalid
Status in linux-lts-saucy source package in Xenial:
  Invalid
Status in linux-lts-trusty source package in Xenial:
  Invalid
Status in linux-lts-utopic source package in Xenial:
  Invalid
Status in linux-lts-vivid source package in Xenial:
  Invalid
Status in linux-lts-wily source package in Xenial:
  Invalid
Status in linux-lts-xenial source package in Xenial:
  Invalid
Status in linux-mako source package in Xenial:
  New
Status in linux-manta source package in Xenial:
  New
Status in linux-raspi2 source package in Xenial:
  New
Status in linux-ti-omap4 source package in Xenial:
  Invalid

Bug description:
  == Comment: #0 - Hendrik Brueckner <brueckner@xxxxxxxxxx> - 2016-03-11 08:30:57 ==
  Please backport:

  http://git.kernel.org/cgit/linux/kernel/git/s390/linux.git/commit/?h
  =for-linus&id=3446c13b268af86391d06611327006b059b8bab1

  s390/mm: four page table levels vs. fork
  The fork of a process with four page table levels is broken since
  git commit 6252d702c5311ce9 "[S390] dynamic page tables."

  All new mm contexts are created with three page table levels and
  an asce limit of 4TB. If the parent has four levels dup_mmap will
  add vmas to the new context which are outside of the asce limit.
  The subsequent call to copy_page_range will walk the three level
  page table structure of the new process with non-zero pgd and pud
  indexes. This leads to memory clobbers as the pgd_index *and* the
  pud_index is added to the mm->pgd pointer without a pgd_deref
  in between.

  The init_new_context() function is selecting the number of page
  table levels for a new context. The function is used by mm_init()
  which in turn is called by dup_mm() and mm_alloc(). These two are
  used by fork() and exec(). The init_new_context() function can
  distinguish the two cases by looking at mm->context.asce_limit,
  for fork() the mm struct has been copied and the number of page
  table levels may not change. For exec() the mm_alloc() function
  set the new mm structure to zero, in this case a three-level page
  table is created as the temporary stack space is located at
  STACK_TOP_MAX = 4TB.

  This fixes CVE-2016-2143.

  Reported-by: Marcin Ko?cielnicki <koriakin@xxxxxxxx>
  Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
  Cc: stable@xxxxxxxxxxxxxxx
  Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1556141/+subscriptions