Oops.. (infinite recursion in register_serial)

Nicolas Lichtmaier (nick@technisys.com.ar)
Wed, 3 Feb 1999 11:33:21 -0300


Oops: 0002
CPU: 0
EIP: 0010:[serial:register_serial+-70468/292]
EFLAGS: 00010202
eax: 00000038 ebx: c0bededc ecx: 0000000e edx: 00000038
esi: c11a1f60 edi: 00000000 ebp: 00000038 esp: c0bede28
ds: 0018 es: 0018 ss: 0018
Process find (pid: 1959, process nr: 53, stackpage=c0bed000)
Stack: c480cbdd 00000000 c11a1f60 00000038 c0bededc c2f0f750 c480d9be c0bededc
c11a1f60 00000038 c0bededc c2f0f750 00000000 c0bedf1c 00000015 00000003
c480cbc4 000000a8 c480cffd c11a1f60 c4812fc0 00000004 00000200 c2f0f750
Call Trace: [serial:register_serial+-67535/292] [serial:register_serial+-63982/292] [serial:register_serial+-67560/292] [serial:register_serial+-66479/292] [serial:register_serial+-41964/292] [serial:register_serial+-63315/292] [serial:register_serial+-54601/292]
[serial:register_serial+-41964/292] [serial:register_serial+-67560/292] [serial:register_serial+-54480/292] [serial:register_serial+-72335/292] [d_alloc+24/336] [real_lookup+81/124] [lookup_dentry+266/440] [__namei+41/92]
[sys_newlstat+19/100] [system_call+52/56]
Code: f3 a5 a8 02 74 02 66 a5 a8 01 74 01 a4 5e 5f c3 57 56 8b 7c

popotito:~# lsmod
Module Size Used by
ntfs 33872 1 (autoclean)
ne2k-pci 3560 1
8390 5944 0 [ne2k-pci]
popotito:~# cat /proc/version
Linux version 2.2.1-ac1 (root@popotito) (gcc version 2.7.2.3) #1 Mon Feb 1 10:55:43 ART 1999
popotito:~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 3
model name : Pentium II (Klamath)
stepping : 4
cpu MHz : 274.098834
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov mmx
bogomips : 273.61

This is the script that causes the oops:
---------------------------------------------------------
#!/bin/sh
# Security checks script - run daily out of the system crontab

set -e

PATH=/sbin:/bin:/usr/sbin:/usr/bin

LOG=/var/log
TMP=/var/log/setuid.new.tmp

umask 077
cd /

. /etc/checksecurity.conf

if [ "$CHECKSECURITY_DISABLE" = "TRUE" ] ; then
exit
fi

#
# Check for NFS/AFS mounts that are not nosuid/nodev
#
#
# Check for NFS/AFS mounts that are not nosuid/nodev
#
if [ ! "$CHECKSECURITY_NONFSAFS" = "TRUE" ] ; then
# temporarily disable error exit, as grep may give errors if no nfs/afs
# are mounted.
set +e
nfssys=`mount | grep -E 'nfs|afs' | grep -vE '\(.*(nosuid|noexec).*nodev.*\)'`
nfssyscnt=`echo $nfssys |grep "[a-z]"| wc -l`
set -e
if [ $nfssyscnt -gt 0 ] ; then
echo "The following NFS or AFS filesystems are mounted insecurely:"
echo ""
echo $nfssys
echo ""
echo "If this is intentional and you have supreme confidence in the"
echo "security of the server for these file systems, you may disable"
echo "this message by editing the value of CHECKSECURITY_NONFSAFS in"
echo "the file /etc/checksecurity.conf."
fi
fi

if [ "$CHECKSECURITY_NOFINDERRORS" = "TRUE" ] ; then
exec 9>&2
exec 2>/dev/null
fi

#
# THIS LINE CAUSES THE OOPS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#
find `mount | grep -vE "$CHECKSECURITY_FILTER" | cut -d ' ' -f 3` \
-xdev \( -type f -perm +06000 -o -type b -o -type c \) \
-printf "%8i %5m %3n %-10u %-10g %9s %t %h/%f\n" \
| sort >$TMP

if [ "$CHECKSECURITY_NOFINDERRORS" = "TRUE" ] ; then
exec 2>&9
fi

cd $LOG

test -f setuid.today || touch setuid.today

if cmp -s setuid.today $TMP >/dev/null
then
:
else
echo "`hostname` changes to setuid programs and devices:"
diff setuid.today $TMP || [ $? = 1 ]
mv setuid.today setuid.yesterday
mv $TMP setuid.today
fi
rm -f $TMP

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/