Skip to contentSkip to conversation

s390 patches for the 3.11-rc2

GIT PULL Martin Schwidefsky 1 participant 1 message Jul 19, 2013

Subsystems (8)
lore
Share & tools
lore
#0 lore raw

Hi Linus,

not enough please pull requests? Well, here is what I have pending, won't do much for you commit counter though..

Please pull from the 'for-linus' branch of

git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git for-linus

to receive the following updates:
An update for the BFP jit to the latest and greatest, two patches to get kdump working again, the random-abort ptrace extention for transactional execution, the z90crypt module alias for ap and a tiny cleanup.

Heiko Carstens (4):
s390/bpf,jit: call module_free() from any context s390/bpf,jit: use generic jit dumper s390/bpf,jit: address randomize and write protect jit code s390/bpf,jit: add pkt_type support

Ingo Tuchscherer (1):
s390/zcrypt: Alias for new zcrypt device driver base module

Michael Holzheu (2):
s390/kdump: Disable mmap for s390
s390/kdump: Allow copy_oldmem_page() copy to virtual memory

Michael Mueller (1):
s390/ptrace: PTRACE_TE_ABORT_RAND

Sebastian Ott (1):
s390/qdio: remove unused variable

 arch/s390/include/asm/processor.h   |   10 +++-
 arch/s390/include/asm/switch_to.h   |    4 +-
 arch/s390/include/uapi/asm/ptrace.h |    1 +
 arch/s390/kernel/crash_dump.c       |   51 ++++++++++++++--
 arch/s390/kernel/ptrace.c           |   50 ++++++++++++----
 arch/s390/net/bpf_jit_comp.c        |  113 +++++++++++++++++++++++++++--------
 drivers/s390/cio/qdio_main.c        |    4 +-
 drivers/s390/crypto/ap_bus.c        |    1 +
 fs/proc/vmcore.c                    |    2 +-
 9 files changed, 190 insertions(+), 46 deletions(-)
arch/s390/include/asm/processor.h +9 -1
index 6b49987..b0e6435 100644
@@ -91,7 +91,15 @@ struct thread_struct {
 #endif
 };
 
-#define PER_FLAG_NO_TE		1UL	/* Flag to disable transactions. */
+/* Flag to disable transactions. */
+#define PER_FLAG_NO_TE			1UL
+/* Flag to enable random transaction aborts. */
+#define PER_FLAG_TE_ABORT_RAND		2UL
+/* Flag to specify random transaction abort mode:
+ * - abort each transaction at a random instruction before TEND if set.
+ * - abort random transactions at a random instruction if cleared.
+ */
+#define PER_FLAG_TE_ABORT_RAND_TEND	4UL
 
 typedef struct thread_struct thread_struct;
 
arch/s390/include/asm/switch_to.h +2 -2
index f3a9e0f..80b6f11 100644
@@ -10,7 +10,7 @@
 #include <linux/thread_info.h>
 
 extern struct task_struct *__switch_to(void *, void *);
-extern void update_per_regs(struct task_struct *task);
+extern void update_cr_regs(struct task_struct *task);
 
 static inline void save_fp_regs(s390_fp_regs *fpregs)
 {
@@ -86,7 +86,7 @@ static inline void restore_access_regs(unsigned int *acrs)
 		restore_fp_regs(&next->thread.fp_regs);			\
 		restore_access_regs(&next->thread.acrs[0]);		\
 		restore_ri_cb(next->thread.ri_cb, prev->thread.ri_cb);	\
-		update_per_regs(next);					\
+		update_cr_regs(next);					\
 	}								\
 	prev = __switch_to(prev,next);					\
 } while (0)
arch/s390/include/uapi/asm/ptrace.h +1 -0
index 3aa9f1e..7a84619 100644
@@ -400,6 +400,7 @@ typedef struct
 #define PTRACE_POKE_SYSTEM_CALL	      0x5008
 #define PTRACE_ENABLE_TE	      0x5009
 #define PTRACE_DISABLE_TE	      0x5010
+#define PTRACE_TE_ABORT_RAND	      0x5011
 
 /*
  * PT_PROT definition is loosely based on hppa bsd definition in
arch/s390/kernel/crash_dump.c +47 -4

70 lines not on this page · raw message

arch/s390/kernel/ptrace.c +39 -11

83 lines not on this page · raw message

arch/s390/net/bpf_jit_comp.c +88 -25

163 lines not on this page · raw message

drivers/s390/cio/qdio_main.c +2 -2
index fb1c1e0..8ed52aa 100644
@@ -1497,7 +1497,7 @@ static inline int buf_in_between(int bufnr, int start, int count)
 static int handle_inbound(struct qdio_q *q, unsigned int callflags,
 			  int bufnr, int count)
 {
-	int used, diff;
+	int diff;
 
 	qperf_inc(q, inbound_call);
 
@@ -1530,7 +1530,7 @@ static int handle_inbound(struct qdio_q *q, unsigned int callflags,
 
 set:
 	count = set_buf_states(q, bufnr, SLSB_CU_INPUT_EMPTY, count);
-	used = atomic_add_return(count, &q->nr_buf_used) - count;
+	atomic_add(count, &q->nr_buf_used);
 
 	if (need_siga_in(q))
 		return qdio_siga_input(q);
drivers/s390/crypto/ap_bus.c +1 -0
index f446a77..d4174b8 100644
@@ -71,6 +71,7 @@ MODULE_AUTHOR("IBM Corporation");
 MODULE_DESCRIPTION("Adjunct Processor Bus driver, " \
 		   "Copyright IBM Corp. 2006, 2012");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("z90crypt");
 
 /*
  * Module parameter
fs/proc/vmcore.c +1 -1
index 2850317..a1a16eb 100644
@@ -223,7 +223,7 @@ static inline char *alloc_elfnotes_buf(size_t notes_sz)
  * regions in the 1st kernel pointed to by PT_LOAD entries) into
  * virtually contiguous user-space in ELF layout.
  */
-#ifdef CONFIG_MMU
+#if defined(CONFIG_MMU) && !defined(CONFIG_S390)
 static int mmap_vmcore(struct file *file, struct vm_area_struct *vma)
 {
 	size_t size = vma->vm_end - vma->vm_start;