--- zzzz-none-000/linux-4.1.52/fs/overlayfs/copy_up.c 2018-05-28 02:26:45.000000000 +0000 +++ bcm63-7530ax-731/linux-4.1.52/fs/overlayfs/copy_up.c 2022-03-02 11:37:13.000000000 +0000 @@ -311,7 +311,9 @@ struct dentry *upperdir; struct dentry *upperdentry; const struct cred *old_cred; +#if !defined(CONFIG_BCM_KF_OVERLAYFS_BACKPORTS) struct cred *override_cred; +#endif char *link = NULL; if (WARN_ON(!workdir)) @@ -330,6 +332,9 @@ return PTR_ERR(link); } +#if defined(CONFIG_BCM_KF_OVERLAYFS_BACKPORTS) + old_cred = ovl_override_creds(dentry->d_sb); +#else err = -ENOMEM; override_cred = prepare_creds(); if (!override_cred) @@ -352,6 +357,7 @@ cap_raise(override_cred->cap_effective, CAP_CHOWN); cap_raise(override_cred->cap_effective, CAP_MKNOD); old_cred = override_creds(override_cred); +#endif err = -EIO; if (lock_rename(workdir, upperdir) != NULL) { @@ -381,9 +387,10 @@ unlock_rename(workdir, upperdir); out_put_cred: revert_creds(old_cred); +#if !defined(CONFIG_BCM_KF_OVERLAYFS_BACKPORTS) put_cred(override_cred); - out_free_link: +#endif if (link) free_page((unsigned long) link);