[OpenAFS-devel] Re: [OpenAFS] New FC4 Kernel == Can't Find System Call Table

Chaskiel M Grundman cg2v@andrew.cmu.edu
Thu, 08 Dec 2005 18:43:54 -0500


--==========6EF1EE367AA1319E2C88==========
Content-Type: multipart/mixed;
 boundary="==========93403F2BD898A863916C=========="

--==========93403F2BD898A863916C==========
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline



--On Thursday, December 08, 2005 13:44:34 -0500 Jeffrey Hutzelman=20
<jhutz@cmu.edu> wrote:

> Given a new symbol, there are a couple of approaches we can take to
> determine when to use it.  One is to simply always use the new symbol on
> kernels 2.6.14 and newer.  The other is to extend the control structure
> so we can give the probe code more than one section to look at.

Unfortunately, that doesn't work. I identified a new symbol (for i386 at=20
least: vesa_modes) and did a test patch. The resulting module found the=20
syscall table, and oopsed. It appears that the memory that the syscall=20
table occupies now is actually marked readonly. See attached patch and log. =

('Oops: 003' means that the operation was a write, not a read (0x2) and=20
that it failed due to page protection, not because the page was missing=20
(0x1))

--==========93403F2BD898A863916C==========
Content-Type: text/plain; charset=iso-8859-1; name="syscall_move_useless.diff"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="syscall_move_useless.diff";
 size=1194

Index: src/afs/LINUX/osi_probe.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvs/openafs/src/afs/LINUX/osi_probe.c,v
retrieving revision 1.1.2.6
diff -u -r1.1.2.6 osi_probe.c
--- src/afs/LINUX/osi_probe.c   6 Apr 2005 04:58:19 -0000       1.1.2.6
+++ src/afs/LINUX/osi_probe.c   8 Dec 2005 17:05:17 -0000
@@ -73,6 +73,10 @@
 #include <asm/ia32_unistd.h>
 #endif
=20
+#ifdef AFS_I386_LINUX26_ENV
+#include <linux/fb.h>
+#endif
+
 /* number of syscalls */
 /* NB: on MIPS we care about the 4xxx range */
 #ifndef NR_syscalls
@@ -467,6 +471,9 @@
 #elif defined(AFS_AMD64_LINUX20_ENV)
     /* On this platform, it's in a different section! */
     (unsigned long)&tasklist_lock,
+#elif defined(AFS_I386_LINUX26_ENV) && LINUX_VERSION_CODE >=3D =
KERNEL_VERSION(2,6,14)
+    /* On this platform, it's in a different section! */
+    (unsigned long)&vesa_modes,
 #else
     (unsigned long)&init_mm,
 #endif
@@ -499,6 +506,10 @@
     (unsigned long)&init_mm,
     0xffff,
     16384,
+#elif defined(AFS_I386_LINUX26_ENV) && LINUX_VERSION_CODE >=3D =
KERNEL_VERSION(2,6,14)
+    (unsigned long)&vesa_modes,
+    0xffff,
+    16384,
 #else
     (unsigned long)&init_mm,
     0,


--==========93403F2BD898A863916C==========
Content-Type: text/plain; charset=iso-8859-1; name="syscall_move_oops.log"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="syscall_move_oops.log"; size=2491

