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

Re: spinlock protection on data question



On Wed, 7 Aug 2002, anton wilson wrote:

> driver_read(struct file *file)
> {
>    data = (struct mydata *) file->private_data;
>    
>    if(data){
>      spin_lockirq_save(&locktable[data->number], flags)
>  
>      /* .... */ 
> 
>    }
> }
> 
> This is still bad because I have to access the data to find out which lock to 
> use. Secondly, I don't have any guarantees that data is not null between the 
> time I check and the time I access. The only think I can see is to have 
> another global lock. . . Not sure what else I can do.

Not to mention being really susceptible to user craziness ie data->number.

	Zwane

-- 
function.linuxpower.ca

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/