mirror of
https://github.com/torvalds/linux.git
synced 2026-06-23 22:53:12 +02:00
Remove the broken line wrapping handling in pdc_iodc_print().
It is broken in 3 ways :
- It doesn't keep track of the current screen position, it just
assumes that the new buffer will be printed at the begining of the
screen.
- It doesn't take in account that non printable characters won't
increase the current position on the screen.
- And last but not least, it triggers a kernel panic if a backspace
is the first char in the provided buffer :
Backtrace:
[<0000000040128ec4>] pdc_console_write+0x44/0x78
[<0000000040128f18>] pdc_console_tty_write+0x20/0x38
[<000000004032f1ac>] n_tty_write+0x2a4/0x550
[<000000004032b158>] tty_write+0x1e0/0x2d8
[<00000000401bb420>] vfs_write+0xb8/0x188
[<00000000401bb630>] sys_write+0x68/0xb8
[<0000000040104eb8>] syscall_exit+0x0/0x14
Most terminals handle the line wrapping just fine. I've confirmed that
it works correctly on a C8000 with both vga and serial output.
Signed-off-by: Guy Martin <gmsoft@tuxicoman.be>
Cc: Stable Tree <stable@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| asm-offsets.c | ||
| binfmt_elf32.c | ||
| cache.c | ||
| drivers.c | ||
| entry.S | ||
| firmware.c | ||
| ftrace.c | ||
| hardware.c | ||
| head.S | ||
| hpmc.S | ||
| init_task.c | ||
| inventory.c | ||
| irq.c | ||
| Makefile | ||
| module.c | ||
| pa7300lc.c | ||
| pacache.S | ||
| parisc_ksyms.c | ||
| pci-dma.c | ||
| pci.c | ||
| pdc_chassis.c | ||
| pdc_cons.c | ||
| perf_asm.S | ||
| perf_images.h | ||
| perf.c | ||
| process.c | ||
| processor.c | ||
| ptrace.c | ||
| real2.S | ||
| setup.c | ||
| signal.c | ||
| signal32.c | ||
| signal32.h | ||
| smp.c | ||
| stacktrace.c | ||
| sys_parisc.c | ||
| sys_parisc32.c | ||
| sys32.h | ||
| syscall_table.S | ||
| syscall.S | ||
| time.c | ||
| topology.c | ||
| traps.c | ||
| unaligned.c | ||
| unwind.c | ||
| vmlinux.lds.S | ||