Return-path: Received: from mail-iy0-f174.google.com ([209.85.210.174]:58851 "EHLO mail-iy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754573Ab1LLWuK convert rfc822-to-8bit (ORCPT ); Mon, 12 Dec 2011 17:50:10 -0500 MIME-Version: 1.0 In-Reply-To: References: <1319461948.31243.31.camel@deadeye> <20111212215818.GP3366@decadent.org.uk> From: "Luis R. Rodriguez" Date: Mon, 12 Dec 2011 14:49:49 -0800 Message-ID: (sfid-20111212_235034_588026_DB505B81) Subject: Re: [PATCH] module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree To: Ben Hutchings Cc: "John W. Linville" , LKML , Dave Jones , Greg KH , Debian kernel maintainers , Rusty Russell , linux-wireless Content-Type: text/plain; charset=UTF-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: On Mon, Dec 12, 2011 at 2:47 PM, Luis R. Rodriguez wrote: > On Mon, Dec 12, 2011 at 1:58 PM, Ben Hutchings wrote: >> On Mon, Dec 12, 2011 at 01:40:44PM -0800, Luis R. Rodriguez wrote: >>> On Mon, Oct 24, 2011 at 6:12 AM, Ben Hutchings wrote: >>> > Use of the GPL or a compatible licence doesn't necessarily make the code >>> > any good.  We already consider staging modules to be suspect, and this >>> > should also be true for out-of-tree modules which may receive very >>> > little review. >>> > >>> > Signed-off-by: Ben Hutchings >>> > --- >>> > Debian has been carrying this for the last few kernel versions.  The >>> > recent thread '[RFC] virtualbox tainting.' and discussions at KS suggest >>> > that this might be more generally useful. >>> >>> This indeed seems like a good idea to advocate getting things upstream >>> (not just staging) but what about the case where we have upstream >>> drivers from future kernels backported to older kernels and the newer >>> driver is simply provided as a feature for users who may need new >>> features / chipset support on their old distribution kernel? >> >> They continue to work without any loss of functionality.  (After the >> follow-up patches to keep dynamic debugging and lock debugging >> working.) > > Great! > >>> It seems this taint flag will be used for driers backported through >>> compat-wireless, the compat kernel module or any other backported >>> driver, even if it is indeed upstream and whereby kernel developer >>> *do* commit to actually fixing issues. In our experience >>> compat-wireless bugs *are real bugs*, not backport bugs so we do look >>> into them. In our latest linux-next.git based release for example >>> backport code consists only of 1.3804% of the code. >> >> Now you can look for (O) after the module name in a BUG/Oops message >> and you can tell whether the user really had the original or >> compat-wireless version of the driver. >> >> It is really up to each distributor or developer how they treat >> bug reports with the O taint.  When handling Debian bug reports I >> won't automatically reject such a tainted kernel but I will look >> carefully at the module list. > > I'm working on getting my companies to abandon 802.11 proprietary > drivers for good. For Station mode of operation this is pretty much > mission complete. For AP products.. this is work in progress. The out > of tree flag is a good utility one can use to help justify working > upstream but if we treat any future-kernel-backported-driver equally > to any out of tree crap piece of shit driver, it seems to do unjustice > to the value of a properly upstream backported driver. I will note > that I put a lot of effort to ensure that the backport effort is > upstream-centric in an *extremely* upstream-biased way, see how I > label extra patches for tarballs [1]. If your patches are not upstream > the only way you get into these tarballs are by providing patches into > these directories: > >  * pending-stable/ stable fixes from linux-next.git not yet on a stable release >  * linux-next-cherry-picks/ patches upstream but that won't go to the > stable release that we want to cherry pick >  * linux-next-pending/ patches posted on the public development > mailing list, patch not yet merged due to the maintainer being away on > vacation or whatever >  * crap/ patches not even posted publicly yet > > Each tarball used also gets pegged with a letter if *any* patch from > any of these directories gets applied. The compat module, upon being > loaded, will also print the kernel ring buffer the exact release, > whether extra patches were provided, the upstream git tree used as > base and so on. > > So -- although from a technical perspective this may mean Debian / > other kernel developers may ignore the taint flag for compat-wireless > it'd sure be nice to avoid it for them all together. Just can't think > of a way to do it yet... If you agree should we continue to think of a > way if its possible? > > [1] http://wireless.kernel.org/en/users/Download/stable#Legend How about a way to peg a driver as a backport from future kernels? Like maybe MODULE_COMPAT() ? Luis