Mandeep: Even this hasnt helped..though it was a btight idea. :(
P.S.-I can give my system on remote via Team Viewer, if you want to try. Regards, Saket Sinha On Mon, Jul 15, 2013 at 5:39 PM, Mandeep Sandhu <[email protected] > wrote: > How about: > > #define push_root() \ > recursive_mutex_lock(&context->id_lock); \ > context->uid = current->fsuid; \ > context->gid = current->fsgid; \ > do { \ > struct cred *new1 = prepare_creds(); \ > //make changes to any member of this structure \ > > commit_creds(new1); \ > } while(0); > > HTH, > > -mandeep > > > > > On Mon, Jul 15, 2013 at 5:27 PM, Saket Sinha <[email protected]>wrote: > >> Here is the macro >> >> https://github.com/HeisSpiter/hepunion/blob/master/fs/hepunion/hepunion.h#L393 >> >> Now this driver is at 2.6.18 kernel. I have to upgrade it to 3.8.3. >> As I have said >> "current" in kernel is a global macro, that always point to the "struct >> task_struct * " of the currently executing task (for details on >> task_struct, ref Robert Love, pg 24-27). >> >> >> https://github.com/HeisSpiter/hepunion/blob/master/fs/hepunion/hepunion.h#L397 >> >> Now if you look at thse two lines- >> >> current->fsuid = 0; \ >> current->fsgid = 0 >> >> Now task struct does not contain fsuid and fsgid, instead you have >> struct cred containing fsuid and fsgid. >> http://lxr.free-electrons.com/source/include/linux/cred.h#L102 >> >> So normal method is >> struct cred *new1; >> new1 =prepare_creds(); >> //make changes to any member of this structure >> commit_creds(new1); >> >> Now this above action I need to perform through a macro, in order to >> bring minimal changes to the driver. >> >> Now, I have told everything. Can someone suggest something that might >> work. >> >> Regards, >> Saket Sinha >> >> >> >> >> >> On Mon, Jul 15, 2013 at 5:07 PM, Mandeep Sandhu < >> [email protected]> wrote: >> >>> >>> On Mon, Jul 15, 2013 at 4:50 PM, Saket Sinha <[email protected]>wrote: >>> >>>> Mandip: >>>> Error is expected error or declaration at the end of input >>>> >>> >>> Without looking at the code, it's difficult to comment further. >>> >>> Can you attach a small compilable example which exhibits the error? >>> >>> -mandeep >>> >>> >>> >>>> Anish: >>>> that '\' should not be there first of all and even if I put it same >>>> error >>>> >>>> >>> >> >
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
