Thread (1 message) 1 message, 1 author, 2013-10-25

Re: [Ksummit-2013-discuss] [RFC] of: Allow for experimental device tree bindings

From: Thierry Reding <hidden>
Date: 2013-10-25 08:22:30
Also in: linux-arm-kernel

On Thu, Oct 24, 2013 at 11:26:19PM +0100, Stephen Warren wrote:
On 10/23/2013 07:51 PM, Thierry Reding wrote:
quoted
On Wed, Oct 23, 2013 at 05:05:32PM +0100, David Woodhouse wrote:
quoted
On Wed, 2013-10-23 at 17:06 +0200, Thierry Reding wrote:
quoted
+       /* check if binding is experimental */
+       if (dev != device || drv != driver) {
+               pr_warn("of: device %s (%s) uses an experimental binding\n",
+                       np->name, np->full_name);
+
In the discussions earlier I think we decided that this should set a
taint flag too.
A taint flag seems somewhat drastic. It's not like using an experimental
binding should have an influence on the stability of the running kernel.
I always thought that taint flags were supposed to flag conditions where
code of unknown origin or code known to be broken was being executed
because they may destabilize the running kernel.

The worst that should happen if you run an experimental binding is that
some part of the system will just not come up.
IIRC, the purpose of the taint flag was to make it clear that the kernel
or DT was not expected to function in the future, so don't be surpised
if you upgrade it, and it stops working, without you taking explicit
action, such as revising your DT to match the new kernel or vice-versa.
I understand that, but I was arguing that it doesn't match existing uses
of taint flags. The various flags that are currently defined all seem to
be set whenever some event occurs that could cause instability of the
currently running system, such as loading a proprietary or out-of-tree
module, forcing a module to be loaded, overriding firmware parameters...

All those seem to have the goal of appearing in crash logs, so that
whoever looks at the bug report can point users somewhere else since the
problem is likely to be caused by their own (bad) decision. Or ask users
to reproduce crashes or bugs without doing whatever they did to cause
the taint flag(s) to be set.

Experimental bindings shouldn't cause any crashes in the first place, or
not cause memory corruption or similar for that matter. If we don't want
to support an experimental binding, then all we should do is not support
any functionality that relies on them. That doesn't mean that runtime
stability is in any way affected.

Thierry

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help