All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] ofdisk: add sas disks to the device list
@ 2015-11-09  1:29 Paulo Flabiano Smorigo
  2015-11-09  4:18 ` Andrei Borzenkov
  2015-11-09 12:01 ` Vladimir 'phcoder' Serbinenko
  0 siblings, 2 replies; 5+ messages in thread
From: Paulo Flabiano Smorigo @ 2015-11-09  1:29 UTC (permalink / raw)
  To: The development of GNU GRUB; +Cc: arvidjaar, Paulo Flabiano Smorigo

All SAS disks attached will be added to the device list. This is the second
version of a patch that I send a while ago [1].

[1] https://lists.gnu.org/archive/html/grub-devel/2015-08/msg00000.html

---
 grub-core/disk/ieee1275/ofdisk.c | 76 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c
index 297f058..afec9ba 100644
--- a/grub-core/disk/ieee1275/ofdisk.c
+++ b/grub-core/disk/ieee1275/ofdisk.c
@@ -260,6 +260,82 @@ dev_iterate (const struct grub_ieee1275_devalias *alias)
       grub_free (buf);
       return;
     }
+  else if (grub_strcmp (alias->type, "sas_ioa") == 0)
+    {
+      /* The method returns the number of disks and a table where
+       * each ID is 64-bit long. Example of sas paths:
+       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@c05db70800
+       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@a05db70800
+       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@805db70800 */
+
+      struct sas_children
+        {
+          struct grub_ieee1275_common_hdr common;
+          grub_ieee1275_cell_t method;
+          grub_ieee1275_cell_t ihandle;
+          grub_ieee1275_cell_t max;
+          grub_ieee1275_cell_t table;
+          grub_ieee1275_cell_t catch_result;
+          grub_ieee1275_cell_t nentries;
+        }
+      args;
+      char *buf, *bufptr, *table;
+      unsigned i;
+      grub_uint32_t table_size;
+      grub_ieee1275_ihandle_t ihandle;
+
+      buf = grub_malloc (grub_strlen (alias->path)
+                         + sizeof ("/disk@7766554433221100"));
+      if (!buf)
+        return;
+
+      /* 64 entries should be enough */
+      table_size = sizeof (grub_uint64_t) * 64;
+      table = grub_malloc (table_size);
+
+      if (!table)
+        {
+          grub_free (buf);
+          return;
+        }
+
+      bufptr = grub_stpcpy (buf, alias->path);
+
+      if (grub_ieee1275_open (alias->path, &ihandle))
+        {
+          grub_free (buf);
+          grub_free (table);
+          return;
+        }
+
+      INIT_IEEE1275_COMMON (&args.common, "call-method", 4, 2);
+      args.method = (grub_ieee1275_cell_t) "get-sas-children";
+      args.ihandle = ihandle;
+      args.max = table_size;
+      args.table = (grub_ieee1275_cell_t) table;
+      args.catch_result = 0;
+      args.nentries = 0;
+
+      if (IEEE1275_CALL_ENTRY_FN (&args) == -1)
+        {
+          grub_ieee1275_close (ihandle);
+          grub_free (table);
+          grub_free (buf);
+          return;
+        }
+
+      grub_uint64_t *ptr;
+      for (i = 0; i < args.nentries; i++)
+        {
+          ptr = (grub_uint64_t *) (table + sizeof (grub_uint64_t) * i);
+          grub_snprintf (bufptr, 32, "/disk@%" PRIxGRUB_UINT64_T, *ptr);
+          dev_iterate_real (buf, buf);
+        }
+
+      grub_ieee1275_close (ihandle);
+      grub_free (table);
+      grub_free (buf);
+    }
 
   if (!grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS)
       && grub_strcmp (alias->type, "block") == 0)
-- 
2.1.0



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] ofdisk: add sas disks to the device list
  2015-11-09  1:29 [PATCH v2] ofdisk: add sas disks to the device list Paulo Flabiano Smorigo