Dec  7 23:22:33 copperwall kernel: Found system call table at 0xc03225a0 =
(pattern scan)
Dec  7 23:22:33 copperwall kernel: Unable to handle kernel paging request =
at virtual address c03227c4
Dec  7 23:22:33 copperwall kernel:  printing eip:
Dec  7 23:22:33 copperwall kernel: d150d591
Dec  7 23:22:33 copperwall kernel: *pde =3D ffffffff
Dec  7 23:22:33 copperwall kernel: Oops: 0003 [#1]
Dec  7 23:22:33 copperwall kernel: SMP=20
Dec  7 23:22:33 copperwall kernel: Modules linked in: libafs(U) =
osi_probe(U) ipv6 parport_pc lp parport autofs4 rfcomm l2cap bluetooth =
sunrpc ipt_REJECT ipt_state ip_conntrack nfnetlink iptable_filter ip_tables =
video button battery ac uhci_hcd shpchp i2c_piix4 i2c_core snd_ens1371 =
gameport snd_rawmidi snd_ac97_codec snd_seq_dummy snd_seq_oss =
snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm =
snd_timer snd soundcore snd_page_alloc snd_ac97_bus pcnet32 mii floppy =
dm_snapshot dm_zero dm_mirror ext3 jbd dm_mod BusLogic sd_mod scsi_mod
Dec  7 23:22:33 copperwall kernel: CPU:    0
Dec  7 23:22:33 copperwall kernel: EIP:    0060:[<d150d591>]    Tainted: P  =
    VLI
Dec  7 23:22:33 copperwall kernel: EFLAGS: 00010297   =
(2.6.14-1.1644_FC4smp)=20
Dec  7 23:22:33 copperwall kernel: EIP is at osi_syscall_init+0x29/0x84 =
[libafs]
Dec  7 23:22:33 copperwall kernel: eax: c03225a0   ebx: d1537f80   ecx: =
c037b190   edx: c01344d0
Dec  7 23:22:33 copperwall kernel: esi: 08626a60   edi: 00000002   ebp: =
cda25000   esp: cda25f98
Dec  7 23:22:33 copperwall kernel: ds: 007b   es: 007b   ss: 0068
Dec  7 23:22:33 copperwall kernel: Process modprobe (pid: 21959, =
threadinfo=3Dcda25000 task=3Dcf744570)
Dec  7 23:22:33 copperwall kernel: Stack: badc0ded 00000002 d08cb015 =
d1537f80 c013b1a6 b5f46008 08626a60 b5f46008=20
Dec  7 23:22:33 copperwall kernel:        08626a60 c01039e1 b5f46008 =
0096d91f 08626a60 08626a60 00000002 bfa36f98=20
Dec  7 23:22:33 copperwall kernel:        ffffffda 0000007b 0000007b =
00000080 007ba402 00000073 00010246 bfa36f0c=20
Dec  7 23:22:33 copperwall kernel: Call Trace:
Dec  7 23:22:33 copperwall kernel:  [<d08cb015>] init_module+0x15/0x43 =
[libafs]
Dec  7 23:22:33 copperwall kernel:  [<c013b1a6>] sys_init_module+0xd3/0x21b
Dec  7 23:22:33 copperwall kernel:  [<c01039e1>] syscall_call+0x7/0xb
Dec  7 23:22:33 copperwall kernel: Code: 90 90 83 ec 04 31 c0 e8 4c f9 ff =
ff a3 10 4c 54 d1 31 d2 85 c0 74 56 8b 90 24 02 00 00 81 fa 71 36 51 d1 74 =
4e 89 15 0c 4c 54 d1 <c7> 80 24 02 00 00 71 36 51 d1 8b 15 10 4c 54 d1 8b =
82 44 01 00=20


--==========93403F2BD898A863916C==========--

--==========6EF1EE367AA1319E2C88==========
Content-Type: application/pkcs7-signature
Content-Transfer-Encoding: base64
Content-Disposition: attachment; size=4112

MIIL1wYJKoZIhvcNAQcCoIILyDCCC8QCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3
DQEHAaCCCVswggLjMIICTKADAgECAgMO/8kwDQYJKoZIhvcNAQEEBQAwYjELMAkG
A1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4x
LDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4X
DTA1MDYyMzE3MzEzMFoXDTA2MDYyMzE3MzEzMFowRTEfMB0GA1UEAxMWVGhhd3Rl
IEZyZWVtYWlsIE1lbWJlcjEiMCAGCSqGSIb3DQEJARYTY2cydkBhbmRyZXcuY211
LmVkdTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALujtch96NHbplBs
5DnSTn03EsnbYsLng/wM+wbfyS6ml6CCGYl7HY+sIBm4DNygpyQz0mvtvy9kKz7V
M2GTYdH5QLOgxxPxzV3fItv4jF9LKr9tIiT+v9K7XQ2Xl4kDyJi1g19UsKU4wf+s
uFdennXZ0pkWTpUld9JRZiLSYQDs/Hi62OekBfIX+H96AskyMBhZj5OVA+CYtnCj
fzVYO4a/RoAmemQhlv+whF0Qa3QFrLZtrDXKeYX95KU78q6+cJqtiAri4H3k8NpD
SeWavUxFyH/PFhCYPVdfVDiwaTwfEI5lBF0vTTTL8kSnJSmRBRWw9RkYHNZ8hxBC
Oo9m1oMCAwEAAaNAMD4wDgYDVR0PAQH/BAQDAgXgMB4GA1UdEQQXMBWBE2NnMnZA
YW5kcmV3LmNtdS5lZHUwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQCR
W9k/ckGNAJQ+DeUey0Hed2nlQb4goaakkHviC70vAVt0N34yrk3uxBf5Kch2olqM
SMCR+9+b1iXn0NU9n7QppayQ7SsYci3m8eMlaBk1pK91LrHGQL+ZEqOPqwhRmb0a
lQFAAoJpJdotCBzy0X1GP83i+2DUdT6ydPlmtsm8djCCAz8wggKooAMCAQICAQ0w
DQYJKoZIhvcNAQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJu
IENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1
bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24x
JDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3
DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0wMzA3MTcwMDAw
MDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3
dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29u
YWwgRnJlZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
gYEAxKY8VXNV+065yplaHmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQ
CjDXAmNaLIkVcI7dyfArhVqqP3FWy688Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+
B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEEQB5kGXJgt/sCAwEAAaOBlDCBkTAS
BgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwu
dGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3JsMAsGA1UdDwQE
AwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgw
DQYJKoZIhvcNAQEFBQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4
+DYfqi2fNi/A9BxQIJNwPP2t4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN
3amcOY6MIE9lX5Xa9/eH1sYITq726jTlEBpbNU1341YheILcIRk13iSx0x1G/11f
ZU8wggMtMIIClqADAgECAgEAMA0GCSqGSIb3DQEBBAUAMIHRMQswCQYDVQQGEwJa
QTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAY
BgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9u
IFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJl
ZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0
ZS5jb20wHhcNOTYwMTAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCB0TELMAkGA1UE
BhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3du
MRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNh
dGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFs
IEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0
aGF3dGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUadfUsJRkW3Hp
R9gMUbbqcpGwhF59LQ2PexLfhSV1KHQ6QixjJ5+Ve0vvfhmHHYbqo925zpZkGsIU
bkSsfOaP6E0PcR9AOKYAo4d49vmUhl6t6sBeduvZFKNdbnp8DKVLVX8GGSl/npom
1Wq7OCQIapjHsdqjmJH9edvlWsQcuQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/
MA0GCSqGSIb3DQEBBAUAA4GBAMfskn5O+PWWpWdiKqTwTRFg0G+NYFhhrCa7UjVc
CM8w+6hKloofYkIjjBcP9LpknBesRynfnZhe0mxgcVyirNx54+duAEcftQ0o6AKd
5Jr9E/Sm2Xyx+NxfIyYJkYBz0BQb3kOpgyXy5pwvFcr+pquKB3WLDN1RhGvk+NHO
d6KBMYICRDCCAkACAQEwaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl
IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFs
IEZyZWVtYWlsIElzc3VpbmcgQ0ECAw7/yTAJBgUrDgMCGgUAoIGxMBgGCSqGSIb3
DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA1MTIwODIzNDM1N1ow
IwYJKoZIhvcNAQkEMRYEFASr+XQMyZYiFysZph15f6mrAbN5MFIGCSqGSIb3DQEJ
DzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFA
MAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMA0GCSqGSIb3DQEBAQUABIIBAK68eF0J
Ay9JrnFEIUdEk2ZE1PgT/Z8FSJNLO5NgOp+7y+cc2D3xO+D49oniczxo0OVusL3t
XVc5U1B68cq6yOJTrq8Sn2EoBGS+//90ox7jSJfRvQY6X1yr6mTQfKa4b/qk0M5z
/T1/3quIQwLUkNFUGvaNuk3hrOodxHhLY+lVEbm4wa9mg5RJW9fzM7baNf8K4azi
wNgUU2m1ZvVEy7Pk249gF2CAwFcJmaqg8m6YTu7pNL6AiYn+lA3UPLHc0Aku13WE
urJi1124rCvHw/F42UFnZUQkngeFydySXakKe5WcWHX136fD16FCmVbDHh2G5xJ7
dsHr3hPBEkLmxLY=

--==========6EF1EE367AA1319E2C88==========--