[PATCH v2 5/8] soc: qcom: smd: Remove use of VLAIS

Andy Gross agross at codeaurora.org
Tue Sep 22 08:34:56 PDT 2015


On Mon, Sep 21, 2015 at 06:16:51PM -0700, Bjorn Andersson wrote:
> On Wed 02 Sep 15:46 PDT 2015, Stephen Boyd wrote:
> 
> > Usage of VLAIS prevents clang from compiling this file, and it
> > also opens us to the possibility of allocating a large structure
> > on the stack to the point that we blow past the limit of the
> > kernel stack. Remove the VLAIS and allocate a structure on the
> > heap with kmalloc so that we're safer and more clang friendly.
> > 
> [..]
> > diff --git a/drivers/soc/qcom/smd-rpm.c b/drivers/soc/qcom/smd-rpm.c
> [..]
> >  	struct {
> >  		struct qcom_rpm_header hdr;
> >  		struct qcom_rpm_request req;
> > -		u8 payload[count];
> > -	} pkt;
> > +		u8 payload[];
> > +	} *pkt;
> > +	size_t size = sizeof(*pkt) + count;
> >  
> [..]
> >  
> > -	ret = qcom_smd_send(rpm->rpm_channel, &pkt, sizeof(pkt));
> > +	ret = qcom_smd_send(rpm->rpm_channel, pkt, sizeof(*pkt));
> 
> It would be good if we actually include the request in the packet and
> not just the headers :)
> 
> s/sizeof(*pkt)/size/
> 
> Sorry for not spotting this before, made my device not boot now that it
> showed up in linux-next. And oddly the 8974 RPM seems to just ack the
> messages, without any indication of the request being truncated...
> 
> 
> @Andy, I presume this is only on your -next, can you update the commit?
> Or do you want a patch for it?

I can fix it up.

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project




More information about the linux-arm-kernel mailing list