Re: [PATCH 2/2 V3] xfs: don't take addresses of packed xfs_rmap_key member

Eric Sandeen
2020-02-26T18:45:57Z

On 2/26/20 10:21 AM, Eric Sandeen wrote:
> On 2/26/20 10:06 AM, Darrick J. Wong wrote:
>> On Wed, Jan 29, 2020 at 12:35:21PM -0600, Eric Sandeen wrote:
>
> ...
>
>>> @@ -187,7 +187,9 @@ xfs_rmapbt_init_high_key_from_rec(
>>> adj = be32_to_cpu(rec->rmap.rm_blockcount) - 1;
>>>
>>> key->rmap.rm_startblock = rec->rmap.rm_startblock;
>>> - be32_add_cpu(&key->rmap.rm_startblock, adj);
>>> + /* do this manually to avoid gcc warning about alignment */
>>> + key->rmap.rm_startblock =
>>> + cpu_to_be32(be32_to_cpu(key->rmap.rm_startblock) - adj);
>>
>> <blink>
>>
>> This should be getting the value from rec->rmap, not key->rmap.
>>
>> This should be adding adj, not subtracting it, since that's what the
>> original code did.
>
> *sigh* I got nothin' here tbh.
>

Let's just drop this patch. The first patch in this series is obviated by
hch's work and AFAIK the kernel just turned off this warning, we can do
the same in userspace and make this 2nd issue go away.

-Eric