Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp2345984rwb; Mon, 19 Sep 2022 03:52:13 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5VzfoIFqgX5wcwL/sA8pchntg1+ulQ8DJQ8fnWeo1QZoPEwKMp5N5z6/3tmQBvGG9qS17Z X-Received: by 2002:a17:907:2724:b0:780:1464:f8a1 with SMTP id d4-20020a170907272400b007801464f8a1mr12959642ejl.106.1663584733694; Mon, 19 Sep 2022 03:52:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663584733; cv=none; d=google.com; s=arc-20160816; b=IH/NCVmBzPY2nwQyJH+av+PtBVepeoudNQWPTZh5fvN4qpT57q4M15MK/2y0IwYCog 79+iEWDOJLW/51bXl3ZeDgwholfetkvC7MQnsmAmKYSw/yJwfQxMdg1mRVdJiGZRFuDj FCPXOZ/ygvkv1a6+fUYI4Nfb+XBqRUYEPbdgZBiFaBaDfnfo9E5VZkEKPuU0cqylSEgh YiII6vvtQjacso8b4L6zxJPKNOvvEyoB2lflMzwL9oyGGzJcw0vqr+zzI3pSJJ3fbmGR GR4zXkKccAta2S5UolSsjUN4fXYWGTIoNeZ4K6Ucl02jmJpSpLXYCCesrY8Y1NyTte4c /S1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=+KNioXEZMzSyEWk9t8p34/Cg+wJDB+T222mCUEmLCkE=; b=okkAT9amENS3MowM1h7iDZRqNyjLpFS3UVL2sN1wc19Rct/6IZF1fkdesRkYkUAY2V WySQXZDi4w6G1XmrLzQ+EU8Fgaoumoe/mb7CRNUMXnidpziCkyjG6F9D09+0IDBgeQpf 4+rT0HhWHsFJKLva1ClyaAvAUNyOIcnAj7yNf/xCUpiB2C58EHkC0RahIbdzsS+M8rS6 jCUvyJoMQ9Dso9PqphoXl9cEkqjoqUIATVvBg+XZ9wtFRqs4DUXnb/oLBYZIgtI6cqlt VdfIV9EDJ38X93b6GRbOW3AVkhYcpFcXMqJgy6pvrXBFu1ISWJnhKRV7eMjHZn/CYswu uxug== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id jg38-20020a170907972600b0077bb3c728c5si24615993ejc.20.2022.09.19.03.51.38; Mon, 19 Sep 2022 03:52:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229959AbiISKp3 (ORCPT + 99 others); Mon, 19 Sep 2022 06:45:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34132 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229979AbiISKpJ (ORCPT ); Mon, 19 Sep 2022 06:45:09 -0400 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0663638698 for ; Mon, 19 Sep 2022 03:27:25 -0700 (PDT) Received: from dggpemm500024.china.huawei.com (unknown [172.30.72.54]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4MWLNl1rmhzlVrZ; Mon, 19 Sep 2022 18:23:19 +0800 (CST) Received: from [10.67.110.173] (10.67.110.173) by dggpemm500024.china.huawei.com (7.185.36.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 19 Sep 2022 18:27:23 +0800 Message-ID: Date: Mon, 19 Sep 2022 18:27:09 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: Inquiry about the removal of flag O_NONBLOCK on /dev/random Content-Language: en-US To: "Jason A. Donenfeld" CC: Eric Biggers , Linux Crypto Mailing List , Andrew Lutomirski , Theodore Ts'o , zhongguohua References: <29c4a3ec-f23f-f17f-da49-7d79ad88e284@huawei.com> <4a794339-7aaa-8951-8d24-9bc8a79fa9f3@huawei.com> <761e849c-3b9d-418e-eb68-664f09b3c661@huawei.com> From: "Guozihua (Scott)" In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.67.110.173] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To dggpemm500024.china.huawei.com (7.185.36.203) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On 2022/9/8 17:51, Jason A. Donenfeld wrote: > Hi, > > On Thu, Sep 08, 2022 at 11:31:31AM +0800, Guozihua (Scott) wrote: >> For example: >> >> >> -- >> Best >> GUO Zihua >> >> -- >> Best >> GUO Zihua > > Looks like you forgot to paste the example... > >> Thank you for the timely respond and your patient. And sorry for the >> confusion. >> >> First of all, what we think is that this change (removing O_NONBLOCK) is >> reasonable. However, this do cause issue during the test on one of our >> product which uses O_NONBLOCK flag the way I presented earlier in the >> Linux 4.4 era. Thus our colleague suggests that returning -EINVAL when >> this flag is received would be a good way to indicate this change. > > No, I don't think it's wise to introduce yet *new* behavior (your > proposed -EINVAL). That would just exacerbate the (mostly) invisible > breakage from the 5.6-era change. > > The question now before us is whether to bring back the behavior that > was there pre-5.6, or to keep the behavior that has existed since 5.6. > Accidental regressions like this (I assume it was accidental, at least) > that are unnoticed for so long tend to ossify and become the new > expected behavior. It's been around 2.5 years since 5.6, and this is the > first report of breakage. But the fact that it does break things for you > *is* still significant. > > If this was just something you noticed during idle curiosity but doesn't > have a real impact on anything, then I'm inclined to think we shouldn't > go changing the behavior /again/ after 2.5 years. But it sounds like > actually you have a real user space in a product that stopped working > when you tried to upgrade the kernel from 4.4 to one >5.6. If this is > the case, then this sounds truly like a userspace-breaking regression, > which we should fix by restoring the old behavior. Can you confirm this > is the case? And in the meantime, I'll prepare a patch for restoring > that old behavior. > > Jason > . Hi Jason Thank for your patience. To answer your question, yes, we do have a userspace program reading /dev/random during early boot which relies on O_NONBLOCK. And this change do breaks it. The userspace program comes from 4.4 era, and as 4.4 is going EOL, we are switching to 5.10 and the breakage is reported. It would be great if the kernel is able to restore this flag for backward compatibility. -- Best GUO Zihua