[U-Boot] [U-Boot, v4, 60/66] rockchip: Kconfig: preset TPL_LDSCRIPT via Kconfig for the RK3368

Dr. Philipp Tomsich philipp.tomsich at theobroma-systems.com
Mon Aug 7 20:03:04 UTC 2017


Tom,

> On 07 Aug 2017, at 16:05, Tom Rini <trini at konsulko.com> wrote:
> 
> On Mon, Aug 07, 2017 at 10:48:12AM +0200, Dr. Philipp Tomsich wrote:
>> +Tom
>> 
>> Ok, so the problem is 'scripts/setlocalversion’, which does the following:
>>> if test -e include/config/auto.conf; then
>>>        . include/config/auto.conf
>>> else
>>>        echo "Error: kernelrelease not valid - run 'make prepare' to update it"
>>>        exit 1
>>> fi
>> in order to access the variables needed for:
>>> # CONFIG_LOCALVERSION and LOCALVERSION (if set)
>>> res="${res}${CONFIG_LOCALVERSION}${LOCALVERSION}"
>>> 
>>> # scm version string if not at a tagged commit
>>> if test "$CONFIG_LOCALVERSION_AUTO" = "y"; then
>>>        # full scm version string
>>>        res="$res$(scm_version)"
>>> else
>>>        # append a plus sign if the repository is not in a clean
>>>        # annotated or signed tagged state (as git describe only
>>>        # looks at signed or annotated tags - git tag -a/-s) and
>>>        # LOCALVERSION= is not specified
>>>        if test "${LOCALVERSION+set}" != "set"; then
>>>                scm=$(scm_version --short)
>>>                res="$res${scm:++}"
>>>        fi
>>> fi
>> 
>> So nothing wrong with the changes to Kconfig, but we’re triggering a weakness in our
>> build infrastructure here.
>> 
>> I guess we’ll have to implement a save version of scripts/localversion that does not
>> allow for the execution of arbitrary script code from auto.conf ...
> 
> Masahiro, do you have any ideas here?  Thanks!

I had been thinking of sanitising this by either
(a)	using sed to rewrite any patterns that might trigger command execution,
	but should really just be environment substitution, back to “do the right thing”
(b)	reduce the file to just CONFIG_LOCALVERSION, LOCALVERSION and
	CONFIG_LOCALVERSION_AUTO using grep before sourcing
Let me know if either of these sounds like a reasonable fix for the time being...

On a different note: I suppose I should hold off with a pull-request for
u-boot-rockchip until this is resolved?

> 
>> 
>>> On 07 Aug 2017, at 10:38, Andy Yan <andy.yan at rock-chips.com> wrote:
>>> 
>>> Hi Philipp:
>>> 
>>> 
>>> On 2017年08月07日 16:24, Dr. Philipp Tomsich wrote:
>>>> Andy,
>>>> 
>>>> Doing a non-buildman defconfig + make works fine.
>>>> I’ve seen this too (I did a full buildman for all arm, x86 and powerpc boards) and it seems as if a shell-script is trying to source the generated auto.config file.
>>>> I couldn’t spot where in buildman that happens, so I’ll need to leave this to someone with more insight into buildman to figure out…
>>> 
>>> 
>>>   I build with : make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- firefly-rk3288_defconfig all
>>> Also can see the waring: inclue/config/auto.conf: line 209: ARCH: command not found.
>>>> 
>>>> Regards,
>>>> Phil.
>>>> 
>>>>> On 07 Aug 2017, at 03:19, Andy Yan <andy.yan at rock-chips.com> wrote:
>>>>> 
>>>>> Hi :
>>>>> 
>>>>>   When run buildman rockchip on the master branch of current u-boot-rockchip tree, I got warnings about 16 rockchip arm32 based boards:
>>>>> 
>>>>>  include/config/auto.config: line x: ARCH: command not found.
>>>>> 
>>>>>  the line x is the definition of the: SPL_LDSCRITP "arch/$(ARCH)/cpu/u-boot-spl.lds"
>>>>> 
>>>>>  not sure is there somethings wrong about this series change.
>>>>> 
>>>>> 
>>>>> On 2017年08月07日 01:18, Philipp Tomsich wrote:
>>>>>>> Set TPL_LDSCRIPT in Kconfig, so we don't have to pollute our
>>>>>>> header file.
>>>>>>> 
>>>>>>> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>>>>>>> Reviewed-by: Simon Glass <sjg at chromium.org>
>>>>>>> ---
>>>>>>> 
>>>>>>> Changes in v4:
>>>>>>> - (added) sets TPL_LDSCRIPT via Kconfig
>>>>>>> 
>>>>>>> Changes in v3: None
>>>>>>> Changes in v2: None
>>>>>>> 
>>>>>>> arch/arm/mach-rockchip/Kconfig  | 7 +++++++
>>>>>>> include/configs/rk3368_common.h | 2 --
>>>>>>> 2 files changed, 7 insertions(+), 2 deletions(-)
>>>>>>> 
>>>>>> Applied to u-boot-rockchip, thanks!
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
> 
> -- 
> Tom



More information about the U-Boot mailing list