From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752085AbbJUEUi (ORCPT ); Wed, 21 Oct 2015 00:20:38 -0400 Received: from m12-15.163.com ([220.181.12.15]:60397 "EHLO m12-15.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750698AbbJUEUg (ORCPT ); Wed, 21 Oct 2015 00:20:36 -0400 Date: Tue, 20 Oct 2015 21:11:48 -0700 From: Geliang Tang To: Kees Cook Cc: Anton Vorontsov , Colin Cross , Tony Luck , Geliang Tang , linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 0/3] pstore: add pstore unregister Message-ID: <20151021041148.GA8995@ubuntu> References: <3908561D78D1C84285E8C5FCA982C28F32B59323@ORSMSX114.amr.corp.intel.com> <20151021025255.GA7402@ubuntu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-CM-TRANSID: D8CowEAJzlqGECdWbdYaDA--.18685S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7AF18Ar13JFy3JFW3Jry7Wrg_yoW8ZFyrpr WkCF90kF4DX348JF4vgFn0gryYkrWfAr1Igr40kr10v3Z8uF17ua1jgF13WFW3ZrZ5Cw17 ZFy5CayDJr98Aa7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zR2FAAUUUUU= X-Originating-IP: [218.17.162.133] X-CM-SenderInfo: 5jhoxtpqjwt0rj6rljoofrz/1tbiJQmamVUL7oN+JgAAsE Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Oct 20, 2015 at 08:01:20PM -0700, Kees Cook wrote: > On Tue, Oct 20, 2015 at 7:52 PM, Geliang Tang wrote: > > On Tue, Oct 20, 2015 at 10:19:09AM -0700, Kees Cook wrote: > >> On Tue, Oct 20, 2015 at 12:39 AM, Geliang Tang wrote: > >> > On Mon, Oct 19, 2015 at 10:56:54PM +0000, Luck, Tony wrote: > >> >> Thanks for looking to close out this TODO item. > >> >> > >> >> The thing that scared me about unloading pstore was what happens to > >> >> a process that is in the middle of reading some /sys/fs/pstore/file-name-here > >> > >> Were you able to verify that this reading-while-rmmod case works correctly? > >> > >> -Kees > > > > $ sudo insmod zlib_deflate.ko > > $ sudo insmod pstore.ko > > $ lsmod > > Module Size Used by > > pstore 11225 0 > > zlib_deflate 18292 1 pstore > > > > $ sudo mount -t pstore pstore /sys/fs/pstore > > $ lsmod > > Module Size Used by > > pstore 11225 1 > > zlib_deflate 18292 1 pstore > > > > $ sudo insmod reed_solomon.ko > > $ sudo insmod ramoops.ko mem_address=0x40000000 mem_size=0x400000 > > $ lsmod > > Module Size Used by > > ramoops 9638 0 > > reed_solomon 5150 1 ramoops > > pstore 11225 2 ramoops > > zlib_deflate 18292 1 pstore > > > > $ tail -f /sys/fs/pstore/console-ramoops-0 & > > [1] 3483 > > $ lsmod > > Module Size Used by > > ramoops 9638 0 > > reed_solomon 5150 1 ramoops > > pstore 11225 3 ramoops > > zlib_deflate 18292 1 pstore > > > > $ kill -9 3483 > > $ lsmod > > Module Size Used by > > ramoops 9638 0 > > reed_solomon 5150 1 ramoops > > pstore 11225 2 ramoops > > zlib_deflate 18292 1 pstore > > > > $ sudo rmmod ramoops > > $ lsmod > > Module Size Used by > > reed_solomon 5150 0 > > pstore 11225 1 > > zlib_deflate 18292 1 pstore > > What happens if you leave the tail running and try to rmmod ramoops? > (I assume it'll just refuse.) > It'll refuse if we try to unload pstore module. But we can unload ramoops module. Because we only increase a reference count of pstore module when the file is opened. We didn't increase ramoops module's reference count. Thanks. Geliang Tang