@ 2015-11-09  4:18 ` Andrei Borzenkov
  2015-11-09 11:49   ` Paulo Flabiano Smorigo
  2015-11-09 12:01 ` Vladimir 'phcoder' Serbinenko
  1 sibling, 1 reply; 5+ messages in thread
From: Andrei Borzenkov @ 2015-11-09  4:18 UTC (permalink / raw)
  To: Paulo Flabiano Smorigo, The development of GNU GRUB

09.11.2015 04:29, Paulo Flabiano Smorigo пишет:
> All SAS disks attached will be added to the device list. This is the second
> version of a patch that I send a while ago [1].
>
> [1] https://lists.gnu.org/archive/html/grub-devel/2015-08/msg00000.html
>
> ---
>   grub-core/disk/ieee1275/ofdisk.c | 76 ++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 76 insertions(+)
>
> diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c
> index 297f058..afec9ba 100644
> --- a/grub-core/disk/ieee1275/ofdisk.c
> +++ b/grub-core/disk/ieee1275/ofdisk.c
> @@ -260,6 +260,82 @@ dev_iterate (const struct grub_ieee1275_devalias *alias)
>         grub_free (buf);
>         return;
>       }
> +  else if (grub_strcmp (alias->type, "sas_ioa") == 0)
> +    {
> +      /* The method returns the number of disks and a table where
> +       * each ID is 64-bit long. Example of sas paths:
> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@c05db70800
> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@a05db70800
> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@805db70800 */

Did you omit last 3 bytes on purpose?

Out of curiosity - is it really true that SAS address is written 
backwards (at least, I assume this is SAS address)?

> +
> +      struct sas_children
> +        {
> +          struct grub_ieee1275_common_hdr common;
> +          grub_ieee1275_cell_t method;
> +          grub_ieee1275_cell_t ihandle;
> +          grub_ieee1275_cell_t max;
> +          grub_ieee1275_cell_t table;
> +          grub_ieee1275_cell_t catch_result;
> +          grub_ieee1275_cell_t nentries;
> +        }
> +      args;
> +      char *buf, *bufptr, *table;
> +      unsigned i;
> +      grub_uint32_t table_size;
> +      grub_ieee1275_ihandle_t ihandle;
> +
> +      buf = grub_malloc (grub_strlen (alias->path)
> +                         + sizeof ("/disk@7766554433221100"));
> +      if (!buf)
> +        return;
> +
> +      /* 64 entries should be enough */
> +      table_size = sizeof (grub_uint64_t) * 64;
> +      table = grub_malloc (table_size);
> +
> +      if (!table)
> +        {
> +          grub_free (buf);
> +          return;
> +        }
> +
> +      bufptr = grub_stpcpy (buf, alias->path);
> +
> +      if (grub_ieee1275_open (alias->path, &ihandle))
> +        {
> +          grub_free (buf);
> +          grub_free (table);
> +          return;
> +        }
> +
> +      INIT_IEEE1275_COMMON (&args.common, "call-method", 4, 2);
> +      args.method = (grub_ieee1275_cell_t) "get-sas-children";
> +      args.ihandle = ihandle;
> +      args.max = table_size;
> +      args.table = (grub_ieee1275_cell_t) table;
> +      args.catch_result = 0;
> +      args.nentries = 0;
> +
> +      if (IEEE1275_CALL_ENTRY_FN (&args) == -1)
> +        {
> +          grub_ieee1275_close (ihandle);
> +          grub_free (table);
> +          grub_free (buf);
> +          return;
> +        }
> +
> +      grub_uint64_t *ptr;
> +      for (i = 0; i < args.nentries; i++)
> +        {
> +          ptr = (grub_uint64_t *) (table + sizeof (grub_uint64_t) * i);
> +          grub_snprintf (bufptr, 32, "/disk@%" PRIxGRUB_UINT64_T, *ptr);
> +          dev_iterate_real (buf, buf);
> +        }
> +
> +      grub_ieee1275_close (ihandle);
> +      grub_free (table);
> +      grub_free (buf);
> +    }
>
>     if (!grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS)
>         && grub_strcmp (alias->type, "block") == 0)
>



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] ofdisk: add sas disks to the device list
  2015-11-09  4:18 ` Andrei Borzenkov
