Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50106C433EF for ; Wed, 12 Jan 2022 06:51:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351044AbiALGv4 (ORCPT ); Wed, 12 Jan 2022 01:51:56 -0500 Received: from smtp25.cstnet.cn ([159.226.251.25]:35670 "EHLO cstnet.cn" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S235485AbiALGvz (ORCPT ); Wed, 12 Jan 2022 01:51:55 -0500 Received: from localhost.localdomain (unknown [124.16.138.126]) by APP-05 (Coremail) with SMTP id zQCowADXtxR4et5hb+QQBg--.19910S2; Wed, 12 Jan 2022 14:51:37 +0800 (CST) From: Jiasheng Jiang To: ebiggers@kernel.org Cc: viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Jiasheng Jiang Subject: [PATCH v2] fs/eventfd.c: Check error number after calling ida_simple_get Date: Wed, 12 Jan 2022 14:51:35 +0800 Message-Id: <20220112065135.692325-1-jiasheng@iscas.ac.cn> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: zQCowADXtxR4et5hb+QQBg--.19910S2 X-Coremail-Antispam: 1UD129KBjvdXoWruFy7WF1kGF43XF45XF18Krg_yoWfZrXEyF 4kCwn5uay5tFna93srJrWYyry09w4rAw47JrZrKF17W3sxK34DXrWDZryYyrW8AF42gryY k3sFyFWxu34a9jkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbcAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8w A2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr0_ Cr1l84ACjcxK6I8E87Iv67AKxVWxJr0_GcWl84ACjcxK6I8E87Iv6xkF7I0E14v26F4UJV W0owAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY02Avz4vE14v_GF1l 42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJV WUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAK I48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r 4UMIIF0xvE42xK8VAvwI8IcIk0rVWrJr0_WFyUJwCI42IY6I8E87Iv67AKxVWUJVW8JwCI 42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjfUnJPEDUUUU X-Originating-IP: [124.16.138.126] X-CM-SenderInfo: pmld2xxhqjqxpvfd2hldfou0/ Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As the possible failure of the allocation, the ida_simple_get() will return error number. And then ctx->id will be printed in eventfd_show_fdinfo(). Therefore, it should be better to check it and return error if fails, like the other allocation. Fixes: b556db17b0e7 ("eventfd: present id to userspace via fdinfo") Signed-off-by: Jiasheng Jiang --- Changelog v1 -> v2 * Change 1. Correct the check condition. --- fs/eventfd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/eventfd.c b/fs/eventfd.c index 3627dd7d25db..3e226f6cbe4f 100644 --- a/fs/eventfd.c +++ b/fs/eventfd.c @@ -424,6 +424,10 @@ static int do_eventfd(unsigned int count, int flags) ctx->count = count; ctx->flags = flags; ctx->id = ida_simple_get(&eventfd_ida, 0, 0, GFP_KERNEL); + if (ctx->id < 0) { + fd = ctx->id; + goto err; + } flags &= EFD_SHARED_FCNTL_FLAGS; flags |= O_RDWR; -- 2.25.1