From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [PATCH] ipv6: avoid copy_from_user() via ipv6_renew_options_kern() Date: Sat, 23 Jun 2018 22:26:27 +0100 Message-ID: <20180623212626.GD30522@ZenIV.linux.org.uk> References: <152970230022.7734.15824980755229329454.stgit@chester> <20180623.105706.385733107379565893.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: pmoore@redhat.com, netdev@vger.kernel.org, selinux@tycho.nsa.gov, linux-security-module@vger.kernel.org To: David Miller Return-path: Received: from zeniv.linux.org.uk ([195.92.253.2]:37094 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751588AbeFWV0f (ORCPT ); Sat, 23 Jun 2018 17:26:35 -0400 Content-Disposition: inline In-Reply-To: <20180623.105706.385733107379565893.davem@davemloft.net> Sender: netdev-owner@vger.kernel.org List-ID: On Sat, Jun 23, 2018 at 10:57:06AM +0900, David Miller wrote: > From: Paul Moore > Date: Fri, 22 Jun 2018 17:18:20 -0400 > > > - const mm_segment_t old_fs = get_fs(); > > - > > - set_fs(KERNEL_DS); > > - ret_val = ipv6_renew_options(sk, opt, newtype, > > - (struct ipv6_opt_hdr __user *)newopt, > > - newoptlen); > > - set_fs(old_fs); > > So is it really the case that the traditional construct: > > set_fs(KERNEL_DS); > ... copy_{from,to}_user(...); > set_fs(old_fs); > > is no longer allowed? s/no longer allowed/best avoided/, but IMO in this case the replacement is too ugly to live ;-/