From owner-freebsd-hackers@freebsd.org Wed Oct 28 22:45:40 2015 Return-Path: Delivered-To: freebsd-hackers@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 2DD57A203AA for ; Wed, 28 Oct 2015 22:45:40 +0000 (UTC) (envelope-from koert.xls@gmail.com) Received: from mail-lb0-f172.google.com (mail-lb0-f172.google.com [209.85.217.172]) (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 BF51914C8 for ; Wed, 28 Oct 2015 22:45:39 +0000 (UTC) (envelope-from koert.xls@gmail.com) Received: by lbbec13 with SMTP id ec13so16679598lbb.0 for ; Wed, 28 Oct 2015 15:45:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=mime-version:from:date:message-id:subject:to:content-type; bh=8gHmAD4RTSBshNQCCwlCckhii7SjHybuvAfrRsZqsPY=; b=J2AFsO28Q9JDSq0ysggnCVU1a67qL8IXiH3Jo4eDXtiI3ZbxIuxIGzu3ITwtQ0jWyh siV0h0wocep0i9SzjRa760T2s45wrLcFE3Q8efqk1Z6p+3II8q9JHj+CvcV0mSQk7UjJ XHEzYO1t2+p0AufxB9VwruwRLMDA/+LDzSZfTz5XM2/4Ko5NWQ2RsQ1xy5RbK5QTNvs0 zRzbHwu5UlHSbLGu+vYvkVvUQv+RNBt7+OZ9/rA9LuF2s2t2J7fb/j6Qy70f92hrYIq0 h0rhV5M13o94EzFa3vOSsa9/XhzKepjR/YyYOL26MgDyziRDiYdjWLmmR4oFo+pqw3Tw J/+w== X-Received: by 10.112.199.100 with SMTP id jj4mr24861593lbc.122.1446072332396; Wed, 28 Oct 2015 15:45:32 -0700 (PDT) MIME-Version: 1.0 From: Koert van der Veer Date: Wed, 28 Oct 2015 22:45:22 +0000 Message-ID: Subject: ABI stability for loadable modules To: freebsd-hackers@freebsd.org X-Mailman-Approved-At: Wed, 28 Oct 2015 23:17:29 +0000 Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Oct 2015 22:45:40 -0000 TL;DR: Can I safely load a kernel module compiled against a slightly different kernel? I maintain a fleet of FreeBSD machines. We've encountered a problem with one of the modules (iscsi doesn't allow passwords > 16 chars). I've determined that patching the module solves the problem for us, and doesn't affect any other kernel component. I'd like to distribute the patched module and user-space components. My use-case allows me to unload the iscsi module, but doesn't allow me to reboot the machine. However, we're running an array of different kernels (10.0-RELEASE, 10.0-RELEASE-p9, 10.0-STABLE, 10.1-RELEASE, 10.1-RELEASE-p6). I'd like to minimize the number of distinct binaries being distributed, so preferably I'd compile only one or two. My preliminary tests on VMs show me that this does not cause any immediate problems. Is this actually safe, or do I need to make distinct sets of binaries for each minor version and patchlevel of kernel in production?