הצע לחסום מנהלי התקנים המספקים גישה לשיחות GPL לליבת הלינוקס

לוגו Kernel Linux, Tux

כריסטוף הלוויג, מפתח גרעין לינוקס בולט שהיה פעם חבר בוועדת ההיגוי הטכנית של קרן לינוקס ותבע במסגרת התדיינות GPL נגד VMware.

הוא הציע להדק את ההגנות נגד קשירה נהגים קנייניים לרכיבי ליבת לינוקס מיוצאים רק למודולים המורשים תחת ה- GPL.

כדי למנוע הגבלה לייצוא סמלי GPL, יצרני בקרים קנייניים משתמשים במודול שכבה, הקוד שלו הוא קוד פתוח ומופץ ברישיון GPLv2, אך הפונקציות מסתכמות בהעברת גישה לבקר הבעלים לממשקי ה- API קבצי ליבה, שהשימוש בהם אסור ישירות מהקוד הקנייני.

כדי לחסום תמרון כזה, כריסטוף הלוויג הכין טלאים לליבת הלינוקס שמבטיחים ירושה של הדגלים המשויכים לייצוא סמלי GPL.

הייתה לנו שגיאה ברזולוציית המודול _GPL שלנו מהיום הראשון,
כלומר, מודול יכול לטעון שהוא מורשה ל- GPL ולהשתמש בייצוא _GPL, תוך שהוא מסתמך על סמלים שאינם GPL. זה משמש כעקיפה של ייצוא _GPL באמצעות מודול shim קטן המשתמש ביצוא _GPL ופונקציונליות אחרת.

ההצעה מסתכמת בירושת המדד TAINT_PROPRIETARY_MODULE בכל המודולים המייבאים סמלי מודולים עם דגל זה.

לכן, אם מודול שכבת אמצע GPL מנסה לייבא סמלים ממודול שאינו GPL, מודול GPL יירש את התג TAINT_PROPRIETARY_MODULE ולא יוכל לגשת לרכיבי הליבה הזמינים רק למודולים מורשים של GPL, גם אם המודול ייבא בעבר. סמלים מ- "gplonly".

התיקון של הלוויג מנסה כעת להקשות על זה. מודולים המייבאים סמלים קנייניים מסומנים כקניינית ואין להם גישה לסמלי GPL. 

השינוי הוצע בתגובה לסדרת תיקונים שפורסמו על ידי מהנדס פייסבוק עם הטמעה של תת מערכת netgpu חדשה, המאפשרת חילופי נתונים ישירים (אפס העתק DMA) בין כרטיס הרשת ל- GPU, תוך ביצוע עיבוד הפרוטוקול על ידי המעבד.

זה ימנע את השיטה שתוכנן במקור על ידי ג'ונתן למון עבור התיקונים שלך ויהפוך את התפתחותם של שכבות השליטה להשמיט את סמל GPL להיות הרבה יותר קשה, גם אם יש עדיין פער קטן, כפי שצוין.

בדיון שהם מנהלים כרגע גם מפתחי גרעין לינוקס שונים הוצע חסימה הפוכה: אם מודול מייבא EXPORT_SYMBOL_GPL סמלים, אין לייבא את הסמלים המיוצאים על ידי מודול זה על ידי מודולים שאינם טוענים במפורש לתאימות GPL.

אלה ללא מודול מייבאים סמלים של EXPORT_SYMBOL_GPL, יש להתייחס לכל הסמלים המיוצאים שלהם כאל EXPORT_SYMBOL_GPL.

כריסטוף הלוויג כתב כי הוא מסכים ב 100% להצעה זו, אך לינוס טורבלדס לא יפספס את השינוי הזה מכיוון שהוא יביא לכך שרוב מערכות המשנה של הליבה לא יהיו זמינות לנהגים קנייניים, בשל העובדה שכאשר מפתחים מנהלי התקנים מיוצאים סמלי הבסיס תחת ה- GPL

היזמים לא היו מרוצים מהזמינות של היישום רק עבור מנהלי ההתקנים הקנייניים של NVIDIA באמצעות שכבת GPL שמספקים מנהלי התקנים אלה.

בתגובה לביקורת, מחבר התיקון ציין כי תת המערכת אינה מקושרת ל- NVIDIA ואת התמיכה שלו ניתן לספק, בין היתר, לממשקי תוכנה עבור AMD ו- Intel GPUs.

כתוצאה מכך, הקידום של netgpu בגרעין נחשב לבלתי אפשרי עד זמינות התמיכה בעבודה המבוססת על מנהלי התקנים חינמיים כגון AMDGPU, Intel i915 או Nouveau.

אתה צריך לזכור את זה בעבר, יש לקהילת הליבה של לינוקס הטמיע מגוון שינויים שביודעין או כתופעת לוואי, הפריעו לפיתוח מודולים קנייניים או שאינו תואם לרישיונות.

בסופו של דבר אם אתה רוצה לדעת יותר על זה, אתה יכול לבדוק את הפרטים על ידי מעבר לקישור הבא.

מקור: https://lkml.org/


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   דוד דיג'ו

    אולי עדיף להעלות את המאמר באנגלית במקום להשתמש במתרגם. ישנם חלקים רבים שאינם מובנים בעיניי.