From owner-freebsd-bugs@freebsd.org Mon Sep 11 21:30:18 2017 Return-Path: Delivered-To: freebsd-bugs@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 6F5E7E0068D for ; Mon, 11 Sep 2017 21:30:18 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5D6B07399A for ; Mon, 11 Sep 2017 21:30:18 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id v8BLUIj1035076 for ; Mon, 11 Sep 2017 21:30:18 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 222242] [patch] allow masks smaller than cpuset_t, if large enough for mp_maxid Date: Mon, 11 Sep 2017 21:30:18 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 11.1-RELEASE X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: freebsd@ruka.org X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status keywords bug_severity priority component assigned_to reporter attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Sep 2017 21:30:18 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D222242 Bug ID: 222242 Summary: [patch] allow masks smaller than cpuset_t, if large enough for mp_maxid Product: Base System Version: 11.1-RELEASE Hardware: amd64 OS: Any Status: New Keywords: patch Severity: Affects Some People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: freebsd@ruka.org Keywords: patch Created attachment 186278 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D186278&action= =3Dedit patch to check that mask is actually too small, not just smaller than the kernel compiled type As mentioned in Bug 200802, increasing MAXCPUS breaks compatibility for software setting cpu affinity compiled on earlier versions of FreeBSD. With this patch, the calls will only fail with ERANGE if the mask size is actually too small. In case of running old binaries on new systems with more cpus than fit in t= he mask, that's still not going to work with this patch.=20 In response to a comment on that bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D200802#c4 > Shouldn't cpuset users be querying the cpuset size from sysctl and using = that as their allocation base? Possibly, but then the calling code wouldn't be able to use cpuset_t types,= or CPU_SET macros. Some updates of documentation would be required too, as the documentation currently says when using a too small mask, get returns an error, and set r= uns without error (which doesn't appear to be correct). --=20 You are receiving this mail because: You are the assignee for the bug.=