From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752607AbcF3PvT (ORCPT ); Thu, 30 Jun 2016 11:51:19 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:8339 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752224AbcF3PvS (ORCPT ); Thu, 30 Jun 2016 11:51:18 -0400 X-IBM-Helo: d24dlp02.br.ibm.com X-IBM-MailFrom: bauerman@linux.vnet.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org From: Thiago Jung Bauermann To: Dave Young Cc: kexec@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, Eric Biederman Subject: Re: [PATCH v3 2/9] kexec_file: Generalize kexec_add_buffer. Date: Thu, 30 Jun 2016 12:49:44 -0300 User-Agent: KMail/4.14.3 (Linux/3.13.0-88-generic; KDE/4.14.13; x86_64; ; ) In-Reply-To: <20160630150700.GA3058@dhcp-128-65.nay.redhat.com> References: <1466538521-31216-1-git-send-email-bauerman@linux.vnet.ibm.com> <1994502.0E8c14rYFh@hactar> <20160630150700.GA3058@dhcp-128-65.nay.redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16063015-0020-0000-0000-0000021AC5BB X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 16063015-0021-0000-0000-00002FF3F414 Message-Id: <1866019.1p7Z0CLUZh@hactar> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-06-30_07:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1604210000 definitions=main-1606300150 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Donnerstag, 30 Juni 2016, 11:07:00 schrieb Dave Young: > On 06/29/16 at 06:18pm, Thiago Jung Bauermann wrote: > > Am Mittwoch, 29 Juni 2016, 15:47:51 schrieb Dave Young: > > > On 06/28/16 at 07:18pm, Thiago Jung Bauermann wrote: > > > > +/** > > > > + * struct kexec_buf - parameters for finding a place for a buffer > > > > in > > > > memory + * @image: kexec image in which memory to search. > > > > + * @mem: On return will have address of the buffer in memory. > > > > + * @memsz: Size for the buffer in memory. > > > > + * @buf_align: Minimum alignment needed. > > > > + * @buf_min: The buffer can't be placed below this address. > > > > + * @buf_max: The buffer can't be placed above this address. > > > > + * @top_down: Allocate from top of memory. > > > > + */ > > > > +struct kexec_buf { > > > > + struct kimage *image; > > > > + unsigned long mem; > > > > + unsigned long memsz; > > > > + unsigned long buf_align; > > > > + unsigned long buf_min; > > > > + unsigned long buf_max; > > > > + bool top_down; > > > > +}; > > > > > > Rethink about the first patch, you dropped the user buffer in > > > kexec_buf > > > But later your passing IMA digests buffer patchset may need use it. > > > > > > So keep it in kexec_buf should be better. > > > > I'm not following. The IMA buffer patchset doesn't use > > kexec_locate_mem_hole nor struct kexec_buf. > > It does not use kexec_locate_mem_hole, but the buffer being passed is > very similar to a kexec_buf struct, no? If what you're saying is that the arguments passed to kexec_add_handover_buffer in the IMA buffer patchset are very similar to the arguments passed to kexec_add_buffer then yes, it's true. > So you may refactor kexec_add_buffer and your new function to pass only > kimage and a kbuf, it will be better than passing all those arguments > separately. To be honest I think struct kexec_buf is an implementation detail inside kexec_locate_mem_hole, made necessary because the callback functions it uses need to access its arguments. Callers of kexec_locate_mem_hole, kexec_add_handover_buffer and kexec_add_buffer shouldn't need to know it exists. []'s Thiago Jung Bauermann IBM Linux Technology Center