Προτείνετε να αποκλείσετε προγράμματα οδήγησης που παρέχουν πρόσβαση σε κλήσεις GPL στον πυρήνα Linux

Λογότυπο Kernel Linux, Tux

Christoph Hellwig, ένας εξέχων προγραμματιστής πυρήνα Linux που κάποτε ήταν μέλος της τεχνικής συντονιστικής επιτροπής του Ιδρύματος Linux και μήνυσε σε μήνυση της GPL κατά της VMware.

Έχει προτείνει την ενίσχυση των προστατευτικών μέτρων ενάντια στη σύνδεση ιδιόκτητους οδηγούς σε εξαγόμενα στοιχεία πυρήνα Linux μόνο για ενότητες με άδεια χρήσης σύμφωνα με την GPL.

Για να αποφύγετε τον περιορισμό για εξαγωγή συμβόλων GPL, οι κατασκευαστές ιδιόκτητων προγραμμάτων οδήγησης χρησιμοποιούν μια ενότητα επιπέδου, του οποίου ο κώδικας είναι ανοιχτού κώδικα και διανέμεται υπό την άδεια GPLv2, αλλά οι συναρτήσεις περιορίζονται στη μεταβίβαση της πρόσβασης του ελεγκτή κατόχου στα API απαραίτητα αρχεία πυρήνα, η χρήση των οποίων απαγορεύεται απευθείας από τον ιδιόκτητο κώδικα.

Για να εμποδίσει έναν τέτοιο ελιγμό, Ο Christoph Helwig ετοίμασε ενημερώσεις κώδικα για τον πυρήνα του Linux που εξασφαλίζουν κληρονομικότητα των σημαιών που σχετίζονται με την εξαγωγή συμβόλων GPL.

Είχαμε ένα σφάλμα στην ανάλυση της ενότητας _GPL από την πρώτη μέρα,
Δηλαδή, μια λειτουργική μονάδα μπορεί να ισχυριστεί ότι έχει άδεια GPL και να χρησιμοποιεί εξαγωγές _GPL, ενώ επίσης βασίζεται σε σύμβολα από λειτουργικές μονάδες που δεν είναι GPL. Αυτό χρησιμοποιείται ως παράκαμψη των εξαγωγών _GPL χρησιμοποιώντας μια μικρή λειτουργική μονάδα shim που χρησιμοποιεί τις εξαγωγές _GPL και άλλες λειτουργίες.

Η πρόταση συνοψίζεται στην κληρονομιά της σημαίας TAINT_PROPRIETARY_MODULE σε όλες τις λειτουργικές μονάδες που εισάγουν σύμβολα λειτουργικών μονάδων με αυτήν τη σημαία.

Επομένως, εάν μια λειτουργική μονάδα μεσαίου επιπέδου GPL επιχειρήσει να εισαγάγει σύμβολα από μια λειτουργική μονάδα που δεν είναι GPL, η λειτουργική μονάδα GPL θα κληρονομήσει την ετικέτα TAINT_PROPRIETARY_MODULE και δεν θα μπορεί να έχει πρόσβαση σε στοιχεία πυρήνα που είναι διαθέσιμα μόνο σε λειτουργικές μονάδες με άδεια GPL, ακόμη και αν η λειτουργική μονάδα έχει εισαχθεί προηγουμένως σύμβολα από το "gponly".

Το έμπλαστρο του Hellwig προσπαθεί τώρα να το καταστήσει δύσκολο. Οι μονάδες που εισάγουν ιδιόκτητα σύμβολα επισημαίνονται ως ιδιόκτητα και δεν έχουν πρόσβαση στα σύμβολα GPL. 

