- 10 Jan, 2003 3 commits
-
-
Willem Riede authored
I earlier reported, that the error handler for ide-scsi exits prematurely if modprobed from rc.sysinit. I put in some debug prints to apprehend the culprit responsible for sending the SIGHUP signal that causes the exit. This is what my log captured: Jan 1 12:20:13 fallguy kernel: Process 223 [modprobe] starting scsi error handler Jan 1 12:20:13 fallguy kernel: Wake up parent of scsi_eh_2, pid 224 Jan 1 12:20:13 fallguy kernel: Signals pending for scsi_eh_2: 00000000 00000000 Jan 1 12:20:13 fallguy kernel: Error handler scsi_eh_2 sleeping Jan 1 12:20:13 fallguy kernel: scsi2 : SCSI host adapter emulation for IDE ATAPI devices [detected devices skipped] Jan 1 12:20:14 fallguy kernel: Signal 15 sent from 181 [rc.sysinit] to 182 [getkey] Jan 1 12:20:14 fallguy kernel: Signal 1 sent from 22 [init] to 22 [init] Jan 1 12:20:14 fallguy kernel: Signal 18 sent from 22 [init] to 22 [init] Jan 1 12:20:14 fallguy kernel: Signal 1 sent from 22 [init] to 22 [init] Jan 1 12:20:14 fallguy kernel: Signal 1 sent from 22 [init] to 24 [initlog] Jan 1 12:20:14 fallguy kernel: Signal 1 sent from 22 [init] to 78 [khubd] Jan 1 12:20:14 fallguy kernel: Signal 1 sent from 22 [init] to 224 [scsi_eh_2] Jan 1 12:20:14 fallguy kernel: Signals pending for scsi_eh_2: 00000001 00000000 Jan 1 12:20:14 fallguy kernel: Error handler scsi_eh_2 exiting Here is a snapshot of some processes made during rc.sysinit: F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 100 0 1 0 15 0 1332 420 schedu S ? 0:05 init ... 040 0 22 1 16 0 1332 388 wait4 S tty1 0:00 init 000 0 23 22 15 0 4116 1316 wait4 S tty1 0:00 /bin/bash / 040 0 24 23 16 0 2160 1364 schedu S tty1 0:00 /sbin/initl ... Init must have forked to exec bash to exec rc.sysinit which then gets re-executed through initlog. When rc.sysinit ends, the last thing it does is send that TERM signal from sub-process 181 to getkey (process 182) -- the 'Signal 15 ...' line above. As the forked init (process 22) exits, it sends a flurry of signals to all surviving processes created from it. That looks like standard "if I am to die I need to take all my offspring down with me" behavior -- do you agree? Since we want error handlers to survive, IMHO that means that the choice of signal for error handler exit is unfortunate. The source of scsi_error suggests SIGPWR might be a worthy alternative. I think that is true. From inspecting init source, it is not capable of sending SIGPWR. SIGPWR should never be sent by dying processes (its sole use should be from a power daemon _to_ init to shut the system down when the juice is running out). So I suggest the following changes to hosts.c and scsi_error.c:
-
Patrick Mansfield authored
Hi - This simple patch adds scsi_level to the scsi_device sysfs attributes, mainly for use with Doug Gilbert's lsscsi program.
-
Douglas Gilbert authored
The attachment modifies the SG_IO ioctl that is in the block layer to: - convey the SCSI status value back via the sg_io_hdr structure - in the event of CHECK CONDITION, convey the sense buffer back via the sg_io_hdr structure - set "output" fields in sg_io_hdr structure to sane values - modify the errno behaviour to be more like the SCSI generic driver's SG_IO ioctl This patch was presented around lk 2.5.51 but fell between the cracks. The only modification is to take account of the changes to scsi/scsi_lib.c since then.
-
- 09 Jan, 2003 18 commits
-
-
Linus Torvalds authored
to properly de-activate it and make the child_tid logic work correctly. Clear %fs/%gs in deactivate_mm() on x86, since our LDT will no longer be valid after this. Update mm_release() to deactivate MM state before releasing, and avoid the expensive child_tid FUTEX if we're the last user of the MM.
-
http://linux-acpi.bkbits.net/linux-acpiLinus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Andy Grover authored
-
Linus Torvalds authored
-
bk://bk.arm.linux.org.ukLinus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Russell King authored
-
Luca Barbieri authored
This patch, which depends on the previous %ebx -> %ebp patch, removes all pop instruction in the sysenter return path. This leaks the thread_info address to user mode but this shouldn't be a security problem. This is what happens to the various registers: %eax: return value from system call: already in place %ebx, %esi, %edi: saved by the C compiler %ecx, %edx, %ebp: restored by user mode, fixed values by kernels %esp, eip: copied to %ecx/%edx and restored by sysexit %ds, %es: initialized to __USER_DS on kernel entry %cs, %ss: restored by sysexit based on msr %fs, %gs: not modified by the kernel (saved around context switch) eflags: not preserved, iopl saved around context switch FP, XMM: any code that modifies them must save/restore them Note that while it is possible to change %ebx, %esi, %edi, %ecx, %edx or %ebp via struct pt_regs, anything that does should set TIF_IRET or another work flag (and it hopefully already does).
-
Luca Barbieri authored
This patch changes assembly code that accesses thread_info to use %ebp rather than %ebx. This allows me to take advantage of the fact that %ebp is restored by user mode in the sysenter register pop removal patch. vm86() direct return code updated to match [ Linus ]
-
bk://bk.arm.linux.org.ukLinus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
bk://linuxusb.bkbits.net/linus-2.5Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Andy Grover authored
into groveronline.com:/root/bk/linux-acpi
-
Greg Kroah-Hartman authored
-
bk://ppc.bkbits.net/for-linus-ppcLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Paul Mackerras authored
This also cleans up the machine check code generally.
-
Paul Mackerras authored
-
bk://68.0.152.218/linux-2.5-miscPaul Mackerras authored
into samba.org:/home/paulus/kernel/for-linus-ppc
-
bk://kernel.bkbits.net/davem/sparc-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
bk://kernel.bkbits.net/davem/net-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
- 08 Jan, 2003 19 commits
-
-
Russell King authored
Supply the old termios, along with the max and min acceptable baud rate to uart_get_baud_rate(). uart_get_baud_rate() will now try to find a baud rate that satisfies the max and min constraint out of (requested rate, old rate, 9600 baud). We remove the code which performed a similar act in uart_get_divisor() and pass an appropriate min and max baud rate to uart_get_baud_rate() based on the UART clock rate.
-
Russell King authored
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/sparc-2.5
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/net-2.5
-
David S. Miller authored
-
David S. Miller authored
-
Oskar Andreasson authored
-
James Morris authored
-
David S. Miller authored
-
James Morris authored
- Merged AES code from Adam J. Richter <adam@yggdrasil.com> - Add kconfig help and test vector code from Martin Clausen <martin@ostenfeld.dk> - Minor cleanups: removed EXPORT_NO_SYMBOLS (not needed for 2.5), removed debugging code etc. - Documentation updates.
-
James Morris authored
-
Greg Kroah-Hartman authored
into kroah.com:/home/linux/linux/BK/gregkh-2.5
-
Linus Torvalds authored
-
Dave Jones authored
-
Dave Jones authored
Since we killed off the broken 486 strings copies, the config item isn't needed any longer.
-
Dave Jones authored
Next in line for the -W cleanups is this patch from Willy which I've been carrying since 2.5.29 or so. Should be no functional differences, just no more warnings when we compile with -W
-
Dave Jones authored
s/boundry/boundary/
-
Dave Jones authored
-
Dave Jones authored
Without this fix, compiling with CONFIG_DEBUG_SPINLOCK dies with an unknown variable error..
-