@ 2015-11-09 11:49   ` Paulo Flabiano Smorigo
  0 siblings, 0 replies; 5+ messages in thread
From: Paulo Flabiano Smorigo @ 2015-11-09 11:49 UTC (permalink / raw)
  To: The development of GNU GRUB; +Cc: Paulo Flabiano Smorigo

On Mon, Nov 9, 2015 at 2:18 AM, Andrei Borzenkov <arvidjaar@gmail.com> wrote:
> 09.11.2015 04:29, Paulo Flabiano Smorigo пишет:
>>
>> All SAS disks attached will be added to the device list. This is the
>> second
>> version of a patch that I send a while ago [1].
>>
>> [1] https://lists.gnu.org/archive/html/grub-devel/2015-08/msg00000.html
>>
>> ---
>>   grub-core/disk/ieee1275/ofdisk.c | 76
>> ++++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 76 insertions(+)
>>
>> diff --git a/grub-core/disk/ieee1275/ofdisk.c
>> b/grub-core/disk/ieee1275/ofdisk.c
>> index 297f058..afec9ba 100644
>> --- a/grub-core/disk/ieee1275/ofdisk.c
>> +++ b/grub-core/disk/ieee1275/ofdisk.c
>> @@ -260,6 +260,82 @@ dev_iterate (const struct grub_ieee1275_devalias
>> *alias)
>>         grub_free (buf);
>>         return;
>>       }
>> +  else if (grub_strcmp (alias->type, "sas_ioa") == 0)
>> +    {
>> +      /* The method returns the number of disks and a table where
>> +       * each ID is 64-bit long. Example of sas paths:
>> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@c05db70800
>> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@a05db70800
>> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@805db70800 */
>
>
> Did you omit last 3 bytes on purpose?
>
> Out of curiosity - is it really true that SAS address is written backwards
> (at least, I assume this is SAS address)?

The 3 missing bytes are leading zeros that it's not used in the path.

This is the table that I got:

000000 00 00 00 c0 5d b7 08 00 00 00 00 a0 5d b7 08 00
000010 00 00 00 80 5d b7 08 00 00 00 00 60 5d b7 08 00
000020 00 00 00 40 5d b7 08 00 00 00 00 20 5d b7 08 00
000030 50 05 07 60 64 79 f9 01 00 00 00 00 00 00 00 00
000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...

It's not backwards, each address has a space between them. It's exactly 128GB:

>>> (0xc05db70800-0xa05db70800)/(1024.**3)
128.0

>
>
>> +
>> +      struct sas_children
>> +        {
>> +          struct grub_ieee1275_common_hdr common;
>> +          grub_ieee1275_cell_t method;
>> +          grub_ieee1275_cell_t ihandle;
>> +          grub_ieee1275_cell_t max;
>> +          grub_ieee1275_cell_t table;
>> +          grub_ieee1275_cell_t catch_result;
>> +          grub_ieee1275_cell_t nentries;
>> +        }
>> +      args;
>> +      char *buf, *bufptr, *table;
>> +      unsigned i;
>> +      grub_uint32_t table_size;
>> +      grub_ieee1275_ihandle_t ihandle;
>> +
>> +      buf = grub_malloc (grub_strlen (alias->path)
>> +                         + sizeof ("/disk@7766554433221100"));
>> +      if (!buf)
>> +        return;
>> +
>> +      /* 64 entries should be enough */
>> +      table_size = sizeof (grub_uint64_t) * 64;
>> +      table = grub_malloc (table_size);
>> +
>> +      if (!table)
>> +        {
>> +          grub_free (buf);
>> +          return;
>> +        }
>> +
>> +      bufptr = grub_stpcpy (buf, alias->path);
>> +
>> +      if (grub_ieee1275_open (alias->path, &ihandle))
>> +        {
>> +          grub_free (buf);
>> +          grub_free (table);
>> +          return;
>> +        }
>> +
>> +      INIT_IEEE1275_COMMON (&args.common, "call-method", 4, 2);
>> +      args.method = (grub_ieee1275_cell_t) "get-sas-children";
>> +      args.ihandle = ihandle;
>> +      args.max = table_size;
>> +      args.table = (grub_ieee1275_cell_t) table;
>> +      args.catch_result = 0;
>> +      args.nentries = 0;
>> +
>> +      if (IEEE1275_CALL_ENTRY_FN (&args) == -1)
>> +        {
>> +          grub_ieee1275_close (ihandle);
>> +          grub_free (table);
>> +          grub_free (buf);
>> +          return;
>> +        }
>> +
>> +      grub_uint64_t *ptr;
>> +      for (i = 0; i < args.nentries; i++)
>> +        {
>> +          ptr = (grub_uint64_t *) (table + sizeof (grub_uint64_t) * i);
>> +          grub_snprintf (bufptr, 32, "/disk@%" PRIxGRUB_UINT64_T, *ptr);
>> +          dev_iterate_real (buf, buf);
>> +        }
>> +
>> +      grub_ieee1275_close (ihandle);
>> +      grub_free (table);
>> +      grub_free (buf);
>> +    }
>>
>>     if (!grub_ieee1275_test_flag
>> (GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS)
>>         && grub_strcmp (alias->type, "block") == 0)
>>
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] ofdisk: add sas disks to the device list
  2015-11-09  1:29 [PATCH v2] ofdisk: add sas disks to the device list Paulo Flabiano Smorigo
  2015-11-09  4:18 ` Andrei Borzenkov
