I have to support pushd and popd from userspace in a filesystem that I have designed.
In my filesystem driver, to implement it I have done the following for popd - the driver implementation is https://github.com/disdi/hepunion/blob/master/fs/hepunion/hepunion.h#L386 #define pop_root() \ current->fsuid = context->uid; \ current->fsgid = context->gid; \ recursive_mutex_unlock(&context->id_lock) for pushd - the driver implementation is https://github.com/disdi/hepunion/blob/master/fs/hepunion/hepunion.h#L393 #define push_root() \ recursive_mutex_lock(&context->id_lock); \ context->uid = current->fsuid; \ context->gid = current->fsgid; \ current->fsuid = 0; \ current->fsgid = 0 But this implementation is failing at run time. This is the script with which I am testing this driver. All pushd and propd are not working in this script. After trying many other alternatives, I think overriding commits would be a better choice. So then I would try overriding commits as the below link http://lxr.free-electrons.com/source/fs/open.c?v=3.8#L312 Regards, Saket Sinha Can somebody help
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
