Έκδοση πυρήνα Linux 6.2

Μετά από δύο μήνες ανάπτυξης, ο Linus Torvalds παρουσίασε την κυκλοφορία του πυρήνα Linux 6.2. Μεταξύ των πιο αξιοσημείωτων αλλαγών: επιτρέπεται η αποδοχή του κώδικα με την άδεια Copyleft-Next, η εφαρμογή του RAID5/6 στο Btrfs βελτιώνεται, η ενσωμάτωση της υποστήριξης για τη γλώσσα Rust συνεχίζεται, τα γενικά έξοδα προστασίας από επιθέσεις Retbleed μειώνονται, Προστίθεται η δυνατότητα ρύθμισης της κατανάλωσης μνήμης κατά την εγγραφή, προστίθεται μηχανισμός για εξισορρόπηση TCP PLB (Protective Load Balancing), προστέθηκε ένας υβριδικός μηχανισμός προστασίας ροής εντολών (FineIBT), η BPF έχει πλέον τη δυνατότητα να ορίζει τα δικά της αντικείμενα και δομές δεδομένων , περιλαμβάνεται το βοηθητικό πρόγραμμα rv (Επαλήθευση χρόνου εκτέλεσης), η κατανάλωση ρεύματος κατά την εφαρμογή κλειδαριών RCU έχει μειωθεί.

Η νέα έκδοση περιλαμβάνει 16843 διορθώσεις από 2178 προγραμματιστές, το μέγεθος της ενημέρωσης κώδικα είναι 62 MB (οι αλλαγές επηρέασαν 14108 αρχεία, προστέθηκαν 730195 γραμμές κώδικα, διαγράφηκαν 409485 γραμμές). Περίπου το 42% όλων των αλλαγών που εισάγονται στο 6.2 σχετίζονται με προγράμματα οδήγησης συσκευών, περίπου το 16% των αλλαγών σχετίζονται με την ενημέρωση κώδικα ειδικού για αρχιτεκτονικές υλικού, το 12% σχετίζονται με τη στοίβα δικτύου, το 4% σχετίζονται με συστήματα αρχείων και το 3% σχετίζονται με εσωτερικά υποσυστήματα πυρήνα.

