Inline Macro issue

Saket Sinha saket.sinha89 at gmail.com
Mon Jul 15 08:33:34 EDT 2013


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 <mandeepsandhu.chd at gmail.com
> 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 <saket.sinha89 at gmail.com>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 <
>> mandeepsandhu.chd at gmail.com> wrote:
>>
>>>
>>> On Mon, Jul 15, 2013 at 4:50 PM, Saket Sinha <saket.sinha89 at gmail.com>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
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130715/d2e50889/attachment.html 


More information about the Kernelnewbies mailing list