#include "symbol/kallsyms.h" #include #include u8 kallsyms2elf_type(char type) { type = tolower(type); return (type == 't' || type == 'w') ? STT_FUNC : STT_OBJECT; } int kallsyms__parse(const char *filename, void *arg, int (*process_symbol)(void *arg, const char *name, char type, u64 start)) { char *line = NULL; size_t n; int err = -1; FILE *file = fopen(filename, "r"); if (file == NULL) goto out_failure; err = 0; while (!feof(file)) { u64 start; int line_len, len; char symbol_type; char *symbol_name; line_len = getline(&line, &n, file); if (line_len < 0 || !line) break; line[--line_len] = '\0'; /* \n */ len = hex2u64(line, &start); len++; if (len + 2 >= line_len) continue; symbol_type = line[len]; len += 2; symbol_name = line + len; len = line_len - len; if (len >= KSYM_NAME_LEN) { err = -1; break; } err = process_symbol(arg, symbol_name, symbol_type, start); if (err) break; } free(line); fclose(file); return err; out_failure: return -1; } option value='master' selected='selected'>master net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2016-12-05 13:43:25 -0800
committerDan Williams <dan.j.williams@intel.com>2016-12-06 17:42:36 -0800
commita7de92dac9f0dbf01deb56fe1d661d7baac097e1 (patch)
treeb1cc2c95f2094ea4ab5b508d49fbbd65fabd5048 /drivers
parentd6eb270c57fef35798525004ddf2ac5dcdadd43b (diff)
tools/testing/nvdimm: unit test acpi_nfit_ctl()
A recent flurry of bug discoveries in the nfit driver's DSM marshalling routine has highlighted the fact that we do not have unit test coverage for this routine. Add a self-test of acpi_nfit_ctl() routine before probing the "nfit_test.0" device. This mocks stimulus to acpi_nfit_ctl() and if any of the tests fail "nfit_test.0" will be unavailable causing the rest of the tests to not run / fail. This unit test will also be a place to land reproductions of quirky BIOS behavior discovered in the field and ensure the kernel does not regress against implementations it has seen in practice. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers')