Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3797810ybz; Mon, 20 Apr 2020 09:37:35 -0700 (PDT) X-Google-Smtp-Source: APiQypLmVe63U+xJtd3eUkwLE+mw/1xrGGlzn1ROYyRVrwXPEHqnO9WjVl/qfXc67rSuv5zOrclk X-Received: by 2002:a50:e007:: with SMTP id e7mr15116743edl.361.1587400655713; Mon, 20 Apr 2020 09:37:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587400655; cv=none; d=google.com; s=arc-20160816; b=g5veYJPh+An5Su49B6Lio3eL0xICg08Un3SymBRIidR+SAmrvsbCV3gPc5nkx41BsO ezoHTFsMOWQmbd5iv1ZVrTN3Gjr89gPAIL/BzmYAUro7T4GeShAtCIvQ7zRgknNFUTaX Hj6ENTglA+TDUv88LIrcIT7LnLBb+A7KGKAgF5AinBBMfJvhWu7JAByxmFvLiD/U0PMH IMp4UvNbXbL2cLarluR5dPHh/a2VXp+8dwvGxenhHmc2niIoa9+XjKIwZdFL1rZGlauA wMiW24DsPgL+tgHjcZzFDZYYcZUF/UiqbDW8h8hrzkqh3vS3TipNbwLG0F0x+e6gO1GB fa8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=mjNECG0zUa98mbEEuBkvWe9Ieqz2VZ6WDWMOSc+uoj4=; b=DDB3Xt4NmXHVQ9py76aFFTJNrN/ZivAvtmeMT+LNriOhJmubMYwJFTcDerhKSI3amg r0V5WSaLNSD0IX/hg5eY4Zj2jg0dzvG4BszHAajRJz5KUaGxK2+vbkv8BBUR5+JP2cu4 boydol2bsxzj8P5oklP57BsDCx1J8d1P/CWeVFPJlDIDfVeVoyCC7YenC/uT6hwkSCjF ptQjqOCgbu8Pu02uPCQceqs79QMeJoj8HGbr/XeN+ICu1ZHZHUusjkS4d6oLpXloVmEF TDH2F90XYy1YawMN0AdPTfTGDnkzwqvsXHxZL5UTF8v9x8Pp5BsckJn8POWy5pCrTwbt 8Saw== 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 a8si869262eds.377.2020.04.20.09.37.12; Mon, 20 Apr 2020 09:37:35 -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 S1728109AbgDTNe3 (ORCPT + 99 others); Mon, 20 Apr 2020 09:34:29 -0400 Received: from mail-pl1-f196.google.com ([209.85.214.196]:34151 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726491AbgDTNe3 (ORCPT ); Mon, 20 Apr 2020 09:34:29 -0400 Received: by mail-pl1-f196.google.com with SMTP id a23so3962348plm.1; Mon, 20 Apr 2020 06:34:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=mjNECG0zUa98mbEEuBkvWe9Ieqz2VZ6WDWMOSc+uoj4=; b=cqb/jFzBB1HQjTjaDPfE54d2LTUwpv6zu1eiGOpPV3gpBkhmot6VlnvHC6h7oqgTVO /EEjuSDUXViO2ld35IUV8ekjaczxsnrsaMPWamq/l3bqJfzRzymXjJ67+y6zgwVTuoSI GODCG8C81hlooGU/KfU0mVQ5FVC2saaN7Qb4h4yXlUbbLGq3PkmkSUepLto7HQuTIS41 /lwp49flMfl1YAokHBhKp0JS2CC2l/722VpR8ND54gvkTRTZOP8L3AUtUNOAEqOvnuUZ uZT/0uI/ab4EsR/lSlnkFsK6IcWtumoEzXJzBB/xjVfbW9ATmIf0oTQRdFEkHNf85RB5 +LKA== X-Gm-Message-State: AGi0PuYUVhQXB3rNRD6r+M4QNyFlYQ0xhVDqss/nyIjTdPYxhDdogk2H 8FazRCmZME1OLlPO4nmWIge4Gg2XYrU= X-Received: by 2002:a17:90a:364c:: with SMTP id s70mr21327906pjb.143.1587389668077; Mon, 20 Apr 2020 06:34:28 -0700 (PDT) Received: from [100.124.9.192] ([104.129.199.10]) by smtp.gmail.com with ESMTPSA id c1sm1127223pfc.94.2020.04.20.06.34.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Apr 2020 06:34:26 -0700 (PDT) Subject: Re: [PATCH 2/4] loop: Factor out configuring loop from status. To: Martijn Coenen , axboe@kernel.dk, hch@lst.de, ming.lei@redhat.com Cc: narayan@google.com, zezeozue@google.com, kernel-team@android.com, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, maco@google.com, Chaitanya.Kulkarni@wdc.com References: <20200420080409.111693-1-maco@android.com> <20200420080409.111693-3-maco@android.com> From: Bart Van Assche Message-ID: <50090c2e-d882-507f-43a7-5ed76c36390c@acm.org> Date: Mon, 20 Apr 2020 06:34:24 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <20200420080409.111693-3-maco@android.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/20/20 1:04 AM, Martijn Coenen wrote: No trailing dot at the end of a patch subject please. > static int > -loop_set_status(struct loop_device *lo, const struct loop_info64 *info) > +loop_set_from_status(struct loop_device *lo, const struct loop_info64 *info) > { > int err; > struct loop_func_table *xfer; > kuid_t uid = current_uid(); > + > + if ((unsigned int) info->lo_encrypt_key_size > LO_KEY_SIZE) > + return -EINVAL; > + > + err = loop_release_xfer(lo); > + if (err) > + return err; > + > + if (info->lo_encrypt_type) { > + unsigned int type = info->lo_encrypt_type; > + > + if (type >= MAX_LO_CRYPT) > + return -EINVAL; > + xfer = xfer_funcs[type]; > + if (xfer == NULL) > + return -EINVAL; > + } else > + xfer = NULL; > + > + err = loop_init_xfer(lo, xfer, info); > + if (err) > + return err; > + > + lo->lo_offset = info->lo_offset; > + lo->lo_sizelimit = info->lo_sizelimit; > + memcpy(lo->lo_file_name, info->lo_file_name, LO_NAME_SIZE); > + memcpy(lo->lo_crypt_name, info->lo_crypt_name, LO_NAME_SIZE); > + lo->lo_file_name[LO_NAME_SIZE-1] = 0; > + lo->lo_crypt_name[LO_NAME_SIZE-1] = 0; > + > + if (!xfer) > + xfer = &none_funcs; > + lo->transfer = xfer->transfer; > + lo->ioctl = xfer->ioctl; > + > + if ((lo->lo_flags & LO_FLAGS_AUTOCLEAR) != > + (info->lo_flags & LO_FLAGS_AUTOCLEAR)) > + lo->lo_flags ^= LO_FLAGS_AUTOCLEAR; > + > + lo->lo_encrypt_key_size = info->lo_encrypt_key_size; > + lo->lo_init[0] = info->lo_init[0]; > + lo->lo_init[1] = info->lo_init[1]; > + if (info->lo_encrypt_key_size) { > + memcpy(lo->lo_encrypt_key, info->lo_encrypt_key, > + info->lo_encrypt_key_size); > + lo->lo_key_owner = uid; > + } > + > + return 0; > +} Please add a (one line?) comment above this function that explains the purpose of this function. Is the purpose of this function perhaps to initialize loop device parameters based on the information received from user space (the 'info' argument)? Thanks, Bart.