[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-5.2 4/4] hw/net/ctucan_core: Use stl_le_p to write to tx_
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH for-5.2 4/4] hw/net/ctucan_core: Use stl_le_p to write to tx_buffers |
Date: |
Fri, 6 Nov 2020 19:36:24 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 |
On 11/6/20 7:31 PM, Philippe Mathieu-Daudé wrote:
> On 11/6/20 6:11 PM, Peter Maydell wrote:
>> Instead of casting an address within a uint8_t array to a
>> uint32_t*, use stl_le_p(). This handles possibly misaligned
>> addresses which would otherwise crash on some hosts.
>>
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> ---
>> hw/net/can/ctucan_core.c | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/hw/net/can/ctucan_core.c b/hw/net/can/ctucan_core.c
>> index f2ce978e5ec..e66526efa83 100644
>> --- a/hw/net/can/ctucan_core.c
>> +++ b/hw/net/can/ctucan_core.c
>> @@ -305,8 +305,7 @@ void ctucan_mem_write(CtuCanCoreState *s, hwaddr addr,
>> uint64_t val,
>> addr %= CTUCAN_CORE_TXBUFF_SPAN;
>> assert(buff_num < CTUCAN_CORE_TXBUF_NUM);
>> if (addr < sizeof(s->tx_buffer[buff_num].data)) {
>> - uint32_t *bufp = (uint32_t *)(s->tx_buffer[buff_num].data +
>> addr);
>> - *bufp = cpu_to_le32(val);
>> + stl_le_p(s->tx_buffer[buff_num].data + addr, val);
>
> Out of curiosity, how did you notice? Passing by while reviewing?
$ git grep -P '^\s+\*.*=.*(cpu_to.*|to_cpu)\('|wc -l
82
- [PATCH for-5.2 3/4] hw/net/can/ctucan_core: Handle big-endian hosts, (continued)