[OE-core] [PATCH v3] pseudo: Fix openat() with a symlink pointing to a directory

Jason Wessel jason.wessel at windriver.com
Tue Aug 6 15:53:35 UTC 2019


On 8/6/19 10:39 AM, Jason Wessel wrote:
> On 8/6/19 9:59 AM, Jason Wessel wrote:
>> On 8/6/19 9:20 AM, Richard Purdie wrote:
>>> On Mon, 2019-08-05 at 09:32 -0700, Jason Wessel wrote:
>>>> While working with ostree disk generation in conjunction with wic, I
>>>> found a problem with pseudo where it tried to resolve a symlink when
>>>> it shouldn't, based on openat() flags. A C program has been
>>>> constructed to test pseudo to show that it is working properly with
>>>> the correct behavior around openat().
>>>>
>>> [...]
>>>>
>>>> Many thanks to Peter Seebach for fixing the problem in the pseudo
>>>> code
>>>> to use the same logic which was already there for the
>>>> AT_SYMLINK_NOFOLLOW.
>>>>
>>>> Also updated is the license MD5 checksum since the master branch of
>>>> pseudo has had the SPDX data updated.
>>>>
>>>> Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
>>>> ---
>>>>     meta/recipes-devtools/pseudo/pseudo.inc    | 2 +-
>>>>     meta/recipes-devtools/pseudo/pseudo_git.bb | 2 +-
>>>>     2 files changed, 2 insertions(+), 2 deletions(-)
>>>
>>> pseudo-native didn't build on fedora28 or centos7:
>>>
>>> http://errors.yoctoproject.org/Errors/Latest/?filter=9382629d4bbcd26196c36d31ffdf097b30023150&type=commit&limit=150
>>>
>>> (see the pseudo-native failures).
>>>
>>> It looks like an issue on hosts which don't have zlib-devel installed,
>>
>>> at a very approximate guess -  I've not been able to look in detail.
>>>
>>
>> I'll try and setup a test, since I can easily run fedora28.   I wonder if we can just use zlib-native to solve it, or if it is a a chicken-egg problem with the early boot strap.
>>
> 
> I cannot duplicate the problem.  It must have to do with the way your particular system is setup.   What is interesting is that the -lz is not actually called on my system, where I most certainly don't have the libz devel package installed.  I am guessing there is a configure failure of some sort?
> 
> Do you think on the fedora28 system you could send me the "rpm -q -a" output?
> 

I found out where the link flags come from in the pseudo recipe.


         for sqlite_link_opt in $(pkg-config sqlite3 --libs --static)
         do
             case "$sqlite_link_opt" in
             -lsqlite3)
                 ;;
             -l*)
                 SQLITE_LDADD="${SQLITE_LDADD} ${sqlite_link_opt}"


This implies that your local sqlite3 is perhaps different in some manner.  I am not sure exactly what kind of edge case you have going on with your system.  :-)

Cheers,
Jason.


More information about the Openembedded-core mailing list