ubifs: regression since "ubifs: xattr: Don't operate on deleted inodes"

Koen Vandeputte
2018-09-13T07:58:50Z

Hi all,

I'm currently in the process of updating the kernel version within
OpenWrt. (4.14.68 to 4.14.69)

Testing shows some issues on devices using specifically UBIFS.
Altering a perfect valid writable file shows weird errors:

[ Node 2 | node-2 ] ls -l /root/custom/scripts/banner.sh
-rwxr-xr-x    1 root     root           283 Sep 11 09:52
/root/custom/scripts/banner.sh

[ Node 2 | node-2 ] cat /root/custom/scripts/banner.sh
#!/bin/sh

if [ ! -f /root/.banner_ok ]
then
RELEASE=$(cat /root/build_date)
VERSION=$(cat /root/version)

echo "Generating banner: $VERSION $RELEASE"
sed s/VERSION/$VERSION/g /root/custom/banner > /etc/banner
sed -i s/RELEASE/$RELEASE/g /etc/banner

touch /root/.banner_ok
fi

[ Node 2 | node-2 ] echo "test" > /root/custom/scripts/banner.sh
-ash: can't create /root/custom/scripts/banner.sh: nonexistent directory

I'm also noticing other apps fail because /etc doesn't exists yet after
UBIFS boot loading.
these 2 issues were not seen on 4.14.68.

The bootlog doesn't show any error:
https://pastebin.com/raw/dJx47uBp

I'm only seeing these issues on UBIFS enabled volumes.
Reverting ("ubifs: xattr: Don't operate on deleted inodes") fixes these
weird issues.

Thanks,

Koen