@ 2015-11-09 12:01 ` Vladimir 'phcoder' Serbinenko
  2015-11-09 16:43   ` Paulo Flabiano Smorigo
  1 sibling, 1 reply; 5+ messages in thread
From: Vladimir 'phcoder' Serbinenko @ 2015-11-09 12:01 UTC (permalink / raw)
  To: The development of GRUB 2

[-- Attachment #1: Type: text/plain, Size: 3895 bytes --]

Le 9 nov. 2015 8:39 AM, "Paulo Flabiano Smorigo" <
pfsmorigo@linux.vnet.ibm.com> a écrit :
>
> All SAS disks attached will be added to the device list. This is the
second
> version of a patch that I send a while ago [1].
>
> [1] https://lists.gnu.org/archive/html/grub-devel/2015-08/msg00000.html
>
> ---
>  grub-core/disk/ieee1275/ofdisk.c | 76
++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 76 insertions(+)
>
> diff --git a/grub-core/disk/ieee1275/ofdisk.c
b/grub-core/disk/ieee1275/ofdisk.c
> index 297f058..afec9ba 100644
> --- a/grub-core/disk/ieee1275/ofdisk.c
> +++ b/grub-core/disk/ieee1275/ofdisk.c
> @@ -260,6 +260,82 @@ dev_iterate (const struct grub_ieee1275_devalias
*alias)
>        grub_free (buf);
>        return;
>      }
> +  else if (grub_strcmp (alias->type, "sas_ioa") == 0)
> +    {
> +      /* The method returns the number of disks and a table where
> +       * each ID is 64-bit long. Example of sas paths:
> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@c05db70800
> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@a05db70800
> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@805db70800 */
> +
> +      struct sas_children
> +        {
> +          struct grub_ieee1275_common_hdr common;
> +          grub_ieee1275_cell_t method;
> +          grub_ieee1275_cell_t ihandle;
> +          grub_ieee1275_cell_t max;
> +          grub_ieee1275_cell_t table;
> +          grub_ieee1275_cell_t catch_result;
> +          grub_ieee1275_cell_t nentries;
> +        }
> +      args;
> +      char *buf, *bufptr, *table;
> +      unsigned i;
> +      grub_uint32_t table_size;
> +      grub_ieee1275_ihandle_t ihandle;
> +
> +      buf = grub_malloc (grub_strlen (alias->path)
> +                         + sizeof ("/disk@7766554433221100"));
> +      if (!buf)
> +        return;
> +
> +      /* 64 entries should be enough */
Why? Sounds like an arbitrary limit. What does OF call return when it's not
true? Does it set nentries to total or to how much it has really provided?
> +      table_size = sizeof (grub_uint64_t) * 64;
> +      table = grub_malloc (table_size);
> +
> +      if (!table)
> +        {
> +          grub_free (buf);
> +          return;
> +        }
> +
> +      bufptr = grub_stpcpy (buf, alias->path);
> +
> +      if (grub_ieee1275_open (alias->path, &ihandle))
> +        {
> +          grub_free (buf);
> +          grub_free (table);
> +          return;
> +        }
> +
> +      INIT_IEEE1275_COMMON (&args.common, "call-method", 4, 2);
> +      args.method = (grub_ieee1275_cell_t) "get-sas-children";
> +      args.ihandle = ihandle;
> +      args.max = table_size;
Please double check that this field is in bytes.
> +      args.table = (grub_ieee1275_cell_t) table;
> +      args.catch_result = 0;
> +      args.nentries = 0;
> +
> +      if (IEEE1275_CALL_ENTRY_FN (&args) == -1)
> +        {
> +          grub_ieee1275_close (ihandle);
> +          grub_free (table);
> +          grub_free (buf);
> +          return;
> +        }
> +
> +      grub_uint64_t *ptr;
> +      for (i = 0; i < args.nentries; i++)
> +        {
> +          ptr = (grub_uint64_t *) (table + sizeof (grub_uint64_t) * i);
> +          grub_snprintf (bufptr, 32, "/disk@%" PRIxGRUB_UINT64_T, *ptr);
This 32 doesn't match the above allocation.
> +          dev_iterate_real (buf, buf);
> +        }
> +
> +      grub_ieee1275_close (ihandle);
> +      grub_free (table);
> +      grub_free (buf);
> +    }
>
>    if (!grub_ieee1275_test_flag
(GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS)
>        && grub_strcmp (alias->type, "block") == 0)
> --
> 2.1.0
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel

