From: Peter Zijlstra <peterz@infradead.org>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Andy Ritger <aritger@nvidia.com>, Alex Goins <agoins@nvidia.com>,
Thomas Gleixner <tglx@linutronix.de>,
LKML <linux-kernel@vger.kernel.org>,
linux-rt-users@vger.kernel.org, Ingo Molnar <mingo@kernel.org>
Subject: Re: [PATCH RT] Align rt_mutex inlining with upstream behavior
Date: Mon, 13 Feb 2017 12:20:52 +0100 [thread overview]
Message-ID: <20170213112052.GA6557@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <20170210175049.3cvrk5ki7c6uiblg@linutronix.de>
On Fri, Feb 10, 2017 at 06:50:50PM +0100, Sebastian Andrzej Siewior wrote:
> Alex Goins reported that mutex_destroy() on RT will force a GPL only symbol
> which won't link and therefore fail on a non-GPL kernel module.
> This does not happen on !RT and is a regression on RT which we would like to
> avoid.
> I try here the easy thing and to not use rt_mutex_destroy() if
> CONFIG_DEBUG_MUTEXES is not enabled. This will still break for the DEBUG
> configs so instead of adding a wrapper around rt_mutex_destroy() (which we have
> for rt_mutex_lock() for instance) I am simply dropping the GPL part from the
> export.
>
> Reported-by: Alex Goins <agoins@nvidia.com>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> ---
> include/linux/mutex_rt.h | 5 +++++
> kernel/locking/rtmutex.c | 3 +--
> 2 files changed, 6 insertions(+), 2 deletions(-)
>
> --- a/include/linux/mutex_rt.h
> +++ b/include/linux/mutex_rt.h
> @@ -43,7 +43,12 @@ extern void __lockfunc _mutex_unlock(str
> #define mutex_lock_killable(l) _mutex_lock_killable(l)
> #define mutex_trylock(l) _mutex_trylock(l)
> #define mutex_unlock(l) _mutex_unlock(l)
> +
> +#ifdef CONFIG_DEBUG_MUTEXES
> #define mutex_destroy(l) rt_mutex_destroy(&(l)->lock)
> +#else
> +static inline void mutex_destroy(struct mutex *lock) {}
> +#endif
>
> #ifdef CONFIG_DEBUG_LOCK_ALLOC
> # define mutex_lock_nested(l, s) _mutex_lock_nested(l, s)
> --- a/kernel/locking/rtmutex.c
> +++ b/kernel/locking/rtmutex.c
> @@ -2027,8 +2027,7 @@ void rt_mutex_destroy(struct rt_mutex *l
> lock->magic = NULL;
> #endif
> }
> -
> -EXPORT_SYMBOL_GPL(rt_mutex_destroy);
> +EXPORT_SYMBOL(rt_mutex_destroy);
I don't understand:
$ git grep "EXPORT_SYMBOL.*mutex_destroy"
kernel/locking/mutex-debug.c:EXPORT_SYMBOL_GPL(mutex_destroy);
kernel/locking/rtmutex.c:EXPORT_SYMBOL_GPL(rt_mutex_destroy);
Your proposed patch makes it different from mainline.
next prev parent reply other threads:[~2017-02-13 11:20 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-25 2:45 [PATCH RT] Align rt_mutex inlining with upstream behavior Alex Goins
2017-01-26 17:01 ` Sebastian Andrzej Siewior
2017-01-30 17:35 ` Andy Ritger
2017-02-03 15:54 ` Sebastian Andrzej Siewior
2017-02-03 16:49 ` Andy Ritger
2017-02-10 17:50 ` Sebastian Andrzej Siewior
2017-02-10 18:09 ` Andy Ritger
2017-02-10 18:28 ` Sebastian Andrzej Siewior
2017-02-10 19:17 ` Alex Goins
2017-02-11 17:52 ` Ingo Molnar
2017-02-11 20:15 ` Thomas Gleixner
2017-02-13 11:20 ` Peter Zijlstra [this message]
2017-02-13 13:04 ` Sebastian Andrzej Siewior
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170213112052.GA6557@twins.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=agoins@nvidia.com \
--cc=aritger@nvidia.com \
--cc=bigeasy@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.