Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751374Ab3HTOO0 (ORCPT ); Tue, 20 Aug 2013 10:14:26 -0400 Received: from mail-ee0-f51.google.com ([74.125.83.51]:59818 "EHLO mail-ee0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750907Ab3HTOOZ (ORCPT ); Tue, 20 Aug 2013 10:14:25 -0400 From: Peter Wu To: Jiri Kosina Cc: Manoj Chourasia , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] hidraw: correctly deallocate memory on device disconnect Date: Tue, 20 Aug 2013 16:14:21 +0200 Message-ID: <1707995.vN5QlUzrT9@al> User-Agent: KMail/4.11 (Linux/3.11.0-1-custom; KDE/4.11.0; x86_64; ; ) In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1316 Lines: 27 On Friday 09 August 2013 11:31:15 Jiri Kosina wrote: > On Mon, 22 Jul 2013, Manoj Chourasia wrote: > > This is mail is in regard to your commit for hidaw devices. We were > > seeing kernel crashes while connect and disconnect a hidraw device and > > we were hitting rb tree corruption in vmalloc and kernel was crashing > > because of null pointer de-reference. Later we figure out that was > > because the hid device disconnect is freeing memory which later got > > access by hidraw_read and hid_write. > > Now applied, thanks Manoj, thanks Peter. I just noticed an issue with this patch, after playing with some receivers I saw 8 hidraw device nodes. Every USB receiver creates two hidraw nodes, one for the receiver and one for the paired device. UPower seems to keep the file descriptor open which prevents the hidraw device from being removed. Shouldn't the implementation of hidraw be changed to separate open file descriptors from the actual HID devices? That should allow /dev/hidrawX devices to get removed whenever a HID device is gone. Regards, Peter -- 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/