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-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <478F1CDD.76E4.0078.0@novell.com>
Date:	Thu, 17 Jan 2008 08:16:13 +0000
From:	"Jan Beulich" <jbeulich@...ell.com>
To:	"David Brownell" <david-b@...bell.net>
Cc:	"Roman Zippel" <zippel@...ux-m68k.org>,
	"lkml" <linux-kernel@...r.kernel.org>,
	"Randy Dunlap" <rdunlap@...otime.net>
Subject: Re: 2.6.23-git Kconfig regression

>>> David Brownell <david-b@...bell.net> 17.01.08 01:02 >>>
>On Wednesday 16 January 2008, Jan Beulich wrote:
>> >>> Randy Dunlap <rdunlap@...otime.net> 20.10.07 05:21 >>>
>> 
>> Sorry for only now getting back to this.
>> 
>> >On Fri, 19 Oct 2007 19:55:35 -0700 Randy Dunlap wrote:
>> >
>> ...
>> 
>> I'm pretty convinced that drivers/usb/gadget/Kconfig isn't really
>> written properly:
>
>That's orthogonal to whether that patch caused a regression,
>of course.  The operational semantics have, except when they
>were changed, been that it did what it needed to do.
>
>
>> These prompt-less items should go after the choice (resulting 
>> in the choice to become a boolean one),
>
>Maybe -- such a change would have been OK as part of the patch
>which changed the operational semantics of Kconfig.

I simply wasn't aware of dependencies on the hierarchy re-ordering
done inside menu_finalize() within choices, which is what broke this.
And I'm not convinced this hierarchy re-ordering is even fully
consistent in its current shape (i.e. it just happens to work for the
few cases it really is used in).

>>...
>> these options are just pointless except for avoiding
>> 
>> #if defined(CONFIG_...) || defined(CONFIG_..._MODULE)'
>> 
>> in C sources.
>
>Well, avoiding such error-prone idioms would seem good to me.
>They're common enough, and nasty.  But that's not why those
>mechanisms are there.

But nevertheless there are CONFIG_USB_GADGET_* dependencies in
sources. But in a draft re-write of that Kconfig I found an easy way to
keep these anyway, so the point isn't a concern to me anymore.

>> In that latter case, the choice could become a tristate 
>> one, allowing all of the selections to be built at once as modules
>> (which really seems to be the way distro kernels would want to use
>> it) or any one of them to be built in (the current behavior, except
>> that at present even when using these as a module only a single
>> one can be selected).
>
>The requirements are that (a) just one peripheral controller
>driver be selectable, and (b) that it be linked either
>statically or dynamically.  Related, that for the gadget
>drivers (c) none may be selected until the peripheral
>controller driver they'll be used with is known, and either
>(d1) one may be statically linked, or else (d2) any number
>may be built as modules, with only one loaded at a time.

So I'll keep it that way.

>This stuff isn't for "distro" kernels; it's for embedded
>environments of the "only this hardware exists" sort.
>Space matters, and having small code matters.  Nobody has
>been interested enough in an "embedded distro" model to
>provide patches enabling such stuff.

Why not make the whole thing depend on EMBEDDED then? Or is
development for this perhaps being done in non-embedded
environments?

Thanks for the clarification in any case, now I just needs Roman's
opinion on the re-ordering issue in order to come up with a revised
patch.

Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