CDIC 2023

Linux เริ่มแก้ไขปัญหา Y2038 ปัญหาคล้ายคลึงกับ Y2K ใน Linux Kernel 4.15 เพิ่มเติม

หากใครทันกับสมัยปัญหา Y2K ที่บรรดาซอฟต์แวร์ต่างๆ นั้นถูกพัฒนาด้วยการระบุจำนวนปีจากการใช้เลขท้าย 2 หลักของค.ศ. เพื่อรองรับการระบุเวลาในช่วง 1900 – 2000 นั้น ปัญหานี้อาจเกิดขึ้นอีกครั้งในปี 2038 จากการระบุเวลาด้วย Signed 32-bit Integer แทน โดยปัญหานี้มีชื่อเรียกกันว่า Y2038 และทางทีมพัฒนา Linux Kernel ก็กำลังทำการแก้ไขปัญหาดังกล่าวอยู่

 

การใช้ Unix Signed 32-bit Integer ในการเก็บเวลานี้จะทำให้เวลาสุดท้ายที่ตัวแปรสามารถแสดงผลได้ถูกต้องคือเวลา 03:14:07 UTC ของวันอังคารที่ 19 มกราคม 2038 หรือคือค่า 2^31 – 1 นับวินาทีแรกเริ่มต้นจาก 1 มกราคม 1970 นั่นเอง ซึ่งวินาทีถัดไปที่เลยจากวินาทีสุดท้ายดังกล่าวนั้นจะเป็นค่าเวลาติดลบ และถูกระบบตีความว่าเป็นวันที่ 13 ธันวาคม 1901 เป็นปัญหาที่เกิดจาก Integer Overflow นั่นเอง โดยใน Wikipedia นั้นได้รายงานว่าระบบที่น่าจะได้รับผลกระทบกับปัญหานี้หลักๆ คือเหล่าบรรดา Embedded Systems ที่ถูกพัฒนามาก่อนหน้าและไม่สามารถทำการอัปเดตแก้ไขได้โดยง่าย รวมถึง Android บางระบบนั้นก็สามารถแครชและ Restart ไม่ขึ้นหากถูกตั้งเวลาเอาไว้เป็นช่วงที่มีปัญหา Y2038 ดังกล่าว

ใน Security Update ของ Linux 4.15 Kernel นี้ได้มีการ Merge โค้ดในส่วนที่แก้ไขปัญหา Y2038 เพิ่มเติมจำนวนมาก เพราะปัญหานี้ส่งผลกระทบต่อระบบ Timestamp ในระบบย่อยที่หลากหลาย ซึ่งแนวทางหนึ่งที่ถูกนำมาใช้แก้ปัญหานี้ก็คือการยกเลิกการใช้คำสั่ง do_gettimeofday() ที่ถูกประกาศ deprecate ไปแล้ว มาใช้คำสั่ง ktime_get_real_ts64() หรือ ktime_get_seconds() แทน

ใครพัฒนาโปรแกรมอะไรที่มีส่วนข้องเกี่ยวกับเวลา ก็อย่าลืมจัดการกับปัญหาดังกล่าวที่อาจเกิดขึ้นด้วยนะครับ

 

ที่มา: https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.15-Year-2038-Fixes


About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

Apple ออกแพตช์ฉุกเฉินอุดช่องโหว่ Zero-Day บน iOS และ iPadOS

Apple ออกแพตช์ฉุกเฉินอุดช่องโหว่ Zero-Day บน iOS และ iPadOS

ยกระดับบริการขององค์กรอย่างมั่นใจด้วย HPE Aruba Networking SASE โดย ยิบอินซอย

HPE Aruba Networking นำเสนอ Unified SASE ที่รวมเอาความสามารถของเทคโนโลยี SD-WAN และ SSE เข้าไว้ด้วยกัน เพื่อความง่ายดายในการบริหารจัดการ SD-WAN, Routing, WAN Optimization ตลอดจนการบังคับใช้นโยบายความปลอดภัยได้แบบ end-to-end เพื่อให้การทำงานของแอปพลิเคชันมีประสิทธิภาพสูงขึ้น มั่นคงปลอดภัย ลดต้นทุน และพร้อมให้บริการเสมอ