Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp914183pxb; Wed, 1 Sep 2021 12:34:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAUEK3C0z9dQ4efLeX3C5sSVXHi+pEvhcJIwCwxLEE1yr5lrwXqoT6Al6P2VIhuwF+VcSL X-Received: by 2002:a92:3f01:: with SMTP id m1mr753266ila.105.1630524847550; Wed, 01 Sep 2021 12:34:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630524847; cv=none; d=google.com; s=arc-20160816; b=uXnaj7NLDtk/BWp/Kg+nP3COxhoQfftu2ZQFXU6YnTneg8eItSTwnLm4S62CTeqAsr PQdSo2BDY+NJPORDH9b+9QOqSH1T7DuWghH/v83E85X3RWXsHPPQylpGNhBAX5DgC3RE 1z4NUUJGADBlrEoQTJ5o9V4AoSM8UVCPwvWJ3fNnTWCVw56f5MJOpVZ07RpULkPJKnqy TiTxAuC1PU9J658LfpjJS2pwAy6eora01K9EhN0T8dDx6Bk27WTHq2nG7v1Oki2uEoAx kH52Ax6AjfmJzftUvdtOoJJBRGX93MJ4DSdeI2otXozAqAt7G5X4nIU8o3fhkc2MaXQr yQcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=YccP+Bz9/WyArLFqYppcUVsv/4F7IQ1YtCQFHwvkQKM=; b=DT7oQ3NeFb5EevT1sWqj6wqpsqFg6IVp1C+2zL7No3XkZ/WTC9d//z7Vf0UslyJH2V zG7UiELD76oP6Zhzd/C2N6eLg2Ei3wQ0GRkZv2D1a43ggITeseLN2jiIJNifatvyo5av xfPbWP4J9OUghCu3UtuwpUsuzbwfCx3k3BAm9gfFwP/3GNqdCx9Bl3ozb+ugSObAvAqg bVh0lxzhqJGAizyBDfeJa3UTL7tBaTWbgNSzfh1ekhMFdaLMuMcWX0wPE/JWiN96C6Nr jl8fTjmYwCAYrGrdNG2ncjkC9Dn+u4gEicNHKA8rqe1U2RLiaElEXRlBYWC5jNUBOBJq MagA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=QuQ2IeUz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f36si303766jaa.30.2021.09.01.12.33.55; Wed, 01 Sep 2021 12:34:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=QuQ2IeUz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245694AbhIAMgL (ORCPT + 99 others); Wed, 1 Sep 2021 08:36:11 -0400 Received: from mail.kernel.org ([198.145.29.99]:34466 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343700AbhIAMeR (ORCPT ); Wed, 1 Sep 2021 08:34:17 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id B2B71610F9; Wed, 1 Sep 2021 12:32:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1630499555; bh=uT3y0XRooOacI7GzRzS2I1531PaVQezIPRj2PqINqKU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QuQ2IeUzTG6PgYNY/33nJWDacGP/NALE6KKzrGwChNdkrkXSFLBci2vgMfdJmjC5z ZWwN9wYpngJVyvvEFREyXm9+nmyAp6fXF1XLAnSteNXEoFDeXYVUOF65ZIDwZycKlF dxMM/6KbGLAijax/FKAqSSqxDpEIqGFY/5nJnuiM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mark Hounschell , Jiri Kosina , Wim Osterholt , Kurt Garloff , Denis Efremov Subject: [PATCH 5.4 45/48] Revert "floppy: reintroduce O_NDELAY fix" Date: Wed, 1 Sep 2021 14:28:35 +0200 Message-Id: <20210901122254.864877240@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210901122253.388326997@linuxfoundation.org> References: <20210901122253.388326997@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Denis Efremov commit c7e9d0020361f4308a70cdfd6d5335e273eb8717 upstream. The patch breaks userspace implementations (e.g. fdutils) and introduces regressions in behaviour. Previously, it was possible to O_NDELAY open a floppy device with no media inserted or with write protected media without an error. Some userspace tools use this particular behavior for probing. It's not the first time when we revert this patch. Previous revert is in commit f2791e7eadf4 (Revert "floppy: refactor open() flags handling"). This reverts commit 8a0c014cd20516ade9654fc13b51345ec58e7be8. Link: https://lore.kernel.org/linux-block/de10cb47-34d1-5a88-7751-225ca380f735@compro.net/ Reported-by: Mark Hounschell Cc: Jiri Kosina Cc: Wim Osterholt Cc: Kurt Garloff Cc: Signed-off-by: Denis Efremov Signed-off-by: Greg Kroah-Hartman --- drivers/block/floppy.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c @@ -4063,22 +4063,21 @@ static int floppy_open(struct block_devi if (UFDCS->rawcmd == 1) UFDCS->rawcmd = 2; - if (mode & (FMODE_READ|FMODE_WRITE)) { - UDRS->last_checked = 0; - clear_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags); - check_disk_change(bdev); - if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags)) - goto out; - if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags)) + if (!(mode & FMODE_NDELAY)) { + if (mode & (FMODE_READ|FMODE_WRITE)) { + UDRS->last_checked = 0; + clear_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags); + check_disk_change(bdev); + if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags)) + goto out; + if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags)) + goto out; + } + res = -EROFS; + if ((mode & FMODE_WRITE) && + !test_bit(FD_DISK_WRITABLE_BIT, &UDRS->flags)) goto out; } - - res = -EROFS; - - if ((mode & FMODE_WRITE) && - !test_bit(FD_DISK_WRITABLE_BIT, &UDRS->flags)) - goto out; - mutex_unlock(&open_lock); mutex_unlock(&floppy_mutex); return 0;