ในงาน Maintainers Summit ที่ประชุมกลุ่มนักพัฒนาเคอร์เนลลินุกซ์ปีนี้ ที่ประชุมตกลงปรับสถานะภาษา Rust จากเดิมที่เป็นโค้ดทดลอง (experimental) มาเป็นโค้ดปกติ
แม้ว่า Rust จะอยู่ในฐานะการทดลองในเคอร์เนลมาตลอด แต่ก็มีโค้ดจำนวนมากในเคอร์เนลเขียนด้วย Rust อยู่แล้ว เช่น Asahi Linux พยายามพัฒนาไดร์เวอร์ GPU ของ Apple Silicon ใน Rust และเป็นชนวนความขัดแย้งระหว่างนักพัฒนาจนผู้ดูแลโครงการลาออกไป โดยก่อนหน้านี้ Alex Gaynor นักพัฒนาเคอร์เนลคนแรกที่ทดลองใช้ Rust ในเคอร์เนลก็ถอนตัวออกมาแล้ว
ตอนนี้ API ต่างๆ ในเคอร์เนลยังไม่มีตัวแปลงเป็นภาษา Rust ทั้งหมด การเขียนไดร์เวอร์ต่างๆ ในภาษา Rust ยังทำได้จำกัด
แนวทางของโลก system programming ส่วนมากยอมรับว่า Rust ช่วยลดความเสี่ยงช่องโหว่ต่างๆ ลงได้ เมื่อเดือนที่แล้ว Debian ก็ผูก Rust เป็นส่วนหนึ่งของการ build ระบบไปเรียบร้อยแล้ว แต่ก็ยังมีเสียงต่อต้าน โดยเฉพาะข้อจำกัดที่ Rust ไม่ได้รองรับซีพียูทุกรุ่นเหมือนภาษา C
ที่มา - LWN.net
on
AArch ต่าง ๆ…
big50000 Fri, 12/12/2025 - 21:28
AArch ต่าง ๆ เตรียมตกหล่นกันระนาว
ขอถามตรงๆ นะครับว่า คุณ lew…
rattananen Sat, 13/12/2025 - 13:11
ขอถามตรงๆ นะครับว่า คุณ lew bias ไปทาง rust หรือเปล่าครับเห็นเสนอ อะไรที่เป็น positive ไปทาง rust อย่างเดียว
https://www.blognone.com/node/148941 ข่าวนี้ Cloudflare ล่มครั้งใหญ่ ในที่มาเอา code ของ rust บรรทัดที่เกิด buffer overflow มาให้ ดูแล้วน่าจะเป็นประเด็นให้เอามาเขียนได้ แต่ไม่เอามาใส่
แต่พอเป็น https://www.blognone.com/node/149140 Cloudflare ล่มย่อย กลับบอก ว่าส่วนของ code ภาษา Lua มีปัญหา
ผมไม่ติดใจเรื่อง bias มันเป็นความชอบส่วนตัว
แต่เป็นสื่อแล้ว bias มันไม่ใช่สื่อที่ดีเท่าไรครับ
ถ้าคุณคิดว่า Blognone…
big50000 Sat, 13/12/2025 - 14:03
In reply to ขอถามตรงๆ นะครับว่า คุณ lew… by rattananen
ถ้าคุณคิดว่า Blognone คือสื่อไร้ Bias ไร้อคติ คุณมาผิดทางแล้ว ไม่มีนักเขียนข่าวในนี้เคลมว่าไร้ Bias เลยสักคน เผลอ ๆ ดักได้ด้วย และผมชอบมาก 555555555555555555555
ซอส: รุ่นพี่ท่านหนึ่งที่โต้คลื่น Blognone มา 15 ปีช่วยดึงสติ
ผมไม่ชอบคิดไปเองว่าคนอื่นเป็…
rattananen Sat, 13/12/2025 - 14:14
In reply to ถ้าคุณคิดว่า Blognone… by big50000
ผมไม่ชอบคิดไปเองว่าคนอื่นเป็นอย่างไรน่ะครับ มันเสียเวลา มีโอกาสคิดผิดด้วย
ถามตรงๆ ดีกว่าเร็วดี เชื่อถือได้
และ bias แบบนี้ไม่ดีเท่าไร ผมเห็นว่ามันเป็นการปกปิด บิดเบือนความจริง
ไม่ต่างกับที่ข้าราชการประเทศนี้ทำกันเท่าไร
ถ้าคุณไม่เคยสังเกตสไตล์การเข…
big50000 Sat, 13/12/2025 - 16:37
In reply to ผมไม่ชอบคิดไปเองว่าคนอื่นเป็… by rattananen
ถ้าคุณไม่เคยสังเกตสไตล์การเขียนข่าวของนักเขียน Blognone ตลอด 10 ปีที่ผ่านมาก็นับว่าคุณพลาดมาก (คุณอยู่ที่นี่มา 17 ปีแล้วนะ หัดหาคำตอบให้ตัวเองบ้าง ไม่ใช่ทุกคำถามที่จะได้คำตอบ ผมนี่ได้ตีมือ User ประจำเพราะไม่ยอมรับตัวเองนี่แหละ) และไม่จำเป็นต้องคิดไปเองด้วยว่าคนอื่นเป็นอย่างไรด้วย (ผมก็ Cite ไว้แล้วนะ ไม่ได้คิดไปเอง เสียหายหาเม้นนั้นไม่เจอ) คำว่า Opinionated ไม่ได้เกิดขึ้นมาเฉย ๆ หรอกนะ
อีกอย่างใครมันจะบ้าอยากจะไปบอก "ความจริง" ถ้าตอบไปแล้วมันทำให้ตัวเองมีปัญหาแบบไม่จำเป็น เหมือนที่คุณกำลังทำอยู่นี่แหละ
คุณไม่เห็นด้วยไม่เป็นไรครับ…
rattananen Sat, 13/12/2025 - 17:33
In reply to ถ้าคุณไม่เคยสังเกตสไตล์การเข… by big50000
คุณไม่เห็นด้วยไม่เป็นไรครับ
เขาไม่ตอบก็ไม่เป็นอะไร ผมก็แค่ทำเป็นไม่รู้เรื่องอะไรเท่านั้น
เหตุที่ผม มีแนวทางแบบนี้ เพราะผมเคยคิดว่าคนอื่นเป็นนู่นนี้มาก่อนน่ะครับ
แต่มันมีผลดีก็คือ
ทำให้ตัวผมเหมื่อนเป็นคนฉลาด (น้ำเต็มแก้ว) แค่นั้น
แต่ผลเสียคือ
ถ้าเกิดความขัดแย้ง แล้วมีเรื่องขุ่นเคือง มันนานกว่าจะจบ
ผมมองแล้วมันไม่คุ้ม เลยเปลี่ยนแนวเป็นแบบนี้ ถึงมันเจ็บ แต่มันจบไว รู้ผลไวกว่า น่ะครับ
สิ่งสำคัญในการพัฒนาตนเอง อย่างหนี่ง การกล้ายอมรับความจริง และกล้าแก้ไข
ตัวอย่างใกล้ตัวของคนที่ไม่มีการพัฒนาตนเอง มันมีให้เห็นครับ
ex. ข้าราชการประเทศนี้ ไม่กล้ายอมรับความจริง ไม่กล้าแก้ไข มันเลยไม่มีอะไรพัฒนาให้เห็นไงครับ
เมื่อก่อนผมอยากให้คนอื่น สนใจผม เห็นผมเป็นคนฉลาด เก่ง
แต่พออายุมากขึ้น ผมกลับชอบความสันโดษ จะมองผมแบบไหนก็ได้ อย่าเอาความเดือดร้อน ความขัดแย้งมาให้ผมก็พอ แต่ผมก็ยังรักความยุติธรรมอยู่นะ เห็นอะไรไม่ถูกก็ชอบไปยุ่งอยู่ประจำ
เรื่อง สื่อ & bias…
Hoo Sat, 13/12/2025 - 23:50
In reply to ถ้าคุณคิดว่า Blognone… by big50000
เรื่อง สื่อ & bias ในภาพรวมทั่วๆไป ส่วนตัวมองว่า
การไม่มีความคิดจะขจัด bias = ไม่คิดจะเป็นสื่อที่ดี
ก็คงต้องข้ามไปดูว่า สื่อหัวนั้นตั้งใจจะวาง position ตัวเองว่าเป็นสื่อที่ดีรึเปล่า?
ถ้าต้องการจะเป็นสื่อที่ดี ก็ต้องพยายามขจัด bias
ซึ่งแน่นอนอาจจะไม่หมด มีหลุด หรือ ไม่รู้ตัว ตามประสามนุษย์
แต่อย่างน้อยต้องพยายามขจัด bias อย่างสุดกำลัง
ไม่ใช่เห็นว่าการมี bias อย่างจงใจเป็นสิทธิของสื่อ
ปล. ย้ำว่าเป็น คหสต. จากคนที่เคยเห็นยุคสื่อยังมีแนวคิดถือจรรยาบรรณ
พยายามขจัด bias ตามจรรยาบรรณ
ปล2. ย้ำว่าเป็นมุมมองงของวงการสื่อ/อินฟลูฯทั่วไป ไม่เจาะจงถึงเวปนี้
แต่มาเห็นกระทู้นี้เลยขอระบายหน่อย 😅
มันจะดีมากน่ะแหละถ้าสื่อจะไม…
big50000 Sun, 14/12/2025 - 17:48
In reply to เรื่อง สื่อ & bias… by Hoo
มันจะดีมากน่ะแหละถ้าสื่อจะไม่มีอคติ แค่ผมไม่เคยเห็นใน Blognone เลยสักกะที และไม่น่าจะใช่เพราะจะทำยอด Engage ด้วย (เพราะถ้าจริงจะตลกมาก ที่เห็นคอมเม้นก็หน้าเดิม ๆ กันทั้งนั้น ผมก็ด้วย) เลยคิดว่าลดความคาดหวังและไปอ่านข่าวเพิ่มเติมเองน่าจะง่ายกว่า อนึ่งพลวัตการแสดงความคิดเห็นของคนใน Blognone ก็หลากหลายพอที่ผมจะไม่ห่วง คนเขียนข่าวชักจูงคนไม่ได้แน่ ๆ
เอาง่าย ๆ ผมเกลียด Freedesktop.org เข้ากระดูกดำ (ในโลกคอมพิวเตอร์ ผมเป็นสายอนุรักษ์นิยม แต่พวกเวรตะไลนี่ชอบพัง Compat ประจำ) แต่ผมเห็นคนยกยอปอปั้น Wayland หรือ GNOME ก็ไม่ได้เดือดร้อนอะไรนะ คิดเอาว่าขนาดโดนสังคมกดดันให้มาใช้ Wayland ก็ต้องทนเอา
เราเชื่อมั่นในความไม่เป็นกลา…
hisoft Sun, 14/12/2025 - 18:45
In reply to เรื่อง สื่อ & bias… by Hoo
Blognone—Writing Guideline
ณ จุด ๆ…
big50000 Sun, 14/12/2025 - 19:30
In reply to เราเชื่อมั่นในความไม่เป็นกลา… by hisoft
ณ จุด ๆ นี้ผมรู้สึกโง่มากที่ไม่เอา Quote นี้มาแปะ...
ใจเย็นๆ ฮะ 🥲…
hisoft Sun, 14/12/2025 - 19:47
In reply to ณ จุด ๆ… by big50000
ใจเย็นๆ ฮะ 🥲 ทางนี้รู้สึกผิดไปด้วยเลย
55 ไม่เคยเข้าไปอ่านส่วน…
Hoo Mon, 15/12/2025 - 07:19
In reply to เราเชื่อมั่นในความไม่เป็นกลา… by hisoft
55
ไม่เคยเข้าไปอ่านส่วน Writing เลย
ถ้าประกาศว่ามีนโยบายแบบนี้ก็ตามนั้นแหละครับ
https://www.blognone.com…
hisoft Sun, 14/12/2025 - 18:43
In reply to ขอถามตรงๆ นะครับว่า คุณ lew… by rattananen
มันไม่ได้เกิด buffer overflow นี่ฮะ Rust เลือกที่จะ panic ตัวเองไปเลยไม่ทำงานต่อไปแบบผิดๆ ตอนที่ข้อมูลไม่เป็นไปตามที่คนเขียนบอก compiler ว่า "this is ok, trust me" ซึ่งสุดท้าย Rust ก็แค่ยอมเชื่อตอน compile แต่ตอนรันจริงมันก็แอบเช็คอยู่ดี แล้วพอเช็คว่าไม่เป็นไปตามนั้นมันก็ panic ไม่ใช่ทำงานต่อไปด้วยข้อมูลที่ไม่ควร
ที่พลาดไปคือไม่ได้ handle ให้มีการแจ้งออกมาดีๆ ว่าพังเพราะอะไรตรงไหนเท่านั้นเอง
https://blog.cloudflare.com…
rattananen Sun, 14/12/2025 - 20:25
In reply to https://www.blognone.com… by hisoft
https://blog.cloudflare.com/18-november-2025-outage/#memory-preallocation
คือปกติ feature data object มันมีไม่เกิน 60 elements
ฉะนั้น programmer เลย จอง memory ไว้สำหรับ 200 elements เพราะคิดว่ายังไงก็พอ
แต่ API ที่ใช้ function นี้ มันถูกแก้ทำให้ feature data object ที่ส่งไปให้ function นี้มันเกิน 200
ทำให้ code ที่ error พยายามจะ access elements ที่ 201+
แต่ OS ก็ตอบมาว่า segmentation fault core dump
Rust ก็เลย panic
อาการแบบนี้ผมเรียก buffer overflow น่ะครับ
สำหรับคนเขียนแบบนี้น่ะ ถือว่าถูกต้องแล้ว ไม่จำเป็นต้องแก้ code ( แต่ผมก็สงสัยอยู่ดีว่าทำไมไม่ใช้ Vec มันก็คล้ายๆ Array แต่ dynamic allocation ได้ แค่มันมีข้อเสียนิดหน่อย )
แต่คนใช้ รู้เท่าไม่ถึงการณ์
case นี้ภาษาที่มี API access memory โดยตรงได้ ก็มีให้เห็นครับ
ต่อให้เขียนด้วย C, C++ มันก็เจออาการเดียวครับ
แต่ถึงคนเขียนไม่ได้ผิดพลาดอะไร ภาษาก็ไม่ได้ผิดอะไร
มันก็ buffer overflow อยู่ดี
In this specific instance,…
big50000 Sun, 14/12/2025 - 22:09
In reply to https://blog.cloudflare.com… by rattananen
Dev ตั้งใจให้เป็นแบบนี้อยู่แล้ว เพราะไม่คิดว่ามันจะเกิน จึง Design แบบนี้ และ Rust เองก็ถูกออกแบบให้ Panic เมื่อ unwrap แบบไม่มี value มาตั้งแต่ต้น จึง Panic และ Crash ออกมา มันไม่ได้ Buffer Overflow แต่อย่างใด เพราะอาการ Buffer Overflow จะปล่อยให้หน่วยความจำถูกเขียนทับได้ และโปรแกรมก็จะรันต่อไปจนกว่าจะถูกป้องกันโดยตัวป้องกันหน่วยความจำ (Segfault) หรือสิ้นสุด Flow แบบเงียบ ๆ ไปเลย (ซึ่งน่ากลัวมากถ้าเกิดจากการถูกโจมตี ทำให้โปรแกรมนั้นถูกยึดไปเลย) ซึ่ง Rust ก็ไม่ได้ปล่อย เครื่องไม่ได้แม้กระทั่งดีด Segfault (Hardware Memory Protection) ออกมาด้วยซ้ำ เป็น Error จากฝั่ง Rust เอง ไม่เห็น Mention Segfault เลยสักบรรทัด นอกจากว่าคนเขียนบทความฝั่ง Cloudflare โกหก
Error Handling. The Rust Programming Language.
สรุป Rust ผิดเหรอกรณีนี้ที่ยอม Crash ออกมา หรือคุณมองว่าการที่ Rust ปล่อย
panic!()คือ Buffer Overflow? (ซึ่งผิดมหันต์)อนึ่ง
เนื้อข่าวบอกตั้งแต่เริ่มต้นเลยว่ากำลังอยู่ในระหว่าง Migrate ระบบ Bot ไปยัง FL2 (ที่เขียนด้วย Rust) ดังนั้นข้อผิดพลาดมันยังไม่ได้ไปถึง FL2 เลยด้วยซ้ำในช่วงเกิดเหตุ แต่ระหว่างทางมันเกิดพอดีเลยทำให้ได้เจอข้อผิดพลาดของโปรแกรมนี้ ที่ต่างจากตัว FL (1) ออกไป
เนื้อหาบอกชัดเจนว่ากรณีของ FL2 (Rust) ปล่อยปุ๊บระบบล่มทันที แต่ FL1 (Lua) กลับไม่เจอ Error แต่พบว่า Bot Score ปล่อยค่าออกมาไม่ถูกต้องและเกิด False Positive ขึ้นจำนวนมากจนต้องสืบสวนต่อและเผอิญไปเจอว่า FL2 (Rust) ไม่ยอมปล่อยให้รันต่อเมื่อค่าไม่ถูกต้องจึง Panic ออกมา ผมยังหาความเชื่อมโยงเลยว่า Rust เป็นปัญหาอย่างไรกับ Incident ครั้งนี้
https://en.wikipedia.org…
rattananen Sun, 14/12/2025 - 22:57
In reply to In this specific instance,… by big50000
https://en.wikipedia.org/wiki/Buffer_overflow
A จองไว้ 8 elements
แต่ใส่ไป 9 element
และ process พยาม access ตัวที่ 9
โชคดีที่ตอนล่ม
B มันไม่ใช่ของ process นั้น OS มันเลยแจ้ง error
แล้ว API language ก็เอา error code มา handle
แต่ถ้า B เป็นของ process นั้น OS จะไม่แจ้ง error และอาจจะไม่จบแค่ล่ม
แต่จากนี้ก็ไม่แน่ใจ ว่าแจ้งผ่านอะไร
คิดว่าน่าจะเป็น signal หรือ interrupt อะไรสักอย่าง
ซึ่งผมก็ไม่แน่ใจอีกว่ามันคืออะไรกันแน่
ส่วนตัวผมยังคิดว่ากรณีนี้ไม่…
hisoft Sun, 14/12/2025 - 23:45
In reply to https://en.wikipedia.org… by rattananen
ส่วนตัวผมยังคิดว่ากรณีนี้ไม่นับเป็น buffer overflow นะฮะ กรณีของ buffer overflow เท่าที่ผมจำได้และเข้าใจจะเกิดขึ้นเมื่อมีการเขียนลง memory เกินจากที่ออกแบบไว้เท่านั้น ต้องล้นออกไปแล้วจึงสร้างความเสียหายได้
แต่จากกรณีนี้ (เท่าที่เดา ผมไม่รู้ว่า Cloudflare เปิด source ตรงนี้หรือไม่ ได้แค่แกะจากเท่าที่เห็นที่เค้าแปะไว้ในบล็อก) มีการจองหน่วยความจำไว้สำหรับ 200 แล้ว แต่เมื่อพยายามจะเพิ่มเข้าไปมากกว่า 200 ด้วยฟังก์ชัน
.append_with_names()ที่ return type เป็น Result (เพราะใน trace มีบอกว่ามีความพยายามเรียก.unwrap()กับ Error)สิ่งที่เกิดขึ้นคือฟังก์ชัน
.append_with_names()return ค่ามาเป็น Result.Error ซึ่งหมายความว่า append ไม่สำเร็จแม้จะมีข้อมูลไม่มากพอว่ามันไม่สำเร็จตั้งแต่ตอนพยายาม append เข้าไป หรือ append เข้าไปได้แล้วแต่มีพยายามเรียกกลับมาอ่านเลยพัง ความเป็นไปได้ที่จะ append เข้าไปได้แบบ buffer overflow ใน Rust อ้างอิงจากลักษณะโค้ดที่เปิดมามันต่ำมากจนผมไม่คิดว่าจะเป็นสิ่งที่เกิดขึ้นในกรณีนี้ (คือไม่ใช่จองไว้ 8 ใส่ไป 9 แล้วพังตอนพยายามอ่าน 9 แต่พังตั้งแต่พยายามใส่ 9) เมื่อยังไม่ได้ append จนล้น memory ที่ใส่ไว้ผมจึงไม่เห็นด้วยที่จะเรียกว่าเกิด buffer overflow ฮะ
ทั้งนี้ผมก็ไม่พอใจในโค้ดที่เค้าเปิดออกมาอยู่บ้าง เพราะตัว
Features.append_with_names()เองก็ return type เป็น Result อยู่แล้ว และตัวfetch_features()เองก็ return type เป็น Result ด้วยเช่นกัน อย่างน้อยมันควรจะ forward Error ต่อไปให้สุดทางไม่ใช่ชิง panic ไปเฉยๆ เลยแบบนี้ แต่จากที่เค้าวิเคราะห์กันคือถึงทำแบบนั้นสุดท้ายแล้วระบบก็น่าจะล่มอยู่ดีเพราะยังไงมันก็ทำงานไม่สำเร็จ แค่ graceful หรือเปล่าเท่านั้นเองอ๋องั้นผมยังสรุปไม่ได้ว่าเป็…
rattananen Sun, 14/12/2025 - 23:58
In reply to ส่วนตัวผมยังคิดว่ากรณีนี้ไม่… by hisoft
อ๋องั้นผมยังสรุปไม่ได้ว่าเป็น buffer overflow
เพราะผมไม่รู้ที่มาของ error code ที่เขาไม่ได้ handle
ว่ามันมาจาก OS หรือ api assertion
ผมเชื่อครึ่งเดียวนะครับ เพราะผมไม่คุ้นกับ Rust api
จะให้ 100% ผมต้องเห็น source code ของ Rust ที่บอกที่มาของ error code ได้ ก่อนน่ะครับ
ผมกลับมาทันมั้ยฮะ 😅…
hisoft Sat, 27/12/2025 - 00:31
In reply to อ๋องั้นผมยังสรุปไม่ได้ว่าเป็… by rattananen
ผมกลับมาทันมั้ยฮะ 😅
ในส่วนของ
Result.unwrap()จะอยู่ที่นี่ฮะ จะเห็นว่ามันจะถอดค่าออกมาเฉยๆ หากเป็น Result.Ok ส่วนถ้าเป็น Result.Error มันจะเรียกไปunwrap_failed()ที่นี่ด้วย message เดียวกับที่ Cloudflare เอามาโชว์ "calledResult::unwrap()on anErrvalue" ซึ่งข้างในก็เป็นเพียงคำสั่งให้panic!()เท่านั้น ไม่ได้มีตรงไหนหลุดไปถึง OS ฮะError…
big50000 Mon, 15/12/2025 - 10:14
In reply to https://en.wikipedia.org… by rattananen
Error ที่แนบในข่าวไม่ได้มาจาก OS แต่มาจาก Rust Debugger
Language api มันสามารถเอา…
rattananen Mon, 15/12/2025 - 10:28
In reply to Error… by big50000
Language api มันสามารถเอา error code จาก OS มา handle ได้
แล้วเปลี่ยน error message เพื่อให้ programmer เข้าใจง่ายมากขึ้นน่ะครับ (อันนี้ไม่แน่ใจนะครับว่า rust เป็นแบบนี้หรือเปล่า)
อันนี้ดีกว่า C/C++ เยอะที่ print error message ของ OS เลย
แค่ segmentation fault core dumped ผมจะรู้ไหมว่าต้องแก้ตรงไหน
สบายใจได้…
big50000 Mon, 15/12/2025 - 15:33
In reply to Language api มันสามารถเอา… by rattananen
สบายใจได้ โค้ดที่แนบมาไม่ได้ใช้ OS API
https://doc.rust-lang.org/beta/src/core/result.rs.html#1227-1235
https://doc.rust-lang.org/src/core/option.rs.html#1012
อนึ่ง Segfault ของจริงบน Rust (เกิดจาก Stack Overflow) ซึ่งก็อ่านไม่รู้เรื่องพอ ๆ กันกับ C/C++
https://github.com/rust-lang/rust/issues/79935
Trivia ของ Rust เมื่อ Declare อะไรก็ช่าง จะมี Trick อย่างหนึ่งคือ Rust จะครอบทับ Page ของหน่วยความจำด้วย Guard Page (เอาง่าย ๆ ก็คือกับดักหน่วยความจำ) ที่ผูกกับ OS ไว้ ถ้าเกิดเหตุการณ์ที่โปรแกรมโดนหลอกให้เกิด Buffer Overflow เมื่อเขียนโดน Address ที่มีตัว Guard Page อยู่ก็จะทริกเกอร์ Segfault ทันที
แต่ถึงกระนั้น Rust ก็ไม่ได้ทำให้การ Debug Segfault ง่ายลงบน Production ต้องไป Hook กับ Debugger หาบั๊กอยู่ดี แค่ช่วยให้เกิด Segfault มากที่สุดถ้าเกิด Buffer Overflow เฉย ๆ
ยังสรุปไม่ได้อยู่ดีครับ …
rattananen Mon, 15/12/2025 - 16:28
In reply to สบายใจได้… by big50000
ยังสรุปไม่ได้อยู่ดีครับ
ที่เอามาให้ดูมันเป็น default…
big50000 Mon, 15/12/2025 - 17:15
In reply to ยังสรุปไม่ได้อยู่ดีครับ … by rattananen
โปรแกรมเมอร์ที่ทำโค้ดเขารู้แล้ว!! หรือจะต้องให้เขา Open Source ออกมาถึงจะสาแก่ใจคุณ
เดี๋ยวนะ ไอ้ตัว Code ที่เขา Return มามันก็มาจาก
Resultจะให้มันจะมาจากไหนอีก คนที่ทำโปรแกรมจะเขียนอะไรก็เรื่องของเขา แต่เรารู้ว่าเขาใช้ Standard Lib ในการเอาผลลัพธ์ออกมาด้วย Result และ Rust ก็ปิดจบด้วย Panic (Panic ≠ Overflow) จะมา Overflow อะไรก่อน ความผิด (หรือความตั้งใจให้มันผิด) มันอยู่ที่โปรแกรมเมอร์โน่น จะบอกคนอื่นหยุดคิดไปเอง ก่อนอื่นให้บอกตัวเองก่อนเลยจะสื่ออะไร จะบอกเหรอว่า "ไหนว่า Rust เพอร์เฟกต์" อย่างนั้นเหรอ อ่านก่อนตอบก็ดีนะว่าที่ผมยกมาให้ดูมันคือ Segfault/Overflow ของจริง ไม่ใช่สิ่งที่คุณโยงอะไรก็ไม่รู้เข้ามาหากันแล้วมาบอกว่าเป็น Overflow งงกับแนวคิดของคุณมากเลยตอนนี้
ผมสรุปไม่ได้เพราะผมยังไม่รู้…
rattananen Mon, 15/12/2025 - 17:47
In reply to ที่เอามาให้ดูมันเป็น default… by big50000
ถ้าคุณยังไม่สามารถทำความเข้า…
big50000 Tue, 16/12/2025 - 20:54
In reply to ผมสรุปไม่ได้เพราะผมยังไม่รู้… by rattananen
ถ้าคุณยังไม่สามารถทำความเข้าใจได้ว่า Error ดังกล่าวไม่ได้เกิดจาก Segfault คุณมีปัญหาที่ใหญ่กว่าการไม่เชื่อว่า Rust จะแก้ปัญหาหน่วยความจำได้แล้วล่ะ และหากคุณไม่เข้าใจว่า Segfault มีประโยชน์อย่างไรใน Computing คุณมีปัญหาใหญ่กว่าการคิดว่าการใช้ Rust ไม่จำเป็นอยู่
งงครับ ถ้าคุณ rattananen…
McKay Thu, 18/12/2025 - 07:31
In reply to https://en.wikipedia.org… by rattananen
งงครับ ถ้าคุณ rattananen เข้าใจ comment ของ big50000 จริงๆ คุณ rattananen ก็ไม่น่าจะ reply แบบนี้นะครับ
ถ้าจะพูดให้ถูกต้องคือ Rust ทำงานได้ถูกต้องแล้วในกรณีนี้ ในการป้องกัน buffer overflow ไม่ให้เกิดขึ้น Rust ทำตัวถูกแล้วในการจำกัดการใช้ memory จากที่ programmer เลือก allocate เพียงแต่ฝั่ง programmer (และ programmer ภายนอกระบบ)เองต่างหากที่ไม่ได้ allocate memory ไว้มากพอเผื่อการใช้ในกรณีแบบนี้
อันนี้จาก https://en.wikipedia.org/wiki/Buffer_overflow ที่คุณ rattananen ทิ้งไว้ให้เองนะครับ
เพราะผมไม่เข้าใจน่ะครับ…
rattananen Thu, 18/12/2025 - 08:06
In reply to งงครับ ถ้าคุณ rattananen… by McKay
เพราะผมไม่เข้าใจ reply ของเขาน่ะครับ เหตุผลอยู่ตรงนี้ https://www.blognone.com/comment/1348280#comment-1348271
ปกติเวลาผมทำความเข้าใจอะไร ส่วนมากจะไม่สามารถ ทำได้ด้วยการอ่านครั้งเดียว
แต่ของเขาผมอ่านไป เกือบสิบรอบผมก็ยังงงอยู่
แล้วพอคุณ hisoft มาชี้เป้าผมเลยเข้าใจขึ้นมาหน่อย
เอาจริงๆ ผมว่ามันควรจะจบไปครั้งแต่ผมตอบคุณ hisoft แล้วน่ะครับ
พอคุณ big50000 มาต่อแบบเดิม ผมก็เล่นเลยน่ะครับ
เพิ่งผ่านมาเห็น…
PaePae Wed, 24/12/2025 - 00:32
In reply to https://blog.cloudflare.com… by rattananen
เพิ่งผ่านมาเห็น ขอตอบเสริมไว้หน่อย
อย่างที่หลายคนตอบไปแล้วว่า ไม่ใช่ buffer overflow เพราะ
พฤติกรรมของ buffer overflow คือ การเขียนข้อมูลเกินออกไปจากพื้นที่หน่วยความจำที่จองไว้ในกรณีนี้ ผมมองว่า
พฤติกรรมมันคือ out-of-bound access มากกว่า เช่น ในบางภาษาจะมี index out-of-bound exceptionส่วน segmentation fault เป็น
การตอบสนองระดับ OS จาก out-of-bound access – ซึ่งคิดว่าในกรณีนี้ ตัวภาษา Rust น่าจะตรวจเจอและดักไว้ก่อน ยังไปไม่ถึง OS เลยด้วยซ้ำ จึงยังไม่เกิด segmentation faultแล้วกรณีเกิดอะไรขึ้นบ้าง?
พฤติกรรมout-of-bound access จึงตอบสนองและส่งผลให้ทำงานไม่สำเร็จ (อย่างไรไม่รู้) แล้ว append_with_names() แสดงพฤติกรรมด้วยการคืนค่ากลับมาตาม type ที่เป็น Result<T, E> โดยมีค่าเป็น Err(E)ตอบสนองอีกครั้งด้วยการเกิดพฤติกรรมpanic จนนำไปสู่จุดจบของโปรเซสสรุปว่า
ผมไปลองมาแล้วครับ…
rattananen Fri, 02/01/2026 - 16:02
In reply to เพิ่งผ่านมาเห็น… by PaePae
ผมไปลองมาแล้วครับ ควรจะเป็นอย่างที่คุณว่า test rust1
ส่วน rust กัน buffer overflow ได้ไหม ก็คิดว่าน่าจะได้ test rust2
แต่แบบนี้แสดงว่า มัน assert ให้ตอน runtime ด้วย ไม่ใช่แค่ตอน compile อย่างเดียว
ผมนึกว่ามันกันให้แค่ตอน compile อย่างเดียว
ผมไม่คุ้นกับ rust น่ะครับ
จะทำความเข้าใจก็ต้องใช้ code ทำความเข้าใจน่ะ
เด่วนะ ต้นปีเห็นแย้ง …
aeksael Sat, 13/12/2025 - 19:11
เด่วนะ ต้นปีเห็นแย้ง ปลายปีใช้งานจริงซะแล้ว
สำหรับท่านที่กำลังมองหาความบ…
big50000 Mon, 15/12/2025 - 10:17
สำหรับท่านที่กำลังมองหาความบันเทิง
Content Warning: Phoronix
https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1598806-new-linux-patch-confirms-rust-experiment-is-done-rust-is-here-to-stay
ผมแนะนำว่า ให้คุณ big50000…
rattananen Mon, 15/12/2025 - 19:04
In reply to สำหรับท่านที่กำลังมองหาความบ… by big50000
ผมแนะนำว่า ให้คุณ big50000 หยุดพักสักหน่อยครับ
คุณปลุกความชั่วร้ายของผมขึ้นมา และผมสนุกกับมันมาก
การที่ได้เห็นคนเป็นไปตามที่ผมคิด โดยที่ผมไม่ได้สั่ง (ปั่นหัว) เป็นอะไรที่เลวมากในตัวผม
คือผมชอบปั่นหัว คนที่รู้ครึ่งๆ กลาง อารมณ์ไม่นึ่่ง
และผมก็เล็งคุณมานานแล้วด้วย
และคุณก็โดนผมปั่นง่ายที่สุดที่เคยมีมา คุยกับคุณผมสนุกจริงๆ และขอโทษด้วย
และผมมีความลับที่จะอีกอย่างคือ https://www.blognone.com/comment/1348084#comment-1348084
ย่อหน้าที่สอง เหมือนผมจะพูดถึงตัวเอง แต่นั้นคือสิ่งที่คุณแนะนำให้ทำ หรือสิ่งที่คุณเป็นอยู่ หรือหมายถึงคุณนั้นเอง
ผมแนะนำให้คุณอาบน้ำ นอน กินยานอนหลับ จะได้หลับสบายหน่อย คืนนี้
อย่าตอบผม เพราะมันคือสื่งที่ผมคาดการไว้อยู่ อย่าให้เป็นไปตามที่ผมคาด
ผมขอบคุณมาก ทำให้ผมรู้สึกเป็นวัยเยาว์อีกครั้ง
คือตอนนี้ คำค่าทั้งหลายมาที่ผม ผมจะถือว่าเป็นคำชม
ส่วนคำชมก็คือคำชมนะครับ
ถ้าคุณมีความสุขก็ดีแล้วล่ะ…
big50000 Tue, 16/12/2025 - 20:51
In reply to ผมแนะนำว่า ให้คุณ big50000… by rattananen
ถ้าคุณมีความสุขก็ดีแล้วล่ะ เพราะผมไม่ได้คิดอะไรเลยกับคุณ ผม (เป็นไปได้ว่ารวมถึงคนอื่น ๆ ในนี้ด้วย) แค่อยากเข้าใจในสิ่งที่คุณกำลังแสดงความคิดเห็นว่าต้องการสื่อถึงอะไร ถ้าการกระทำของคุณต่อผมที่ผ่านมาเป็นการปั่นหัวล้วน ๆ และคุณคิดว่าทำมันสำเร็จและคุณมีความสุขกับมันก็ดีแล้ว ผมเองก็รับฟังและดูแลคนป่วยจิต เป็น Neurodivergent ก็เยอะ และทำมาทั้งชีวิตแล้ว เรื่องนี้จิ๊บจ๊อยมากสำหรับผม (มีหลักฐานนะถ้าอยากเห็น เพื่อนใกล้ตัวผมก็เป็นไบโพลาร์แล้วคนหนึ่ง นั่งฟังเขาบ่นติดต่อกันสามชั่วโมงก็ทำมาแล้ว) ผมไม่ถือสาคน ติดแค่ว่าผมชอบทางไอทีและโปรแกรมมิ่งมากกว่า แต่ก็คิดจะย้ายสายไปเรียนสายจิตวิทยาอยู่เหมือนกัน
ถ้าว่ากันตาม ตรรกะ…
rattananen Wed, 17/12/2025 - 19:17
In reply to ถ้าคุณมีความสุขก็ดีแล้วล่ะ… by big50000
ถ้าว่ากันตาม ตรรกะ สิ่งที่ควรทำคือคุณไม่ตอบผมเพราะมันจะได้ไม่เป็นไปตามที่ผมคาด ผมจะได้คิดผิดไป
ทำแบบนี้มันเป็นเครื่องยืนยันมากขึ้นว่า คุณใช้อารมณ์เหนือตรรกะ น่ะครับ
คือผมมีเหตุที่เชื่อคุณไม่ได้น่ะครับ
ลองเทียบ post ตัวคุณเองกับ ของคุณ hisoft https://www.blognone.com/node/149199#comment-1348126
อันนีเขาพยายาม focus สิ่งที่ผมพลาด ถึงผมไม่คุ้นกับ rust แต่มันทำให้ผม hint บางอย่าง
ทำให้ผมต้องเชื่อ แต่มันยัง 50% เพราะมีบางอย่างที่มันยังคลุมเคลืออยู่
และผมก็บอกวิธีให้ผมเชื่อ 100% ไว้แล้ว
แต่คุณไม่สนใจ เอาอะไรมาให้มันบานปลายอีกก็ไม่รู้ พิสูจน์สิ่งที่ผมกังขาอยู่ได้ก็จบแล้ว
ถึงไม่พิสูจน์ผมก็ยังเชื่อว่าตัวเองผิด 50% อยู่มันก็ไม่ได้มีปัญหาอะไร
คือถ้าจะตอบผม เอาแค่เรื่องที่ผมกังขาอยู่ก็พอนะครับคือถ้านอกเรื่องต่ออีก ผมจนมุมแน่นอน เพราะผมจะคิดว่าคุณอยู่ระดับเดียวกับ นายแบก/นางแบก พรรคการเมือง ผมไม่รู้จะอธิบายอย่างไรแล้วน่ะ
คุณมีสิทธิ์จะคิดว่าผมเป็นคนอ…
big50000 Thu, 18/12/2025 - 00:23
In reply to ถ้าว่ากันตาม ตรรกะ… by rattananen
ถูกต้อง ผมเป็นคนที่ใช้อารมณ์เหนือเหตุผล เพราะผมเป็นคนไม่เชื่อในเหตุผลมาตั้งแต่แรก ผมเจอกับคนประเภทที่บอกว่าเชื่อในเหตุผลแต่เมื่อปฏิบัติตัวจริงกลับทำตรงกันข้ามมาทั้งชีวิต การประเมินความเข้าใจและอคติก็เป็นส่วนหนึ่งในการเลือกสื่อสารของผมเช่นกัน ดังนั้นการที่คุณไม่ได้ทำความเข้าใจ (หรือไม่สามารถ หรือไม่ยอมทำความเข้าใจ) กับ Reference ที่ผมส่งให้ย่อมทำให้ผมสงสัยในพื้นฐานและอคติของคุณไปด้วยเป็นเรื่องธรรมดา ถ้าเป็นเพราะคุณไม่สามารถทำความเข้าใจได้เลย มันก็ยังพอหาทางช่วยทำให้เข้าใจได้ แต่ผมพยายามตอบคุณด้วยข้อมูลมาหลายโพสต์หลายข่าวมาก ๆ แต่คุณก็เหมือนจะยังไม่เข้าใจ (หรือไม่ยอมเข้าใจ) สักที และจากประสบการณ์การสื่อสารของผม การสื่อสารของคุณมันไม่เหมือนคนที่พยายามทำความเข้าใจเลยสักนิดเดียว Vibe ของคุณบ่งบอกได้อย่างเดียวคือการแสดงข้อกังขาที่ไม่ต้องการรับรู้คำตอบใด ๆ ไม่มีความคล้ายคลับคลากับการแสดงข้อสงสัย มันทำให้ผมกำลังมองว่าคุณกำลังเป็นอีกอย่างหนึ่งที่คล้ายกับกลุ่มบุคคลที่ผมกำลังจะกล่าวถึงในลำดับถัดไปนี้
ให้เปิดเผยตามตรง ผมไม่เคยสนใจภาษา Rust ด้วยซ้ำ (ผมสนใจภาษาสคริปต์ที่เขียนง่าย ๆ เสียส่วนใหญ่) จนกระทั่งวันที่มันเข้ามาใน Linux Kernel และชุมชนเริ่มเดือด ผมเริ่มแปลกใจ จึงเริ่มได้ศึกษาอย่างจริงจัง ประกอบกับเหตุการณ์พวกคนเก่า ๆ ใน Linux Contributor ที่ประท้วงการเข้ามาของ Rust ยิ่งทำให้ผมอยากศึกษามากขึ้นไปอีก เพื่อจะได้ทำความเข้าใจถึงข้อจำกัดของมันว่าทำไมภาษา Rust จึงถูกต่อต้านหรือถูกมองว่ายังไม่จำเป็น แต่เผอิญว่าด้วยความสามารถสูงสุดของผม ได้เจอมันน้อยเกินกว่าที่จะเอามาเป็นข้อเสียหรือความไม่จำเป็นที่จะนำ Rust เข้าสู่ Kernel ได้ และดูเหมือนเกมการเมืองเหมือนกับทุก ๆ ครั้งที่เจอมา พวกนี้อธิบายเป็นร้อยรอบก็ไม่ฟังอะไรหรอก เข้าหูซ้ายทะลุหูขวา แต่คุณดูต่างออกไป ผมจึงลองอธิบายให้คุณ แต่ก็อย่างที่เห็น หลายข่าวหลายหน ไม่ใช่แค่ผมที่พยายามอธิบายให้คุณ ลองทบทวนดูว่ามีกี่คนในนี้แล้วที่อธิบายให้คุณแล้วแต่คุณก็แสดงข้อกังขาเดิม ๆ ไม่เลิก จนถึงโพสต์นี้ที่คุณเลือกถามคุณลิ่วว่ามีอคติอะไรหรือเปล่า ซึ่งก็แปลกดีที่ถามในนี้กับบล็อกเกอร์แห่ง Blognone ผมจึงตอบคุณไปแบบนั้น ถ้าเป็นคนอื่นที่ปกติก็น่าจะล้มเลิกความพยายามกับคุณไปแล้ว แต่เสียดายหน่อยที่ผมมีอาการทางประสาทที่ชอบกลับมาติดตามอะไรเก่า ๆ บ่อย ๆ ชอบสอดเรื่องชาวบ้าน (แนบหลักฐาน) และมีความจำทบทวน (ฉะนั้นพฤติกรรม Assertion Dominance ใช้กับผมไม่ได้) คุณจึงได้เจอกับคนเช่นผมบ่อย ๆ และผมสามารถสัญญาได้ว่าตราบใดที่คุณยังทำพฤติกรรมเดิม ผมก็จะตามตอบคุณแบบไม่เลิกด้วยความเคารพเช่นกัน
ปล. คุณลิ่วน่าจะได้หลายหัวเราะมากในข่าวนี้
ผมจนมุมแล้วล่ะครับ…
rattananen Thu, 18/12/2025 - 19:15
In reply to คุณมีสิทธิ์จะคิดว่าผมเป็นคนอ… by big50000
ผมจนมุมแล้วล่ะครับ แล้วผมขอถอนคำพูดว่า เป็นระดับเดียวกับนายแบก นางแบบพรรคการเมืองด้วยนะครับ ผมไม่อยากให้ใครเป็นแบบนั้น
ผมมีจุดประสงค์อื่นนอกจาก ปั่นหัวคุณน่ะครับ คืออยากให้คุณใช้อารมณ์ให้น้อยลง
ไม่งั้นผมจะบอกคุณทำไมว่าผมกำลังปั่นหัวคุณอยู่ ที่ใช้วิธีนี้เพราะคิดว่าบอกตรงๆ คงไม่ได้ผล
ผลก็ออกมาก็ดูแล้ว น่าจะมีภูมิกันมากขึ้น คุณเริ่มมองตัวเองมากขึ้น เท่านี้ก็พอได้
และผมยังแสดงให้คุณดูว่า คนเราน่ะ มีอะไรหลายอย่างในตัว และไม่จำเป็นต้องเป็นเอกภาพ มันเดายาก ถึงเราเดาถูก แต่ถ้าเขาไม่ยอมรับ เราก็ผิดอยู่ดี
ผมน่ะมีวิธีการหาคำตอบของผมเอง เพราะบางทีผมทำแบบคนอื่นไม่ได้ คนอื่นก็อาจทำแบบผมไม่ได้ วิธีใครวิธีมัน (แต่กรณีนี้ของผมมันยังไปไม่ถึงคำตอบเท่านั้น)
สุดท้ายที่ผมทำทั้งหมดน่ะคือตัวผม ทั้งหมด ฉลาดบ้าง โง่บ้าง ดี เลวบ้าง ล้วนไม่ได้เสแสร้ง แต่ผมจัดการมันได้ อะไรที่คุณเห็นว่าไม่ดี อย่าเลียนแบบนะครับ ไม่งั้นก็ไม่ต่างอะไรกัน
รู้สึกดีกว่าเห็นคนถูกปั่นหัว ก็คือการเห็นความพัฒนาน่ะครับ
ปีหน้าอาจจะเจอกันใหม่
คนที่รู้ครึ่งๆ กลาง…
McKay Thu, 18/12/2025 - 07:36
In reply to ผมแนะนำว่า ให้คุณ big50000… by rattananen
..
หมดแล้วใช่ไหม…
gamoman Tue, 16/12/2025 - 11:41
หมดแล้วใช่ไหม.......
โควต้าอ่ะ 😅😅😅