[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4bac8132-db37-47a2-ad5a-22bde865b8e8@huawei.com>
Date: Wed, 7 May 2025 17:10:16 +0800
From: Qinxin Xia <xiaqinxin@...wei.com>
To: Barry Song <21cnbao@...il.com>
CC: <yangyicong@...wei.com>, <hch@....de>, <iommu@...ts.linux.dev>,
<jonathan.cameron@...wei.com>, <prime.zeng@...wei.com>,
<fanghao11@...wei.com>, <linux-kernel@...r.kernel.org>, <linuxarm@...wei.com>
Subject: Re: [PATCH v2 1/4] dma-mapping: benchmark: Add padding to ensure uABI
remained consistent
在 2025/5/7 10:08, Barry Song 写道:
> On Wed, May 7, 2025 at 1:52 PM Barry Song <21cnbao@...il.com> wrote:
>> On Tue, May 6, 2025 at 3:01 PM Qinxin Xia <xiaqinxin@...wei.com> wrote:
>>> Fix a problem about commit (8ddde07a3d285a0f3cec, "dma-mapping:benchmark:
>>> extract a common header file for map_benchmark definition") accidentally
>>> removed that padding, which has completely broken the ABIs.
>>>
>>> Signed-off-by: Qinxin Xia <xiaqinxin@...wei.com>
>> Please add Fixes tags and cc stable.
> We are *NOT* adding any field.
>
> Also, the subject and changelog are not appropriate. They should be something
> like the following:
>
> Previously, we had a padding field in this structure to allow for future
> extension without breaking compatibility with user-space shared data
> structures. In other words, the padding was reserved to maintain a stable
> interface for potential new fields.
>
> However, in one of the commits, tiantao accidentally removed this padding,
> which could lead to incompatibility issues between user space and the
> kernel.
>
> This patch restores the padding to bring back the original structure layout
> and ensure compatibility is preserved.
Okay, thank you for your advice.
>>> ---
>>> include/linux/map_benchmark.h | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/include/linux/map_benchmark.h b/include/linux/map_benchmark.h
>>> index 62674c83bde4..2ac2fe52f248 100644
>>> --- a/include/linux/map_benchmark.h
>>> +++ b/include/linux/map_benchmark.h
>>> @@ -27,5 +27,6 @@ struct map_benchmark {
>>> __u32 dma_dir; /* DMA data direction */
>>> __u32 dma_trans_ns; /* time for DMA transmission in ns */
>>> __u32 granule; /* how many PAGE_SIZE will do map/unmap once a time */
>>> + __u8 expansion[76]; /* For future use */
>>> };
>>> #endif /* _KERNEL_DMA_BENCHMARK_H */
>>> --
>>> 2.33.0
>>>
> Thanks
> Barry
Powered by blists - more mailing lists