Κατά τη διάρκεια της Συνόδου Ανοικτού Κώδικα του Ιδρύματος Linux στο Ώστιν του Τέξας, Ο Linus Torvalds ανέφερε ότι αναμένει υποστήριξη για τον κώδικα Rust στον πυρήνα. του Linux θα συγχωνευθεί σύντομα και ότι ένα τέτοιο γεγονός θα μπορούσε ενδεχομένως να συμβεί με την επόμενη έκδοση του Kernel 5.20.
Αυτή η είδηση δόθηκε να ξερω αφού ο Linus Torvalds και ο Dirk Hohndel είχαν τη συνηθισμένη τους ανταλλαγή κατά τη διάρκεια μιας συνόδου της έκδοσης του 2022 του Open Source Summit. Στη συνέχεια, ο Linus Torvalds σχολίασε την εξέλιξη του έργου Rust για Linux, σημειώνοντας ότι είναι πιθανό να είναι έτοιμο για Linux 5.20.
Αυτό είναι χάρη στις περιοδικές εκδόσεις στις οποίες εργαζόταν ο Miguel Ojeda, επικεφαλής του έργου Rust for Linux, και το οποίο είχε ήδη καταστήσει δυνατή τη σύνταξη μιας λίστας με την πρόοδο της πρωτοβουλίας: υποστήριξη για έναν μεταγλωττιστή Rust beta, υποστήριξη δοκιμής για αρχιτεκτονικές ARM και RISC-V, νέες αφαιρέσεις Rust κ.λπ.
Με αυτό αναμένεται να είναι σε θέση να μετριάσει διάφορα τρωτά σημεία που έχουν επηρεάσει τον πυρήνα του Linux σε 20 χρόνια, που εκτιμάται ότι είναι περίπου το 15,9% των 2288 ευπαθειών που (στοιχεία από το λεξικό Common Vulnerabilities and Exposure (CVE)) που συνδέονται με ελαττώματα στη γλώσσα C.
Τα προβλήματα που σχετίζονται με τη διαχείριση της μνήμης είναι κυρίως: υπερχείλιση μνήμης buffer, μη απελευθέρωση εκχωρήσεων, πρόσβαση σε μη έγκυρες ή ελευθερωμένες περιοχές μνήμης κ.λπ.
Ο Linus Torvalds ερεύνησε πρόσφατα ένα πιθανό ζήτημα ασφάλειας με τα speculative execution primitives της συνδεδεμένης λίστας του πυρήνα γραμμένα σε ANSI C. Κατά την αντιμετώπιση αυτού του ζητήματος συνειδητοποίησε ότι στο C99 ο επαναλήπτης που πέρασε στη λίστα μακροεντολών διέλευσης πρέπει να δηλωθεί σε ένα εύρος εκτός του ίδιου του βρόχου .
Από αυτή την παρατήρηση προέκυψε η πρόσφατη απόφασή του να μετακινήσει τον πυρήνα του Linux στο Modern C (C11), του οποίου η τυποποίηση ολοκληρώθηκε το 2011. Αυτοί είναι οι τύποι τεχνικών λόγων που θα μπορούσαν να δικαιολογήσουν την εγκατάλειψη της γλώσσας C υπέρ της Rust για ανάπτυξη. ο μακροπρόθεσμος πυρήνας.
Τα νέα έρχονται σε μια εποχή που η άποψη του Linus Torvalds για τη γλώσσα Rust έχει αλλάξει. Στην πραγματικότητα, η υποστήριξη Rust για την ανάπτυξη πυρήνα Linux αρχίζει να διαμορφώνεται και θεωρείται «ένα σημαντικό βήμα για τη δυνατότητα εγγραφής προγραμμάτων οδήγησης σε μια πιο ασφαλή γλώσσα».
Τουλάχιστον από τον περασμένο Δεκέμβριο, όταν μια ενημερωμένη έκδοση κώδικα πρόσθεσε υποστήριξη για τη Rust ως δεύτερη γλώσσα στον κώδικα του πυρήνα, η κοινότητα του Linux περίμενε αυτή τη μετάβαση, ελπίζοντας ότι θα οδηγήσει σε μεγαλύτερη σταθερότητα και ασφάλεια.
«Πολλοί άνθρωποι στην πραγματικότητα πιστεύουν ότι απέχουμε υπερβολικά τον κίνδυνο», είπε ο Torvalds. Οπότε, όσον αφορά το Rust, συζητιέται εδώ και αρκετά χρόνια. Φτάνει στο σημείο που πολύ σύντομα, θα το συγχωνεύσουμε στον πυρήνα. Ίσως στην επόμενη κυκλοφορία».
Ωστόσο, ο Torvalds έκανε κάποτε μια σκληρή κριτική για την εφαρμογή της σκουριάς:
«Πριν οι άνθρωποι του Rust ενθουσιαστούν», είπε ο δημιουργός και επικεφαλής του πυρήνα του Linux. "ΑΛΗΘΗΣ? Ξέρεις ποιος είσαι. Για μένα, είναι μια δοκιμή, σωστά; Θέλουμε να έχουμε την ασφάλεια της μνήμης [του Rust]. Υπάρχουν λοιπόν πραγματικοί τεχνικοί λόγοι για τους οποίους το Rust είναι μια καλή ιδέα στον πυρήνα.
«Αλλά την ίδια στιγμή, είναι ένα από αυτά τα πράγματα: δοκιμάσαμε την C++ πριν από 25 χρόνια και το δοκιμάσαμε για δύο εβδομάδες και μετά σταματήσαμε να προσπαθούμε. Για μένα λοιπόν, το Rust είναι ένας τρόπος να δοκιμάσω κάτι νέο. Και ελπίζω ότι θα λειτουργήσει, και οι άνθρωποι έχουν δουλέψει πολύ πάνω σε αυτό, οπότε ελπίζω πραγματικά να λειτουργήσει γιατί διαφορετικά θα ξετρελαθούν».
Για όσους δεν γνωρίζουν για τη Rust, πρέπει να ξέρουν ότι είναι μια γλώσσα προγραμματισμού, σύμφωνα με πολλούς, είναι το μέλλον του προγραμματισμού συστημάτων αντί της γλώσσας C. Στην πραγματικότητα, οι ειδικοί πιστεύουν ότι προσφέρει καλύτερες εγγυήσεις ασφάλειας λογισμικού από τη C γλώσσα.Ζεύγος C/C++.
Στην AWS, για παράδειγμα, προτείνουν να επιλέξετε Rust για τα αναπτυξιακά σας έργα, πράγμα που σημαίνει ότι προσθέτετε την ενεργειακή απόδοση και την απόδοση εκτέλεσης του C στο πλεονέκτημα ασφάλειας.