[PATCH] i386: Enforce GPLness of VMI ROM
VMI ROMs are pretty intimate to the kernel, so enforce their GPLness. No \0 tricks checking for now This rules out BSD/MIT modules for now, sorry -- the trouble is those could come without source. Acked-by: Zachary Amsden <zach@vmware.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
parent
a9bc3bfd12
commit
302cf930cb
|
@ -23,7 +23,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/license.h>
|
|
||||||
#include <linux/cpu.h>
|
#include <linux/cpu.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/bootmem.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
|
@ -48,7 +47,6 @@ typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int);
|
||||||
(((VROMLONGFUNC *)(rom->func)) (arg))
|
(((VROMLONGFUNC *)(rom->func)) (arg))
|
||||||
|
|
||||||
static struct vrom_header *vmi_rom;
|
static struct vrom_header *vmi_rom;
|
||||||
static int license_gplok;
|
|
||||||
static int disable_pge;
|
static int disable_pge;
|
||||||
static int disable_pse;
|
static int disable_pse;
|
||||||
static int disable_sep;
|
static int disable_sep;
|
||||||
|
@ -629,13 +627,14 @@ static inline int __init check_vmi_rom(struct vrom_header *rom)
|
||||||
rom->api_version_maj, rom->api_version_min,
|
rom->api_version_maj, rom->api_version_min,
|
||||||
pci->rom_version_maj, pci->rom_version_min);
|
pci->rom_version_maj, pci->rom_version_min);
|
||||||
|
|
||||||
license_gplok = license_is_gpl_compatible(license);
|
/* Don't allow BSD/MIT here for now because we don't want to end up
|
||||||
if (!license_gplok) {
|
with any binary only shim layers */
|
||||||
printk(KERN_WARNING "VMI: ROM license '%s' taints kernel... "
|
if (strcmp(license, "GPL") && strcmp(license, "GPL v2")) {
|
||||||
"inlining disabled\n",
|
printk(KERN_WARNING "VMI: Non GPL license `%s' found for ROM. Not used.\n",
|
||||||
license);
|
license);
|
||||||
add_taint(TAINT_PROPRIETARY_MODULE);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue