EXPORT_SYMBOL_GPLとはLinuxカーネルコードにあるものです
EXPORT_SYMBOL_GPLは、他のモジュールまたはドライバから利用可能にするシンボル(関数、変数など)を、シンボルテーブルのグローバルシンボルとしてエクスポートするための、Linuxカーネルにおけるマクロ。これにより、他のモジュールでエクスポートされたシンボルを呼び出すことができる。
EXPORT_SYMBOL_GPLとEXPORT_SYMBOLの違いは、EXPORT_SYMBOL_GPLは記号を「GPLライセンス」で利用可能とマークし、GPLライセンス条項に従うモジュールまたはドライバのみが、そのエクスポートされた記号を使用できることを意味することです。
これによりLinuxカーネルのコードが保護され、ライセンスの衝突やコードの不正利用が防がれる。EXPORT_SYMBOL_GPLによってエクスポートされたシンボルは、GPLライセンスに従うモジュールやドライバだけが使用でき、それ以外のモジュールやドライバは使用できない。この制限により、Linuxカーネルのコードの安全性と整合性が保証される。