Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755546AbZJKOLj (ORCPT ); Sun, 11 Oct 2009 10:11:39 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755221AbZJKOLj (ORCPT ); Sun, 11 Oct 2009 10:11:39 -0400 Received: from smtp-out003.kontent.com ([81.88.40.217]:57422 "EHLO smtp-out003.kontent.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755146AbZJKOLi (ORCPT ); Sun, 11 Oct 2009 10:11:38 -0400 From: Oliver Neukum To: John Kacur Subject: Re: [PATCH] sound_core.c: Remove BKL from soundcore_open Date: Sun, 11 Oct 2009 16:12:40 +0200 User-Agent: KMail/1.10.3 (Linux/2.6.31-rc9-0.1-default; KDE/4.1.3; x86_64; ; ) Cc: Frederic Weisbecker , Alan Cox , linux-kernel@vger.kernel.org, Thomas Gleixner , Jonathan Corbet , Peter Zijlstra , Christoph Hellwig , Andrew Morton , "Vincent^M^J Sanders" , Ingo Molnar References: <20091011113317.GA4901@nowhere> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Disposition: inline Message-Id: <200910111612.41717.oliver@neukum.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by alpha.home.local id n9BEET16012820 Content-Length: 1070 Lines: 4 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?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?