Βασικές καινοτομίες στον πυρήνα 6.2:

  • Υπηρεσίες μνήμης και συστήματος
    • Επιτρέπεται η συμπερίληψη στον κώδικα του πυρήνα και των αλλαγών που παρέχονται με την άδεια Copyleft-Next 0.3.1. Η άδεια Copyleft-Next δημιουργήθηκε από έναν από τους δημιουργούς του GPLv3 και είναι πλήρως συμβατή με την άδεια GPLv2, όπως επιβεβαιώθηκε από δικηγόρους της SUSE και της Red Hat. Σε σύγκριση με το GPLv2, η άδεια Copyleft-Next είναι πολύ πιο συμπαγής και πιο κατανοητή (το εισαγωγικό μέρος και η αναφορά των παρωχημένων συμβιβασμών έχουν αφαιρεθεί), ορίζει το χρονικό πλαίσιο και τη διαδικασία για την εξάλειψη παραβιάσεων και καταργεί αυτόματα τις απαιτήσεις copyleft για απαρχαιωμένο λογισμικό που είναι άνω των 15 ετών.

      Το Copyleft-Next περιέχει επίσης μια ρήτρα επιχορήγησης αποκλειστικής τεχνολογίας, η οποία, σε αντίθεση με το GPLv2, καθιστά αυτήν την άδεια συμβατή με την άδεια χρήσης Apache 2.0. Για να διασφαλιστεί η πλήρης συμβατότητα με το GPLv2, το Copyleft-Next δηλώνει ρητά ότι ένα παράγωγο έργο μπορεί να παρέχεται υπό την άδεια GPL επιπλέον της αρχικής άδειας Copyleft-Next.

    • Η δομή περιλαμβάνει το βοηθητικό πρόγραμμα «rv», το οποίο παρέχει μια διεπαφή για αλληλεπίδραση από το χώρο του χρήστη με χειριστές του υποσυστήματος RV (Επαλήθευση χρόνου εκτέλεσης), σχεδιασμένο να ελέγχει τη σωστή λειτουργία σε εξαιρετικά αξιόπιστα συστήματα που εγγυώνται την απουσία αστοχιών. Η επαλήθευση εκτελείται κατά το χρόνο εκτέλεσης προσαρτώντας χειριστές σε σημεία ίχνους που ελέγχουν την πραγματική πρόοδο της εκτέλεσης σε σχέση με ένα προκαθορισμένο ντετερμινιστικό μοντέλο αναφοράς του μηχανήματος που καθορίζει την αναμενόμενη συμπεριφορά του συστήματος.
    • Η συσκευή zRAM, η οποία επιτρέπει την αποθήκευση του διαμερίσματος swap στη μνήμη σε συμπιεσμένη μορφή (δημιουργείται μια συσκευή μπλοκ στη μνήμη στην οποία γίνεται εναλλαγή με συμπίεση), υλοποιεί τη δυνατότητα επανασυσκευασίας σελίδων χρησιμοποιώντας έναν εναλλακτικό αλγόριθμο για την επίτευξη υψηλότερου επιπέδου της συμπίεσης. Η κύρια ιδέα είναι να παρέχουμε μια επιλογή μεταξύ πολλών αλγορίθμων (lzo, lzo-rle, lz4, lz4hc, zstd), προσφέροντας τους δικούς τους συμβιβασμούς μεταξύ της ταχύτητας συμπίεσης/αποσυμπίεσης και του επιπέδου συμπίεσης ή βέλτιστων σε ειδικές καταστάσεις (για παράδειγμα, για συμπίεση μεγάλων σελίδες μνήμης).
    • Προστέθηκε το "iommufd" API για τη διαχείριση του συστήματος διαχείρισης μνήμης I/O - IOMMU (I/O Memory-Management Unit) από το χώρο χρήστη. Το νέο API καθιστά δυνατή τη διαχείριση πινάκων σελίδων μνήμης I/O χρησιμοποιώντας περιγραφείς αρχείων.
    • Το BPF παρέχει τη δυνατότητα να δημιουργείτε τύπους, να ορίζετε τα δικά σας αντικείμενα, να δημιουργείτε τη δική σας ιεραρχία αντικειμένων και να δημιουργείτε ευέλικτα τις δικές σας δομές δεδομένων, όπως συνδεδεμένες λίστες. Για προγράμματα BPF που βρίσκονται σε κατάσταση αναστολής λειτουργίας (BPF_F_SLEEPABLE), έχει προστεθεί υποστήριξη για κλειδαριές bpf_rcu_read_{,un}lock(). Υλοποιήθηκε υποστήριξη για την αποθήκευση αντικειμένων task_struct. Προστέθηκε τύπος χάρτη BPF_MAP_TYPE_CGRP_STORAGE, παρέχοντας τοπικό χώρο αποθήκευσης για cgroups.
    • Για τον μηχανισμό αποκλεισμού RCU (Ανάγνωση-αντιγραφή-ενημέρωση), εφαρμόζεται ένας προαιρετικός μηχανισμός «τεμπέλικων» κλήσεων επανάκλησης, στον οποίο διεκπεραιώνονται πολλές κλήσεις επανάκλησης ταυτόχρονα χρησιμοποιώντας χρονοδιακόπτη σε λειτουργία δέσμης. Η εφαρμογή της προτεινόμενης βελτιστοποίησης μάς επιτρέπει να μειώσουμε την κατανάλωση ενέργειας σε συσκευές Android και ChromeOS κατά 5-10% αναβάλλοντας αιτήματα RCU σε περιόδους αδράνειας ή χαμηλού φορτίου στο σύστημα.
    • Προστέθηκε sysctl split_lock_mitigate για να ελέγχει πώς αντιδρά το σύστημα όταν ανιχνεύει διαχωρισμούς που συμβαίνουν κατά την πρόσβαση σε μη ευθυγραμμισμένα δεδομένα στη μνήμη λόγω της διέλευσης των δεδομένων από δύο γραμμές κρυφής μνήμης CPU κατά την εκτέλεση μιας ατομικής εντολής. Τέτοια μπλοκαρίσματα οδηγούν σε σημαντική πτώση της απόδοσης. Η ρύθμιση του split_lock_mitigate σε 0 εκπέμπει μόνο μια προειδοποίηση ότι υπάρχει πρόβλημα, ενώ η ρύθμιση του split_lock_mitigate σε 1 προκαλεί επίσης επιβράδυνση της διαδικασίας που προκάλεσε το κλείδωμα για διατήρηση της απόδοσης για το υπόλοιπο σύστημα.
    • Μια νέα εφαρμογή του qspinlock έχει προταθεί για την αρχιτεκτονική PowerPC, η οποία επιδεικνύει υψηλότερη απόδοση και επιλύει ορισμένα προβλήματα κλειδώματος που προκύπτουν σε εξαιρετικές περιπτώσεις.
    • Ο κώδικας χειρισμού διακοπής MSI (Message-Signaled Interrupts) έχει επεξεργαστεί εκ νέου, εξαλείφοντας συσσωρευμένα αρχιτεκτονικά προβλήματα και προσθέτοντας υποστήριξη για τη σύνδεση μεμονωμένων χειριστών σε διαφορετικές συσκευές.
    • Για συστήματα που βασίζονται στην αρχιτεκτονική συνόλου εντολών LoongArch που χρησιμοποιείται στους επεξεργαστές Loongson 3 5000 και εφαρμόζουν το νέο RISC ISA, παρόμοιο με το MIPS και το RISC-V, εφαρμόζεται υποστήριξη για ftrace, προστασία στοίβας, κατάσταση αναμονής και αναμονής.
    • Έχει παρασχεθεί η δυνατότητα εκχώρησης ονομάτων σε περιοχές κοινόχρηστης ανώνυμης μνήμης (προηγουμένως τα ονόματα μπορούσαν να εκχωρηθούν μόνο σε ιδιωτική ανώνυμη μνήμη που είχε εκχωρηθεί σε μια συγκεκριμένη διαδικασία).
    • Προστέθηκε μια νέα παράμετρος γραμμής εντολών πυρήνα "trace_trigger", που έχει σχεδιαστεί για να ενεργοποιεί έναν κανόνα ιχνηλάτησης που χρησιμοποιείται για τη σύνδεση εντολών υπό όρους που καλούνται όταν ενεργοποιείται ένας έλεγχος ελέγχου (για παράδειγμα, trace_trigger=”sched_switch.stacktrace εάν prev_state == 2″).
    • Οι απαιτήσεις για την έκδοση του πακέτου binutils έχουν αυξηθεί. Η κατασκευή του πυρήνα απαιτεί τώρα τουλάχιστον binutils 2.25.
    • Κατά την κλήση της exec(), έχει προστεθεί η δυνατότητα τοποθέτησης μιας διεργασίας σε χώρο ονομάτων χρόνου, στον οποίο η ώρα διαφέρει από την ώρα του συστήματος.
    • Ξεκινήσαμε τη μεταφορά πρόσθετων λειτουργιών από τον κλάδο Rust-for-Linux που σχετίζεται με τη χρήση της γλώσσας Rust ως δεύτερης γλώσσας για την ανάπτυξη προγραμμάτων οδήγησης και λειτουργικών μονάδων πυρήνα. Η υποστήριξη Rust είναι απενεργοποιημένη από προεπιλογή και δεν έχει ως αποτέλεσμα τη συμπερίληψη του Rust ως απαιτούμενη εξάρτηση κατασκευής πυρήνα. Η βασική λειτουργικότητα που προσφέρεται στην τελευταία έκδοση επεκτείνεται για να υποστηρίζει κώδικα χαμηλού επιπέδου, όπως ο τύπος Vec και οι μακροεντολές pr_debug!(), pr_cont!() και pr_alert!(), καθώς και τη διαδικαστική μακροεντολή «#[vtable ]", που απλοποιεί την εργασία με πίνακες δεικτών σε συναρτήσεις. Σε μελλοντικές εκδόσεις αναμένεται η προσθήκη δεσμεύσεων Rust υψηλού επιπέδου σε υποσυστήματα πυρήνα, που θα επιτρέψουν τη δημιουργία ολοκληρωμένων προγραμμάτων οδήγησης στο Rust.
    • Ο τύπος "char" που χρησιμοποιείται στον πυρήνα δηλώνεται πλέον ως μη υπογεγραμμένος από προεπιλογή για όλες τις αρχιτεκτονικές.
    • Ο μηχανισμός εκχώρησης μνήμης slab - SLOB (slab allocator), ο οποίος σχεδιάστηκε για συστήματα με μικρή ποσότητα μνήμης, έχει κηρυχθεί απαρχαιωμένος. Αντί για SLOB, υπό κανονικές συνθήκες συνιστάται η χρήση SLUB ή SLAB. Για συστήματα με μικρή ποσότητα μνήμης, συνιστάται η χρήση SLUB στη λειτουργία SLUB_TINY.
  • Υποσύστημα δίσκου, I/O και συστήματα αρχείων
    • Έχουν γίνει βελτιώσεις στα Btrfs με στόχο την επίλυση του προβλήματος της «τρύπας εγγραφής» στις υλοποιήσεις RAID 5/6 (προσπάθεια επαναφοράς ενός RAID εάν παρουσιαστεί σφάλμα κατά τη διάρκεια της εγγραφής και είναι αδύνατο να καταλάβουμε ποιο μπλοκ σε ποια συσκευή RAID γράφτηκε σωστά, που μπορεί να οδηγήσει σε καταστροφή μπλοκ, που αντιστοιχούν σε ασφαλισμένα μπλοκ). Επιπλέον, οι SSD ενεργοποιούν πλέον αυτόματα την ασύγχρονη λειτουργία απόρριψης από προεπιλογή όταν είναι δυνατόν, επιτρέποντας βελτιωμένη απόδοση λόγω της αποτελεσματικής ομαδοποίησης των λειτουργιών απόρριψης σε ουρές και της επεξεργασίας της ουράς από έναν επεξεργαστή φόντου. Βελτιωμένη απόδοση των λειτουργιών αποστολής και αναζήτησης, καθώς και του FIEMAP ioctl.
    • Οι δυνατότητες διαχείρισης καθυστερημένης εγγραφής (εγγραφή, αποθήκευση αλλαγμένων δεδομένων στο παρασκήνιο) για συσκευές μπλοκ έχουν επεκταθεί. Σε ορισμένες περιπτώσεις, όπως όταν χρησιμοποιείτε συσκευές μπλοκ δικτύου ή μονάδες USB, η αργή εγγραφή μπορεί να οδηγήσει σε μεγάλη κατανάλωση μνήμης RAM. Προκειμένου να ελέγχεται η συμπεριφορά των lazy εγγραφών και να διατηρείται το μέγεθος της προσωρινής μνήμης της σελίδας εντός ορισμένων ορίων, οι νέες παράμετροι strict_limit, min_bytes, max_bytes, min_ratio_fine και max_ratio_fine έχουν εισαχθεί στο sysfs (/sys/class/bdi/).
    • Το σύστημα αρχείων F2FS υλοποιεί μια λειτουργία ατομικής αντικατάστασης ioctl, η οποία σας επιτρέπει να γράψετε δεδομένα σε ένα αρχείο μέσα σε μια ατομική λειτουργία. Το F2FS προσθέτει επίσης μια προσωρινή μνήμη έκτασης μπλοκ για να βοηθήσει στον εντοπισμό ενεργά χρησιμοποιούμενων δεδομένων ή δεδομένων στα οποία δεν υπάρχει πρόσβαση για μεγάλο χρονικό διάστημα.
    • Στο ext4 FS σημειώνονται μόνο διορθώσεις σφαλμάτων.
    • Το σύστημα αρχείων ntfs3 προσφέρει πολλές νέες επιλογές προσάρτησης: "nocase" για έλεγχο της ευαισθησίας πεζών-κεφαλαίων στα ονόματα αρχείων και καταλόγων. windows_name για να απαγορεύσει τη δημιουργία ονομάτων αρχείων που περιέχουν χαρακτήρες που δεν είναι έγκυροι για τα Windows. hide_dot_files για να ελέγξετε την εκχώρηση της ετικέτας κρυφού αρχείου για αρχεία που ξεκινούν με μια τελεία.
    • Το σύστημα αρχείων Squashfs εφαρμόζει μια επιλογή προσάρτησης “threads=”, η οποία σας επιτρέπει να ορίσετε τον αριθμό των νημάτων για την παραλληλοποίηση των λειτουργιών αποσυμπίεσης. Το Squashfs εισήγαγε επίσης τη δυνατότητα αντιστοίχισης των αναγνωριστικών χρηστών των προσαρτημένων συστημάτων αρχείων, που χρησιμοποιούνται για την αντιστοίχιση των αρχείων ενός συγκεκριμένου χρήστη σε ένα προσαρτημένο ξένο διαμέρισμα με έναν άλλο χρήστη στο τρέχον σύστημα.
    • Η υλοποίηση των λιστών ελέγχου πρόσβασης POSIX (POSIX ACLs) έχει επεξεργαστεί εκ νέου. Η νέα εφαρμογή εξαλείφει αρχιτεκτονικά ζητήματα, απλοποιεί τη συντήρηση της βάσης κώδικα και εισάγει πιο ασφαλείς τύπους δεδομένων.
    • Το υποσύστημα fscrypt, το οποίο χρησιμοποιείται για διαφανή κρυπτογράφηση αρχείων και καταλόγων, έχει προσθέσει υποστήριξη για τον αλγόριθμο κρυπτογράφησης SM4 (Κινεζικό πρότυπο GB/T 32907-2016).
    • Έχει δοθεί η δυνατότητα κατασκευής του πυρήνα χωρίς υποστήριξη NFSv2 (στο μέλλον σχεδιάζουν να σταματήσουν εντελώς την υποστήριξη του NFSv2).
    • Η οργάνωση ελέγχου των δικαιωμάτων πρόσβασης στις συσκευές NVMe έχει αλλάξει. Παρέχει τη δυνατότητα ανάγνωσης και εγγραφής σε μια συσκευή NVMe εάν η διαδικασία εγγραφής έχει πρόσβαση στο αποκλειστικό αρχείο της συσκευής (προηγουμένως η διαδικασία έπρεπε να έχει την άδεια CAP_SYS_ADMIN).
    • Καταργήθηκε το πρόγραμμα οδήγησης πακέτου CD/DVD, το οποίο καταργήθηκε το 2016.
  • Εικονικοποίηση και Ασφάλεια
    • Μια νέα μέθοδος προστασίας από την ευπάθεια Retbleed έχει εφαρμοστεί σε επεξεργαστές Intel και AMD, χρησιμοποιώντας παρακολούθηση βάθους κλήσεων, η οποία δεν επιβραδύνει την εργασία τόσο πολύ όσο η προηγουμένως παρούσα προστασία έναντι του Retbleed. Για να ενεργοποιήσετε τη νέα λειτουργία, έχει προταθεί η παράμετρος της γραμμής εντολών του πυρήνα "retbleed=stuff".
    • Προστέθηκε ένας υβριδικός μηχανισμός προστασίας ροής εντολών FineIBT, που συνδυάζει τη χρήση οδηγιών υλικού Intel IBT (Indirect Branch Tracking) και προστασίας λογισμικού kCFI (kernel Control Flow Integrity) για να εμποδίσει την παραβίαση της κανονικής σειράς εκτέλεσης (ροή ελέγχου) ως αποτέλεσμα της χρήσης των εκμεταλλεύσεων που τροποποιούν δείκτες που είναι αποθηκευμένοι στη μνήμη σε συναρτήσεις. Το FineIBT επιτρέπει την εκτέλεση με έμμεσο άλμα μόνο στην περίπτωση άλματος στην εντολή ENDBR, η οποία τοποθετείται στην αρχή της συνάρτησης. Επιπλέον, κατ' αναλογία με τον μηχανισμό kCFI, οι κατακερματισμοί στη συνέχεια ελέγχονται για να διασφαλιστεί η αμετάβλητη των δεικτών.
    • Προστέθηκαν περιορισμοί για τον αποκλεισμό επιθέσεων που χειραγωγούν τη δημιουργία καταστάσεων "oops", μετά τις οποίες ολοκληρώνονται οι προβληματικές εργασίες και η κατάσταση αποκαθίσταται χωρίς διακοπή του συστήματος. Με έναν πολύ μεγάλο αριθμό κλήσεων προς την κατάσταση "oops", εμφανίζεται μια υπερχείλιση μετρητή αναφοράς (refcount), η οποία επιτρέπει την εκμετάλλευση των τρωτών σημείων που προκαλούνται από τις αποαναφορές δείκτη NULL. Για την προστασία από τέτοιες επιθέσεις, έχει προστεθεί στον πυρήνα ένα όριο για τον μέγιστο αριθμό ενεργειών "oops", μετά την υπέρβαση του οποίου ο πυρήνας θα ξεκινήσει μια μετάβαση στην κατάσταση "πανικού" ακολουθούμενη από μια επανεκκίνηση, η οποία δεν θα επιτρέψει την επίτευξη του τον αριθμό των επαναλήψεων που απαιτούνται για την υπερχείλιση του εκ νέου καταμέτρησης. Από προεπιλογή, το όριο έχει οριστεί σε 10 χιλιάδες "oops", αλλά εάν είναι επιθυμητό, ​​μπορεί να αλλάξει μέσω της παραμέτρου oops_limit.
    • Προστέθηκε η παράμετρος διαμόρφωσης LEGACY_TIOCSTI και sysctl legacy_tiocsti για την απενεργοποίηση της δυνατότητας εισαγωγής δεδομένων στο τερματικό χρησιμοποιώντας το ioctl TIOCSTI, καθώς αυτή η λειτουργία μπορεί να χρησιμοποιηθεί για την αντικατάσταση αυθαίρετων χαρακτήρων στο buffer εισόδου τερματικού και την προσομοίωση εισόδου χρήστη.
    • Ένας νέος τύπος εσωτερικής δομής, encoded_page, προτείνεται, στον οποίο τα χαμηλότερα bit του δείκτη χρησιμοποιούνται για την αποθήκευση πρόσθετων πληροφοριών που χρησιμοποιούνται για την προστασία από τυχαία αποαναφορά του δείκτη (εάν η αποαναφορά είναι πραγματικά απαραίτητη, αυτά τα πρόσθετα bit πρέπει να διαγραφούν πρώτα) .
    • Στην πλατφόρμα ARM64, στο στάδιο εκκίνησης, είναι δυνατό να ενεργοποιήσετε ή να απενεργοποιήσετε την εφαρμογή λογισμικού του μηχανισμού Shadow Stack, ο οποίος χρησιμοποιείται για προστασία από την αντικατάσταση της διεύθυνσης επιστροφής από μια συνάρτηση σε περίπτωση υπερχείλισης buffer στη στοίβα ( Η ουσία της προστασίας είναι να αποθηκεύσετε τη διεύθυνση επιστροφής σε μια ξεχωριστή στοίβα "σκιώδης" μετά τη μεταφορά του ελέγχου στη συνάρτηση και την ανάκτηση της δεδομένης διεύθυνσης πριν την έξοδο από τη συνάρτηση). Η υποστήριξη για υλοποιήσεις υλικού και λογισμικού του Shadow Stack σε ένα συγκρότημα πυρήνα σάς επιτρέπει να χρησιμοποιείτε έναν πυρήνα σε διαφορετικά συστήματα ARM, ανεξάρτητα από την υποστήριξή τους για οδηγίες για έλεγχο ταυτότητας δείκτη. Η ένταξη μιας υλοποίησης λογισμικού πραγματοποιείται με την αντικατάσταση των απαραίτητων οδηγιών στον κώδικα κατά τη φόρτωση.
    • Προστέθηκε υποστήριξη για τη χρήση του μηχανισμού ασύγχρονης ειδοποίησης εξόδου σε επεξεργαστές Intel, ο οποίος επιτρέπει τον εντοπισμό επιθέσεων ενός βήματος σε κώδικα που εκτελείται σε θύλακες SGX.
    • Προτείνεται ένα σύνολο λειτουργιών που επιτρέπει στον hypervisor να υποστηρίζει αιτήματα από συστήματα φιλοξενούμενων Intel TDX (Trusted Domain Extensions).
    • Οι ρυθμίσεις δημιουργίας πυρήνα RANDOM_TRUST_BOOTLOADER και RANDOM_TRUST_CPU έχουν καταργηθεί, υπέρ των αντίστοιχων επιλογών γραμμής εντολών random.trust_bootloader και random.trust_cpu.
    • Ο μηχανισμός Landlock, ο οποίος σας επιτρέπει να περιορίσετε την αλληλεπίδραση μιας ομάδας διεργασιών με το εξωτερικό περιβάλλον, έχει προσθέσει υποστήριξη για τη σημαία LANDLOCK_ACCESS_FS_TRUNCATE, η οποία καθιστά δυνατό τον έλεγχο της εκτέλεσης των λειτουργιών περικοπής αρχείων.
  • Υποσύστημα δικτύου
    • Για το IPv6, έχει προστεθεί υποστήριξη για PLB (Protective Load Balancing), ένας μηχανισμός εξισορρόπησης φορτίου μεταξύ συνδέσεων δικτύου με στόχο τη μείωση των σημείων υπερφόρτωσης στους διακόπτες του κέντρου δεδομένων. Με την αλλαγή της ετικέτας ροής IPv6, το PLB αλλάζει τυχαία διαδρομές πακέτων για να εξισορροπήσει το φορτίο στις θύρες μεταγωγέα. Για να μειωθεί η αναδιάταξη πακέτων, αυτή η λειτουργία εκτελείται μετά από περιόδους αδράνειας όποτε είναι δυνατόν. Η χρήση του PLB στα κέντρα δεδομένων της Google μείωσε την ανισορροπία φορτίου στις θύρες μεταγωγής κατά μέσο όρο κατά 60%, μείωσε την απώλεια πακέτων κατά 33% και μείωσε την καθυστέρηση κατά 20%.
    • Προστέθηκε πρόγραμμα οδήγησης για συσκευές MediaTek που υποστηρίζουν Wi-Fi 7 (802.11be).
    • Προστέθηκε υποστήριξη για συνδέσμους 800 gigabit.
    • Προστέθηκε η δυνατότητα μετονομασίας διεπαφών δικτύου on the fly, χωρίς διακοπή της εργασίας.
    • Μια αναφορά της διεύθυνσης IP στην οποία έφτασε το πακέτο έχει προστεθεί στα μηνύματα καταγραφής σχετικά με το SYN flood.
    • Για το UDP, έχει εφαρμοστεί η δυνατότητα χρήσης ξεχωριστών πινάκων κατακερματισμού για διαφορετικούς χώρους ονομάτων δικτύου.
    • Για τις γέφυρες δικτύου, έχει εφαρμοστεί υποστήριξη για τη μέθοδο ελέγχου ταυτότητας MAB (MAC Authentication Bypass).
    • Για το πρωτόκολλο CAN (CAN_RAW), έχει υλοποιηθεί υποστήριξη για τη λειτουργία υποδοχής SO_MARK για την προσάρτηση φίλτρων κυκλοφορίας που βασίζονται σε fwmark.
    • Το ipset υλοποιεί μια νέα παράμετρο bitmask που σας επιτρέπει να ορίσετε μια μάσκα με βάση αυθαίρετα bit στη διεύθυνση IP (για παράδειγμα, "ipset create set1 hash:ip bitmask 255.128.255.0").
    • Προστέθηκε υποστήριξη για την επεξεργασία εσωτερικών κεφαλίδων μέσα σε σήραγγα πακέτα σε nf_tables.
  • Оборудование
    • Το υποσύστημα «accel» προστέθηκε με την υλοποίηση ενός πλαισίου για υπολογιστικούς επιταχυντές, οι οποίοι μπορούν να παρέχονται είτε με τη μορφή μεμονωμένων ASIC είτε με τη μορφή μπλοκ IP εντός του SoC και της GPU. Αυτοί οι επιταχυντές στοχεύουν κυρίως στην επιτάχυνση της επίλυσης προβλημάτων μηχανικής μάθησης.
    • Το πρόγραμμα οδήγησης amdgpu περιλαμβάνει υποστήριξη για τα στοιχεία GC, PSP, SMU και NBIO IP. Για συστήματα ARM64, εφαρμόζεται υποστήριξη για DCN (Display Core Next). Η εφαρμογή της εξόδου προστατευμένης οθόνης έχει μετακινηθεί από τη χρήση DCN10 σε DCN21 και μπορεί πλέον να χρησιμοποιηθεί κατά τη σύνδεση πολλαπλών οθονών.
    • Το πρόγραμμα οδήγησης i915 (Intel) έχει σταθεροποιημένη υποστήριξη για διακριτές κάρτες γραφικών Intel Arc (DG2/Alchemist).
    • Το πρόγραμμα οδήγησης Nouveau υποστηρίζει GPU NVIDIA GA102 (RTX 30) που βασίζονται στην αρχιτεκτονική Ampere. Για τις κάρτες nva3 (GT215), έχει προστεθεί η δυνατότητα ελέγχου του οπίσθιου φωτισμού.
    • Προστέθηκε υποστήριξη για ασύρματους προσαρμογείς που βασίζονται σε τσιπ Realtek 8852BE, Realtek 8821CU, 8822BU, 8822CU, 8723DU (USB) και MediaTek MT7996, Broadcom BCM4377/4378/4387 διεπαφές Bluetooth, καθώς και διεπαφές χειριστηρίου Motorcomm8521g EDI και DIRAytXNUMX
    • Προστέθηκε υποστήριξη ASoC (ALSA System on Chip) για ενσωματωμένα τσιπ ήχου HP Stream 8, Advantech MICA-071, Dell SKU 0C11, Intel ALC5682I-VD, Xiaomi Redmi Book Pro 14 2022, i.MX93, Armada 38x, RK3588 Προστέθηκε υποστήριξη για τη διεπαφή ήχου Focusrite Saffire Pro 40. Προστέθηκε κωδικοποιητής ήχου Realtek RT1318.
    • Προστέθηκε υποστήριξη για smartphone και tablet της Sony (Xperia 10 IV, 5 IV, X και X compact, OnePlus One, 3, 3T και Nord N100, Xiaomi Poco F1 και Mi6, Huawei Watch, Google Pixel 3a, Samsung Galaxy Tab 4 10.1.
    • Προστέθηκε υποστήριξη για ARM SoC και Apple T6000 (M1 Pro), T6001 (M1 Max), T6002 (M1 Ultra), Qualcomm MSM8996 Pro (Snapdragon 821), SM6115 (Snapdragon 662), SM4250 (Snapdragon SM460dragon 6375), πλακέτες , SDM695 (Snapdragon 670), MSM670 (Snapdragon 8976), MSM652 (Snapdragon 8956), RK650 Odroid-Go/rg3326, Zyxel NSA351S, InnoComm i.MX310MM, Odroid.

Ταυτόχρονα, το Ίδρυμα Ελεύθερου Λογισμικού Λατινικής Αμερικής δημιούργησε μια έκδοση του εντελώς δωρεάν πυρήνα 6.2 - Linux-libre 6.2-gnu, απαλλαγμένη από στοιχεία υλικολογισμικού και προγράμματα οδήγησης που περιέχουν ιδιόκτητα στοιχεία ή τμήματα κώδικα, το πεδίο εφαρμογής του οποίου περιορίζεται από ο κατασκευαστής. Η νέα έκδοση καθαρίζει νέες σταγόνες στο πρόγραμμα οδήγησης nouveau. Η φόρτωση Blob είναι απενεργοποιημένη στα προγράμματα οδήγησης mt7622, ​​mt7996 wifi και bcm4377 bluetooth. Εκκαθάριση ονομάτων blob σε αρχεία dts για την αρχιτεκτονική Aarch64. Ενημερωμένος κώδικας καθαρισμού blob σε διάφορα προγράμματα οδήγησης και υποσυστήματα. Σταμάτησε να καθαρίζει το πρόγραμμα οδήγησης s5k4ecgx, καθώς αφαιρέθηκε από τον πυρήνα.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο