From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966757AbcA1Kcy (ORCPT ); Thu, 28 Jan 2016 05:32:54 -0500 Received: from mail-wm0-f46.google.com ([74.125.82.46]:34243 "EHLO mail-wm0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965960AbcA1Kcs (ORCPT ); Thu, 28 Jan 2016 05:32:48 -0500 MIME-Version: 1.0 In-Reply-To: References: From: Dmitry Vyukov Date: Thu, 28 Jan 2016 11:32:27 +0100 Message-ID: Subject: Re: floppy: GPF in floppy_rb0_cb To: Jiri Kosina Cc: NeilBrown , Takashi Iwai , Jens Axboe , Hannes Reinecke , Rasmus Villemoes , LKML , syzkaller , Kostya Serebryany , Alexander Potapenko , Sasha Levin Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 27, 2016 at 9:27 PM, Jiri Kosina wrote: > On Wed, 27 Jan 2016, Dmitry Vyukov wrote: > >> > Alright, there is a serious issue with how floppy_revalidate() handles >> > error from lock_fdc() (in-depth explanation for the curious: it doesn't). >> > >> > In case wait_for_event_interruptible() is actually interrupted without >> > succesfully claiming fdc, we proceed with revalidation, causing all kinds >> > of havoc (because another parallel request is still in progress). >> > >> > The whole story with the 'interruptible' parameter to lock_fdc() is funny >> > as well, because we always wait interruptibly anyway. So it can be nuked. >> > Most of the lock_fdc() callsites do properly handle error (and propagate >> > EINTR), but floppy_revalidate() and floppy_check_events() don't. >> > >> > Could you please let syzkaller retest with the patch below? It fixes all >> > the oopses I am able to trigger here. >> >> Done. I will get back to you if I see any other oops. > > Please also get to me in case you don't see any other oops after the > timeframe you have been able to reproduce the original problem, so that we > could consider the issue resolved and I can make proper patch from this > and send it upstream. I have not seen any /dev/fd0 related crashes over night. Previously I seen tons of them, so I guess this bug is fixed. Please send this upstream. Thanks