Μετά από δύο μήνες ανάπτυξης, ο Linus Torvalds κυκλοφόρησε τον πυρήνα. Linux 7.2. Μεταξύ των πιο αξιοσημείωτων αλλαγών: μηχανισμός ροής δεδομένων USB4STREAM, βελτιστοποιήσεις απόδοσης btrfs, xfs και ext4, συνεχής αφαίρεση κώδικα για υποστήριξη CPU i486, δυνατότητα δημιουργίας ένθετων χρονοπρογραμματιστών SCHED_EXT, μειωμένη κατανάλωση μνήμης στο υποσύστημα ανταλλαγής, επιταχυνόμενοι ανώνυμοι αγωγοί, υποστήριξη για επεκτάσεις Intel MBEC και AMD GMET σε KVM, αφαίρεση του πρωτοκόλλου AppleTalk, αρχική υποστήριξη για HDMI 2.1 FRL στο πρόγραμμα οδήγησης AMDGPU.
Κύρια νέα χαρακτηριστικά στον πυρήνα 7.2 (1, 2, 3):
- Υποσύστημα δίσκου, I/O και συστήματα αρχείων
- Στον μηχανισμό iomap, έχει αφαιρεθεί μια επιπλέον κλήση στη συνάρτηση memset για ήδη ολοκληρωμένες επαναλήψεις στη συνάρτηση iomap_iter(), η οποία, με υψηλή ένταση εισόδου/εξόδου σε γρήγορους δίσκους NVMe, αύξησε τον αριθμό των λειτουργιών εισόδου/εξόδου ανά δευτερόλεπτο (IOPS) κατά 5% στις δοκιμές που πραγματοποιήθηκαν κατά τη χρήση των συστημάτων αρχείων ext4 και xfs.
- Το XFS έχει δηλωθεί ως σταθερό για την υποστήριξη συσκευών αποθήκευσης σε ζώνες (διαιρώντας ομάδες μπλοκ ή τομέων σε ζώνες, στις οποίες επιτρέπονται μόνο διαδοχικές προσθήκες δεδομένων, ενημερώνοντας ολόκληρη την ομάδα μπλοκ).
- Το Btrfs υποστηρίζει πλέον μεγάλα φύλλα εργασίας (folios) από προεπιλογή, μειώνοντας την επιβάρυνση και βελτιώνοντας την απόδοση κατά τη διάρκεια εντατικής διαδοχικής εισόδου/εξόδου (I/O). Έχει προστεθεί πειραματική υποστήριξη για μεγάλα φύλλα εργασίας (έως 2 MB). Έχει προστεθεί μια νέα ioctl, η GET_CSUMS, για την ανάκτηση πληροφοριών αθροίσματος ελέγχου (checksum) στον χώρο χρήστη, για παράδειγμα, για το βοηθητικό πρόγραμμα mkfs και τη βελτιστοποίηση της απενεργοποίησης διπλότυπων εγγραφών. Η απόδοση διαδοχικής εγγραφής έχει αυξηθεί κατά 15% και η απόδοση άμεσης εισόδου/εξόδου (direct I/O) κατά 59%.
- Ο μηχανισμός "γρήγορης ολοκλήρωσης" του συστήματος αρχείων Ext4 έχει επανασχεδιαστεί σημαντικά για την εξάλειψη των διαφωνιών και των αδιεξόδων. Έχει προστεθεί η εξαγωγή στατιστικών στιγμιότυπων inode μέσω του /proc/fs/ext4/*/fc_info. Η απόδοση του υπολογισμού κατακερματισμού καταλόγου έχει βελτιστοποιηθεί (σχεδόν διπλασιάζοντας την ταχύτητα για ονόματα 255 χαρακτήρων, 27% για ονόματα 64 χαρακτήρων και 11% για ονόματα 32 χαρακτήρων).
- Το F2FS υποστηρίζει πλέον την επιστροφή σφάλματος fserror, επιτρέποντας την παρακολούθηση προβλημάτων συστήματος αρχείων από τον χώρο χρήστη. Ο χρόνος που αφιερώνεται στον χειρισμό διακοπών έχει μειωθεί.
- Ένας νέος χειριστής dm-inlinecrypt έχει προστεθεί στο Device Mapper (DM) για διαφανή κρυπτογράφηση και αποκρυπτογράφηση συσκευών μπλοκ χρησιμοποιώντας συσκευές υλικού με λειτουργικότητα ενσωματωμένης κρυπτογράφησης.
- Έχει παρασχεθεί τεκμηρίωση σχετικά με την προσθήκη νέων συστημάτων αρχείων στον πυρήνα.
- Στο NFS, το προεπιλεγμένο μέγεθος μπλοκ έχει αυξηθεί στα 4 MB σε συστήματα με τουλάχιστον 16 GB RAM (μπορείτε να χρησιμοποιήσετε το /proc/fs/nfsd/max_block_size για να αλλάξετε χειροκίνητα το μέγεθος του μπλοκ). Έχει προστεθεί υποστήριξη για ανάθεση καταλόγων, επιτρέποντας την εκτέλεση λειτουργιών με έναν δεδομένο κατάλογο για ένα συγκεκριμένο χρονικό διάστημα χωρίς έλεγχο για αλλαγές κατάστασης. υπηρέτης.
- Ο διακομιστής SMB υποστηρίζει πλέον αρχεία που είναι αποθηκευμένα σε συμπιεσμένη μορφή, καθώς και συμπίεση δεδομένων κατά τη μετάδοση μέσω του δικτύου.
- Η νέα υλοποίηση NTFS (ntfsplus) προσθέτει υποστήριξη για συμβολικούς συνδέσμους. Windows και διασφαλίζεται η σωστή διαχείριση πολλών τύπων αλλοίωσης μεταδεδομένων.
- Το backend του fscache για την προσωρινή αποθήκευση δεδομένων EROFS (Enhanced Read-Only File System), το οποίο είχε καταργηθεί πριν από δύο χρόνια, έχει αφαιρεθεί.
- Το Ceph FS υποστηρίζει πλέον χειροκίνητη επαναφορά των συνεδριών-πελατών.
- Το σύστημα αρχείων 9P έχει βελτιστοποιηθεί για βελτίωση της απόδοσης σε σενάρια όπως οι κατασκευές έργων.
- Στην κλήση συστήματος file_getattr() έχουν προστεθεί σημαίες για την ανάκτηση πληροφοριών σχετικά με την ευαισθησία πεζών-κεφαλαίων στο σύστημα αρχείων. Η σημαία FS_XFLAG_CASEFOLD υποδεικνύει ότι ο έλεγχος ονομάτων αρχείων εκτελείται χωρίς διάκριση πεζών-κεφαλαίων και η σημαία FS_XFLAG_CASENONPRESERVING υποδεικνύει ότι οι πληροφορίες πεζών-κεφαλαίων δεν διατηρούνται κατά τη δημιουργία νέων ονομάτων αρχείων. Αυτές οι σημαίες μπορούν να χρησιμοποιηθούν σε υπολογιστές-πελάτες NFS που δεν κάνουν διάκριση πεζών-κεφαλαίων.
- Η σημαία O_EMPTYPATH έχει προστεθεί στην κλήση συστήματος openat2(), επιτρέποντας την διέλευση μιας κενής διαδρομής αρχείου. Σε αυτήν την περίπτωση, η διαδρομή προς το αρχείο που ανοίγει καθορίζεται με βάση τον περιγραφέα αρχείου που διέρχεται.
- Η σημαία OPENAT2_REGULAR έχει προστεθεί στην κλήση συστήματος openat2(), η οποία επιτρέπει το άνοιγμα μόνο κανονικών αρχείων (θα επιστραφεί ένα σφάλμα EFTYPE εάν επιχειρηθεί το άνοιγμα ενός ειδικού αρχείου, όπως μιας υποδοχής, ενός αγωγού ή μιας συσκευής).
- Υπηρεσίες μνήμης και συστήματος
- Ο μηχανισμός USB4STREAM έχει υλοποιηθεί για τη ροή δεδομένων μεταξύ υπολογιστών που είναι συνδεδεμένοι μέσω θυρών USB4. Έχει προστεθεί η συσκευή /dev/tbstreamX, η οποία σας επιτρέπει να διαβάζετε και να γράφετε δεδομένα χρησιμοποιώντας τις τυπικές συναρτήσεις read() και write(), παρόμοια με την ανάγνωση και την εγγραφή αρχείων. Για παράδειγμα, σε έναν κεντρικό υπολογιστή, μπορείτε να στείλετε πληροφορίες χρησιμοποιώντας την εντολή "echo hello > /dev/tbstream0" και σε έναν άλλο, να τις διαβάσετε χρησιμοποιώντας την εντολή "cat /dev/tbstream0". Ο μηχανισμός USB4STREAM μπορεί να συνδυαστεί με τη δυνατότητα δημιουργίας σύνδεσης δικτύου μέσω καλωδίου USB4 (thunderbolt_net) ή να χρησιμοποιηθεί ξεχωριστά για τη μεταφορά δεδομένων μεταξύ εφαρμογών που δεν υποστηρίζουν υποδοχές δικτύου.
- Έχει συμπεριληφθεί η δεύτερη σειρά αλλαγών για την κατάργηση της υποστήριξης για επεξεργαστές i486. Πάνω από 13 γραμμές κώδικα που σχετίζονται με την εξομοίωση μονάδων κινητής υποδιαστολής για επεξεργαστές χωρίς FPU έχουν αφαιρεθεί. Η υποστήριξη για επεξεργαστές i486 χωρίς τις λειτουργίες υλικού CX8 (σύγκριση και ανταλλαγή 8 byte) και TSC (μετρητής κύκλου CPU που χρησιμοποιείται στον χρονοπρογραμματιστή εργασιών) έχει αφαιρεθεί, καθώς και ο κώδικας εξομοίωσης για αυτές έχει αφαιρεθεί.
- Η υποστήριξη για τους επεξεργαστές AMD Geode που χρησιμοποιούνται στον υπολογιστή OLPC XO-1 έχει ανακοινωθεί ως ορφανή.
- Προστέθηκε υποστήριξη για την ενημέρωση της υλοποίησης του TDX (Trusted Domain Extensions) της Intel, ενός μηχανισμού που χρησιμοποιείται για την κρυπτογράφηση της μνήμης RAM του συστήματος guest. Το TDX υλοποιείται ως ειδική λειτουργική μονάδα εκτέλεσης λογισμικού που μεταφέρεται από τη μνήμη flash στη μνήμη RAM από το BIOS κατά την εκκίνηση. Ο πυρήνας περιλαμβάνει πλέον δυνατότητες για τη διαχείριση αυτής της λειτουργικής μονάδας και την αντικατάστασή της με μια νεότερη έκδοση σε ένα σύστημα που εκτελείται χωρίς να απαιτείται επανεκκίνηση.
- Έχει υλοποιηθεί ένας νέος χρονοπρογραμματιστής κατανομής πόρων GPU (Fair GPU scheduler). Χρησιμοποιείται για να καθορίσει τη σειρά με την οποία εκτελείται στην GPU η εργασία που υποβάλλεται από διεργασίες που χρησιμοποιούν GPU. Αντί να χρησιμοποιεί την παραδοσιακή ουρά FIDO για αιτήματα GPU, ο νέος χρονοπρογραμματιστής χρησιμοποιεί μηχανισμούς δίκαιης κατανομής πόρων που βασίζονται στον χρονοπρογραμματιστή εργασιών Completely Fair Scheduler (CFS), ο οποίος χρησιμοποιεί ένα σχέδιο εκκίνησης με χρόνο μετάβασης για την επόμενη διεργασία. Η πιο αισθητή επίδραση του νέου χρονοπρογραμματιστή παρατηρείται κατά την παράλληλη εκτέλεση διαδραστικών εργασιών που χρησιμοποιούν σε μεγάλο βαθμό την GPU. Την τελευταία στιγμή πριν από την κυκλοφορία του πυρήνα 7.2, ο χρονοπρογραμματιστής Fair GPU απενεργοποιήθηκε και ο παλιός χρονοπρογραμματιστής FIFO επανήλθε λόγω της ανάγκης εντοπισμού σφαλμάτων παλινδρόμησης, η οποία προκαλούσε υποβάθμιση της απόδοσης και 100% αξιοποίηση της GPU κατά την εκτέλεση ορισμένων παιχνιδιών στο Proton.
- Αλλαγές στο υποσύστημα eBPF: Προστέθηκε η δυνατότητα σύνδεσης ενός μόνο προγράμματος BPF σε πολλά σημεία ιχνηλάτησης. Τα προγράμματα BPF που είναι συνδεδεμένα σε σημεία ιχνηλάτησης μπορούν πλέον να έχουν πρόσβαση στη μνήμη των στοιχείων του χώρου χρήστη, με σωστό χειρισμό των μη εκχωρημένων σελίδων μνήμης (σφάλματα σελίδας). Η κλήση συστήματος bpf() υποστηρίζει πλέον τυπικά χαρακτηριστικά (log_buf, log_size, log_level και log_true_size), τα οποία επιτρέπουν την ενοποιημένη μεταφορά μεταδεδομένων σε όλες τις εντολές BPF, χωρίς περιορισμό στις BPF_PROG_LOAD, BPF_BTF_LOAD και BPF_MAP_CREATE. Ο περιορισμός στη διαβίβαση το πολύ 5 παραμέτρων σε συναρτήσεις BPF έχει καταργηθεί. Προστέθηκε η δυνατότητα ασφαλούς πρόσβασης στην κοινόχρηστη μνήμη bpf_arena χωρίς φόβο πρόσβασης σε μη εκχωρημένες σελίδες μνήμης (σφάλματα σελίδας). Έχει υλοποιηθεί μια νέα έκδοση της δομής χάρτη κατακερματισμού BPF, η οποία επιτρέπει τη δυναμική αλλαγή μεγέθους.
- Η δημιουργία της εξόδου "/proc/interrupts" με στατιστικά διακοπών έχει βελτιστοποιηθεί και οι δομές για την αποθήκευση μετρητών διακοπών έχουν εκσυγχρονιστεί και έχει προστεθεί η προσωρινή αποθήκευση.
- Η δημιουργία του αρχείου "/proc/filesystems" που χρησιμοποιείται στο libselinux έχει επιταχυνθεί.
- Ο χρονοπρογραμματιστής εργασιών υποστηρίζει πλέον την εξισορρόπηση φόρτου μεταξύ των πυρήνων της CPU, λαμβάνοντας υπόψη την κατάσταση της εσωτερικής προσωρινής μνήμης του επεξεργαστή. Ο χρονοπρογραμματιστής επιχειρεί πλέον να ομαδοποιήσει διεργασίες χρησιμοποιώντας κοινόχρηστους πόρους, όπως νήματα μέσα σε μία μόνο διεργασία, για να μοιράζονται την ίδια προσωρινή μνήμη υψηλού επιπέδου, βελτιώνοντας την αποτελεσματικότητα της πρόσβασης σε δεδομένα αυξάνοντας την πιθανότητα να βρεθούν τα απαιτούμενα δεδομένα στην προσωρινή μνήμη.
- Ο μηχανισμός SCHED_EXT, ο οποίος επιτρέπει τη χρήση του BPF για τη δημιουργία χρονοπρογραμματιστών CPU, συνέχισε να εφαρμόζει τη δυνατότητα δημιουργίας ένθετων χρονοπρογραμματιστών (sub-schedulers), οι οποίοι επιτρέπουν σε κάθε cgroup να χρησιμοποιεί τον δικό της χρονοπρογραμματιστή εργασιών.
- Συνεχής μετεγκατάσταση αλλαγών από τον κλάδο Rust-for-Linux, που σχετίζεται με τη χρήση της Rust ως δεύτερης γλώσσας για την ανάπτυξη προγραμμάτων οδήγησης και ενοτήτων πυρήνα (Η υποστήριξη Rust δεν είναι ενεργοποιημένη από προεπιλογή και δεν περιλαμβάνει το Rust ως υποχρεωτική εξάρτηση δημιουργίας πυρήνα). Η υποστήριξη Rust στον πυρήνα έχει υλοποιηθεί για την αρχιτεκτονική s390. Περιλαμβάνεται το πακέτο "zerocopy", το οποίο παρέχει γρήγορα πρωτόγονα μνήμης για κώδικα σε "μη ασφαλή" λειτουργία.
- Η ελάχιστη έκδοση του συνόλου εργαλείων LLVM που απαιτείται για την κατασκευή του πυρήνα έχει αυξηθεί στην 17.0.1.
- Στην μινιμαλιστική βιβλιοθήκη C nolibc, που παρέχεται με τον πηγαίο κώδικα του πυρήνα Linux και παρέχει ένα πλαίσιο για βασικές κλήσεις συστήματος, υποστηρίζοντας τις αρχιτεκτονικές OpenRISC και 32-bit PA-RISC.
- Το υποσύστημα ανταλλαγής έχει βελτιστοποιηθεί για να βελτιώσει την απόδοση και να μειώσει την κατανάλωση μνήμης εντός του ίδιου του υποσυστήματος, εξαλείφοντας την επιβάρυνση κατά την αποθήκευση στατικών μεταδεδομένων και ενοποιώντας την ανώνυμη και την κοινόχρηστη μνήμη κατά τη χρήση τόμων. Η μείωση της μνήμης είναι αρκετά σημαντική. Για παράδειγμα, η προσάρτηση ενός διαμερίσματος ανταλλαγής 1 TB μειώνει την κατανάλωση μνήμης κατά περίπου 512 MB.
- Η απόδοση του μηχανισμού απομάκρυνσης μνήμης, ο οποίος διαγράφει ή μετακινεί τη μνήμη σε χώρο ανταλλαγής για να ελευθερώσει μνήμη όταν το σύστημα βρίσκεται υπό πίεση, έχει βελτιωθεί. Υπό ορισμένα φόρτα εργασίας, όπως κατά τη δοκιμή του MongoDB χρησιμοποιώντας το YCSB (Yahoo! Cloud Serving Benchmark), έχουν παρατηρηθεί βελτιώσεις στην απόδοση έως και 30%.
- Η εντολή "make sbom" έχει προστεθεί στο σύστημα κατασκευής για τη δημιουργία λιστών SBOM (Software List Of Materials - Λίστα Υλικών Λογισμικού) που αντικατοπτρίζουν τα στοιχεία, τις βιβλιοθήκες και τις εξαρτήσεις που χρησιμοποιούνται στην τρέχουσα κατασκευή πυρήνα, καθώς και τις πληροφορίες άδειας χρήσης τους που λαμβάνονται από τις κεφαλίδες SPDX στα αρχεία κώδικα.
- Η υλοποίηση των ανώνυμων αγωγών έχει βελτιστοποιηθεί για τον χειρισμό κλειδωμάτων (οι λειτουργίες κατανομής μνήμης μετακινούνται εκτός του πεδίου εφαρμογής της κλειδαριάς), γεγονός που έχει αυξήσει την απόδοση των ανώνυμων αγωγών κατά 21-48% και μειώσει την καθυστέρηση κατά 17-33%.
- Εικονικοποίηση και Ασφάλεια
- Ο κατανεμητής πλακών υποστηρίζει πλέον τη χρήση των Allocation Tokens, που έχουν υλοποιηθεί στον μεταγλωττιστή Clang 22. Τα Tokens επιτρέπουν μοναδικά αναγνωριστικά για λειτουργίες κατανομής μνήμης και ξεχωριστή κατανομή διαφορετικών τύπων αντικειμένων, περιπλέκοντας την εκμετάλλευση των ευπαθειών υπερχείλισης buffer (με τον διαχωρισμό, μια υπερχείλιση buffer σε έναν τύπο αντικειμένου δεν αξιοποιείται εύκολα για να προκαλέσει ζημιά σε άλλους τύπους αντικειμένων).
- Ο μηχανισμός AF_ALG, ο οποίος αξιοποιήθηκε στην ευπάθεια Copy Fail για την τροποποίηση δεδομένων στην προσωρινή μνήμη σελίδας, έχει καταργηθεί και έχει προγραμματιστεί για κατάργηση σε μελλοντική έκδοση. Το AF_ALG ενεργοποιεί τους επιταχυντές υλικού για κρυπτογραφικούς υπολογισμούς στο Crypto API του πυρήνα, αλλά χρησιμοποιείται σε μάλλον συγκεκριμένες περιπτώσεις. Στον πυρήνα 7.2, η υποστήριξη για ασύγχρονες εισόδους/εξόδους, παλαιότερα προγράμματα οδήγησης και τον μηχανισμό μηδενικής αντιγραφής στις υλοποιήσεις skcipher και aead έχει αφαιρεθεί από το AF_ALG. Διατηρούνται μόνο οι υλοποιήσεις λογισμικού των κρυπτογραφικών αλγορίθμων και η υποστήριξη για επιταχυντές κρυπτογράφησης υλικού στο Crypto API του πυρήνα έχει αφαιρεθεί, καθώς το AF_ALG επεκτείνει σημαντικά την επιφάνεια επίθεσης, αλλά δεν παρέχει κανένα πλεονέκτημα απόδοσης σε σύγκριση με τις υλοποιήσεις κρυπτογραφίας χώρου χρήστη. Το AF_ALG χρησιμοποιήθηκε στο κιτ εργαλείων Cryptsetup, αλλά η υποστήριξή του αφαιρέθηκε στην πρόσφατη έκδοση 2.8.7.
- Ο μηχανισμός IMA (Integrity Measurement Architecture), ο οποίος επιτρέπει σε μια εξωτερική υπηρεσία να επαληθεύσει την κατάσταση των υποσυστημάτων του πυρήνα για να διασφαλίσει την αυθεντικότητά τους, έχει συμπληρωθεί με υποστήριξη για την εξαγωγή εσωτερικών πινάκων με αποτελέσματα μετρήσεων στον χώρο χρήστη και τη διαγραφή τους από τα buffer του πυρήνα για εξοικονόμηση μνήμης.
- Στη μονάδα Landlock, η οποία παρέχει σε μη προνομιούχα προγράμματα τα μέσα για τον περιορισμό της χρήσης αντικειμένων πυρήνα Linux (ιεραρχίες αρχείων, υποδοχές δικτύου, ioctl, κ.λπ.), έχει προστεθεί υποστήριξη για έλεγχο πρόσβασης σε υποδοχές UDP, καθώς και η δυνατότητα επιλεκτικής απενεργοποίησης της εξόδου πληροφοριών κλειδώματος αντικειμένων στο αρχείο καταγραφής, ώστε να αποτραπεί η υπερφόρτωση του αρχείου καταγραφής με άσχετες πληροφορίες.
- Ο πυρήνας έχει πλέον καταργήσει τη χρήση της συνάρτησης strncpy(), η οποία αντιγράφει έναν καθορισμένο αριθμό byte από μια συμβολοσειρά εισόδου. Η χρήση της strncpy() δημιούργησε τον κίνδυνο σφαλμάτων λόγω έλλειψης ενός null χαρακτήρα στο τέλος της συμβολοσειράς ή επιπλέον συμπλήρωσης με μηδενικά. Αντί της strncpy(), συνιστάται η χρήση των συναρτήσεων strscpy() και strscpy_pad() για την αντιγραφή συμβολοσειρών με τερματισμό null, καθώς και των strtomem_pad(), memcpy_and_pad() και memcpy() για την αντιγραφή συμβολοσειρών γνωστού σταθερού μεγέθους. Οι εργασίες για την κατάργηση της χρήσης της strncpy() στον πυρήνα ξεκίνησαν το 2020 και απαιτούσαν 362 commits από 70 προγραμματιστές.
- Στον υπερεπόπτη KVM Προστέθηκε υποστήριξη για τις επεκτάσεις Intel MBEC (Mode-Based Execution Control) και AMD GMET (Guest-Mode Execution Trap), οι οποίες επιτρέπουν τον ξεχωριστό χειρισμό των δικαιωμάτων εκτέλεσης πυρήνα και χώρου χρήστη σε συστήματα guest σε πίνακες μετάφρασης μνήμης. Προηγουμένως, οι επεκτάσεις εικονικοποίησης υλικού Intel και AMD επέτρεπαν τη σήμανση των σελίδων μνήμης ως εκτελέσιμων με μόνο ένα bit, με διαχωρισμό των δικαιωμάτων πυρήνα και χώρου χρήστη σε επίπεδο hypervisor βάσει λογισμικού. Η χρήση των MBEC και GMET εξαλείφει τους ελέγχους δικαιωμάτων από την πλευρά του hypervisor και μειώνει σημαντικά τις μεταφορές ελέγχου που απαιτούν πολλούς πόρους από το σύστημα guest στον hypervisor VMexit.
- Υποσύστημα δικτύου
- Η επέκταση TCP-AO (TCP Authentication Option, RFC 5925) έχει μετεγκατασταθεί στη νέα κρυπτογραφική βιβλιοθήκη libcrypto, απλοποιώντας τον κώδικα και βελτιώνοντας την απόδοσή του. Το TCP-AO επιτρέπει την επαλήθευση κεφαλίδων TCP χρησιμοποιώντας κωδικούς MAC (Message Authentication Code), χρησιμοποιώντας τους πιο σύγχρονους αλγόριθμους HMAC-SHA-1-96 και AES-128-CMAC-96, αντικαθιστώντας την προηγουμένως διαθέσιμη επιλογή TCP-MD5, η οποία βασιζόταν στον ξεπερασμένο αλγόριθμο MD5.
- Ο αριθμός των υποροών που υποστηρίζονται για συνδέσεις Multipath TCP (MPTCP) έχει αυξηθεί από 8 σε 64.
- Συνεχίστηκαν οι εργασίες για τη μείωση της χρήσης του καθολικού κλειδώματος rtnl_lock στη στοίβα δικτύου του πυρήνα.
- Ο πυρήνας έχει αφαιρέσει την υλοποίηση της στοίβας πρωτοκόλλου AppleTalk, η οποία χρησιμοποιούνταν σε υπολογιστές Apple από το 1985 και αντικαταστάθηκε τη δεκαετία του 1990 από TCP/IPΕπιπλέον, έχουν αφαιρεθεί στοιχεία τεχνολογίας μεταφοράς δεδομένων ATM που δεν σχετίζονται με το PPPoATM, καθώς και διεπαφές δικτύου ARCnet που βασίζονται σε διαύλους ISA και PCMCIA, προσαρμογείς Bluetooth με διεπαφή PCMCIA, επιταχυντές Chelsea TLS, κώδικας για την ενσωμάτωση TLS με sockmap και υποστήριξη για τις ζώνες συχνοτήτων 5/10 MHz στην ασύρματη στοίβα cfg80211/mac80211. Λόγω ανεπίλυτων προβλημάτων αποκλεισμού και έλλειψης συντηρητών, έχει αφαιρεθεί μια συγκεκριμένη υλοποίηση της επιτάχυνσης επεξεργασίας TLS που βασίζεται στη μηχανή TCP Offload Engine (διατηρείται η πιο συνηθισμένη υλοποίηση TLS offload). Ο κώδικας συμβατότητας με x_tables 32-bit σε συστήματα 64-bit έχει απενεργοποιηθεί και έχει προγραμματιστεί για αφαίρεση.
- Το πρόγραμμα οδήγησης pppoe υποστηρίζει πλέον τους μηχανισμούς GRO (Generic Receive Offload) και GSO (Generic Segmentation Offload) για επιτάχυνση υλικού στην επανασυναρμολόγηση και την τμηματοποίηση πακέτων. Η χρήση GRO και GSO αυξάνει σημαντικά την απόδοση εισερχόμενης κίνησης. Για παράδειγμα, σε συσκευές MediaTek MT7621 που έχουν διαμορφωθεί με μεταφραστή διευθύνσεων, η μέγιστη απόδοση αυξήθηκε από 130 Mbit/s σε 630 Mbit/s.
- Оборудование
- Το πρόγραμμα οδήγησης AMDGPU περιλαμβάνει πλέον αρχική υποστήριξη για την τεχνολογία HDMI 2.1 FRL (Fixed Rate Link), επιτρέποντας τη μετάδοση μη συμπιεσμένου βίντεο στα 4K/120Hz και 8K/60Hz. Η υποστήριξη HDMI 2.1 ήταν προηγουμένως αδύνατη στα προγράμματα οδήγησης ανοιχτού κώδικα λόγω των απαιτήσεων αδειοδότησης του HDMI Forum, αλλά η AMD έχει πλέον εξασφαλίσει μια παρόμοια υλοποίηση.
- Το πρόγραμμα οδήγησης i915 υποστηρίζει πλέον τον ορισμό του χρώματος φόντου για τον ελεγκτή οθόνης. Η παράμετρος pin_params.needs_low_address έχει υλοποιηθεί.
- Συνεχίστηκαν οι εργασίες στο πρόγραμμα οδήγησης Xe DRM (Direct Rendering Manager) για GPU που βασίζονται στην αρχιτεκτονική Intel Xe, η οποία χρησιμοποιείται στις κάρτες γραφικών της σειράς Intel Arc και στα ενσωματωμένα γραφικά, ξεκινώντας με τους επεξεργαστές Tiger Lake. Έχει προστεθεί αρχική υποστήριξη για την πλατφόρμα CRI (Crescent Island). Έχει υλοποιηθεί ένας ελεγκτής συστήματος για τις πλατφόρμες Xe3p dGPU.
- Το πρόγραμμα οδήγησης Nouveau επιλύει προβλήματα με την GPU NVIDIA GA100.
- Το πρόγραμμα οδήγησης v3d έχει ενημερωθεί ώστε να περιλαμβάνει τη δυνατότητα διαχείρισης της κατανάλωσης ενέργειας της GPU v3D σε μητρικές Raspberry Pi.
- Συνεχίσαμε να ενσωματώνουμε στοιχεία προγράμματος οδήγησης Nova για GPU NVIDIA εξοπλισμένες με υλικολογισμικό GSP που χρησιμοποιείται από τη σειρά NVIDIA GeForce RTX 2000 που βασίζεται στην μικροαρχιτεκτονική Turing. Το πρόγραμμα οδήγησης είναι γραμμένο σε Rust. Έχει προστεθεί υποστήριξη για τις GPU των σειρών NVIDIA GA100, Hopper και Blackwell.
- Προστέθηκε υποστήριξη για πλακέτες ARM, SoC και συσκευές: Apple t8122 (M3), Motorola Edge 30, Nothing Phone 3a, Google Pixel 3a XL, Qualcomm Dragonwing IPQ9650, Huawei Hawi, ZTE zx297520v3, Renesas R-Car M3Le, ASPEED AST27xx, Cortina Gemini, NXP i.MX6/8/9, NXP LX2160A, TI K3 AM62x.
Ταυτόχρονα, το Ίδρυμα Ελεύθερου Λογισμικού της Λατινικής Αμερικής δημιούργησε μια έκδοση του εντελώς δωρεάν πυρήνα 7.2 - Linux-libre 7.2-gnu, καθαρίστηκε από στοιχεία firmware και driver που περιέχουν μη ελεύθερα στοιχεία ή τμήματα κώδικα με περιορισμένο πεδίο εφαρμογής από τον κατασκευαστή. Η έκδοση 7.2 περιλαμβάνει έναν καθαρισμό blob για τα νέα προγράμματα οδήγησης rt722-sdca και tac5xx2. Ο κώδικας καθαρισμού για τα προγράμματα οδήγησης amdgpu, nova core, qcom iris, q6v5, iwlwifi, amdxnda, adreno, r8152 και mt792x έχει ενημερωθεί. Οι διεπαφές για τη φόρτωση του firmware έχουν προσαρμοστεί. Τα ονόματα blob στα αρχεία devicetree (dts) για τα τσιπ ARM έχουν καθαριστεί.
Πηγή: opennet.ru
