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!
> 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
--
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
>