Re: [PATCH] sound_core.c: Remove BKL from soundcore_open

From: Oliver Neukum
Date: Sun Oct 11 2009 - 10:12:29 EST


Am Sonntag, 11. Oktober 2009 14:41:15 schrieb John Kacur:
> @@ -576,8 +576,6 @@ static int soundcore_open(struct inode *inode, struct
> file *file) struct sound_unit *s;
>         const struct file_operations *new_fops = NULL;
>  
> -       lock_kernel ();
> -
>         chain=unit&0x0F;
>         if(chain==4 || chain==5)        /* dsp/audio/dsp16 */
>         {
> @@ -631,17 +629,17 @@ static int soundcore_open(struct inode *inode, struct
> file *file) file->f_op = new_fops;
>                 spin_unlock(&sound_loader_lock);
>                 if(file->f_op->open)
> +                       lock_kernel();
>                         err = file->f_op->open(inode,file);
> +                       unlock_kernel();
>                 if (err) {
>                         fops_put(file->f_op);
>                         file->f_op = fops_get(old_fops);

Is that just me, or is file->f_op unguarded in this version?

Regards
Oliver

N?§²æìr¸?yúè?Øb²X¬¶Ç§vØ^?)Þº{.nÇ+?·¥?{±?êçzX§¶?¡Ü¨}©?²Æ zÚ&j:+v?¨¾«?êçzZ+?Ê+zf£¢·h??§~?­?Ûiÿûàz¹®w¥¢¸??¨è­Ú&¢)ߢf?ù^jÇ«y§m?á@A«a¶Úÿ 0¶ìh®å?i