[-- Attachment #2: Type: text/html, Size: 5302 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] ofdisk: add sas disks to the device list
  2015-11-09 12:01 ` Vladimir 'phcoder' Serbinenko
@ 2015-11-09 16:43   ` Paulo Flabiano Smorigo
  0 siblings, 0 replies; 5+ messages in thread
From: Paulo Flabiano Smorigo @ 2015-11-09 16:43 UTC (permalink / raw)
  To: The development of GNU GRUB

On Mon, Nov 9, 2015 at 10:01 AM, Vladimir 'phcoder' Serbinenko
<phcoder@gmail.com> wrote:
>
> Le 9 nov. 2015 8:39 AM, "Paulo Flabiano Smorigo"
> <pfsmorigo@linux.vnet.ibm.com> a écrit :
>>
>> All SAS disks attached will be added to the device list. This is the
>> second
>> version of a patch that I send a while ago [1].
>>
>> [1] https://lists.gnu.org/archive/html/grub-devel/2015-08/msg00000.html
>>
>> ---
>>  grub-core/disk/ieee1275/ofdisk.c | 76
>> ++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 76 insertions(+)
>>
>> diff --git a/grub-core/disk/ieee1275/ofdisk.c
>> b/grub-core/disk/ieee1275/ofdisk.c
>> index 297f058..afec9ba 100644
>> --- a/grub-core/disk/ieee1275/ofdisk.c
>> +++ b/grub-core/disk/ieee1275/ofdisk.c
>> @@ -260,6 +260,82 @@ dev_iterate (const struct grub_ieee1275_devalias
>> *alias)
>>        grub_free (buf);
>>        return;
>>      }
>> +  else if (grub_strcmp (alias->type, "sas_ioa") == 0)
>> +    {
>> +      /* The method returns the number of disks and a table where
>> +       * each ID is 64-bit long. Example of sas paths:
>> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@c05db70800
>> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@a05db70800
>> +       *  /pci@80000002000001f/pci1014,034A@0/sas/disk@805db70800 */
>> +
>> +      struct sas_children
>> +        {
>> +          struct grub_ieee1275_common_hdr common;
>> +          grub_ieee1275_cell_t method;
>> +          grub_ieee1275_cell_t ihandle;
>> +          grub_ieee1275_cell_t max;
>> +          grub_ieee1275_cell_t table;
>> +          grub_ieee1275_cell_t catch_result;
>> +          grub_ieee1275_cell_t nentries;
>> +        }
>> +      args;
>> +      char *buf, *bufptr, *table;
>> +      unsigned i;
>> +      grub_uint32_t table_size;
>> +      grub_ieee1275_ihandle_t ihandle;
>> +
>> +      buf = grub_malloc (grub_strlen (alias->path)
>> +                         + sizeof ("/disk@7766554433221100"));
>> +      if (!buf)
>> +        return;
>> +
>> +      /* 64 entries should be enough */
> Why? Sounds like an arbitrary limit. What does OF call return when it's not
> true? Does it set nentries to total or to how much it has really provided?

Asked the Open firmware development team...

The maximum value for max is 0xffff but this is a very high number IMHO.

About the limit, if there are more entries than will fit in the buffer
provided, you will only get up to that number. The return value is the
number in the buffer.

I tested here using max = 4 and nentries was 4. The table only had 4
entries as well.

>> +      table_size = sizeof (grub_uint64_t) * 64;
>> +      table = grub_malloc (table_size);
>> +
>> +      if (!table)
>> +        {
>> +          grub_free (buf);
>> +          return;
>> +        }
>> +
>> +      bufptr = grub_stpcpy (buf, alias->path);
>> +
>> +      if (grub_ieee1275_open (alias->path, &ihandle))
>> +        {
>> +          grub_free (buf);
>> +          grub_free (table);
>> +          return;
>> +        }
>> +
>> +      INIT_IEEE1275_COMMON (&args.common, "call-method", 4, 2);
>> +      args.method = (grub_ieee1275_cell_t) "get-sas-children";
>> +      args.ihandle = ihandle;
>> +      args.max = table_size;
> Please double check that this field is in bytes.

My fault. it's entries, not bytes. Will fix it.

>> +      args.table = (grub_ieee1275_cell_t) table;
>> +      args.catch_result = 0;
>> +      args.nentries = 0;
>> +
>> +      if (IEEE1275_CALL_ENTRY_FN (&args) == -1)
>> +        {
>> +          grub_ieee1275_close (ihandle);
>> +          grub_free (table);
>> +          grub_free (buf);
>> +          return;
>> +        }
>> +
>> +      grub_uint64_t *ptr;
>> +      for (i = 0; i < args.nentries; i++)
>> +        {
>> +          ptr = (grub_uint64_t *) (table + sizeof (grub_uint64_t) * i);
>> +          grub_snprintf (bufptr, 32, "/disk@%" PRIxGRUB_UINT64_T, *ptr);
> This 32 doesn't match the above allocation.

Ok.

>> +          dev_iterate_real (buf, buf);
>> +        }
>> +
>> +      grub_ieee1275_close (ihandle);
>> +      grub_free (table);
>> +      grub_free (buf);
>> +    }
>>
>>    if (!grub_ieee1275_test_flag
>> (GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS)
>>        && grub_strcmp (alias->type, "block") == 0)
>> --
>> 2.1.0
>>
>>
>> _______________________________________________
>> Grub-devel mailing list
>> Grub-devel@gnu.org
>> https://lists.gnu.org/mailman/listinfo/grub-devel
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-11-09 16:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-09  1:29 [PATCH v2] ofdisk: add sas disks to the device list Paulo Flabiano Smorigo
2015-11-09  4:18 ` Andrei Borzenkov
2015-11-09 11:49   ` Paulo Flabiano Smorigo
2015-11-09 12:01 ` Vladimir 'phcoder' Serbinenko
2015-11-09 16:43   ` Paulo Flabiano Smorigo

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.