From mboxrd@z Thu Jan 1 00:00:00 1970 From: Massimo Maggi Subject: Posix ACL on non-GPL modules. Date: Sat, 12 Oct 2013 01:30:35 +0200 Message-ID: <52588A1B.3040407@massimo-maggi.eu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit To: linux-fsdevel@vger.kernel.org Return-path: Received: from mmserver.massimo-maggi.eu ([94.23.66.90]:47655 "EHLO mmserver.massimo-maggi.eu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752129Ab3JKXhl (ORCPT ); Fri, 11 Oct 2013 19:37:41 -0400 Received: from [IPv6:2001:b05:f:ffff::25] (unknown [IPv6:2001:b05:f:ffff::25]) by mmserver.massimo-maggi.eu (Postfix) with ESMTPSA id 58D696A9F for ; Sat, 12 Oct 2013 01:30:20 +0200 (CEST) Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Dear Sirs, Every Posix ACL-related symbol is currently exported also for non-GPL modules. But the quite important function "posix_acl_release", declared inline in include/linux/posix_acl.h, uses the GPL-only symbol "kfree_call_rcu". So Posix ACL-related functionalities can't be used from non-GPL modules. Can someone please clarify this situation? It seems an unwanted side-effect. Small example pasted at the end of this message. If this is effectively unwanted and a fix gets pulled by Linus, can someone recommend a workaround for older kernels? Thank you, Massimo Maggi PS:I'm interested in using Posix ACL functions from code in another Open Source Initiative-approved license, NOT in proprietary closed-source code. Building this module: #include #include #include MODULE_LICENSE("CDDL"); static int __init startup(void) { struct posix_acl *a = posix_acl_alloc(1,0); //DO SOMETHING POTENTIALLY USEFUL posix_acl_release(a); return 0; } module_init(startup); Leads to this error: FATAL: modpost: GPL-incompatible module testmodule.ko uses GPL-only symbol 'kfree_call_rcu'