mbox series

[00/18] perf: Convert to platform remove callback returning void

Message ID cover.1702648124.git.u.kleine-koenig@pengutronix.de (mailing list archive)
Headers show
Series perf: Convert to platform remove callback returning void | expand

Message

Uwe Kleine-König Dec. 15, 2023, 1:59 p.m. UTC
Hello,

this series converts all drivers below drivers/perf to use
.remove_new(). See commit 5c5a7680e67b ("platform: Provide a remove
callback that returns no value") for an extended explanation and the
eventual goal. The TL;DR; is to make it harder for driver authors to
leak resources without noticing.

I based the patches on today's next, I had to revert commits 
3115ee021bfb ("arm64: perf: Include threshold control fields in
PMEVTYPER mask") and 816c26754447 ("arm64: perf: Add support for event
counting threshold") to compile test on ARCH=arm (this is a problem in
next, not in my patch series).

This is merge window material. All patches are pairwise independent of
each other so they can be applied individually. Still it would be great
to let them go in all together.

Best regards
Uwe

Uwe Kleine-König (18):
  perf: alibaba_uncore_drw: Convert to platform remove callback
    returning void
  perf: amlogic: Convert to platform remove callback returning void
  perf: arm-cci: Convert to platform remove callback returning void
  perf: arm-ccn: Convert to platform remove callback returning void
  perf: arm-cmn: Convert to platform remove callback returning void
  perf: arm_cspmu: Convert to platform remove callback returning void
  perf: arm_dmc620: Convert to platform remove callback returning void
  perf: arm_dsu: Convert to platform remove callback returning void
  perf: arm_smmuv3: Convert to platform remove callback returning void
  perf: arm_spe: Convert to platform remove callback returning void
  perf: fsl_imx8_ddr: Convert to platform remove callback returning void
  perf: fsl_imx9_ddr: Convert to platform remove callback returning void
  perf: hisilicon: Convert to platform remove callback returning void
  perf: marvell_cn10k_ddr: Convert to platform remove callback returning void
  perf: marvell_cn10k_tad: Convert to platform remove callback returning void
  perf: qcom_l2: Convert to platform remove callback returning void
  perf: thunderx2: Convert to platform remove callback returning void
  perf: xgene: Convert to platform remove callback returning void

 drivers/perf/alibaba_uncore_drw_pmu.c         | 6 ++----
 drivers/perf/amlogic/meson_g12_ddr_pmu.c      | 6 ++----
 drivers/perf/arm-cci.c                        | 8 +++-----
 drivers/perf/arm-ccn.c                        | 6 ++----
 drivers/perf/arm-cmn.c                        | 5 ++---
 drivers/perf/arm_cspmu/arm_cspmu.c            | 6 ++----
 drivers/perf/arm_dmc620_pmu.c                 | 6 ++----
 drivers/perf/arm_dsu_pmu.c                    | 6 ++----
 drivers/perf/arm_smmuv3_pmu.c                 | 6 ++----
 drivers/perf/arm_spe_pmu.c                    | 5 ++---
 drivers/perf/fsl_imx8_ddr_perf.c              | 5 ++---
 drivers/perf/fsl_imx9_ddr_perf.c              | 6 ++----
 drivers/perf/hisilicon/hisi_uncore_cpa_pmu.c  | 5 ++---
 drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c | 5 ++---
 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c  | 5 ++---
 drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c  | 5 ++---
 drivers/perf/hisilicon/hisi_uncore_pa_pmu.c   | 5 ++---
 drivers/perf/hisilicon/hisi_uncore_sllc_pmu.c | 5 ++---
 drivers/perf/marvell_cn10k_ddr_pmu.c          | 5 ++---
 drivers/perf/marvell_cn10k_tad_pmu.c          | 6 ++----
 drivers/perf/qcom_l2_pmu.c                    | 5 ++---
 drivers/perf/thunderx2_pmu.c                  | 5 ++---
 drivers/perf/xgene_pmu.c                      | 6 ++----
 23 files changed, 47 insertions(+), 81 deletions(-)

base-commit: 17cb8a20bde66a520a2ca7aad1063e1ce7382240

Comments

Uwe Kleine-König Jan. 10, 2024, 8:56 a.m. UTC | #1
Hello,

On Fri, Dec 15, 2023 at 02:59:00PM +0100, Uwe Kleine-König wrote:
> this series converts all drivers below drivers/perf to use
> .remove_new(). See commit 5c5a7680e67b ("platform: Provide a remove
> callback that returns no value") for an extended explanation and the
> eventual goal. The TL;DR; is to make it harder for driver authors to
> leak resources without noticing.
> 
> I based the patches on today's next, I had to revert commits 
> 3115ee021bfb ("arm64: perf: Include threshold control fields in
> PMEVTYPER mask") and 816c26754447 ("arm64: perf: Add support for event
> counting threshold") to compile test on ARCH=arm (this is a problem in
> next, not in my patch series).
> 
> This is merge window material. All patches are pairwise independent of
> each other so they can be applied individually. Still it would be great
> to let them go in all together.

I wonder if this series is still on someone's radar. It didn't appear in
next up to now, so I guess it's too late for 6.8-rc1?!

Best regards
Uwe
Will Deacon Jan. 12, 2024, 1:50 p.m. UTC | #2
Hi Uwe,

On Wed, Jan 10, 2024 at 09:56:26AM +0100, Uwe Kleine-König wrote:
> On Fri, Dec 15, 2023 at 02:59:00PM +0100, Uwe Kleine-König wrote:
> > this series converts all drivers below drivers/perf to use
> > .remove_new(). See commit 5c5a7680e67b ("platform: Provide a remove
> > callback that returns no value") for an extended explanation and the
> > eventual goal. The TL;DR; is to make it harder for driver authors to
> > leak resources without noticing.
> > 
> > I based the patches on today's next, I had to revert commits 
> > 3115ee021bfb ("arm64: perf: Include threshold control fields in
> > PMEVTYPER mask") and 816c26754447 ("arm64: perf: Add support for event
> > counting threshold") to compile test on ARCH=arm (this is a problem in
> > next, not in my patch series).
> > 
> > This is merge window material. All patches are pairwise independent of
> > each other so they can be applied individually. Still it would be great
> > to let them go in all together.
> 
> I wonder if this series is still on someone's radar. It didn't appear in
> next up to now, so I guess it's too late for 6.8-rc1?!

This came in during the holiday period so, by the time I saw it, it was
too late to land for this merge window. I can pick it up for 6.9 in a few
weeks, though. I usually start queueing stuff at -rc3.

Will
Uwe Kleine-König Jan. 12, 2024, 6:53 p.m. UTC | #3
Hey Will,

On Fri, Jan 12, 2024 at 01:50:09PM +0000, Will Deacon wrote:
> On Wed, Jan 10, 2024 at 09:56:26AM +0100, Uwe Kleine-König wrote:
> > On Fri, Dec 15, 2023 at 02:59:00PM +0100, Uwe Kleine-König wrote:
> > > this series converts all drivers below drivers/perf to use
> > > .remove_new(). See commit 5c5a7680e67b ("platform: Provide a remove
> > > callback that returns no value") for an extended explanation and the
> > > eventual goal. The TL;DR; is to make it harder for driver authors to
> > > leak resources without noticing.
> > > 
> > > I based the patches on today's next, I had to revert commits 
> > > 3115ee021bfb ("arm64: perf: Include threshold control fields in
> > > PMEVTYPER mask") and 816c26754447 ("arm64: perf: Add support for event
> > > counting threshold") to compile test on ARCH=arm (this is a problem in
> > > next, not in my patch series).
> > > 
> > > This is merge window material. All patches are pairwise independent of
> > > each other so they can be applied individually. Still it would be great
> > > to let them go in all together.
> > 
> > I wonder if this series is still on someone's radar. It didn't appear in
> > next up to now, so I guess it's too late for 6.8-rc1?!
> 
> This came in during the holiday period so, by the time I saw it, it was
> too late to land for this merge window. I can pick it up for 6.9 in a few
> weeks, though. I usually start queueing stuff at -rc3.

If it's not lost I'm happy. There are still quite a few more such
changes necessary for other subsystems, so no time pressure from my
side; 6.9 is great.

Cheers
Uwe
Will Deacon Feb. 9, 2024, 6:31 p.m. UTC | #4
On Fri, 15 Dec 2023 14:59:00 +0100, Uwe Kleine-König wrote:
> this series converts all drivers below drivers/perf to use
> .remove_new(). See commit 5c5a7680e67b ("platform: Provide a remove
> callback that returns no value") for an extended explanation and the
> eventual goal. The TL;DR; is to make it harder for driver authors to
> leak resources without noticing.
> 
> I based the patches on today's next, I had to revert commits
> 3115ee021bfb ("arm64: perf: Include threshold control fields in
> PMEVTYPER mask") and 816c26754447 ("arm64: perf: Add support for event
> counting threshold") to compile test on ARCH=arm (this is a problem in
> next, not in my patch series).
> 
> [...]

Applied to will (for-next/perf), thanks!

[01/18] perf: alibaba_uncore_drw: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/3bc9d71775ee
[02/18] perf: amlogic: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/94843f269abd
[03/18] perf: arm-cci: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/4df3bddf8707
[04/18] perf: arm-ccn: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/0767f1a48532
[05/18] perf: arm-cmn: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/3909cb3b5f8d
[06/18] perf: arm_cspmu: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/79dc1570b322
[07/18] perf: arm_dmc620: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/ca1e01c8d34a
[08/18] perf: arm_dsu: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/02d77ac1ac7e
[09/18] perf: arm_smmuv3: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/d67c3a61f063
[10/18] perf: arm_spe: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/e63b3aef186b
[11/18] perf: fsl_imx8_ddr: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/1bb639382d3f
[12/18] perf: fsl_imx9_ddr: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/78da2a93b55b
[13/18] perf: hisilicon: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/e07486a832bb
[14/18] perf: marvell_cn10k_ddr: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/c802bd9e354f
[15/18] perf: marvell_cn10k_tad: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/86e8963f9dba
[16/18] perf: qcom_l2: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/8a2e438e710c
[17/18] perf: thunderx2: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/d4c5cef73b25
[18/18] perf: xgene: Convert to platform remove callback returning void
        https://git.kernel.org/will/c/b07ebe8f1428

Cheers,