Received: by 10.213.65.68 with SMTP id h4csp461300imn; Sat, 17 Mar 2018 10:22:53 -0700 (PDT) X-Google-Smtp-Source: AG47ELvcWCjB7KJKDNlY5huNG3iK3q3/2Oy2TvHfdSZr0k+91HCz4mbLEG6USQjm1V137lr9pcvE X-Received: by 2002:a17:902:367:: with SMTP id 94-v6mr6481006pld.140.1521307372950; Sat, 17 Mar 2018 10:22:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521307372; cv=none; d=google.com; s=arc-20160816; b=f+UQoH7QvVCE516sSYHHpnrP3TGcS3Infy81G8oi521uo3CsWdDdpFQZ/mG0nC2kJa dciZV+sO8lKP4KGzGwulFnkxlHtIgvr6IyANUX5Tq/C15xaXVgEnxhNmIAs2IYiQOBfa mp/JCPB6Kt8vIRW3rPFDUqI8yAo6p2ajO82yyGgHkHmQF4rObNDNKOkznA4h8KnVC8bX 4AeN4AupmQP16l/sQDSZJl+SjStIc/7CAY32/YiIDhkr3UkkuzQfiTE+uuw5weMq/N+T s8mmi3kVtaUYgkwr7mZHNboWIza/fOxhndy6Mj+wVXzUBgh2j7PFeH57WrrvaymYGKBV OWyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=Cmz5vCc1pzLWjUSBPkKL05SthLQjiDEBfh62/vjmuNQ=; b=WwUaKR8lTOE3Htx6i4QqTyfuZN4R5yygqMlTwdK9BYu8YXktN3BavfB9BkX3pqOtjf X8QAmEjjYen+ILHfTAly9eqwqYXcA7fVQqaTm8v2s0b9+N9DvF4r5oXCzmdVG19ZlJzo p0f38fIaNQyjtPFvj3pmP0Gvl0AuOrTuPgKbv/n5BuNEpN4Kx1u5ih3lhSrw2Fh712RS mgMCfuGTXl2r8DCoSW4mke5sbrGp9wKzd3ymBoL/esxqQhaQFjGyiK8RefIqt9xnC8Gi Ha2qhwQcbWUXnIEHQY6unbEnys/bjGafjg+4Bz0k0YA5YK61z3dIzH1LcAbgaROJOOez aHug== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t16si7698749pfj.149.2018.03.17.10.22.38; Sat, 17 Mar 2018 10:22:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753695AbeCQRVf (ORCPT + 99 others); Sat, 17 Mar 2018 13:21:35 -0400 Received: from isilmar-4.linta.de ([136.243.71.142]:35202 "EHLO isilmar-4.linta.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753402AbeCQRVN (ORCPT ); Sat, 17 Mar 2018 13:21:13 -0400 Received: from light.dominikbrodowski.net (isilmar.linta [10.0.0.1]) by isilmar-4.linta.de (Postfix) with ESMTPS id E275E20091B; Sat, 17 Mar 2018 17:21:10 +0000 (UTC) Received: by light.dominikbrodowski.net (Postfix, from userid 1000) id 1871720D19; Sat, 17 Mar 2018 18:11:29 +0100 (CET) Date: Sat, 17 Mar 2018 18:11:29 +0100 From: Dominik Brodowski To: Arnd Bergmann Cc: Linux Kernel Mailing List , Linus Torvalds , Al Viro , Andy Lutomirski , Ingo Molnar , Andrew Morton Subject: Re: [PATCH v2 30/36] fs: add do_linkat() helper and ksys_link() wrapper; remove in-kernel calls to syscall Message-ID: <20180317171129.GD3351@light.dominikbrodowski.net> References: <20180315190529.20943-1-linux@dominikbrodowski.net> <20180315190529.20943-31-linux@dominikbrodowski.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 15, 2018 at 09:30:58PM +0100, Arnd Bergmann wrote: > On Thu, Mar 15, 2018 at 8:05 PM, Dominik Brodowski > wrote: > > > > */ > > -SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname, > > - int, newdfd, const char __user *, newname, int, flags) > > +int do_linkat(int olddfd, const char __user *oldname, int newdfd, > > + const char __user *newname, int flags) > > { > > struct dentry *new_dentry; > > struct path old_path, new_path; > > For consistency with other do_*() functions, I think it would be nice > to make this one not take a __user pointer either. However, I > have no idea how to do that without making the common case worse. > > > --- a/init/initramfs.c > > +++ b/init/initramfs.c > > @@ -306,7 +306,7 @@ static int __init maybe_link(void) > > if (nlink >= 2) { > > char *old = find_link(major, minor, ino, mode, collected); > > if (old) > > - return (sys_link(old, collected) < 0) ? -1 : 1; > > + return (ksys_link(old, collected) < 0) ? -1 : 1; > > } > > return 0; > > } > > Since this is the only caller outside of fs/namei.c, maybe it can be > changed to use vfs_link() instead? That might still be a larger rework > than you want to do. In line with what I propose generally for this series, I have added the following paragraph to the commit message: In the near future, the only fs-external user of ksys_link() should be converted to use vfs_link() instead. Thanks, Dominik