2006-03-25 07:11:42

by Benjamin

[permalink] [raw]
Subject: Modify the sock Structure!!

Hello! I try to modify the sock Structure in sock.h in order to record
some data!
I just add a unsigned short in the end of the structure. such as:

struct sock {
/* Socket demultiplex comparisons on incoming packets. */
__u32 daddr; /* Foreign IPv4 addr */
__u32 rcv_saddr; /* Bound local IPv4 addr */

...................................................................
....................................................................



void (*destruct)(struct sock *sk);
unsigned short data; /*I put the unsigned short
here*/
};



I re-complied the kernel. The kernel and network functions work
normally so far.
However, I am a new guy for the kernel programming. I just wonder this
modification is
safe or not. Is there any side-effect? Or I need to add additional code
to avoid some unexpected
situation? Thank you very much!


2006-03-25 18:39:32

by Jan Engelhardt

[permalink] [raw]
Subject: Re: Modify the sock Structure!!


> Hello! I try to modify the sock Structure in sock.h in order to record some
> data!
> I just add a unsigned short in the end of the structure. such as:
>
> struct sock {

> safe or not. Is there any side-effect? Or I need to add additional code to
> avoid some unexpected
> situation? Thank you very much!


Should be ok. For example, ipt_TPROXY/ipt_tproxy also adds something to
struct sock (including enlarging fields in the middle of the struct);
I have not experienced any problem with it.


Jan Engelhardt
--

2006-03-25 19:05:52

by Benjamin

[permalink] [raw]
Subject: Re: Modify the sock Structure!!

Cool! Thanks for the answer!

Best Regards,

Benjamin Chu

Jan Engelhardt wrote:
>> Hello! I try to modify the sock Structure in sock.h in order to record some
>> data!
>> I just add a unsigned short in the end of the structure. such as:
>>
>> struct sock {
>>
>
>
>> safe or not. Is there any side-effect? Or I need to add additional code to
>> avoid some unexpected
>> situation? Thank you very much!
>>
>
>
> Should be ok. For example, ipt_TPROXY/ipt_tproxy also adds something to
> struct sock (including enlarging fields in the middle of the struct);
> I have not experienced any problem with it.
>
>
> Jan Engelhardt
>