1. 08 3月, 2016 1 次提交
  2. 07 3月, 2016 2 次提交
  3. 29 2月, 2016 2 次提交
    • A
      m68k: Fix misspellings in comments. · efbec135
      Adam Buchbinder 提交于
      Signed-off-by: NAdam Buchbinder <adam.buchbinder@gmail.com>
      Acked-by: Greg Ungerer <gerg@uclinux.org> [nommu, coldfire]
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      efbec135
    • G
      m68k: Use conventional function parameters for do_sigreturn · a9551799
      Greg Ungerer 提交于
      Create conventional stack parameters for the calls to do_sigreturn and
      do_rt_sigreturn. The current C code for do_sigreturn and do_rt_sigreturn
      dig into the stack to create local pointers to the saved switch stack
      and the pt_regs structs.
      
      The motivation for this change is a problem with non-MMU targets that
      have broken signal return paths on newer versions of gcc. It appears as
      though gcc has determined that the pointers into the saved stack structs,
      and the saved structs themselves, are function parameters and updates to
      them will be lost on function return, so they are optimized away. This
      results in large parts of restore_sigcontext() and mangle_kernel_stack()
      functions being removed. Of course this results in non-functional code
      causing kernel oops. This problem has been observed with gcc version
      5.2 and 5.3, and probably exists in earlier versions as well.
      
      Using conventional stack parameter pointers passed to these functions has
      the advantage of the code here not needing to know the exact details of
      how the underlying entry handler layed these structs out on the stack.
      So the rather ugly pointer setup casting and arg referencing can be
      removed.
      
      The resulting code after this change is a few bytes larger (due to the
      overhead of creating the stack args and their tear down). Not being hot
      paths I don't think this is too much of a problem here.
      
      An alternative solution is to put a barrier() in the do_sigreturn() code,
      but this doesn't feel quite as clean as this solution.
      
      This change has been compile tested on all defconfigs, and run tested on
      Atari (through aranym), ColdFire with MMU (M5407EVB) and ColdFire with
      no-MMU (QEMU and M5208EVB).
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Acked-by: NAndreas Schwab <schwab@linux-m68k.org>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      a9551799
  4. 01 2月, 2016 2 次提交
  5. 29 1月, 2016 1 次提交
  6. 21 1月, 2016 2 次提交
  7. 10 1月, 2016 2 次提交
  8. 04 1月, 2016 2 次提交
  9. 14 12月, 2015 1 次提交
  10. 23 11月, 2015 1 次提交
  11. 22 11月, 2015 5 次提交
  12. 08 11月, 2015 1 次提交
  13. 30 9月, 2015 1 次提交
  14. 28 9月, 2015 5 次提交
    • G
      95bc06ef
    • A
      m68k: Define asmlinkage_protect · 8474ba74
      Andreas Schwab 提交于
      Make sure the compiler does not modify arguments of syscall functions.
      This can happen if the compiler generates a tailcall to another
      function.  For example, without asmlinkage_protect sys_openat is compiled
      into this function:
      
      sys_openat:
      	clr.l %d0
      	move.w 18(%sp),%d0
      	move.l %d0,16(%sp)
      	jbra do_sys_open
      
      Note how the fourth argument is modified in place, modifying the register
      %d4 that gets restored from this stack slot when the function returns to
      user-space.  The caller may expect the register to be unmodified across
      system calls.
      Signed-off-by: NAndreas Schwab <schwab@linux-m68k.org>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: stable@vger.kernel.org
      8474ba74
    • G
      m68k: Wire up membarrier · 7f843dab
      Geert Uytterhoeven 提交于
      $ ./membarrier_test
      membarrier MEMBARRIER_CMD_QUERY syscall available.
      membarrier: MEMBARRIER_CMD_SHARED success.
      membarrier: tests done!
      $
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NGreg Ungerer <gerg@uclinux.org>
      7f843dab
    • G
      m68k: Wire up userfaultfd · b92858f2
      Geert Uytterhoeven 提交于
      $ ./userfaultfd 10 99
      nr_pages: 2560, nr_pages_per_cpu: 2560
      bounces: 98, mode: racing, userfaults: 1121
      bounces: 97, mode: rnd, userfaults: 977
      bounces: 96, mode:, userfaults: 1119
      bounces: 95, mode: rnd racing ver poll, userfaults: 1040
      bounces: 94, mode: racing ver poll, userfaults: 1022
      bounces: 93, mode: rnd ver poll, userfaults: 946
      bounces: 92, mode: ver poll, userfaults: 1115
      bounces: 91, mode: rnd racing poll, userfaults: 977
      bounces: 90, mode: racing poll, userfaults: 899
      bounces: 89, mode: rnd poll, userfaults: 881
      bounces: 88, mode: poll, userfaults: 1069
      bounces: 87, mode: rnd racing ver, userfaults: 1114
      bounces: 86, mode: racing ver, userfaults: 1109
      bounces: 85, mode: rnd ver, userfaults: 1165
      bounces: 84, mode: ver, userfaults: 1107
      bounces: 83, mode: rnd racing, userfaults: 1134
      bounces: 82, mode: racing, userfaults: 1105
      bounces: 81, mode: rnd, userfaults: 1323
      bounces: 80, mode:, userfaults: 1103
      bounces: 79, mode: rnd racing ver poll, userfaults: 909
      bounces: 78, mode: racing ver poll, userfaults: 1095
      bounces: 77, mode: rnd ver poll, userfaults: 951
      bounces: 76, mode: ver poll, userfaults: 1099
      bounces: 75, mode: rnd racing poll, userfaults: 1035
      bounces: 74, mode: racing poll, userfaults: 1097
      bounces: 73, mode: rnd poll, userfaults: 1159
      bounces: 72, mode: poll, userfaults: 1042
      bounces: 71, mode: rnd racing ver, userfaults: 848
      bounces: 70, mode: racing ver, userfaults: 1093
      bounces: 69, mode: rnd ver, userfaults: 892
      bounces: 68, mode: ver, userfaults: 1091
      bounces: 67, mode: rnd racing, userfaults: 1219
      bounces: 66, mode: racing, userfaults: 1089
      bounces: 65, mode: rnd, userfaults: 988
      bounces: 64, mode:, userfaults: 1087
      bounces: 63, mode: rnd racing ver poll, userfaults: 882
      bounces: 62, mode: racing ver poll, userfaults: 984
      bounces: 61, mode: rnd ver poll, userfaults: 701
      bounces: 60, mode: ver poll, userfaults: 1071
      bounces: 59, mode: rnd racing poll, userfaults: 1137
      bounces: 58, mode: racing poll, userfaults: 1032
      bounces: 57, mode: rnd poll, userfaults: 911
      bounces: 56, mode: poll, userfaults: 1079
      bounces: 55, mode: rnd racing ver, userfaults: 1106
      bounces: 54, mode: racing ver, userfaults: 1077
      bounces: 53, mode: rnd ver, userfaults: 886
      bounces: 52, mode: ver, userfaults: 1075
      bounces: 51, mode: rnd racing, userfaults: 1101
      bounces: 50, mode: racing, userfaults: 1073
      bounces: 49, mode: rnd, userfaults: 1070
      bounces: 48, mode:, userfaults: 1071
      bounces: 47, mode: rnd racing ver poll, userfaults: 1077
      bounces: 46, mode: racing ver poll, userfaults: 910
      bounces: 45, mode: rnd ver poll, userfaults: 1063
      bounces: 44, mode: ver poll, userfaults: 1028
      bounces: 43, mode: rnd racing poll, userfaults: 1043
      bounces: 42, mode: racing poll, userfaults: 1065
      bounces: 41, mode: rnd poll, userfaults: 912
      bounces: 40, mode: poll, userfaults: 1063
      bounces: 39, mode: rnd racing ver, userfaults: 880
      bounces: 38, mode: racing ver, userfaults: 1061
      bounces: 37, mode: rnd ver, userfaults: 1144
      bounces: 36, mode: ver, userfaults: 1059
      bounces: 35, mode: rnd racing, userfaults: 967
      bounces: 34, mode: racing, userfaults: 1057
      bounces: 33, mode: rnd, userfaults: 1076
      bounces: 32, mode:, userfaults: 1055
      bounces: 31, mode: rnd racing ver poll, userfaults: 997
      bounces: 30, mode: racing ver poll, userfaults: 1053
      bounces: 29, mode: rnd ver poll, userfaults: 968
      bounces: 28, mode: ver poll, userfaults: 978
      bounces: 27, mode: rnd racing poll, userfaults: 1008
      bounces: 26, mode: racing poll, userfaults: 1049
      bounces: 25, mode: rnd poll, userfaults: 900
      bounces: 24, mode: poll, userfaults: 1047
      bounces: 23, mode: rnd racing ver, userfaults: 988
      bounces: 22, mode: racing ver, userfaults: 1045
      bounces: 21, mode: rnd ver, userfaults: 1027
      bounces: 20, mode: ver, userfaults: 1043
      bounces: 19, mode: rnd racing, userfaults: 1017
      bounces: 18, mode: racing, userfaults: 1041
      bounces: 17, mode: rnd, userfaults: 979
      bounces: 16, mode:, userfaults: 1039
      bounces: 15, mode: rnd racing ver poll, userfaults: 1134
      bounces: 14, mode: racing ver poll, userfaults: 1037
      bounces: 13, mode: rnd ver poll, userfaults: 1046
      bounces: 12, mode: ver poll, userfaults: 1035
      bounces: 11, mode: rnd racing poll, userfaults: 1060
      bounces: 10, mode: racing poll, userfaults: 1033
      bounces: 9, mode: rnd poll, userfaults: 1003
      bounces: 8, mode: poll, userfaults: 929
      bounces: 7, mode: rnd racing ver, userfaults: 964
      bounces: 6, mode: racing ver, userfaults: 1029
      bounces: 5, mode: rnd ver, userfaults: 1053
      bounces: 4, mode: ver, userfaults: 1027
      bounces: 3, mode: rnd racing, userfaults: 863
      bounces: 2, mode: racing, userfaults: 1025
      bounces: 1, mode: rnd, userfaults: 1043
      bounces: 0, mode:, userfaults: 950
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NGreg Ungerer <gerg@uclinux.org>
      b92858f2
    • G
      5b3f33eb
  15. 23 9月, 2015 1 次提交
    • P
      atomic, arch: Audit atomic_{read,set}() · 62e8a325
      Peter Zijlstra 提交于
      This patch makes sure that atomic_{read,set}() are at least
      {READ,WRITE}_ONCE().
      
      We already had the 'requirement' that atomic_read() should use
      ACCESS_ONCE(), and most archs had this, but a few were lacking.
      All are now converted to use READ_ONCE().
      
      And, by a symmetry and general paranoia argument, upgrade atomic_set()
      to use WRITE_ONCE().
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: james.hogan@imgtec.com
      Cc: linux-kernel@vger.kernel.org
      Cc: oleg@redhat.com
      Cc: will.deacon@arm.com
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      62e8a325
  16. 16 9月, 2015 1 次提交
    • T
      genirq: Remove irq argument from irq flow handlers · bd0b9ac4
      Thomas Gleixner 提交于
      Most interrupt flow handlers do not use the irq argument. Those few
      which use it can retrieve the irq number from the irq descriptor.
      
      Remove the argument.
      
      Search and replace was done with coccinelle and some extra helper
      scripts around it. Thanks to Julia for her help!
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      bd0b9ac4
  17. 13 9月, 2015 1 次提交
  18. 11 9月, 2015 1 次提交
    • D
      kexec: split kexec_load syscall from kexec core code · 2965faa5
      Dave Young 提交于
      There are two kexec load syscalls, kexec_load another and kexec_file_load.
       kexec_file_load has been splited as kernel/kexec_file.c.  In this patch I
      split kexec_load syscall code to kernel/kexec.c.
      
      And add a new kconfig option KEXEC_CORE, so we can disable kexec_load and
      use kexec_file_load only, or vice verse.
      
      The original requirement is from Ted Ts'o, he want kexec kernel signature
      being checked with CONFIG_KEXEC_VERIFY_SIG enabled.  But kexec-tools use
      kexec_load syscall can bypass the checking.
      
      Vivek Goyal proposed to create a common kconfig option so user can compile
      in only one syscall for loading kexec kernel.  KEXEC/KEXEC_FILE selects
      KEXEC_CORE so that old config files still work.
      
      Because there's general code need CONFIG_KEXEC_CORE, so I updated all the
      architecture Kconfig with a new option KEXEC_CORE, and let KEXEC selects
      KEXEC_CORE in arch Kconfig.  Also updated general kernel code with to
      kexec_load syscall.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: NDave Young <dyoung@redhat.com>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: Vivek Goyal <vgoyal@redhat.com>
      Cc: Petr Tesarik <ptesarik@suse.cz>
      Cc: Theodore Ts'o <tytso@mit.edu>
      Cc: Josh Boyer <jwboyer@fedoraproject.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2965faa5
  19. 01 9月, 2015 1 次提交
  20. 24 8月, 2015 2 次提交
  21. 10 8月, 2015 3 次提交
  22. 01 8月, 2015 1 次提交
    • T
      m68k/irq: Prepare irq handlers for irq argument removal · 625b86ad
      Thomas Gleixner 提交于
      The irq argument of most interrupt flow handlers is unused or merily
      used instead of a local variable. The handlers which need the irq
      argument can retrieve the irq number from the irq descriptor.
      
      Search and update was done with coccinelle and the invaluable help of
      Julia Lawall.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: linux-m68k@lists.linux-m68k.org
      625b86ad
  23. 29 7月, 2015 1 次提交
    • C
      block: add a bi_error field to struct bio · 4246a0b6
      Christoph Hellwig 提交于
      Currently we have two different ways to signal an I/O error on a BIO:
      
       (1) by clearing the BIO_UPTODATE flag
       (2) by returning a Linux errno value to the bi_end_io callback
      
      The first one has the drawback of only communicating a single possible
      error (-EIO), and the second one has the drawback of not beeing persistent
      when bios are queued up, and are not passed along from child to parent
      bio in the ever more popular chaining scenario.  Having both mechanisms
      available has the additional drawback of utterly confusing driver authors
      and introducing bugs where various I/O submitters only deal with one of
      them, and the others have to add boilerplate code to deal with both kinds
      of error returns.
      
      So add a new bi_error field to store an errno value directly in struct
      bio and remove the existing mechanisms to clean all this up.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Reviewed-by: NNeilBrown <neilb@suse.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      4246a0b6