On 14/10/14 02:19, Martin Kelly wrote: > In a call to set_phys_range_identity, i-1 is used without checking that > i is non-zero. Although unlikely, a bug in the code before it could > cause the value to be 0, leading to erroneous behavior. This patch adds > a check against 0 value and a corresponding warning.
This can only happen if the toolstack supplies a memory map with zero entries. I could see justification for adding a panic at the top of this function in this case, but I can't see the usefulness of this warning. > --- a/arch/x86/xen/setup.c > +++ b/arch/x86/xen/setup.c > @@ -671,7 +671,10 @@ char * __init xen_memory_setup(void) > * PFNs above MAX_P2M_PFN are considered identity mapped as > * well. > */ > - set_phys_range_identity(map[i-1].addr / PAGE_SIZE, ~0ul); > + if (i > 0) > + set_phys_range_identity(map[i-1].addr / PAGE_SIZE, ~0ul); > + else > + WARN(1, "Something went wrong clamping memory to a factor of > EXTRA_MEM_RATIO!"); > > /* > * In domU, the ISA region is normal, usable memory, but we > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/