Η αλλαγή προτάθηκε ως απάντηση σε μια σειρά από ενημερώσεις κώδικα που κυκλοφόρησαν από έναν μηχανικό του Facebook με την εφαρμογή ενός νέου υποσυστήματος netgpu, το οποίο επιτρέπει την άμεση ανταλλαγή δεδομένων (DMA zero copy) μεταξύ της κάρτας δικτύου και της GPU, ενώ εκτελεί την επεξεργασία πρωτοκόλλου από την CPU.

Αυτό θα απέφευγε τη μέθοδο που είχε αρχικά σχεδιάσει ο Jonathan Lemon για τις ενημερώσεις κώδικα και θα προκαλούσε την παράλειψη του συμβόλου GPL από την ανάπτυξη των ενδιάμεσων επιπέδων να είναι πολύ πιο δύσκολο, ακόμα κι αν υπάρχει ακόμα ένα μικρό κενό, όπως υποδεικνύετε.

Στη συζήτηση που κάνουν αυτή τη στιγμή διάφοροι προγραμματιστές πυρήνα Linux επίσης Προτείνεται η αντίστροφη κλειδαριά: εάν μια λειτουργική μονάδα εισάγει σύμβολα EXPORT_SYMBOL_GPL, τα σύμβολα που εξάγονται από αυτήν τη λειτουργική μονάδα δεν πρέπει να εισάγονται από λειτουργικές μονάδες που δεν ισχυρίζονται ρητά τη συμβατότητα GPL.

Όσοι δεν διαθέτουν λειτουργική μονάδα εισάγουν σύμβολα EXPORT_SYMBOL_GPL, όλα τα εξαγόμενα σύμβολά σας θα πρέπει να αντιμετωπίζονται ως EXPORT_SYMBOL_GPL.

Ο Christoph Helwig έγραψε ότι συμφωνεί 100% με αυτήν την πρόταση, αλλά ο Linus Torvalds δεν θα χάσει αυτή την αλλαγή, καθώς θα καταστήσει τα περισσότερα υποσυστήματα πυρήνα μη διαθέσιμα σε ιδιόκτητα προγράμματα οδήγησης, λόγω του γεγονότος ότι κατά την ανάπτυξη προγραμμάτων οδήγησης, τα βασικά σύμβολα εξάγονται υπό την GPL

Οι προγραμματιστές δεν ήταν ικανοποιημένοι με τη διαθεσιμότητα της υλοποίησης μόνο για ιδιόκτητα προγράμματα οδήγησης NVIDIA μέσω του επιπέδου GPL που παρέχεται από αυτά τα προγράμματα οδήγησης.

Απαντώντας στην κριτική, ο συγγραφέας της ενημέρωσης κώδικα έδειξε ότι το υποσύστημα δεν είναι συνδεδεμένο με τη NVIDIA και η υποστήριξή του μπορεί να παρέχεται, μεταξύ άλλων, για διεπαφές λογισμικού με τις GPU της AMD και της Intel.

Ως αποτέλεσμα, η προώθηση του netgpu στον πυρήνα θεωρήθηκε αδύνατη μέχρι τη διαθεσιμότητα δωρεάν υποστήριξης εργασίας βασισμένη σε προγράμματα οδήγησης, όπως AMDGPU, Intel i915 ή Nouveau.

Αυτό πρέπει να το θυμάστε στο παρελθόν, έχει η κοινότητα του πυρήνα του Linux εφάρμοσε ποικίλες αλλαγές ο οποίος, εν γνώσει του ή ως παρενέργεια, εμπόδισαν την ανάπτυξη ιδιόκτητων ενοτήτων ή δεν είναι συμβατό με άδειες.

Τελικά αν θέλετε να μάθετε περισσότερα για αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες μεταβαίνοντας στον παρακάτω σύνδεσμο.

πηγή: https://lkml.org/


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Δαβίδ dijo

    Ίσως θα ήταν καλύτερο να βάλετε το άρθρο στα αγγλικά αντί να χρησιμοποιήσετε μεταφραστή. Υπάρχουν πολλά μέρη που μου είναι ακατανόητα.