From: "Bryan O'Donoghue" <pure.logic@nexus-software.ie>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
"x86@kernel.org" <x86@kernel.org>,
"dvhart@infradead.org" <dvhart@infradead.org>,
"Ong, Boon Leong" <boon.leong.ong@intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: Fwd: [PATCH v7 1/2] x86: Add Isolated Memory Regions for Quark X1000
Date: Fri, 30 Jan 2015 14:13:37 +0000 [thread overview]
Message-ID: <54CB9191.4070207@nexus-software.ie> (raw)
In-Reply-To: <CAHp75VcJ9xXvJnATHKKAGCgjvQ19uswCwVrwJ3L1CsfPnSxxPg@mail.gmail.com>
On 30/01/15 14:04, Andy Shevchenko wrote:
>> On 30/01/15 12:03, Andy Shevchenko wrote:
>
>>> When CONFIG_DEBUGFS=n, you will get error pointer here, which is not NULL.
>>>
>>> So, the proper check is
>>> if (IS_ERR())
>>> return PTR_ERR();
>>> if (!file)
>>> return -ENOMEM;
>>
>> Yeah I saw that. Also saw that most other code doesn't bother trapping
>> those return values - so skipped it.
>> No issue adding.
>
> Ok.
>
>>>> + } else {
>>>> + reg = i;
>>>
>>> Do we go always through all IMRs and choose the last one?
>>> If no, break is missed here.
>>
>> Yep - we always choose the last one.
>
> OK.
>
>>>> + ret = imr_check_params(base, size);
>>>> + if (ret == -EINVAL || (ret == -ENOMEM && reg == -1))
>>>
>>> reg base size (0 correct, 1 wrong):
>>>
>>> 0 0 0 — which should be used? what is the priority?
>>> 0 x 1 — index
>>> 0 1 x — index
>>> 1 0 0 — address
>>> 1 0 1 — an error
>>> 1 1 1 — an error
>>>
>>> Thus, could it be simpler? Like
>>> if (reg < 0 && ret) ?
>>
>> ret will be EINVAL for unaligned base or size
>> ret will be ENOMEM when reg == -1 and size == 0
>
> ENOMEM only when size == 0.
>
> I have read the function description. From my point of view there is
> no difference what is in (base, size) if we have index set.
I should be clearer :)
Will change so that -ENOMEM won't be returned. ENOMEM transmits no
useful information...
>
>> I could probably write it like this to make it clearer
>> (ret == -EINVAL || (reg == -1 && size == 0)
>> return -EINVAL;
>>
>> traps unaligned input - for address range tear-down
>> traps zero sized - for address range tear-down
>>
>> Allows index based teardown i.e. reg >= 0
>
> Again, seems a logic mistake here, or description of function is not correct.
> Do we care what (base, size) if index is set? If so, why is it not
> mentioned properly in the description?
No we don't if index >= 0 base and size are ignored => teardown by index.
I'll make that clear in a comment with the refactored statement above.
-ENOMEM is redundant
--
BOD
next prev parent reply other threads:[~2015-01-30 14:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-30 3:05 [PATCH v7 0/2] x86: Add IMR support to Quark/Galileo Bryan O'Donoghue
2015-01-30 3:05 ` [PATCH v7 1/2] x86: Add Isolated Memory Regions for Quark X1000 Bryan O'Donoghue
2015-01-30 7:37 ` Ong, Boon Leong
[not found] ` <CAHp75VfF_ybFLsVpfLGayoSi_shjXsmvsF52o2-L4W0hZ7+HQw@mail.gmail.com>
2015-01-30 12:06 ` Fwd: " Andy Shevchenko
2015-01-30 12:55 ` Bryan O'Donoghue
2015-01-30 12:57 ` Bryan O'Donoghue
2015-01-30 14:04 ` Andy Shevchenko
2015-01-30 14:13 ` Bryan O'Donoghue [this message]
2015-01-30 3:05 ` [PATCH v7 2/2] x86, quark: Add Intel Quark platform support Bryan O'Donoghue
2015-01-30 7:38 ` Ong, Boon Leong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54CB9191.4070207@nexus-software.ie \
--to=pure.logic@nexus-software.ie \
--cc=andy.shevchenko@gmail.com \
--cc=boon.leong.ong@intel.com \
--cc=dvhart@infradead.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.