[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4] xmalloc: add support for checking the pool integrity
>>> On 17.12.14 at 11:08, <andrew.cooper3@xxxxxxxxxx> wrote: > On 17/12/14 09:59, Jan Beulich wrote: >>>>> On 16.12.14 at 21:28, <andrew.cooper3@xxxxxxxxxx> wrote: >>> On 16/12/14 19:33, Mihai DonÈu wrote: >>>> +static bool_t __xmem_pool_check_locked(const char *file, int line, >>>> + const struct xmem_pool *pool) >>>> +{ >>>> + unsigned int i; >>>> + static bool_t once = 1; >>> What is this static doing? Surely corruption corruption in one pool has >>> no effect on corruption in a separate pool (other than the usual side >>> effects of general memory corruption, which tend to be bad). >>> >>> It looks as if it wants to be an extra field in an xmem_pool. >> Question is whether logging more than the first corruption ever is >> really all that useful. > > True - as soon as one bit of memory corruption is detected, all other > bets are off. > > Might it perhaps be prudent to then panic() on a positive detection of > memory corruption? Indeed. >>>> +bool_t __xmem_pool_check(const char *file, int line, struct xmem_pool > *pool) >>>> +{ >>>> + return __xmem_pool_check_unlocked(file, line, pool ?: xenpool); >>> Why should a NULL pool be tolerated here? This is debug code only, so >>> we can require and trust that we are called appropriately. >> xenpool is not and should not be visible to code outside this file. > > Quite, but the only plausible external callers will be checking pools of > their own. This patch adds internal callers for checking the xenpool. If you look up earlier conversation on this patch and its origin, I think you'll find that it is specifically intended for calls to this to be addable at arbitrary places in the code. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |