Skip to content
  1. Aug 30, 2014
    • Michael Welling's avatar
      kexec: purgatory: add clean-up for purgatory directory · b0108f9e
      Michael Welling authored
      
      
      Without this patch the kexec-purgatory.c and purgatory.ro files are not
      removed after make mrproper.
      
      Signed-off-by: default avatarMichael Welling <mwelling@ieee.org>
      Acked-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b0108f9e
    • Pranith Kumar's avatar
      flush_icache_range: export symbol to fix build errors · e3560305
      Pranith Kumar authored
      
      
      Fix building errors occuring due to a missing export of
      flush_icache_range() in
      
      kisskb.ellerman.id.au/kisskb/buildresult/11677809/
      
      ERROR: "flush_icache_range" [drivers/misc/lkdtm.ko] undefined!
      
      Signed-off-by: default avatarPranith Kumar <bobby.prani@gmail.com>
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: Vineet Gupta <vgupta@synopsys.com>	[arc]
      Acked-by: Richard Kuo <rkuo@codeaurora.org>	[hexagon]
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Chris Zankel <chris@zankel.net>
      Acked-by: Max Filippov <jcmvbkbc@gmail.com>	[xtensa]
      Cc: Noam Camus <noamc@ezchip.com>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Acked-by: Zhigang Lu <zlu@tilera.com>		[tile]
      Cc: Kirill Tkhai <tkhai@yandex.ru>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e3560305
    • Vivek Goyal's avatar
      x86/purgatory: use approprate -m64/-32 build flag for arch/x86/purgatory · 4df4185a
      Vivek Goyal authored
      
      
      Thomas reported that build of x86_64 kernel was failing for him.  He is
      using 32bit tool chain.
      
      Problem is that while compiling purgatory, I have not specified -m64
      flag.  And 32bit tool chain must be assuming -m32 by default.
      
      Following is error message.
      
      (mini) [~/work/linux-2.6] make
      scripts/kconfig/conf --silentoldconfig Kconfig
        CHK     include/config/kernel.release
        UPD     include/config/kernel.release
        CHK     include/generated/uapi/linux/version.h
        CHK     include/generated/utsrelease.h
        UPD     include/generated/utsrelease.h
        CC      arch/x86/purgatory/purgatory.o
      arch/x86/purgatory/purgatory.c:1:0: error: code model 'large' not supported in
      the 32 bit mode
      
      Fix it by explicitly passing appropriate -m64/-m32 build flag for
      purgatory.
      
      Reported-by: default avatarThomas Glanzmann <thomas@glanzmann.de>
      Tested-by: default avatarThomas Glanzmann <thomas@glanzmann.de>
      Suggested-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4df4185a
    • Vivek Goyal's avatar
      kexec: remove CONFIG_KEXEC dependency on crypto · b41d34b4
      Vivek Goyal authored
      
      
      New system call depends on crypto.  As it did not have a separate config
      option, CONFIG_KEXEC was modified to select CRYPTO and CRYPTO_SHA256.
      
      But now previous patch introduced a new config option for new syscall.
      So CONFIG_KEXEC does not require crypto.  Remove that dependency.
      
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Cc: Eric Biederman <ebiederm@xmission.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Shaun Ruffell <sruffell@digium.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b41d34b4
    • Vivek Goyal's avatar
      kexec: create a new config option CONFIG_KEXEC_FILE for new syscall · 74ca317c
      Vivek Goyal authored
      
      
      Currently new system call kexec_file_load() and all the associated code
      compiles if CONFIG_KEXEC=y.  But new syscall also compiles purgatory
      code which currently uses gcc option -mcmodel=large.  This option seems
      to be available only gcc 4.4 onwards.
      
      Hiding new functionality behind a new config option will not break
      existing users of old gcc.  Those who wish to enable new functionality
      will require new gcc.  Having said that, I am trying to figure out how
      can I move away from using -mcmodel=large but that can take a while.
      
      I think there are other advantages of introducing this new config
      option.  As this option will be enabled only on x86_64, other arches
      don't have to compile generic kexec code which will never be used.  This
      new code selects CRYPTO=y and CRYPTO_SHA256=y.  And all other arches had
      to do this for CONFIG_KEXEC.  Now with introduction of new config
      option, we can remove crypto dependency from other arches.
      
      Now CONFIG_KEXEC_FILE is available only on x86_64.  So whereever I had
      CONFIG_X86_64 defined, I got rid of that.
      
      For CONFIG_KEXEC_FILE, instead of doing select CRYPTO=y, I changed it to
      "depends on CRYPTO=y".  This should be safer as "select" is not
      recursive.
      
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Cc: Eric Biederman <ebiederm@xmission.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Tested-by: default avatarShaun Ruffell <sruffell@digium.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      74ca317c
    • Hugh Dickins's avatar
      x86,mm: fix pte_special versus pte_numa · b38af472
      Hugh Dickins authored
      Sasha Levin has shown oopses on ffffea0003480048 and ffffea0003480008 at
      mm/memory.c:1132, running Trinity on different 3.16-rc-next kernels:
      where zap_pte_range() checks page->mapping to see if PageAnon(page).
      
      Those addresses fit struct pages for pfns d2001 and d2000, and in each
      dump a register or a stack slot showed d2001730 or d2000730: pte flags
      0x730 are PCD ACCESSED PROTNONE SPECIAL IOMAP; and Sasha's e820 map has
      a hole between cfffffff and 100000000, which would need special access.
      
      Commit c46a7c81 ("x86: define _PAGE_NUMA by reusing software bits on
      the PMD and PTE levels") has broken vm_normal_page(): a PROTNONE SPECIAL
      pte no longer passes the pte_special() test, so zap_pte_range() goes on
      to try to access a non-existent struct page.
      
      Fix this by refining pte_special() (SPECIAL with PRESENT or PROTNONE) to
      complement pte_numa() (SPECIAL with neither PRESENT nor PROTNONE).  A
      hint that this was a problem was that c46a7c81 added pte_numa() test
      to vm_normal_page(), and moved its is_zero_pfn() test from slow to fast
      path: This was papering over a pte_special() snag when the zero page was
      encountered during zap.  This patch reverts vm_normal_page() to how it
      was before, relying on pte_special().
      
      It still appears that this patch may be incomplete: aren't there other
      places which need to be handling PROTNONE along with PRESENT?  For
      example, pte_mknuma() clears _PAGE_PRESENT and sets _PAGE_NUMA, but on a
      PROT_NONE area, that would make it pte_special().  This is side-stepped
      by the fact that NUMA hinting faults skipped PROT_NONE VMAs and there
      are no grounds where a NUMA hinting fault on a PROT_NONE VMA would be
      interesting.
      
      Fixes: c46a7c81
      
       ("x86: define _PAGE_NUMA by reusing software bits on the PMD and PTE levels")
      Reported-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Tested-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
      Cc: <stable@vger.kernel.org>	[3.16]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b38af472
  2. Aug 28, 2014
    • Tony Lindgren's avatar
      mfd: twl4030-power: Fix PM idle pin configuration to not conflict with regulators · daebabd5
      Tony Lindgren authored
      Commit 43fef47f (mfd: twl4030-power: Add a configuration to turn
      off oscillator during off-idle) added support for configuring the PMIC
      to cut off resources during deeper idle states to save power.
      
      This however caused regression for n900 display power that needed the
      PMIC configuration to be disabled with commit d937678a (ARM: dts:
      Revert enabling of twl configuration for n900).
      
      Turns out the root cause of the problem is that we must use
      TWL4030_RESCONFIG_UNDEF instead of DEV_GRP_NULL to avoid disabling
      regulators that may have been enabled before the init function
      for twl4030-power.c runs. With TWL4030_RESCONFIG_UNDEF we let the
      regulator framework control the regulators like it should. Here we
      need to only configure the sys_clken and sys_off_mode triggers for
      the regulators that cannot be done by the regulator framework as
      it's not running at that point.
      
      This allows us to enable the PMIC configuration for n900.
      
      Fixes: 43fef47f
      
       (mfd: twl4030-power: Add a configuration to turn off oscillator during off-idle)
      
      Cc: stable@vger.kernel.org # v3.16
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Tested-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      daebabd5
  3. Aug 25, 2014
  4. Aug 23, 2014
  5. Aug 22, 2014
  6. Aug 21, 2014
  7. Aug 20, 2014
  8. Aug 19, 2014