Received: by 2002:ac0:8c9a:0:0:0:0:0 with SMTP id r26csp168141ima; Fri, 1 Feb 2019 01:15:11 -0800 (PST) X-Google-Smtp-Source: ALg8bN6vnc9QJgwMV/VWeeqfj3JrS1ucS/Tupajx6qsiq8iPELPVUpstzFUi2wZ/5GnjIBCnAp1h X-Received: by 2002:a17:902:b90b:: with SMTP id bf11mr38231464plb.284.1549012511163; Fri, 01 Feb 2019 01:15:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549012511; cv=none; d=google.com; s=arc-20160816; b=yb2NmMIMHGSRFVN8ot9WQOGj1ih+quDQ8p3rbdEJPHghrPwH1DaDaCZOHgC5VTFC2t IuZQV8xAfRWy2mVyB/TBzhVBs3EouG1TxpoeXXOPFsJZ1f1cxDOOrmfE2XCQRr3cJJmZ 1xPujhjBdGYa7A1/V2LzIjHwbW8MZ5gdTM2I5ByspWpQBipCPuhHgJvCOrlZPrJGg/BL M8IRVFoQ6PbOAAhwuwCiLxH2acCLQY5ndGmjHOXm9pyYVMA/Znd6PSpYGofod9uu4xgZ lWUOdSpJb1H+X3DawMrEiB3gKkqas2V8+k8cXDE2fDdn8OXC+PEh2ZKRsglrpiSMLWot QcdA== 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:autocrypt:openpgp:from:references:cc:to:subject; bh=R/ZgVY8NLOAJXoa1OLrdUEAT5XE0icGZnt2WrvZfGnM=; b=okQYzsU4g9poE1mtQU1o2IVCirQcUpmvfTJmb8SYWi8qGkeYUfraIuJ6oy9r8/Em/Y EzCjEKgbJPfjAuTuHWBcIWuG6tQCZPE4YcOw1lPreJfXVzlA0jjJKTUWdh89wNx40nQW xO6HK9hLV8FU0tz0/E3P+fA77SnkP0/qrLJDQpOyy1TJ/rAfu9wT6+imKy8HDa1AKpzt HAgqGbStJ/yqKsFYgMGtVlkNO7DnUFDE3/UArMnG+22BiC6kDxRGp6G6l6Es1QsEQkor wh/W7TE1T1PtHaG4BtO++Nnz5eegIZGQp4zpmTMJUVnCffVn77nrHoCxV7gKHj0Ux6nP 7qdg== 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 g11si2902074pgn.32.2019.02.01.01.14.55; Fri, 01 Feb 2019 01:15:11 -0800 (PST) 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 S1729140AbfBAJOh (ORCPT + 99 others); Fri, 1 Feb 2019 04:14:37 -0500 Received: from mx2.suse.de ([195.135.220.15]:48330 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726428AbfBAJOg (ORCPT ); Fri, 1 Feb 2019 04:14:36 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 22389AD86; Fri, 1 Feb 2019 09:14:34 +0000 (UTC) Subject: Re: [Xen-devel] xen/mem-reservation API and out-of-tree kernel modules To: Oleksandr Andrushchenko , Stefano Stabellini Cc: xen-devel , Boris Ostrovsky , "linux-kernel@vger.kernel.org" , "marmarek@invisiblethingslab.com" References: <6deaf110-44a7-59f9-a4d8-52ff9428cd9d@epam.com> From: Juergen Gross Openpgp: preference=signencrypt Autocrypt: addr=jgross@suse.com; prefer-encrypt=mutual; keydata= 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 Message-ID: Date: Fri, 1 Feb 2019 10:14:32 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 MIME-Version: 1.0 In-Reply-To: <6deaf110-44a7-59f9-a4d8-52ff9428cd9d@epam.com> Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/02/2019 09:39, Oleksandr Andrushchenko wrote: > On 1/31/19 11:44 PM, Stefano Stabellini wrote: >> On Thu, 31 Jan 2019, Oleksandr Andrushchenko wrote: >>> Hello, >>> >>> I am working on porting an out-of-tree kernel driver to the kernel >>> 5.0 and that driver uses functionality provided by >>> drivers/xen/mem-reservation.c >>> module.  Since commit [1] it is not possible to build a kernel module >>> which uses mem-reservation API as xen_scrub_pages variable, which is >>> checked in >>> xenmem_reservation_scrub_page, became a kernel module parameter and is >>> now only >>> accessible for built-in modules: >>> >>> static inline void xenmem_reservation_scrub_page(struct page *page) >>> ^^^^^^^^^^^^^ >>> { >>>     if (xen_scrub_pages) >>>         ^^^^^^^^^^^^^^^ >>>         clear_highpage(page); >>> } >>> >>> This results in link-time warning: >>> >>>     WARNING: "xen_scrub_pages" [yourmodule.ko] undefined! >>> >>> and thus not allowing the module to run. At the moment I can only see a >>> possible fix >>> for this by making the following change: >>> >>> diff --git a/drivers/xen/mem-reservation.c b/drivers/xen/mem-reservation.c >>> index 3782cf070338..85fecfec50e1 100644 >>> --- a/drivers/xen/mem-reservation.c >>> +++ b/drivers/xen/mem-reservation.c >>> @@ -18,6 +18,7 @@ >>> >>>  bool __read_mostly xen_scrub_pages = >>> IS_ENABLED(CONFIG_XEN_SCRUB_PAGES_DEFAULT); >>>  core_param(xen_scrub_pages, xen_scrub_pages, bool, 0); >>> +EXPORT_SYMBOL(xen_scrub_pages); >>> >>> but this looks a bit unusual for the kernel? >>> >>> I am looking for community advice here and help >>> >>> Thank you, >>> Oleksandr >>> >>> [1] >>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=197ecb3802c04499d8ff4f8cb28f6efa008067db >> The alternative would be to turn xenmem_reservation_scrub_page into a >> regular function (not a static inline)? > Yes, it seems there is no other reasonable solution to this, but > a regular function. I'll send a patch for that What would you gain? This function would need to be exported. So its either the variable or the function. Juergen