Re: V2.1.42

Richard B. Johnson (root@analogic.com)
Tue, 3 Jun 1997 21:33:51 -0400 (EDT)


On Tue, 3 Jun 1997, Theodore Y. Ts'o wrote:

> Date: Tue, 3 Jun 1997 11:20:00 +0200
> From: Martin Mares <mj@atrey.karlin.mff.cuni.cz>
>
> > Linux version V2.1.42 still has the problem with the default terminal
> > termios structure getting corrupted when arch/i386/mm/init.c frees
> > "unused memory". The result is that echo on primative commands like
> > `cat` thinks the control key was pressed.
>
> Does this still happen after the getties initialize the terminal?
>
> I just looked at 2.1.41, and it doesn't appear to be putting the default
> initial termio structure in the section the would be freed by init.c;
> are you sure about this?
>
> - Ted
>
The tools seem to be okay because the init code begins and ends on
a page boundary so the pointer math should be correct.

c01f3000 A __init_begin
c01fa000 A __init_end
c01dc44e ? __kstrtab_tty_std_termios
c01df810 ? __ksymtab_tty_std_termios
c024db4c B tty_std_termios

I recompiled agetty to no effect. The problem does __NOT__ occur on
my SMP machine which seems to be running okay with the same kernel.
I have both kernels compiled with the exact same drivers and options
except that my non SMP machine (this one) was compiled with SMP commented
out in the Makefile. I use the BusLogic SCSI adapter on this one and
the Adaptec on the SMP machine. Otherwise all tools are exactly the
same (also same init, same getties, etc).

CONFIG_MODULES=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_M586=y
CONFIG_VIDEO_SELECT=y
CONFIG_PNP=y
CONFIG_BLK_DEV_FD=y
CONFIG_NET_ALIAS=y
CONFIG_INET=y
CONFIG_PATH_MTU_DISCOVERY=y
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_SCSI_BUSLOGIC=y
CONFIG_SCSI_OMIT_FLASHPOINT=y
CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_ISA=y
CONFIG_NE2000=y
CONFIG_PPP=y
CONFIG_EXT2_FS=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
CONFIG_NFSD=y
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
CONFIG_ISO9660_FS=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y

I used to be able to read page zero from /dev/kmem using od. Can't anymore
I get a NULL pointer oops. Therfore, I can't see just what might be in
RAM without writing a program that I haven't bothered to do. I remember
when the first page was 'read only` apparently it's now read protected
also. If so, it should give a core dump in user mode. Unfortunately, it now
panics the kernel.

Cheers,
DJ
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Richard B. Johnson
Analogic Corporation
Email : rjohnson@analogic.com, johnson@analogic.com
Penguin : Linux version 2.1.42 on an i586 machine (66.15 BogoMips).
Warning : It's hard to stay on the trailing edge of technology.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-