* [PATCH v1 1/1] libnvdimm: Don't use GUID APIs against raw buffer
@ 2021-04-15 14:37 Andy Shevchenko
2021-04-16 17:36 ` Andy Shevchenko
0 siblings, 1 reply; 5+ messages in thread
From: Andy Shevchenko @ 2021-04-15 14:37 UTC (permalink / raw)
To: Andy Shevchenko, linux-nvdimm, linux-kernel
Cc: Dan Williams, Vishal Verma, Dave Jiang, Ira Weiny
Strictly speaking the comparison between guid_t and raw buffer
is not correct. Return to plain memcmp() since the data structures
haven't changed to use uuid_t / guid_t the current state of affairs
is inconsistent. Either it should be changed altogether or left
as is.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/nvdimm/btt_devs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/nvdimm/btt_devs.c b/drivers/nvdimm/btt_devs.c
index 05feb97e11ce..82bcd2e86a18 100644
--- a/drivers/nvdimm/btt_devs.c
+++ b/drivers/nvdimm/btt_devs.c
@@ -244,13 +244,14 @@ struct device *nd_btt_create(struct nd_region *nd_region)
*/
bool nd_btt_arena_is_valid(struct nd_btt *nd_btt, struct btt_sb *super)
{
+ static const u8 null_uuid[16];
const u8 *parent_uuid = nd_dev_to_uuid(&nd_btt->ndns->dev);
u64 checksum;
if (memcmp(super->signature, BTT_SIG, BTT_SIG_LEN) != 0)
return false;
- if (!guid_is_null((guid_t *)&super->parent_uuid))
+ if (memcmp(super->parent_uuid, null_uuid, 16) != 0)
if (memcmp(super->parent_uuid, parent_uuid, 16) != 0)
return false;
--
2.30.2
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v1 1/1] libnvdimm: Don't use GUID APIs against raw buffer
2021-04-15 14:37 [PATCH v1 1/1] libnvdimm: Don't use GUID APIs against raw buffer Andy Shevchenko
@ 2021-04-16 17:36 ` Andy Shevchenko
2021-04-16 20:08 ` Dan Williams
0 siblings, 1 reply; 5+ messages in thread
From: Andy Shevchenko @ 2021-04-16 17:36 UTC (permalink / raw)
To: linux-nvdimm, linux-kernel
Cc: Dan Williams, Vishal Verma, Dave Jiang, Ira Weiny
On Thu, Apr 15, 2021 at 05:37:54PM +0300, Andy Shevchenko wrote:
> Strictly speaking the comparison between guid_t and raw buffer
> is not correct. Return to plain memcmp() since the data structures
> haven't changed to use uuid_t / guid_t the current state of affairs
> is inconsistent. Either it should be changed altogether or left
> as is.
Dan, please review this one as well. I think here you may agree with me.
--
With Best Regards,
Andy Shevchenko
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v1 1/1] libnvdimm: Don't use GUID APIs against raw buffer
2021-04-16 17:36 ` Andy Shevchenko
@ 2021-04-16 20:08 ` Dan Williams
2021-04-16 20:42 ` Andy Shevchenko
0 siblings, 1 reply; 5+ messages in thread
From: Dan Williams @ 2021-04-16 20:08 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: linux-nvdimm, Linux Kernel Mailing List, Kaneda, Erik
[ add Erik ]
On Fri, Apr 16, 2021 at 10:36 AM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> On Thu, Apr 15, 2021 at 05:37:54PM +0300, Andy Shevchenko wrote:
> > Strictly speaking the comparison between guid_t and raw buffer
> > is not correct. Return to plain memcmp() since the data structures
> > haven't changed to use uuid_t / guid_t the current state of affairs
> > is inconsistent. Either it should be changed altogether or left
> > as is.
>
> Dan, please review this one as well. I think here you may agree with me.
You know, this is all a problem because ACPICA is using a raw buffer.
Erik, would it be possible to use the guid_t type in ACPICA? That
would allow NFIT to drop some ugly casts.
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v1 1/1] libnvdimm: Don't use GUID APIs against raw buffer
2021-04-16 20:08 ` Dan Williams
@ 2021-04-16 20:42 ` Andy Shevchenko
2021-04-16 22:08 ` Dan Williams
0 siblings, 1 reply; 5+ messages in thread
From: Andy Shevchenko @ 2021-04-16 20:42 UTC (permalink / raw)
To: Dan Williams; +Cc: linux-nvdimm, Linux Kernel Mailing List, Kaneda, Erik
On Fri, Apr 16, 2021 at 01:08:06PM -0700, Dan Williams wrote:
> [ add Erik ]
>
> On Fri, Apr 16, 2021 at 10:36 AM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> >
> > On Thu, Apr 15, 2021 at 05:37:54PM +0300, Andy Shevchenko wrote:
> > > Strictly speaking the comparison between guid_t and raw buffer
> > > is not correct. Return to plain memcmp() since the data structures
> > > haven't changed to use uuid_t / guid_t the current state of affairs
> > > is inconsistent. Either it should be changed altogether or left
> > > as is.
> >
> > Dan, please review this one as well. I think here you may agree with me.
>
> You know, this is all a problem because ACPICA is using a raw buffer.
And this is fine. It might be any other representation as well.
> Erik, would it be possible to use the guid_t type in ACPICA? That
> would allow NFIT to drop some ugly casts.
guid_t is internal kernel type. If we ever decide to deviate from the current
representation it wouldn't be possible in case a 3rd party is using it 1:1
(via typedef or so).
--
With Best Regards,
Andy Shevchenko
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v1 1/1] libnvdimm: Don't use GUID APIs against raw buffer
2021-04-16 20:42 ` Andy Shevchenko
@ 2021-04-16 22:08 ` Dan Williams
0 siblings, 0 replies; 5+ messages in thread
From: Dan Williams @ 2021-04-16 22:08 UTC (permalink / raw)
To: Andy Shevchenko; +Cc: linux-nvdimm, Linux Kernel Mailing List, Kaneda, Erik
On Fri, Apr 16, 2021 at 1:42 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> On Fri, Apr 16, 2021 at 01:08:06PM -0700, Dan Williams wrote:
> > [ add Erik ]
> >
> > On Fri, Apr 16, 2021 at 10:36 AM Andy Shevchenko
> > <andriy.shevchenko@linux.intel.com> wrote:
> > >
> > > On Thu, Apr 15, 2021 at 05:37:54PM +0300, Andy Shevchenko wrote:
> > > > Strictly speaking the comparison between guid_t and raw buffer
> > > > is not correct. Return to plain memcmp() since the data structures
> > > > haven't changed to use uuid_t / guid_t the current state of affairs
> > > > is inconsistent. Either it should be changed altogether or left
> > > > as is.
> > >
> > > Dan, please review this one as well. I think here you may agree with me.
> >
> > You know, this is all a problem because ACPICA is using a raw buffer.
>
> And this is fine. It might be any other representation as well.
>
> > Erik, would it be possible to use the guid_t type in ACPICA? That
> > would allow NFIT to drop some ugly casts.
>
> guid_t is internal kernel type. If we ever decide to deviate from the current
> representation it wouldn't be possible in case a 3rd party is using it 1:1
> (via typedef or so).
I'm thinking something like ACPICA defining that space as a union with
the correct typing just for Linux.
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-04-16 22:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-15 14:37 [PATCH v1 1/1] libnvdimm: Don't use GUID APIs against raw buffer Andy Shevchenko
2021-04-16 17:36 ` Andy Shevchenko
2021-04-16 20:08 ` Dan Williams
2021-04-16 20:42 ` Andy Shevchenko
2021-04-16 22:08 ` Dan Williams
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).