Dan Williams 3193204149 nfit: fix _FIT evaluation memory leak + use after free
acpi_evaluate_object() allocates memory. Free the buffer allocated
during acpi_nfit_add(). In order for this memory to be freed
acpi_nfit_init() needs to be converted to duplicate the nfit contents in
its internal allocation.  Use zero-length arrays to minimize the thrash
with the rest of the nfit driver implementation.

All of the add_<nfit-sub-table>() routines now validate a minimum table
size and expect hotplugged tables to match the size of the original
table to count as a duplicate. For variable length tables, like 'idt'
and 'flush', we calculate the dynamic size. Note that hotplug by
definition cannot change the interleave as it would cause data
corruption of in-use namespaces.

Cc: Vishal Verma <vishal.l.verma@intel.com>
Reported-by: Xiao Guangrong <guangrong.xiao@intel.com>
Reported-by: Haozhong Zhang <haozhong.zhang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2016-07-21 14:12:18 -07:00
..
2015-07-08 02:27:32 +02:00
2016-04-27 23:42:57 +02:00
2016-04-27 23:42:57 +02:00
2016-05-27 15:26:11 -07:00
2015-07-08 02:27:32 +02:00
2016-01-04 22:10:30 +01:00
2015-07-08 02:27:32 +02:00
2015-07-08 02:27:32 +02:00
2015-07-08 02:27:32 +02:00
2015-07-08 02:27:32 +02:00
2016-03-09 23:23:21 +01:00
2015-11-07 01:30:10 +01:00
2015-07-08 02:27:32 +02:00
2016-06-09 23:48:54 +02:00
2015-07-08 02:27:32 +02:00
2015-09-01 03:38:43 +02:00
2015-09-01 15:52:35 +02:00
2016-02-16 19:58:25 +01:00
2016-05-23 11:18:01 -07:00