On Fri, 26 May 2017, Joe Perches wrote:

On Fri, 2017-05-26 at 03:48 -0700, Richard Narron wrote:
The code in block/partitions/msdos.c recognizes FreeBSD, OpenBSD
and NetBSD partitions and does a reasonable job picking out OpenBSD
and NetBSD UFS subpartitions.

But for FreeBSD the subpartitions are always "bad".

     Kernel: <bsd:bad subpartition - ignored
[]
  block/partitions/msdos.c | 2 ++
[]
@@ -300,6 +300,8 @@ static void parse_bsd(struct parsed_part
                        continue;
                bsd_start = le32_to_cpu(p->p_offset);
                bsd_size = le32_to_cpu(p->p_size);
+               if (memcmp(flavour, "bsd\0", 4) == 0)

Weird code.  Why not:

                if (strcmp(flavor, "bsd") == 0)


I instinctively trust the memcmp function as it seems more like assembly language to me and more straight forward and more reliable than strcmp.

I'm new to this forum and did not know who you were so I looked up your name in old threads and oddly enough found this thread about a strcmp bug:

http://marc.info/?l=linux-kernel&m=125848558316468&w=2

http://marc.info/?l=linux-kernel&m=125847802903422&w=2

Reply via email to