Merge 5.6-rc7 into char-misc-next
We need the char/misc driver fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
@@ -308,7 +308,8 @@ static const char *sec_name(struct elf_info *elf, int secindex)
|
||||
|
||||
static void *sym_get_data(const struct elf_info *info, const Elf_Sym *sym)
|
||||
{
|
||||
Elf_Shdr *sechdr = &info->sechdrs[sym->st_shndx];
|
||||
unsigned int secindex = get_secindex(info, sym);
|
||||
Elf_Shdr *sechdr = &info->sechdrs[secindex];
|
||||
unsigned long offset;
|
||||
|
||||
offset = sym->st_value;
|
||||
@@ -2427,7 +2428,7 @@ static void write_if_changed(struct buffer *b, const char *fname)
|
||||
}
|
||||
|
||||
/* parse Module.symvers file. line format:
|
||||
* 0x12345678<tab>symbol<tab>module[[<tab>export]<tab>something]
|
||||
* 0x12345678<tab>symbol<tab>module<tab>export<tab>namespace
|
||||
**/
|
||||
static void read_dump(const char *fname, unsigned int kernel)
|
||||
{
|
||||
@@ -2440,7 +2441,7 @@ static void read_dump(const char *fname, unsigned int kernel)
|
||||
return;
|
||||
|
||||
while ((line = get_next_line(&pos, file, size))) {
|
||||
char *symname, *namespace, *modname, *d, *export, *end;
|
||||
char *symname, *namespace, *modname, *d, *export;
|
||||
unsigned int crc;
|
||||
struct module *mod;
|
||||
struct symbol *s;
|
||||
@@ -2448,16 +2449,16 @@ static void read_dump(const char *fname, unsigned int kernel)
|
||||
if (!(symname = strchr(line, '\t')))
|
||||
goto fail;
|
||||
*symname++ = '\0';
|
||||
if (!(namespace = strchr(symname, '\t')))
|
||||
goto fail;
|
||||
*namespace++ = '\0';
|
||||
if (!(modname = strchr(namespace, '\t')))
|
||||
if (!(modname = strchr(symname, '\t')))
|
||||
goto fail;
|
||||
*modname++ = '\0';
|
||||
if ((export = strchr(modname, '\t')) != NULL)
|
||||
*export++ = '\0';
|
||||
if (export && ((end = strchr(export, '\t')) != NULL))
|
||||
*end = '\0';
|
||||
if (!(export = strchr(modname, '\t')))
|
||||
goto fail;
|
||||
*export++ = '\0';
|
||||
if (!(namespace = strchr(export, '\t')))
|
||||
goto fail;
|
||||
*namespace++ = '\0';
|
||||
|
||||
crc = strtoul(line, &d, 16);
|
||||
if (*symname == '\0' || *modname == '\0' || *d != '\0')
|
||||
goto fail;
|
||||
@@ -2508,9 +2509,9 @@ static void write_dump(const char *fname)
|
||||
namespace = symbol->namespace;
|
||||
buf_printf(&buf, "0x%08x\t%s\t%s\t%s\t%s\n",
|
||||
symbol->crc, symbol->name,
|
||||
namespace ? namespace : "",
|
||||
symbol->module->name,
|
||||
export_str(symbol->export));
|
||||
export_str(symbol->export),
|
||||
namespace ? namespace : "");
|
||||
}
|
||||
symbol = symbol->next;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user