Inline Macro issue
Saket Sinha
saket.sinha89 at gmail.com
Mon Jul 15 07:57:23 EDT 2013
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/330922aa/attachment.html
More information about the Kernelnewbies
mailing list