summaryrefslogtreecommitdiff
path: root/drivers/hv/ring_buffer.c
diff options
context:
space:
mode:
authorVitaly Kuznetsov <vkuznets@redhat.com>2016-04-30 19:21:35 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-03-26 12:13:17 +0200
commit0a2512768f1683514ef964e2e0767458baef14de (patch)
tree6f2b1509012c56915a90ef6a143f220659d7783c /drivers/hv/ring_buffer.c
parent3787a071d145055a89442cf614ceec39c315bc9f (diff)
Drivers: hv: balloon: don't crash when memory is added in non-sorted order
commit 77c0c9735bc0ba5898e637a3a20d6bcb50e3f67d upstream. When we iterate through all HA regions in handle_pg_range() we have an assumption that all these regions are sorted in the list and the 'start_pfn >= has->end_pfn' check is enough to find the proper region. Unfortunately it's not the case with WS2016 where host can hot-add regions in a different order. We end up modifying the wrong HA region and crashing later on pages online. Modify the check to make sure we found the region we were searching for while iterating. Fix the same check in pfn_covered() as well. Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Cc: Sumit Semwal <sumit.semwal@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv/ring_buffer.c')
0 files changed, 0 insertions, 0 deletions