All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien@xen.org>
To: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Wei Chen <Wei.Chen@arm.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v5 7/8] xen/arm: create shared memory nodes in guest device tree
Date: Tue, 5 Jul 2022 09:09:23 +0100	[thread overview]
Message-ID: <721ef265-7b3f-80cc-3d26-bd88b9971d26@xen.org> (raw)
In-Reply-To: <DU2PR08MB7325CB781C338947D0576A19F7BE9@DU2PR08MB7325.eurprd08.prod.outlook.com>



On 04/07/2022 08:45, Penny Zheng wrote:
> Hi Stefano and Julien

Hi Penny,

>> -----Original Message-----
>> From: Stefano Stabellini <sstabellini@kernel.org>
>>>> +        res = fdt_property_cell(fdt, "xen,id", shm_id);
>>>
>>> Looking at the Linux binding, "xen,id" is meant to be a string. But
>>> here you are writing it as an integer.
>>
>> Good catch!
>>
>>
>>> Given that the Linux binding is already merged, I think the Xen
>>> binding should be changed.
>>
>> We would be compliant with both bindings (xen and linux) just by writing
>> shm_id as string here, but if it is not too difficult we might as well harmonize
>> the two bindings and also define xen,shm-id as a string.
>>
>> On the Xen side, I would suggest to put a clear size limit so that the string is
>> easier to handle.
> 
> I've already made the xen,shm-id parsed as a string too, seeing the below code:
> "
>      prop_id = fdt_get_property(fdt, node, "xen,shm-id", NULL);
>      if ( !prop_id )
>          return -ENOENT;
>      shm_id = simple_strtoul(prop_id->data, NULL, 10);

Why do you want to convert the string to a number?


>      if ( shm_id >= NR_MEM_BANKS )

IIRC, you are not using "shm_id" to index any bank. So why do you want 
to check against NR_MEM_BANKS?

>      {
>          printk("fdt: invalid `xen,shm-id` %lu for static shared memory node.\n",
>                 shm_id);
>          return -EINVAL;
>      }
> "
> The size limit is smaller than 256, just as stated in doc:
> "
> - xen,shm-id
> 
>      A string that represents the unique identifier of the shared memory
>      region. The maximum identifier shall be "xen,shm-id = 255".

The first sentence reads as the xen,shm-id can a free form string. But 
then the second sentence suggests a number (not a string).

In any case, it is still unclear why you want to convert the string to 
an ID. From my understanding, Stefano was suggested a limit on the 
characters rather than a limit on the number.

If the latter is desirable, then the documentation should be a bit 
clearer and you need to validate the input provided by the user.

Cheers,

-- 
Julien Grall


  reply	other threads:[~2022-07-05  8:09 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-20  5:11 [PATCH v5 0/8] static shared memory on dom0less system Penny Zheng
2022-06-20  5:11 ` [PATCH v5 1/8] xen/arm: introduce static shared memory Penny Zheng
2022-06-24 17:55   ` Julien Grall
2022-06-29  5:38     ` Penny Zheng
2022-06-29 10:17       ` Julien Grall
2022-07-13  2:42         ` Penny Zheng
2022-07-13  9:09           ` Julien Grall
2022-06-29  8:39     ` Penny Zheng
2022-07-15 18:10       ` Julien Grall
2022-07-18  2:35         ` Penny Zheng
2022-06-24 19:25   ` Julien Grall
2022-06-29  8:40     ` Penny Zheng
2022-06-20  5:11 ` [PATCH v5 2/8] xen/arm: allocate static shared memory to the default owner dom_io Penny Zheng
2022-06-24 18:22   ` Julien Grall
2022-06-29  7:13     ` Penny Zheng
2022-06-29 10:34       ` Julien Grall
2022-07-04  7:20         ` Penny Zheng
2022-07-15 18:43           ` Julien Grall
2022-06-20  5:11 ` [PATCH v5 3/8] xen/arm: allocate static shared memory to a specific owner domain Penny Zheng
2022-06-24 19:07   ` Julien Grall
2022-06-29  7:49     ` Penny Zheng
2022-06-20  5:11 ` [PATCH v5 4/8] xen/arm: introduce put_page_nr and get_page_nr Penny Zheng
2022-06-24 19:10   ` Julien Grall
2022-06-20  5:11 ` [PATCH v5 5/8] xen/arm: Add additional reference to owner domain when the owner is allocated Penny Zheng
2022-06-24 19:18   ` Julien Grall
2022-06-29  8:00     ` Penny Zheng
2022-06-20  5:11 ` [PATCH v5 6/8] xen/arm: set up shared memory foreign mapping for borrower domain Penny Zheng
2022-06-20  5:11 ` [PATCH v5 7/8] xen/arm: create shared memory nodes in guest device tree Penny Zheng
2022-06-24 19:30   ` Julien Grall
2022-06-24 21:56     ` Stefano Stabellini
2022-07-04  7:45       ` Penny Zheng
2022-07-05  8:09         ` Julien Grall [this message]
2022-07-05 23:21           ` Stefano Stabellini
2022-07-06 23:52         ` Stefano Stabellini
2022-07-07  4:01           ` Penny Zheng
2022-07-08 16:40             ` Stefano Stabellini
2022-07-11  7:59               ` Penny Zheng
2022-06-20  5:11 ` [PATCH v5 8/8] xen/arm: enable statically shared memory on Dom0 Penny Zheng

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=721ef265-7b3f-80cc-3d26-bd88b9971d26@xen.org \
    --to=julien@xen.org \
    --cc=Bertrand.Marquis@arm.com \
    --cc=Penny.Zheng@arm.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=Wei.Chen@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.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.