[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] xen: fail gnttab_grow_table() in case of missing allocations



On 29/09/17 10:28, Juergen Gross wrote:
> On 29/09/17 11:22, Andrew Cooper wrote:
>> On 29/09/17 10:02, Juergen Gross wrote:
>>> On 29/09/17 10:55, Roger Pau Monné wrote:
>>>> On Fri, Sep 29, 2017 at 05:39:22AM +0000, Juergen Gross wrote:
>>>>> In case gnttab_grow_table() is being called without grant_table_init()
>>>>> having been called for the domain, e.g. in case of a toolstack error,
>>>>> fail the function instead of crashing the system.
>>>>>
>>>>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>>>>> ---
>>>>>  xen/common/grant_table.c | 6 +++++-
>>>>>  1 file changed, 5 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
>>>>> index 71706f5cba..f2598a902f 100644
>>>>> --- a/xen/common/grant_table.c
>>>>> +++ b/xen/common/grant_table.c
>>>>> @@ -1669,7 +1669,11 @@ gnttab_grow_table(struct domain *d, unsigned int 
>>>>> req_nr_frames)
>>>>>      struct grant_table *gt = d->grant_table;
>>>>>      unsigned int i, j;
>>>>>  
>>>>> -    ASSERT(gt->active);
>>>>> +    if ( unlikely(!gt->active) )
>>>>> +    {
>>>>> +        gdprintk(XENLOG_WARNING, "grant_table_set_limits() call 
>>>>> missing.\n");
>>>> In the commit message you mention 'grant_table_init', yet the error
>>>> message here says grant_table_set_limits. Shouldn't both mention the
>>>> same precursor function?
>>> Aah, sorry. Will update the commit message.
>>>
>>>> Also I think this might be better as gprintk instead of gdprintk.
>>> Okay.
>>>
>>>>> +        return 0;
>>>> This return 0 has confused me, I was going to ask to return ENODEV,
>>>> but then I saw this is actually treated like a boolean. Might be good
>>>> to make gnttab_grow_table return bool, or either make it return proper
>>>> error codes.
>>> I wanted to keep the patch small.
>>>
>>> I can either send a cleanup patch after 4.10 or do it in this patch (in
>>> which case I'd like to know whether this patch or the last one of my
>>> grant series will be applied first).
>>>
>>> Thoughts?
>> This function is new in 4.10.
> Umm, not really. Its rather old.

Oh - so it is.

>
>> I'm not concerned about absolute size of
>> the patch, but I would prefer not to introduce new (mis)uses of int
>> functions which actually have boolean properties.  (Wei and I have spent
>> a large quantity of time removing functions like this.)
> I'd rather return a proper error code.

Fine by me.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.