踩到 kernel overlay fs 的一个坑

转载时请注明出处和作者联系方式:http://blog.csdn.net/mimepp

作者联系方式:YU TAO <yut616 at sohu dot com>

关键字: yocto, docker, container, gobject-introspection, "Invalid argument", cap_inode_getsecurity, d_find_any_alias(), d_find_alias()

近期遇到一个 kernel overlay fs 文件系统的一个问题,这里将相关内容做一个记录。

你如果使用 docker container 容器来编译 yocto,如ubuntu 16.04, kernel 4.15, 可能会遇到相同的问题,提示 “Invalid argument” 错误:

./g-ir-compiler: line 117: tmp/work/x86_64-linux/gobject-introspection-native/1.54.1-r0/build/.libs/lt-g-ir-compiler: Invalid argument

而且还是个很随机出现的问题,但出错时,始终为同一个地方 lt-g-ir-compiler。

网络上也有人报告类似问题:

https://www.spinics.net/lists/linux-unionfs/msg05363.html

[13181.958681] Invalid argument reading file caps for
/vol/mnt/m/build/tmp/work/x86_64-linux/gobject-introspection-native/1.50.0-r0/build/.libs/lt-g-ir-compiler

还好,已经得到了解决。

Author: Eddie.Horng <eddie.horng@mediatek.com>
Date:   Fri Jul 20 15:30:00 2018 +0800
    cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias()
    commit 355139a8dba446cc11a424cddbf7afebc3041ba1 upstream.

patch:

https://github.com/torvalds/linux/commit/355139a8dba446cc11a424cddbf7afebc3041ba1

从 4.18.7 开始进入了 kernel

https://elixir.bootlin.com/linux/v4.18.7/source/security/commoncap.c#L391

4.19+ 也有了。

所以解决办法就是升级 kernel 到 4.19。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值