diff mbox

device-tree: Drop properties with "/" in their name

Message ID 0958c243b32f5f77028a794a9ce0d55f9a12121e.1274272289.git.michael@ellerman.id.au (mailing list archive)
State Accepted, archived
Delegated to: Grant Likely
Headers show

Commit Message

Michael Ellerman May 19, 2010, 12:32 p.m. UTC
Some bogus firmwares include properties with "/" in their name. This
causes problems when creating the /proc/device-tree file system,
because the slash is taken to indicate a directory.

We don't care about those properties, and we don't want to encourage
them, so just throw them away when creating /proc/device-tree.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
---

Hi Christian, if you could test this new patch that'd be great, thanks!


 fs/proc/proc_devtree.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

Comments

Michael Ellerman May 20, 2010, 1:51 p.m. UTC | #1
On Wed, 2010-05-19 at 22:32 +1000, Michael Ellerman wrote:
> Some bogus firmwares include properties with "/" in their name. This
> causes problems when creating the /proc/device-tree file system,
> because the slash is taken to indicate a directory.
> 
> We don't care about those properties, and we don't want to encourage
> them, so just throw them away when creating /proc/device-tree.
> 
> Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
> ---
> 
> Hi Christian, if you could test this new patch that'd be great, thanks!

And thanks to Christian for testing it:

https://bugzilla.kernel.org/show_bug.cgi?id=15589

Tested-by: Christian Kujau <lists@nerdbynature.de>


cheers
Christian Kujau June 13, 2010, 7:47 a.m. UTC | #2
On Wed, 19 May 2010 at 22:32, Michael Ellerman wrote:
> Some bogus firmwares include properties with "/" in their name. This
> causes problems when creating the /proc/device-tree file system,
> because the slash is taken to indicate a directory.
> 
> We don't care about those properties, and we don't want to encourage
> them, so just throw them away when creating /proc/device-tree.
> 
> Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
> ---
> 
> Hi Christian, if you could test this new patch that'd be great, thanks!

I've tested the patch, the Badness is gone and the system is stable as 
ever. Will this be pushed to 2.6.35?

Thanks,
Christian.

>  fs/proc/proc_devtree.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/fs/proc/proc_devtree.c b/fs/proc/proc_devtree.c
> index ce94801..d9396a4 100644
> --- a/fs/proc/proc_devtree.c
> +++ b/fs/proc/proc_devtree.c
> @@ -209,6 +209,9 @@ void proc_device_tree_add_node(struct device_node *np,
>  	for (pp = np->properties; pp != NULL; pp = pp->next) {
>  		p = pp->name;
>  
> +		if (strchr(p, '/'))
> +			continue;
> +
>  		if (duplicate_name(de, p))
>  			p = fixup_name(np, de, p);
>  
> -- 
> 1.7.0.4
> 
> 
>
Michael Ellerman June 13, 2010, 8:15 a.m. UTC | #3
On Sun, 2010-06-13 at 00:47 -0700, Christian Kujau wrote:
> On Wed, 19 May 2010 at 22:32, Michael Ellerman wrote:
> > Some bogus firmwares include properties with "/" in their name. This
> > causes problems when creating the /proc/device-tree file system,
> > because the slash is taken to indicate a directory.
> > 
> > We don't care about those properties, and we don't want to encourage
> > them, so just throw them away when creating /proc/device-tree.
> > 
> > Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
> > ---
> > 
> > Hi Christian, if you could test this new patch that'd be great, thanks!
> 
> I've tested the patch, the Badness is gone and the system is stable as 
> ever. Will this be pushed to 2.6.35?

Hopefully yes :)

Looks like Ben has deferred it to Grant in patchwork, and he is pretty
busy I think with other OF patches ATM. Maybe he'll grab it or Ben can
pick it up .. guys ? :)

http://patchwork.ozlabs.org/patch/52978/

cheers

> >  fs/proc/proc_devtree.c |    3 +++
> >  1 files changed, 3 insertions(+), 0 deletions(-)
> > 
> > diff --git a/fs/proc/proc_devtree.c b/fs/proc/proc_devtree.c
> > index ce94801..d9396a4 100644
> > --- a/fs/proc/proc_devtree.c
> > +++ b/fs/proc/proc_devtree.c
> > @@ -209,6 +209,9 @@ void proc_device_tree_add_node(struct device_node *np,
> >  	for (pp = np->properties; pp != NULL; pp = pp->next) {
> >  		p = pp->name;
> >  
> > +		if (strchr(p, '/'))
> > +			continue;
> > +
> >  		if (duplicate_name(de, p))
> >  			p = fixup_name(np, de, p);
> >  
> > -- 
> > 1.7.0.4
> > 
> > 
> > 
>
diff mbox

Patch

diff --git a/fs/proc/proc_devtree.c b/fs/proc/proc_devtree.c
index ce94801..d9396a4 100644
--- a/fs/proc/proc_devtree.c
+++ b/fs/proc/proc_devtree.c
@@ -209,6 +209,9 @@  void proc_device_tree_add_node(struct device_node *np,
 	for (pp = np->properties; pp != NULL; pp = pp->next) {
 		p = pp->name;
 
+		if (strchr(p, '/'))
+			continue;
+
 		if (duplicate_name(de, p))
 			p = fixup_name(np, de, p);