lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACna6ry3iOrqbFqS6EroVhhP3szNgfCQxpe=yx1eHmY2oD3big@mail.gmail.com>
Date:   Tue, 2 Jan 2018 10:19:42 +0100
From:   Rafał Miłecki <zajec5@...il.com>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        devicetree@...r.kernel.org,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Cc:     Brian Norris <computersforpeace@...il.com>
Subject: Order in "compatibility" DT property ignored by a platform bus

I was wondering how platform bus handles order of strings in the
"compatibility" property. After reading the code & testing it I
realized it doesn't.

The property should store strings ordered from the most specific to
the most generic. You could expect a more specific string to have a
priority while matching.

In platform_match there isn't any magic code for handling that. It
simply checks if a driver that was passed can support a given device.
I also did 2 quick tests with:
1) compatible = "foo", "bar";
2) compatible = "bar", "foo";
and it each case a foo platform driver was used. It just happened to
be before bar platform driver on kernel's internal list (both drivers
were built-in).

If you compare this with ARM's setup_machine_fdt you will notice that
one actually looks for the best matching machine code (it's handled
with the __of_match_node).

Am I correct understanding this isn't a proper behavior? Are there any
plans fixing this?
>From what I can see a current design with the "match" callback doesn't
allow such a change, so I guess it'd need to be reworked first? Were
there any efforts regarding that?

-- 
Rafał

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