1. 12 6月, 2017 4 次提交
  2. 09 5月, 2017 1 次提交
  3. 26 4月, 2017 1 次提交
  4. 25 4月, 2017 2 次提交
  5. 20 4月, 2017 1 次提交
  6. 24 3月, 2017 1 次提交
  7. 22 3月, 2017 1 次提交
  8. 03 3月, 2017 1 次提交
  9. 02 3月, 2017 3 次提交
  10. 23 2月, 2017 2 次提交
  11. 17 2月, 2017 3 次提交
  12. 08 2月, 2017 1 次提交
    • M
      s390: add no-execute support · 57d7f939
      Martin Schwidefsky 提交于
      Bit 0x100 of a page table, segment table of region table entry
      can be used to disallow code execution for the virtual addresses
      associated with the entry.
      
      There is one tricky bit, the system call to return from a signal
      is part of the signal frame written to the user stack. With a
      non-executable stack this would stop working. To avoid breaking
      things the protection fault handler checks the opcode that caused
      the fault for 0x0a77 (sys_sigreturn) and 0x0aad (sys_rt_sigreturn)
      and injects a system call. This is preferable to the alternative
      solution with a stub function in the vdso because it works for
      vdso=off and statically linked binaries as well.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      57d7f939
  13. 30 1月, 2017 1 次提交
  14. 24 1月, 2017 1 次提交
  15. 16 1月, 2017 3 次提交
  16. 25 12月, 2016 1 次提交
  17. 14 12月, 2016 1 次提交
  18. 13 12月, 2016 1 次提交
  19. 29 11月, 2016 1 次提交
  20. 11 11月, 2016 1 次提交
    • M
      s390/preempt: move preempt_count to the lowcore · c360192b
      Martin Schwidefsky 提交于
      Convert s390 to use a field in the struct lowcore for the CPU
      preemption count. It is a bit cheaper to access a lowcore field
      compared to a thread_info variable and it removes the depencency
      on a task related structure.
      
      bloat-o-meter on the vmlinux image for the default configuration
      (CONFIG_PREEMPT_NONE=y) reports a small reduction in text size:
      
      add/remove: 0/0 grow/shrink: 18/578 up/down: 228/-5448 (-5220)
      
      A larger improvement is achieved with the default configuration
      but with CONFIG_PREEMPT=y and CONFIG_DEBUG_PREEMPT=n:
      
      add/remove: 2/6 grow/shrink: 59/4477 up/down: 1618/-228762 (-227144)
      Reviewed-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      c360192b
  21. 24 10月, 2016 1 次提交
    • G
      s390/mm: fix zone calculation in arch_add_memory() · 4a654294
      Gerald Schaefer 提交于
      Standby (hotplug) memory should be added to ZONE_MOVABLE on s390. After
      commit 199071f1 "s390/mm: make arch_add_memory() NUMA aware",
      arch_add_memory() used memblock_end_of_DRAM() to find out the end of
      ZONE_NORMAL and the beginning of ZONE_MOVABLE. However, commit 7f36e3e5
      "memory-hotplug: add hot-added memory ranges to memblock before allocate
      node_data for a node." moved the call of memblock_add_node() before
      the call of arch_add_memory() in add_memory_resource(), and thus changed
      the return value of memblock_end_of_DRAM() when called in
      arch_add_memory(). As a result, arch_add_memory() will think that all
      memory blocks should be added to ZONE_NORMAL.
      
      Fix this by changing the logic in arch_add_memory() so that it will
      manually iterate over all zones of a given node to find out which zone
      a memory block should be added to.
      Reviewed-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NGerald Schaefer <gerald.schaefer@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      4a654294
  22. 19 10月, 2016 1 次提交
  23. 17 10月, 2016 1 次提交
  24. 20 9月, 2016 2 次提交
  25. 24 8月, 2016 3 次提交
  26. 10 8月, 2016 1 次提交
    • H
      s390/pageattr: handle numpages parameter correctly · 4d81aaa5
      Heiko Carstens 提交于
      Both set_memory_ro() and set_memory_rw() will modify the page
      attributes of at least one page, even if the numpages parameter is
      zero.
      
      The author expected that calling these functions with numpages == zero
      would never happen. However with the new 444d13ff ("modules: add
      ro_after_init support") feature this happens frequently.
      
      Therefore do the right thing and make these two functions return
      gracefully if nothing should be done.
      
      Fixes crashes on module load like this one:
      
      Unable to handle kernel pointer dereference in virtual kernel address space
      Failing address: 000003ff80008000 TEID: 000003ff80008407
      Fault in home space mode while using kernel ASCE.
      AS:0000000000d18007 R3:00000001e6aa4007 S:00000001e6a10800 P:00000001e34ee21d
      Oops: 0004 ilc:3 [#1] SMP
      Modules linked in: x_tables
      CPU: 10 PID: 1 Comm: systemd Not tainted 4.7.0-11895-g3fa9045 #4
      Hardware name: IBM              2964 N96              703              (LPAR)
      task: 00000001e9118000 task.stack: 00000001e9120000
      Krnl PSW : 0704e00180000000 00000000005677f8 (rb_erase+0xf0/0x4d0)
                 R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3
      Krnl GPRS: 000003ff80008b20 000003ff80008b20 000003ff80008b70 0000000000b9d608
                 000003ff80008b20 0000000000000000 00000001e9123e88 000003ff80008950
                 00000001e485ab40 000003ff00000000 000003ff80008b00 00000001e4858480
                 0000000100000000 000003ff80008b68 00000000001d5998 00000001e9123c28
      Krnl Code: 00000000005677e8: ec1801c3007c        cgij    %r1,0,8,567b6e
                 00000000005677ee: e32010100020        cg      %r2,16(%r1)
                #00000000005677f4: a78401c2            brc     8,567b78
                >00000000005677f8: e35010080024        stg     %r5,8(%r1)
                 00000000005677fe: ec5801af007c        cgij    %r5,0,8,567b5c
                 0000000000567804: e30050000024        stg     %r0,0(%r5)
                 000000000056780a: ebacf0680004        lmg     %r10,%r12,104(%r15)
                 0000000000567810: 07fe                bcr     15,%r14
      Call Trace:
      ([<000003ff80008900>] __this_module+0x0/0xffffffffffffd700 [x_tables])
      ([<0000000000264fd4>] do_init_module+0x12c/0x220)
      ([<00000000001da14a>] load_module+0x24e2/0x2b10)
      ([<00000000001da976>] SyS_finit_module+0xbe/0xd8)
      ([<0000000000803b26>] system_call+0xd6/0x264)
      Last Breaking-Event-Address:
       [<000000000056771a>] rb_erase+0x12/0x4d0
       Kernel panic - not syncing: Fatal exception: panic_on_oops
      Reported-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Reported-and-tested-by: NSebastian Ott <sebott@linux.vnet.ibm.com>
      Fixes: e8a97e42 ("s390/pageattr: allow kernel page table splitting")
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      4d81aaa5