aboutsummaryrefslogtreecommitdiff
path: root/arch/s390/kernel
AgeCommit message (Collapse)AuthorFilesLines
2006-09-27[PATCH] sysctl: Allow /proc/sys without sys_sysctlEric W. Biederman1-1/+1
Since sys_sysctl is deprecated start allow it to be compiled out. This should catch any remaining user space code that cares, and paves the way for further sysctl cleanups. [[email protected]: If sys_sysctl() is not compiled-in, emit a warning] Signed-off-by: Eric W. Biederman <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-09-27[PATCH] inode_diet: Replace inode.u.generic_ip with inode.i_privateTheodore Ts'o1-1/+1
The following patches reduce the size of the VFS inode structure by 28 bytes on a UP x86. (It would be more on an x86_64 system). This is a 10% reduction in the inode size on a UP kernel that is configured in a production mode (i.e., with no spinlock or other debugging functions enabled; if you want to save memory taken up by in-core inodes, the first thing you should do is disable the debugging options; they are responsible for a huge amount of bloat in the VFS inode structure). This patch: The filesystem or device-specific pointer in the inode is inside a union, which is pretty pointless given that all 30+ users of this field have been using the void pointer. Get rid of the union and rename it to i_private, with a comment to explain who is allowed to use the void pointer. This is just a cleanup, but it allows us to reuse the union 'u' for something something where the union will actually be used. [[email protected]: powerpc build fix] Signed-off-by: "Theodore Ts'o" <[email protected]> Signed-off-by: Judith Lebzelter <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-09-26[PATCH] x86: Some preparationary cleanup for stack traceAndi Kleen1-9/+8
- Remove unused all_contexts parameter No caller used it - Move skip argument into the structure (needed for followon patches) Cc: [email protected] Signed-off-by: Andi Kleen <[email protected]>
2006-09-20[S390] Use alternative user-copy operations for new hardware.Gerald Schaefer2-1/+18
This introduces new user-copy operations which are optimized for copying more than 256 Bytes on new hardware. Signed-off-by: Gerald Schaefer <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-09-20[S390] Make user-copy operations run-time configurable.Gerald Schaefer2-6/+7
Introduces a struct uaccess_ops which allows setting user-copy operations at run-time. Signed-off-by: Gerald Schaefer <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-09-20[S390] Cleanup in signal handling code.Gerald Schaefer1-22/+17
Signed-off-by: Gerald Schaefer <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-09-20[S390] Kernel stack overflow handling.Heiko Carstens1-2/+2
Substract the size of the initial stack frame from the correct register. Otherwise we will end up in a program check loop. Fix the offset into the save area as well. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-09-20[S390] convert some assembler to C.Heiko Carstens4-88/+57
Convert GET_IPL_DEVICE assembler macro to C function. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-09-20[S390] __exit cleanup.Heiko Carstens1-1/+1
Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-09-20[S390] fix syscall restart handling.Heiko Carstens1-0/+1
If do_signal() gets called several times before returning to user space and no signal is pending (e.g. cancelled by a debugger) syscall restart handling could be done several times. This would change the user space PSW to an address prior to the syscall instruction. Fix this by making sure that syscall restart handling is only done once. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-09-20[S390] ipl/dump on panic.Michael Holzheu9-284/+1002
It is now possible to specify a ccw/fcp dump device which is used to automatically create a system dump in case of a kernel panic. The dump device can be configured under /sys/firmware/dump. In addition it is now possible to specify a ccw/fcp device which is used for the next reboot of Linux. The reipl device can be configured under /sys/firmware/reipl. Signed-off-by: Michael Holzheu <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-09-20[S390] initrd vs. bootmem bitmap.Heiko Carstens4-11/+48
Move initrd if the bitmap of the bootmem allocator would overwrite it. In addition this patch sets the default size and address of the initrd to 0. Therefore all boot loaders must set the initrd size and address correctly. This is especially relevant for ftp boot via HMC/SE, where this change requires a special patch file entry in the .ins file which sets these two values contained at address 0x10408 and 0x10410. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-09-20[S390] add kprobes support.Michael Grundy6-3/+711
Signed-off-by: Michael Grundy <[email protected]> Signed-off-by: David Wilder <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-09-11[PATCH] audit: AUDIT_PERM supportAl Viro2-0/+37
add support for AUDIT_PERM predicate Signed-off-by: Al Viro <[email protected]>
2006-09-11[PATCH] audit: more syscall classes addedAl Viro2-0/+26
Signed-off-by: Al Viro <[email protected]>
2006-09-11[PATCH] syscall classes hookup for ppc and s390Al Viro3-1/+44
Signed-off-by: Al Viro <[email protected]>
2006-07-18[S390] sysfs_create_xxx return values.Heiko Carstens1-10/+36
Take return values of sysfs_create_group & friends into account. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-07-18[S390] .align 4096 statements in head.SHeiko Carstens2-4/+4
SLES9 binutils don't like .align 4096 statements in head.S. Work around this by using .org statements. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-07-12[S390] Fix sparse warnings.Heiko Carstens7-21/+26
Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-07-12[S390] path grouping and path verifications fixes.Cornelia Huck1-0/+1
1. Multipath devices for which SetPGID is not supported are not handled well. Use NOP ccws for path verification (sans path grouping) when SetPGID is not supported. 2. Check for PGIDs already set with SensePGID on _all_ paths (not just the first one) and try to find a common one. Moan if no common PGID can be found (and use NOP verification). If no PGIDs have been set, use the css global PGID (as before). (Rationale: SetPGID will get a command reject if the PGID it tries to set does not match the already set PGID.) 3. Immediately before reboot, issue RESET CHANNEL PATH (rcp) on all chpids. This will remove the old PGIDs. rcp will generate solicited CRWs which can be savely ignored by the machine check handler (all other actions create unsolicited CRWs). Signed-off-by: Cornelia Huck <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-07-10[PATCH] s390: remove BINFMT_ELF32 config optionHeiko Carstens1-2/+2
Remove BINFMT_ELF32 config option. Support should be always compiled in if CONFIG_COMPAT is set. Cc: Martin Schwidefsky <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Cc: Christoph Hellwig <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-07-03[PATCH] lockdep: irqtrace subsystem, move account_system_vtime() calls into ↵Paul Mackerras1-8/+0
kernel/softirq.c At the moment, powerpc and s390 have their own versions of do_softirq which include local_bh_disable() and __local_bh_enable() calls. They end up calling __do_softirq (in kernel/softirq.c) which also does local_bh_disable/enable. Apparently the two levels of disable/enable trigger a warning from some validation code that Ingo is working on, and he would like to see the outer level removed. But to do that, we have to move the account_system_vtime calls that are currently in the arch do_softirq() implementations for powerpc and s390 into the generic __do_softirq() (this is a no-op for other archs because account_system_vtime is defined to be an empty inline function on all other archs). This patch does that. Signed-off-by: Paul Mackerras <[email protected]> Signed-off-by: Ingo Molnar <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-07-03[PATCH] lockdep: irqtrace subsystem, s390 supportHeiko Carstens4-2/+51
irqtrace support for s390. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Ingo Molnar <[email protected]> Cc: Martin Schwidefsky <[email protected]> Cc: Arjan van de Ven <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-07-03[PATCH] lockdep: stacktrace subsystem, s390 supportHeiko Carstens2-0/+91
stacktrace interface for s390 as needed by lock validator. [[email protected]: build fix] Signed-off-by: Heiko Carstens <[email protected]> Acked-by: Ingo Molnar <[email protected]> Cc: Martin Schwidefsky <[email protected]> Cc: Arjan van de Ven <[email protected]> Signed-off-by: Cedric Le Goater <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-07-01[PATCH] s390: put sys_call_table into .rodata section and write protect itHeiko Carstens2-3/+7
Put s390's syscall tables into .rodata section and write protect this section to prevent misuse of it. Suggested by Arjan van de Ven <[email protected]>. Cc: Arjan van de Ven <[email protected]> Cc: Martin Schwidefsky <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-06-30Remove obsolete #include <linux/config.h>Jörn Engel17-17/+0
Signed-off-by: Jörn Engel <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2006-06-29[S390] Add vmpanic parameter.Peter Oberparleiter1-0/+34
Implementation of new kernel parameter vmpanic that provides a means to perform a z/VM CP command after a kernel panic occurred. Signed-off-by: Peter Oberparleiter <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-06-29[S390] remove export of sys_call_tableMartin Schwidefsky2-3/+0
Remove export of the sys_call_table symbol to prevent the misuse of it. Signed-off-by: Martin Schwidefsky <[email protected]>
2006-06-29[S390] remove unused macros from binfmt_elf32.cMartin Schwidefsky1-5/+0
The two macros NEW_TO_OLD_UID and NEW_TO_OLD_GID in binfmt_elf32.c are not used by any code. Remove them. Signed-off-by: Martin Schwidefsky <[email protected]>
2006-06-29[S390] fix duplicate export of overflow{ug}idSerge E. Hallyn1-2/+0
overflowuid and overflowgid were exported twice. Remove the export from s390_ksyms.c Signed-off-by: Serge E. Hallyn <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-06-29[S390] head.S code moving.Heiko Carstens3-90/+88
There is almost no room left for any new code between 0x10000 and 0x10480. Move the code from 0x10000 to 0x11000. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-06-29[S390] virtual cpu accounting vs. machine checks.Martin Schwidefsky2-41/+116
If a machine checks interrupts the external or the i/o interrupt handler before they have completed the cpu time calculations, the accounting goes wrong. After the cpu returned from the machine check handler to the interrupted interrupt handler, a negative cpu time delta can occur. If the accumulated cpu time in lowcore is small enough this value can get negative as well. The next jiffy interrupt will pick up that negative value, shift it by 12 and add the now huge positive value to the cpu time of the process. To solve this the machine check handler is modified not to change any of the timestamps in the lowcore if the machine check interrupted kernel context. Signed-off-by: Martin Schwidefsky <[email protected]>
2006-06-29[S390] console_unblank woes.Martin Schwidefsky1-3/+18
The software watchdog calls machine_restart from a timer function. The s390 machine_restart calls console_unblank to flush the console output. This is needed for panic to get the panic message printed. If console_unblank is called in interrupt a BUG is triggered in acquire_console_sem. That makes the software watchdog panic instead of restarting the machine. To get around this problem the call to console_unblank is made conditionally on !in_interrupt() || oops_in_progress. Signed-off-by: Martin Schwidefsky <[email protected]>
2006-06-29[S390] memory detection.Heiko Carstens2-2/+2
The wrong base register is used to read a value from the sclp data structure. The value is used to calculate the memory size. Use correct register %r4. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-06-29[S390] incomplete stack traces.Heiko Carstens1-5/+3
show_stack() passes a pointer to the current stack frame to show_trace(). Because of tail call optimization the pointer doesn't point to the original stack frame anymory and therefore traces are wrong. Don't pass the pointer of the current stack frame to show_trace(). Instead let show_trace() calculate the pointer on its own. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-06-27[PATCH] node hotplug: register cpu: remove node structKAMEZAWA Hiroyuki1-1/+1
With Goto-san's patch, we can add new pgdat/node at runtime. I'm now considering node-hot-add with cpu + memory on ACPI. I found acpi container, which describes node, could evaluate cpu before memory. This means cpu-hot-add occurs before memory hot add. In most part, cpu-hot-add doesn't depend on node hot add. But register_cpu(), which creates symbolic link from node to cpu, requires that node should be onlined before register_cpu(). When a node is onlined, its pgdat should be there. This patch-set holds off creating symbolic link from node to cpu until node is onlined. This removes node arguments from register_cpu(). Now, register_cpu() requires 'struct node' as its argument. But the array of struct node is now unified in driver/base/node.c now (By Goto's node hotplug patch). We can get struct node in generic way. So, this argument is not necessary now. This patch also guarantees add cpu under node only when node is onlined. It is necessary for node-hot-add vs. cpu-hot-add patch following this. Moreover, register_cpu calculates cpu->node_id by cpu_to_node() without regard to its 'struct node *root' argument. This patch removes it. Also modify callers of register_cpu()/unregister_cpu, whose args are changed by register-cpu-remove-node-struct patch. [[email protected]: fix it] Signed-off-by: KAMEZAWA Hiroyuki <[email protected]> Cc: Yasunori Goto <[email protected]> Cc: Ashok Raj <[email protected]> Cc: Dave Hansen <[email protected]> Signed-off-by: Brice Goglin <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-06-26Storage class should be firstTobias Klauser1-2/+2
Storage class should be before const Signed-off-by: Tobias Klauser <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2006-06-26spelling fixesAndreas Mohr1-1/+1
acquired (aquired) contiguous (contigious) successful (succesful, succesfull) surprise (suprise) whether (weather) some other misspellings Signed-off-by: Andreas Mohr <[email protected]> Signed-off-by: Adrian Bunk <[email protected]>
2006-06-25[PATCH] s390: setup.c cleanup + build fixHeiko Carstens1-9/+6
Cleanup & fix 31 bit compilation: CC arch/s390/kernel/setup.o arch/s390/kernel/setup.c:83: error: initializer element is not computable at load time arch/s390/kernel/setup.c:83: error: (near initialization for 'code_resource.start') Not sure which patch in the -mm tree breaks this, but since this can be considered a cleanup it can be merged anyway. Cc: Martin Schwidefsky <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-05-25[PATCH] s390: fix typo in stop_hz_timer.Martin Schwidefsky1-1/+1
Add missing parentheses for type cast to u64. Signed-off-by: Martin Schwidefsky <[email protected]> Cc: Dave Jones <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-05-21[PATCH] s390: next_timer_interrupt overflow in stop_hz_timerMartin Schwidefsky1-1/+1
The 32 bit unsigned substraction (next - jiffies) in stop_hz_timer can overflow if jiffies gets advanced between next_timer_interrupt and the read under the xtime lock. The cast to a u64 then results in a large value which causes the cpu to wait too long. Fix this by casting next and jiffies independently to u64 before subtracting them. (Spotted by Zachary Amsden <[email protected]>) Signed-off-by: Martin Schwidefsky <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-05-15[PATCH] s390: add vmsplice system callMartin Schwidefsky2-0/+9
Add new vmsplice system call and add missing __NR_xxx defines for sys_set_robust_list, sys_get_robust_list, sys_splice, sys_sync_file_range and sys_tee. Signed-off-by: Martin Schwidefsky <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-05-15[PATCH] s390: exploit rcu_needs_cpu() interfaceHeiko Carstens1-3/+4
Exploit rcu_needs_cpu() interface to keep the cpu 'ticking' if necessary. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-05-01Merge branch 'audit.b10' of ↵Linus Torvalds1-3/+2
git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b10' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: [PATCH] Audit Filter Performance [PATCH] Rework of IPC auditing [PATCH] More user space subject labels [PATCH] Reworked patch for labels on user space messages [PATCH] change lspp ipc auditing [PATCH] audit inode patch [PATCH] support for context based audit filtering, part 2 [PATCH] support for context based audit filtering [PATCH] no need to wank with task_lock() and pinning task down in audit_syscall_exit() [PATCH] drop task argument of audit_syscall_{entry,exit} [PATCH] drop gfp_mask in audit_log_exit() [PATCH] move call of audit_free() into do_exit() [PATCH] sockaddr patch [PATCH] deal with deadlocks in audit_free()
2006-05-01[PATCH] s390: bug in setup_rt_frameHeiko Carstens1-2/+3
Consider return value of __put_user() when setting up a signal frame instead of ignoring it. Cc: Martin Schwidefsky <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-05-01[PATCH] drop task argument of audit_syscall_{entry,exit}Al Viro1-3/+2
... it's always current, and that's a good thing - allows simpler locking. Signed-off-by: Al Viro <[email protected]>
2006-04-28[PATCH] s390: new system callsMartin Schwidefsky2-0/+47
Add sys_set_robust_list, sys_get_robust_list, sys_splice, sys_sync_file and sys_tee system calls. Signed-off-by: Martin Schwidefsky <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-04-28[PATCH] s390: add read_mostly optimizationChristian Borntraeger1-1/+3
Add a read_mostly section and define __read_mostly to prevent cache line pollution due to writes for mostly read variables. In addition fix the incorrect alignment of the cache_line_aligned data section. s390 has a cacheline size of 256 bytes. Signed-off-by: Christian Borntraeger <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-04-28[PATCH] s390: alternate signal stack handling bugLaurent Meyer1-1/+1
If a signal handler has been established with the SA_ONSTACK option but no alternate stack is provided with sigaltstack(), the kernel still tries to install the alternate stack. Also when setting an alternate stack with sigalstack() and the SS_DISABLE flag, the kernel tries to install the alternate stack on signal delivery. Use the correct conditions sas_ss_flags() to check if the alternate stack has to be used. Signed-off-by: Laurent Meyer <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-03-31[PATCH] for_each_possible_cpu: s390KAMEZAWA Hiroyuki1-3/+3
for_each_cpu() actually iterates across all possible CPUs. We've had mistakes in the past where people were using for_each_cpu() where they should have been iterating across only online or present CPUs. This is inefficient and possibly buggy. We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the future. This patch replaces for_each_cpu with for_each_possible_cpu. Signed-off-by: KAMEZAWA Hiroyuki <[email protected]> Cc: Martin Schwidefsky <[email protected]> Cc: Heiko Carstens <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>