[OE-core] [PATCH] grub-core: fix endianness problem

Shan Hai shan.hai at windriver.com
Fri Jul 18 01:40:52 UTC 2014


On 07/17/2014 12:42 AM, Saul Wold wrote:
> On 07/15/2014 11:15 PM, Shan Hai wrote:
>> Fix tftp stalls on loading files bigger than ~32k bug by cherry picking
>> a patch from grub upstream.
>>
>> Upstream-Status: Backport
>>
>
>> Signed-off-by: Shan Hai <shan.hai at windriver.com>
>> ---
>>   .../grub/grub-2.00/fix-endianness-problem.patch    | 46 
>> ++++++++++++++++++++++
>>   meta/recipes-bsp/grub/grub_2.00.bb                 |  1 +
>>   2 files changed, 47 insertions(+)
>>   create mode 100644 
>> meta/recipes-bsp/grub/grub-2.00/fix-endianness-problem.patch
>>
>> diff --git 
>> a/meta/recipes-bsp/grub/grub-2.00/fix-endianness-problem.patch 
>> b/meta/recipes-bsp/grub/grub-2.00/fix-endianness-problem.patch
>> new file mode 100644
>> index 0000000..bb5ba9b
>> --- /dev/null
>> +++ b/meta/recipes-bsp/grub/grub-2.00/fix-endianness-problem.patch
>> @@ -0,0 +1,46 @@
>> +grub-core/net/tftp.c: fix endianness problem.
>> +
>> +    * grub-core/net/tftp.c (ack): Fix endianness problem.
>> +    (tftp_receive): Likewise.
>> +    Reported by: Michael Davidsaver.
>> +
>> +Upstream-Status: Submitted [grub-devel at gnu.org]
>> +
>
> Is this patch a backport from the upstream or submitted only on the 
> mailing list?
>

Hi Saul,

This patch a backport from the upstream.

Thans
Shan Hai

> Sau!
>
>
>> +Signed-off-by: Vladimir 'phcoder' Serbinenko <phcoder at gmail.com>
>> +
>> +diff --git a/ChangeLog b/ChangeLog
>> +index 81bdae9..c2f42d5 100644
>> +--- a/ChangeLog
>> ++++ b/ChangeLog
>> +@@ -1,3 +1,9 @@
>> ++2012-07-02  Vladimir Serbinenko  <phcoder at gmail.com>
>> ++
>> ++    * grub-core/net/tftp.c (ack): Fix endianness problem.
>> ++    (tftp_receive): Likewise.
>> ++    Reported by: Michael Davidsaver.
>> ++
>> + 2012-06-27  Vladimir Serbinenko  <phcoder at gmail.com>
>> +
>> +     * configure.ac: Bump version to 2.00.
>> +diff --git a/grub-core/net/tftp.c b/grub-core/net/tftp.c
>> +index 9c70efb..d0f39ea 100644
>> +--- a/grub-core/net/tftp.c
>> ++++ b/grub-core/net/tftp.c
>> +@@ -143,7 +143,7 @@ ack (tftp_data_t data, grub_uint16_t block)
>> +
>> +   tftph_ack = (struct tftphdr *) nb_ack.data;
>> +   tftph_ack->opcode = grub_cpu_to_be16 (TFTP_ACK);
>> +-  tftph_ack->u.ack.block = block;
>> ++  tftph_ack->u.ack.block = grub_cpu_to_be16 (block);
>> +
>> +   err = grub_net_send_udp_packet (data->sock, &nb_ack);
>> +   if (err)
>> +@@ -225,7 +225,7 @@ tftp_receive (grub_net_udp_socket_t sock 
>> __attribute__ ((unused)),
>> +         grub_priority_queue_pop (data->pq);
>> +
>> +         if (file->device->net->packs.count < 50)
>> +-          err = ack (data, tftph->u.data.block);
>> ++          err = ack (data, data->block + 1);
>> +         else
>> +           {
>> +         file->device->net->stall = 1;
>> diff --git a/meta/recipes-bsp/grub/grub_2.00.bb 
>> b/meta/recipes-bsp/grub/grub_2.00.bb
>> index 72ed402..36c648e 100644
>> --- a/meta/recipes-bsp/grub/grub_2.00.bb
>> +++ b/meta/recipes-bsp/grub/grub_2.00.bb
>> @@ -22,6 +22,7 @@ SRC_URI = 
>> "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
>>             file://check-if-liblzma-is-disabled.patch \
>>             file://fix-issue-with-flex-2.5.37.patch \
>>             file://grub-2.00-add-oe-kernel.patch \
>> +          file://fix-endianness-problem.patch \
>>             "
>>
>>   SRC_URI[md5sum] = "e927540b6eda8b024fb0391eeaa4091c"
>>




More information about the Openembedded-core mailing list