2
อ่าน / เขียนไฟล์ภายในโมดูลเคอร์เนล Linux
ฉันรู้การอภิปรายทั้งหมดเกี่ยวกับสาเหตุที่ไม่ควรอ่าน / เขียนไฟล์จากเคอร์เนลแทนที่จะใช้/ procหรือnetlinkเพื่อทำเช่นนั้น ฉันต้องการอ่าน / เขียนต่อไป ฉันได้อ่าน Driving Me Nuts - สิ่งที่คุณไม่ควรทำในเคอร์เนลด้วย แต่ปัญหาก็คือว่า 2.6.30 sys_read()ไม่ได้ส่งออก SYSCALL_DEFINE3แต่มันอยู่ในห่อ ดังนั้นหากฉันใช้มันในโมดูลของฉันฉันจะได้รับคำเตือนต่อไปนี้: WARNING: "sys_read" [xxx.ko] undefined! WARNING: "sys_open" [xxx.ko] undefined! เห็นได้ชัดว่าinsmodไม่สามารถโหลดโมดูลได้เนื่องจากการเชื่อมโยงเกิดขึ้นไม่ถูกต้อง คำถาม: วิธีอ่าน / เขียนภายในเคอร์เนลหลังจาก 2.6.22 (โดยที่ sys_read() / sys_open()ไม่ถูกส่งออก) โดยทั่วไปจะใช้การเรียกระบบที่ห่อด้วยมาโครSYSCALL_DEFINEn()จากภายในเคอร์เนลได้อย่างไร?