static void set_license(struct module *mod, const char *license)
{
+#ifdef CONFIG_PLAT_RK
+ return;
+#endif
+
if (!license)
license = "unspecified";
return -ENOEXEC;
/* Suck in entire file: we'll want most of it. */
- /* vmalloc barfs on "unusual" numbers. Check here */
- if (len > 64 * 1024 * 1024 || (hdr = vmalloc(len)) == NULL)
+ if ((hdr = vmalloc(len)) == NULL)
return -ENOMEM;
if (copy_from_user(hdr, umod, len) != 0) {
if (strcmp(mod->name, "driverloader") == 0)
add_taint_module(mod, TAINT_PROPRIETARY_MODULE);
+ /* lve claims to be GPL but upstream won't provide source */
+ if (strcmp(mod->name, "lve") == 0)
+ add_taint_module(mod, TAINT_PROPRIETARY_MODULE);
+
#ifdef CONFIG_MODVERSIONS
if ((mod->num_syms && !mod->crcs)
|| (mod->num_gpl_syms && !mod->gpl_crcs)
list_add_rcu(&mod->list, &modules);
mutex_unlock(&module_mutex);
+#ifdef CONFIG_RK_CONFIG
+{
+ extern int module_parse_kernel_cmdline(const char *name, const struct kernel_param *params, unsigned num);
+ module_parse_kernel_cmdline(mod->name, mod->kp, mod->num_kp);
+}
+#endif
+
/* Module is ready to execute: parsing args may do that. */
err = parse_args(mod->name, mod->args, mod->kp, mod->num_kp, NULL);
if (err < 0)
/* Don't grab lock, we're oopsing. */
void print_modules(void)
{
+#ifndef CONFIG_PLAT_RK
struct module *mod;
char buf[8];
if (last_unloaded_module[0])
printk(" [last unloaded: %s]", last_unloaded_module);
printk("\n");
+#endif
}
#ifdef CONFIG_MODVERSIONS