4.15: ovl_get_origin_fh detects zero sized files on lower paths and treats these a special zero sized "copied up but origin unknown" magic.
[ 25.442916] ovl_check_origin: etc/.pwd.lock 2 [ 25.442918] ovl_get_origin_fh: 104 etc/.pwd.lock [ 25.442919] ovl_get_origin_fh: 107 res=0 [ 25.442920] ovl_get_origin_fh: 117 res == 0, return NULL [ 25.442921] ovl_get_origin: 179 fh = (null) 1 [ 25.442922] ovl_get_origin_fh: 104 etc/.pwd.lock [ 25.442922] ovl_get_origin_fh: 107 res=0 [ 25.442923] ovl_get_origin_fh: 117 res == 0, return NULL [ 25.442923] ovl_get_origin: 179 fh = (null) 1
5.3: the lower is / and hence is a directory hence the S_IFDIR origin return.
[ 33.320630] ovl_get_fh: 112 dentry: etc/.pwd.lock name: trusted.overlay.origin [ 33.320632] ovl_get_fh: 115: res = 29 [ 33.320634] ovl_get_fh: 152: return fh = 000000006e71855c [ 33.320634] ovl_check_origin: 413 fh = 000000006e71855c [ 33.320635] ovl_check_origin_fh: 354 upperdentry = etc/.pwd.lock [ 33.320635] ovl_decode_real_fh: 174 [ 33.320769] ovl_decode_real_fh: 211 return dentry (OK) [ 33.320769] ovl_check_origin_fh: 360, i=0, origin = / [ 33.320770] ovl_check_origin_fh: level=0 upper: etc/.pwd.lock 100600, lower: / 40755 [ 33.320770] ovl_check_origin_fh: 380 goto invalid [ 33.320771] overlayfs: invalid origin (etc/.pwd.lock, ftype=8000, origin ftype=4000). [ 33.320773] ovl_check_origin: 422 err = -5 [ 33.320774] ovl_check_origin: 429, return -5
4.15: ovl_get_origin_fh detects zero sized files on lower paths and treats these a special zero sized "copied up but origin unknown" magic.
[ 25.442916] ovl_check_origin: etc/.pwd.lock 2
[ 25.442918] ovl_get_origin_fh: 104 etc/.pwd.lock
[ 25.442919] ovl_get_origin_fh: 107 res=0
[ 25.442920] ovl_get_origin_fh: 117 res == 0, return NULL
[ 25.442921] ovl_get_origin: 179 fh = (null) 1
[ 25.442922] ovl_get_origin_fh: 104 etc/.pwd.lock
[ 25.442922] ovl_get_origin_fh: 107 res=0
[ 25.442923] ovl_get_origin_fh: 117 res == 0, return NULL
[ 25.442923] ovl_get_origin: 179 fh = (null) 1
5.3: the lower is / and hence is a directory hence the S_IFDIR origin return.
[ 33.320630] ovl_get_fh: 112 dentry: etc/.pwd.lock name: trusted. overlay. origin origin_ fh: 354 upperdentry = etc/.pwd.lock origin_ fh: 360, i=0, origin = / origin_ fh: level=0 upper: etc/.pwd.lock 100600, lower: / 40755 origin_ fh: 380 goto invalid
[ 33.320632] ovl_get_fh: 115: res = 29
[ 33.320634] ovl_get_fh: 152: return fh = 000000006e71855c
[ 33.320634] ovl_check_origin: 413 fh = 000000006e71855c
[ 33.320635] ovl_check_
[ 33.320635] ovl_decode_real_fh: 174
[ 33.320769] ovl_decode_real_fh: 211 return dentry (OK)
[ 33.320769] ovl_check_
[ 33.320770] ovl_check_
[ 33.320770] ovl_check_
[ 33.320771] overlayfs: invalid origin (etc/.pwd.lock, ftype=8000, origin ftype=4000).
[ 33.320773] ovl_check_origin: 422 err = -5
[ 33.320774] ovl_check_origin: 429, return -5