From owner-freebsd-current@freebsd.org Wed Jul 22 06:56:24 2015 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D70759A8B01 for ; Wed, 22 Jul 2015 06:56:24 +0000 (UTC) (envelope-from venkatkumar.duvvuru@avagotech.com) Received: from mail-ig0-x231.google.com (mail-ig0-x231.google.com [IPv6:2607:f8b0:4001:c05::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 82A2315CF for ; Wed, 22 Jul 2015 06:56:24 +0000 (UTC) (envelope-from venkatkumar.duvvuru@avagotech.com) Received: by igbpg9 with SMTP id pg9so82162475igb.0 for ; Tue, 21 Jul 2015 23:56:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=avagotech.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=LFGgbyCjydk/x8k4D0vEpLq0HjIon5hFFeYL51o8fHM=; b=IA7oRPbaMUa2QESzaKlLas7+aduuesefL/efc9RRSwqLYss1EkGR8VnT5uk5dO0Wxz 7Ir/iCMfc4lqxDMTXf11e3m/P+F25//hkxHIfkvpY0uU4DaWhlgFzlGiG9NZv8q5GsNf qX5wsLr81Bi/M/8QANo3Sarw2kWtIDTsqAczc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=LFGgbyCjydk/x8k4D0vEpLq0HjIon5hFFeYL51o8fHM=; b=cj9jRDNlMenTkblq7hxR/D6ppl6gvDfmB8/8XPdSuje2ppmQEPGkSsw28fA4XOLqAN ael2veQRXiAMQ1ZSJkmPE16JgCXPjb5+GCp5WTbXqef+zxBzXAgnmgFXHrioR/Rn1qV1 mTxxLCKpgmS3Hi95p1R870AdIaGnwukR7RAfr5HSKfW3fgKOX/63J3ANUjfhTG0Ofhi4 n4uE3Oz2nYlwAXM6Urg0efOsvKL3JyKtXeuwHDrp0gFxDbGmws1oZqcI6HS6EJNXLhNI ED77jUk8aHS9yj0lrYnjWC0gv33QVf3oSFtfdBO2vy3ujXduuezXsw4BK6cUsDaGuCPx NuIg== X-Gm-Message-State: ALoCoQkLrtkgpDriaxoxVjijiqIr6C9tHmID2Ur/VwvuUS2JBplx28em8nZrcYG53mIZLgqug0/6 MIME-Version: 1.0 X-Received: by 10.50.78.68 with SMTP id z4mr16099791igw.51.1437548183356; Tue, 21 Jul 2015 23:56:23 -0700 (PDT) Received: by 10.79.21.131 with HTTP; Tue, 21 Jul 2015 23:56:23 -0700 (PDT) In-Reply-To: <55AE5810.6080205@freebsd.org> References: <55A9157A.8050208@freebsd.org> <55A91837.50805@freebsd.org> <55AE5810.6080205@freebsd.org> Date: Wed, 22 Jul 2015 12:26:23 +0530 Message-ID: Subject: Re: Kernel Application Binary Interface (kABI) support in FreeBSD From: Venkat Duvvuru To: Julian Elischer Cc: Allan Jude , freebsd-current@freebsd.org X-Mailman-Approved-At: Wed, 22 Jul 2015 11:26:20 +0000 Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jul 2015 06:56:24 -0000 I have this setup where FreeBSD 9.0 OCE driver is loaded on FreeBSD 9.3. The OCE module loads just fine but when the interface is brought up, the system crashes. This happens everytime I bring the interface up. The backtraces are attached with this email. However, if I build the same driver on 9.3, everything works just fine. On Tue, Jul 21, 2015 at 8:02 PM, Julian Elischer wrote: > On 7/21/15 2:02 PM, Venkat Duvvuru wrote: > >> Yes, my question was about kernel module compatibililty with FreeBSD's >> major releases of a particular version. >> For example, will FreeBSD makes sure that the driver built on 10.0 version >> of Freebsd seamlessly load on all other 10.x versions of FreeBSD? >> Does it make sure that the symbols and their parameters are not blindly >> changed without considering the binary compatibility with other FreeBSD >> version binaries? >> > Our aim is that a module compiled on X.0 should be loadable on X.Y for all > values of Y. > This is true for most of the subsystems that people expect to touch with > modules. > i.e. the network stack, driver framework, IO paths, system call > interfaces, scheduler exported calls. > and the structures they use. Note, a module compiled on X.Y is not > guaranteed (or expected) to run > on systems with smaller values of Y. > > > >> RHEL kABI whitelist makes sure that once the symbol is added into the >> whitelist, it will never be changed during the major releases of that >> kernel. >> >> >> Thanks, >> Venkat. >> >> On Fri, Jul 17, 2015 at 8:29 PM, Allan Jude >> wrote: >> >> On 2015-07-17 10:47, Julian Elischer wrote: >>> >>>> On 7/17/15 9:02 PM, Venkat Duvvuru wrote: >>>> >>>>> Hi, >>>>> >>>>> Is there kABI (Kabi-whitelist) equivalent feature in FreeBSD? >>>>> >>>> well, yes and no. >>>> >>>> Firstly, FreeBSD maintains a backwards compatible kABI (with the >>>> exception of programs that hunt around in kernel memory). >>>> We also use symbol versioning on the libc. so depending on what you want >>>> to do. the answer may be useful to you or not. >>>> Basically any binary should continue to run on a newer kernel, even if >>>> the syscalls change, because we should still support the old abi. >>>> >>>> tell us more about what you need and we can be more specific. >>>> >>>> I have run Freebsd 1.1 binaries on a Freebsd 8 system, in fact I have >>>> done a system build in a freebsd 1.1 chroot on an 8 system. >>>> I haven't tried it on 9 or 10 but I'd expect it to work.. >>>> >>>> >>>> >>>>> >>>>> Thanks, >>>>> >>>>> Venkat. >>>>> _______________________________________________ >>>>> freebsd-current@freebsd.org mailing list >>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-current >>>>> To unsubscribe, send any mail to >>>>> "freebsd-current-unsubscribe@freebsd.org" >>>>> >>>>> >>>>> _______________________________________________ >>>> freebsd-current@freebsd.org mailing list >>>> http://lists.freebsd.org/mailman/listinfo/freebsd-current >>>> To unsubscribe, send any mail to " >>>> >>> freebsd-current-unsubscribe@freebsd.org" >>> >>> I think the question related to drivers (kernel modules). >>> >>> In which case, they should be compatible across major versions (module >>> from 10.0 works in 10.2, but not 9.3 or 11.0) >>> >>> -- >>> Allan Jude >>> >>> >>> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org >> " >> >> >