Re: [RFC]__sock_create() change

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



pradeep singh wrote:
Hi All,

the __sock_create in net/socket.c has the following code snippet.

if (family == PF_INET && type == SOCK_PACKET) {
     static int warned;
     if (!warned) {
          warned = 1;
printk(KERN_INFO "%s uses obsolete (PF_INET,SOCK_PACKET)\n", current->comm);
     }
     family = PF_PACKET;
}

this may be in place to emit a harmless warning , but why not change it to -
if (family == PF_INET && type == SOCK_PACKET) {

printk(KERN_INFO "%s uses obsolete (PF_INET,SOCK_PACKET)\n", current->comm);

     family = PF_PACKET;
}

Because anyway if(!warning) is going to result in true everytime we enter the function, as static int warning has scope limited to the outer if block.

Not quite so. The warning variable may only have scope within its block ,but (being static) is stored in a reserved memory area (I think this is called linkage ... not sure though). The second time someone would try creating a socket using PF_INET and SOCK_PACKET, he/she would not get that warning as 'warning' is already set (warning = 1, that is).

Razvan

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux