Merge 21e80f3841 ("Merge tag 'modules-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux") into android-mainline
Steps on the way to 6.7-rc1 Change-Id: I1285112075e195f45a138efd3c5963aba53e5a73 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
+1
-1
@@ -14534,7 +14534,7 @@ L: linux-kernel@vger.kernel.org
|
||||
S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git modules-next
|
||||
F: include/linux/kmod.h
|
||||
F: include/linux/module.h
|
||||
F: include/linux/module*.h
|
||||
F: kernel/module/
|
||||
F: lib/test_kmod.c
|
||||
F: scripts/module*
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#define _LINUX_MODULE_SYMBOL_H
|
||||
|
||||
/* This ignores the intensely annoying "mapping symbols" found in ELF files. */
|
||||
static inline int is_mapping_symbol(const char *str)
|
||||
static inline bool is_mapping_symbol(const char *str)
|
||||
{
|
||||
if (str[0] == '.' && str[1] == 'L')
|
||||
return true;
|
||||
|
||||
@@ -293,7 +293,11 @@ struct kparam_array
|
||||
= { __param_str_##name, THIS_MODULE, ops, \
|
||||
VERIFY_OCTAL_PERMISSIONS(perm), level, flags, { arg } }
|
||||
|
||||
/* Obsolete - use module_param_cb() */
|
||||
/*
|
||||
* Useful for describing a set/get pair used only once (i.e. for this
|
||||
* parameter). For repeated set/get pairs (i.e. the same struct
|
||||
* kernel_param_ops), use module_param_cb() instead.
|
||||
*/
|
||||
#define module_param_call(name, _set, _get, arg, perm) \
|
||||
static const struct kernel_param_ops __param_ops_##name = \
|
||||
{ .flags = 0, .set = _set, .get = _get }; \
|
||||
|
||||
@@ -100,7 +100,7 @@ static ssize_t module_gzip_decompress(struct load_info *info,
|
||||
s.next_in = buf + gzip_hdr_len;
|
||||
s.avail_in = size - gzip_hdr_len;
|
||||
|
||||
s.workspace = kmalloc(zlib_inflate_workspacesize(), GFP_KERNEL);
|
||||
s.workspace = vmalloc(zlib_inflate_workspacesize());
|
||||
if (!s.workspace)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -138,7 +138,7 @@ static ssize_t module_gzip_decompress(struct load_info *info,
|
||||
out_inflate_end:
|
||||
zlib_inflateEnd(&s);
|
||||
out:
|
||||
kfree(s.workspace);
|
||||
vfree(s.workspace);
|
||||
return retval;
|
||||
}
|
||||
#elif defined(CONFIG_MODULE_COMPRESS_XZ)
|
||||
|
||||
@@ -126,7 +126,7 @@ static LIST_HEAD(dup_failed_modules);
|
||||
* These typically should not happen unless your system is under memory
|
||||
* pressure.
|
||||
* * invalid_becoming_bytes: total number of bytes allocated and freed used
|
||||
* used to read the kernel module userspace wants us to read before we
|
||||
* to read the kernel module userspace wants us to read before we
|
||||
* promote it to be processed to be added to our @modules linked list. These
|
||||
* failures can happen if we had a check in between a successful kernel_read_file_from_fd()
|
||||
* call and right before we allocate the our private memory for the module
|
||||
|
||||
@@ -143,7 +143,7 @@ static void remove_sect_attrs(struct module *mod)
|
||||
struct module_notes_attrs {
|
||||
struct kobject *dir;
|
||||
unsigned int notes;
|
||||
struct bin_attribute attrs[];
|
||||
struct bin_attribute attrs[] __counted_by(notes);
|
||||
};
|
||||
|
||||
static ssize_t module_notes_read(struct file *filp, struct kobject *kobj,
|
||||
|
||||
@@ -1061,12 +1061,12 @@ static int secref_whitelist(const char *fromsec, const char *fromsym,
|
||||
* only by merging __exit and __init sections into __text, bloating
|
||||
* the kernel (which is especially evil on embedded platforms).
|
||||
*/
|
||||
static inline int is_valid_name(struct elf_info *elf, Elf_Sym *sym)
|
||||
static inline bool is_valid_name(struct elf_info *elf, Elf_Sym *sym)
|
||||
{
|
||||
const char *name = elf->strtab + sym->st_name;
|
||||
|
||||
if (!name || !strlen(name))
|
||||
return 0;
|
||||
return false;
|
||||
return !is_mapping_symbol(name);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user