Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S262008AbTFOR1B (ORCPT ); Sun, 15 Jun 2003 13:27:01 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S262431AbTFOR1B (ORCPT ); Sun, 15 Jun 2003 13:27:01 -0400 Received: from adsl-206-170-148-147.dsl.snfc21.pacbell.net ([206.170.148.147]:45317 "EHLO gw.goop.org") by vger.kernel.org with ESMTP id S262008AbTFOR04 (ORCPT ); Sun, 15 Jun 2003 13:26:56 -0400 Subject: Re: Flaw in the driver-model implementation of attributes From: Jeremy Fitzhardinge To: Alan Stern Cc: Greg KH , Patrick Mochel , Linux Kernel List In-Reply-To: References: Content-Type: text/plain Message-Id: <1055698845.1351.44.camel@ixodes.goop.org> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.0 Date: 15 Jun 2003 10:40:45 -0700 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1293 Lines: 27 On Sun, 2003-06-15 at 09:42, Alan Stern wrote: > If you're already aware of this, please forgive the intrusion. > > There's a general problem in the driver model's implementation of > attribute files, in connection with loadable kernel modules. The > sysfs_ops structure stores function pointers with no means for identifying > the module that contains the corresponding code. As a result, it's > possible to call through one of these pointers even after the module has > been unloaded, causing an oops. > > It's not hard to provoke this sort of situation. A user process can > open a sysfs device file, for instance, and delay trying to read it until > the module containing the device driver has been removed. When the read > does occur, it runs into trouble. I've seen this oops when a program has its cwd in a /sys directory corresponding to a removed (or replaced) module. I think active references to a part of the /sys namespace corresponding to a module should just pin the module. But I haven't looked into it really. J - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/