From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Stefan Wahren <wahrenst@gmx.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Umang Jain <umang.jain@ideasonboard.com>,
linux-staging@lists.linux.dev,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 05/11] staging: vchiq_arm: Get the rid off struct vchiq_2835_state
Date: Wed, 12 Jun 2024 00:22:53 +0300 [thread overview]
Message-ID: <20240611212253.GF10397@pendragon.ideasonboard.com> (raw)
In-Reply-To: <f01308d9-505b-4c57-af6b-b3febfd98112@gmx.net>
Hi Stefan,
On Wed, Jun 05, 2024 at 12:11:41PM +0200, Stefan Wahren wrote:
> Am 05.06.24 um 09:11 schrieb Laurent Pinchart:
> > On Tue, Jun 04, 2024 at 07:28:58PM +0200, Stefan Wahren wrote:
> >> The whole benefit of this encapsulating struct is questionable.
> >> It just stores a flag to signalize the init state of vchiq_arm_state.
> >> Beside the fact this flag is set too soon, the access to uninitialized
> >> members should be avoided per design.
> >
> > Do you have plans to address the design ?
>
> by using kzalloc and assigning platform_state at the end of
> vchiq_platform_init_state, i would consider this as fulfilled. Or do you
> care about the possible platform_state NULL pointer?
Reading the commit message, I thought you meant further changes were
need to fix the design. A clarification in the commit message could be
useful.
> >> So initialize vchiq_arm_state
> >> properly before assign it directly to vchiq_state.
> >>
> >> Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
> >> ---
> >> .../interface/vchiq_arm/vchiq_arm.c | 25 +++++--------------
> >> 1 file changed, 6 insertions(+), 19 deletions(-)
> >>
> >> diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> >> index 515cdcba043d..98a0b2d52af5 100644
> >> --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> >> +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> >> @@ -109,11 +109,6 @@ struct vchiq_arm_state {
> >> int first_connect;
> >> };
> >>
> >> -struct vchiq_2835_state {
> >> - int inited;
> >> - struct vchiq_arm_state arm_state;
> >> -};
> >> -
> >> struct vchiq_pagelist_info {
> >> struct pagelist *pagelist;
> >> size_t pagelist_buffer_size;
> >> @@ -613,29 +608,21 @@ vchiq_arm_init_state(struct vchiq_state *state,
> >> int
> >> vchiq_platform_init_state(struct vchiq_state *state)
> >> {
> >> - struct vchiq_2835_state *platform_state;
> >> + struct vchiq_arm_state *platform_state;
> >>
> >> - state->platform_state = kzalloc(sizeof(*platform_state), GFP_KERNEL);
> >> - if (!state->platform_state)
> >> + platform_state = kzalloc(sizeof(*platform_state), GFP_KERNEL);
> >> + if (!platform_state)
> >> return -ENOMEM;
> >>
> >> - platform_state = (struct vchiq_2835_state *)state->platform_state;
> >> -
> >> - platform_state->inited = 1;
> >> - vchiq_arm_init_state(state, &platform_state->arm_state);
> >> + vchiq_arm_init_state(state, platform_state);
> >> + state->platform_state = (struct opaque_platform_state *)platform_state;
> >>
> >> return 0;
> >> }
> >>
> >> static struct vchiq_arm_state *vchiq_platform_get_arm_state(struct vchiq_state *state)
> >> {
> >> - struct vchiq_2835_state *platform_state;
> >> -
> >> - platform_state = (struct vchiq_2835_state *)state->platform_state;
> >> -
> >> - WARN_ON_ONCE(!platform_state->inited);
> >> -
> >> - return &platform_state->arm_state;
> >> + return (struct vchiq_arm_state *)state->platform_state;
> >> }
> >>
> >> void
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2024-06-11 21:23 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-04 17:28 [PATCH 00/11] staging: vc04_services: Random cleanups Stefan Wahren
2024-06-04 17:28 ` [PATCH 01/11] staging: vchiq_arm: Replace variable ret with status Stefan Wahren
2024-06-05 6:51 ` Laurent Pinchart
2024-06-05 10:04 ` Stefan Wahren
2024-06-04 17:28 ` [PATCH 02/11] staging: vchiq_arm: Drop obsolete comment Stefan Wahren
2024-06-05 6:52 ` Laurent Pinchart
2024-06-05 10:02 ` Stefan Wahren
2024-06-05 10:32 ` Dan Carpenter
2024-06-04 17:28 ` [PATCH 03/11] staging: vchiq_core: Drop non-functional struct members Stefan Wahren
2024-06-05 7:00 ` Laurent Pinchart
2024-06-04 17:28 ` [PATCH 04/11] staging: vchiq_arm: Drop unnecessary declarations Stefan Wahren
2024-06-05 7:02 ` Laurent Pinchart
2024-06-04 17:28 ` [PATCH 05/11] staging: vchiq_arm: Get the rid off struct vchiq_2835_state Stefan Wahren
2024-06-05 7:11 ` Laurent Pinchart
2024-06-05 10:11 ` Stefan Wahren
2024-06-11 21:22 ` Laurent Pinchart [this message]
2024-06-12 5:12 ` Stefan Wahren
2024-06-04 17:28 ` [PATCH 06/11] staging: vchiq_arm: Drop vchiq_arm_init_state Stefan Wahren
2024-06-05 7:08 ` Laurent Pinchart
2024-06-04 17:29 ` [PATCH 07/11] staging: vchiq_arm: Reduce indentation of service_callback Stefan Wahren
2024-06-05 7:07 ` Laurent Pinchart
2024-06-04 17:29 ` [PATCH 08/11] staging: vchiq_core: Add comments to mutex/spinlocks Stefan Wahren
2024-06-05 7:10 ` Laurent Pinchart
2024-06-04 17:29 ` [PATCH 09/11] staging: vchiq: Move struct vchiq_config to vchiq.h Stefan Wahren
2024-06-05 7:16 ` Laurent Pinchart
2024-06-05 10:15 ` Stefan Wahren
2024-06-04 17:29 ` [PATCH 10/11] staging: vchiq_core: Add hex prefix to debugfs output Stefan Wahren
2024-06-05 7:12 ` Laurent Pinchart
2024-06-04 17:29 ` [PATCH 11/11] staging: vc04_services: Update testing instructions Stefan Wahren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240611212253.GF10397@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=florian.fainelli@broadcom.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-staging@lists.linux.dev \
--cc=umang.jain@ideasonboard.com \
--cc=wahrenst@gmx.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).