tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: sysctl_createv: sysctl_create(no_sa_support) returned 22

On 07/23/2011 01:53 AM, Jean-Yves Migeon wrote:
> On 22.07.2011 21:30, Peter Tworek wrote:
>> Hi,
> Hi,
>> Some time ago I've noticed that my current kernel prints this message
>> when booting. As far as I understand no_sa_support syscall is only
>> required for NetBSD 4.0 binary compatibility, which I've disabled. I've
>> made a small patch which takes care of this message by putting
>> sysctl_createv call in COMPAT_40 ifdefs? Can this patch be included in
>> current sources?
> IMHO, the EINVAL (22) is due to KERN_SA being undefined. The sysctl(7)
> value is always hardcoded to 1 here but without the CTLFLAG_IMMEDIATE
> flag set (and without any pointer to a valid storage address); this
> looks rather invalid to me.
> Could you give a try to the attached patch instead, please? I made the
> KERN_SA macro reverse so the thing looks more evident.
I've tried it and it works :). COMPAT_40 is disabled and no_sa_support
message is gone from dmesg.
> As a side note: we try to avoid putting COMPAT_* macros everywhere in
> kernel code and prefer to keep these in a small number of files; this
> simplifies modularity as it avoids a complete kernel recompilation to
> add/remove support for compat modules.
Thanks for the explanation. If compat code can be compiled as a kernel
module it's indeed a bad idea to put any COMPAT_* ifdefs in core kernel.
> Thanks for reporting!
No problem :).

Home | Main Index | Thread Index | Old Index