[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGsJ_4yEmSGGKFxCT_wioEOaLxAzxNiryR42_hW9-vbu8WgBUg@mail.gmail.com>
Date: Wed, 7 May 2025 14:08:04 +1200
From: Barry Song <21cnbao@...il.com>
To: Qinxin Xia <xiaqinxin@...wei.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
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.
>
> > ---
> > 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