Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp53442pxj; Tue, 15 Jun 2021 19:54:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxtHLW+IuQTbgaklcmRSZ4jhdSvNaD4oFrBX0f+var7oBH0AeLrVdiEwSY/tnhAROMUYlGQ X-Received: by 2002:a92:2a09:: with SMTP id r9mr1921596ile.300.1623812084532; Tue, 15 Jun 2021 19:54:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623812084; cv=none; d=google.com; s=arc-20160816; b=0b6Q99n/uSseJRvcQ4nl9T2PQj8NchZX02HR7hm+TAmDG9ixg3hbcsKnJxdXXXcKVv uNxOxbhCW4M8BELV//vR+0n11GatG+m5hDch4VnJQ8lT3JDBPbnTQldPr13aicdy13GZ qqAamF/wR//phNx2OaYMoV7HwoxDOXXcNMnDcZFub/s+1GDUJD2q/shLsvoJ7nAzbQKm CYWvUINAxUOmWOhyjidobjs6Z3HcLTrkAkhwO0cC8Xy4+dIfJk16MNLYo2x345G88x9u brWuQhgzBIzZZTjWCB8avyOvRJlqqIkFBjBDp7wMCEsAhrtmgLVKtoPbqWvX6qSO7a/4 4Vng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:subject:to:from :message-id:date; bh=S0176al/URVZduO5CIek9PiXQYYul3IypJvZZZRp0Bc=; b=0w8GD9q0OzkJij5wSP2yITxgHxx8rECuoBjLhki+A1J9vBIQBZwqvRHqTksvwqN5Tp j1W3/h3xn9B6nJ44b6UdaibLnOqN1sXp8Ud+REmtpUoypit9whW6/IDC2TLynoUKD5+N R6Mi5Xw+ML7C1ZiZqz1pU9V9FXh8a1tPhuJfAHATYfCkmIQWH7jnEkPxNLykbM/5Xvxj vabExrYHUGVH1pcvQ+aInS1NCu/2szS7qX5UNRNdwQmNYdzzo1nfPJ8406AbjDOFEvtq 97CyFtLpnLnJGWc9/5SU3wDD7pNUrOk4jov3E3XjpxKmdLVflB2hf4YZG1TfbP4B+W23 wrHg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s4si788919ilj.142.2021.06.15.19.54.32; Tue, 15 Jun 2021 19:54:44 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231967AbhFPCzg (ORCPT + 99 others); Tue, 15 Jun 2021 22:55:36 -0400 Received: from regular1.263xmail.com ([211.150.70.202]:39102 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231934AbhFPCzf (ORCPT ); Tue, 15 Jun 2021 22:55:35 -0400 Received: from localhost (unknown [192.168.167.130]) by regular1.263xmail.com (Postfix) with ESMTP id 72953779; Wed, 16 Jun 2021 10:53:13 +0800 (CST) X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-ADDR-CHECKED4: 1 X-SKE-CHECKED: 1 X-ABS-CHECKED: 1 X-ANTISPAM-LEVEL: 2 Received: from manjaro.uniontech.com (unknown [58.246.122.242]) by smtp.263.net (postfix) whith ESMTP id P21505T140610921035520S1623811992968477_; Wed, 16 Jun 2021 10:53:13 +0800 (CST) X-IP-DOMAINF: 1 X-UNIQUE-TAG: <0ec8197cca473a694a43d24aa1acaa54> X-RL-SENDER: chenli@uniontech.com X-SENDER: chenli@uniontech.com X-LOGIN-NAME: chenli@uniontech.com X-FST-TO: viro@zeniv.linux.org.uk X-RCPT-COUNT: 5 X-SENDER-IP: 58.246.122.242 X-ATTACHMENT-NUM: 0 X-System-Flag: 0 Date: Wed, 16 Jun 2021 10:53:12 +0800 Message-ID: <874kdyh65j.wl-chenli@uniontech.com> From: Chen Li To: Alexander Viro , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Christian Brauner , Andrew Morton , linux-kernel@vger.kernel.org Subject: [PATCH] ramfs: skip mknod if inode already exists. User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.2 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It's possible we try to mknod a dentry, which have already bound to an inode, just skip it. Signed-off-by: Chen Li --- fs/ramfs/inode.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c index 9ebd17d7befb..6cb1de521142 100644 --- a/fs/ramfs/inode.c +++ b/fs/ramfs/inode.c @@ -106,6 +106,8 @@ ramfs_mknod(struct user_namespace *mnt_userns, struct inode *dir, { struct inode * inode = ramfs_get_inode(dir->i_sb, dir, mode, dev); int error = -ENOSPC; + if (dentry->d_inode) + return -EEXIST; if (inode) { d_instantiate(dentry, inode); -- 2.32.0