[OE-core] [PATCH v2] kmod: Handle undefined O_CLOEXEC

McClintock Matthew-B29882 B29882 at freescale.com
Wed Aug 15 19:27:13 UTC 2012


On Wed, Aug 15, 2012 at 2:10 PM, Chris Larson <clarson at kergoth.com> wrote:
> On Wed, Aug 15, 2012 at 11:37 AM, McClintock Matthew-B29882
> <B29882 at freescale.com> wrote:
>> On Tue, Jul 24, 2012 at 8:40 AM, Burton, Ross <ross.burton at intel.com> wrote:
>>> On 24 July 2012 14:27, Chris Larson <clarson at kergoth.com> wrote:
>>>> On Tue, Jul 24, 2012 at 12:37 AM, Radu Moisan <radu.moisan at intel.com> wrote:
>>>>> I have not tested on CentOS 5.8 if the applications are not broken in some
>>>>> way, but that's not in the scope of this patch. If something does indeed
>>>>> break, then a totally different patch is required, targeting a backport of
>>>>> kmod for kernel older than 2.6.23.
>>>>
>>>> Personally, I'd rather see the build fail than have the tools behave
>>>> incorrectly in some inexplicable way. If you haven't tested it, the
>>>> patch shouldn't go in.
>>>
>>> I was curious...
>>>
>>> There are two commits in kmod where the cloexec changes were made:
>>>
>>> http://git.profusion.mobi/cgit.cgi/kmod.git/log/?qt=grep&q=cloexec
>>>
>>> The changes were a simple addition of the O_CLOEXEC flag, so this
>>> patch is simply the union of those two commits.  A release of kmod
>>> that doesn't require O_CLOEXEC has the same behaviour as this patch.
>>> The problem O_CLOEXEC is solving isn't possible to solve cleanly
>>> without it.  Using an older version of kmod instead of patching kmod
>>> to work on older systems would result in more bugs and less features
>>> for no win.
>>
>> Was there any conclusion on this? I'm seeing the same problems. This
>> would only effect kmod-native (unless the target was using the older
>> stuff as well which is uncommon at this point).
>
> For what it's worth, we applied this in our layer and things do seem
> to work fine with this applied. It was either this or what we did
> before (reverted the switch to kmod-native and retained
> module-init-tools-cross), as we require CentOS5/RHEL5 support still.

I've been doing something similar and it's been working OK. -  I think
we should apply Ross's patch.

-M

diff --git a/meta/recipes-kernel/kmod/kmod-native_git.bb
b/meta/recipes-kernel/kmod/kmod-native_git.bb
index 96de8b8..054a842 100644
--- a/meta/recipes-kernel/kmod/kmod-native_git.bb
+++ b/meta/recipes-kernel/kmod/kmod-native_git.bb
@@ -4,7 +4,9 @@
 require kmod.inc
 inherit native

-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
+
+CFLAGS += "-D O_CLOEXEC=0"

 do_install_append (){
        for tool in depmod insmod lsmod modinfo modprobe rmmod

-M




More information about the Openembedded-core mailing list