Received: by 2002:ac0:a591:0:0:0:0:0 with SMTP id m17-v6csp806200imm; Thu, 5 Jul 2018 09:10:19 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdM72BuvonwuxhN/IgCWbgXpVVQfPIJJjNEVlfQmRZUB8PgJZeGfDZc+WUFcofHcvoDwD+E X-Received: by 2002:a62:4c47:: with SMTP id z68-v6mr2246849pfa.110.1530807019260; Thu, 05 Jul 2018 09:10:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530807019; cv=none; d=google.com; s=arc-20160816; b=p/UCI04ZerzOAZ2GURkFbpqcEsNnYoYNdrSilVqklZx89wSyvLYpcx2J2+PCMhlF91 SuGRDtaHM0zkPpF3eRikQUICycC8CDOEV4Fbw3XgkEm3bK6vJcQDOKhBPifAw03cyqpT +pXY8TL9MI5O0ryxq+c2i8tjnxaR0rjD/XEywtBwy3GdY/ruxi9KHefRol1guZLp86S9 r57e4QFttbbk6F/ARt5YBXjbud2EWuS+Dcb5Z8bHfmUzElPHvt3cyHU2zKCfBOKnwX74 2VyoIOfrVX45LXTRG7+EK4e/uu4qNYr1TjR3fnnMvnbEGt/xuPhQKTzBJ+CA5dVj8ssl MGYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=S9EKC66hdJylp6b1c52W6FbTirreq16K6z8CLKmgfmU=; b=Gt8dLLl480peqh2AS+2V3KKObR/B4mrojvvLa3veNfCp2yncYsVdGZyyHVxuPamRPg RTI/hi9yMBA8gVHjA0GQSyUDz09eWyuGrWH+0S9VG7F0fs8FnwwffzYkhxJI5pAU0HtM m88AWFr3Oyrci2uTk3RVobZJdLE03X0INFHdlDcckaQ6hxykt0bSgLMIthJA62SvNKC1 VxtWYTE9qnDqH5w0EWX3S0LxJO1oJh1ypGn43ZlJv+4k5gOQ6KEVrW1oEGvHhSAE8IA1 QvSSvJ4tjTvbMOnvYHQWDMVGK2H2vrrTopv+7AVwltGX6c6ARNDzWacprWciP53Un/en osAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=m4snExFP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i22-v6si6502182pfi.105.2018.07.05.09.09.54; Thu, 05 Jul 2018 09:10:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=m4snExFP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754209AbeGEQJC (ORCPT + 99 others); Thu, 5 Jul 2018 12:09:02 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:44455 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754003AbeGEQI7 (ORCPT ); Thu, 5 Jul 2018 12:08:59 -0400 Received: by mail-pf0-f196.google.com with SMTP id j3-v6so5826460pfh.11 for ; Thu, 05 Jul 2018 09:08:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=S9EKC66hdJylp6b1c52W6FbTirreq16K6z8CLKmgfmU=; b=m4snExFPAFvw+nUQsNls3QTMkKPEvBDe4u2xz2FPZkVJ21cSOzqdHWRwcN5hack9XH jD5lfgMTclvHNAhvdeK/z3uRB+E3vzMJgXqlaHjt9TIw4kbMmde5rHGIKz5VQChUIC1e NryZJ0gOMB6S6PFXd+j1FnvOdN86R5F/OxFtcNktiQyS2SPVub0OucnxIA2dG98SxlRV i9LjLDD3OPSOYzHS1nSOG8YBoc5F7T0gkz/MtmhqAEjSfyvi2MuSBGg1crt+3xH1T+q2 H5oXo14gNIYstb8VaMSuR+o7GuKlmkm3zlQ2kIIxlG+b/iF2ZVBmSNgcdOC6MakWvmmm HdIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=S9EKC66hdJylp6b1c52W6FbTirreq16K6z8CLKmgfmU=; b=GjHbtE2K4s8WkqAEi3ioshEBaqd3Lj+weFwjl1NU5goDiZ4QMHVFElBoSclWA7JZe5 YVHCEGWpPLC2WzefUdqy9Ur26OjFVzmtDFmGFnpoGuCZE6Deg//Qf1ncdme5sw5I+tkT 8s1AsBl1QHLuhFD+BLalF5/1M0mTnU2KdB6c+EqEdE4oKSAwILWSOnnH1NYyZFyPLjSn 5Tu0GZf9KS69mCQltGP0bNqUMbVcgsX3rRfPxmn88Ix5j6+9ytrG8G/7Pt0voNfgipAp UgbAQzVNLj/zTumkcRHCmHMlOFkuC7abal4uUExBLbBHDr/nWkO6KmTRAnmaP3N4GAgt 33RA== X-Gm-Message-State: APt69E1lZo2hLu+DebZsAIOg13GOJ66tJmFEAAE9IFF2HXnM6qEzDJcS T6Jev1/e7DHTBvE/ydEaRM8zNNryq4hw4/q0qTubbm2O X-Received: by 2002:a65:58c8:: with SMTP id e8-v6mr6121450pgu.96.1530806938046; Thu, 05 Jul 2018 09:08:58 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:90a:de2:0:0:0:0 with HTTP; Thu, 5 Jul 2018 09:08:37 -0700 (PDT) In-Reply-To: <7143da44-448b-8beb-7583-1a5516623649@colorfullife.com> References: <20180705055920.19611-1-manfred@colorfullife.com> <20180705055920.19611-3-manfred@colorfullife.com> <7143da44-448b-8beb-7583-1a5516623649@colorfullife.com> From: Dmitry Vyukov Date: Thu, 5 Jul 2018 18:08:37 +0200 Message-ID: Subject: Re: [PATCH 2/6] ipc: reorganize initialization of kern_ipc_perm.seq To: Manfred Spraul Cc: Davidlohr Bueso , Andrew Morton , LKML , 1vier1@web.de, Kees Cook , Michael Kerrisk Content-Type: multipart/mixed; boundary="000000000000c3b8ad057042c3b2" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --000000000000c3b8ad057042c3b2 Content-Type: text/plain; charset="UTF-8" On Thu, Jul 5, 2018 at 5:12 PM, Manfred Spraul wrote: > Hi Dmitry, > > On 07/05/2018 10:36 AM, Dmitry Vyukov wrote: >> >> [...] >> Hi Manfred, >> >> The series looks like a significant improvement to me. Thanks! >> >> I feel that this code can be further simplified (unless I am missing >> something here). Please take a look at this version: >> >> >> https://github.com/dvyukov/linux/commit/f77aeaf80f3c4ab524db92184d874b03063fea3a?diff=split >> >> This is on top of your patches. It basically does the same as your >> code, but consolidates all id/seq assignment and dealing with next_id, >> and deduplicates code re CONFIG_CHECKPOINT_RESTORE. Currently it's a >> bit tricky to follow e.g. where exactly next_id is consumed and where >> it needs to be left intact. >> The only difference is that my code assigns new->id earlier. Not sure >> if it can lead to anything bad. But if yes, then it seems that >> currently uninitialized new->id is exposed. If necessary (?) we could >> reset new->id in the same place where we set new->deleted. > > Everything looks correct for me, it is better than the current code. > Except that you didn't sign off your last patch. It was meant more like a review comment expressed in code. But I signed it now. > As next step: Who can merge the patches towards linux-next? > The only open point that I see are stress tests of the error codepaths. > > And: > I don't think that the patches are relevant for linux-stable, correct? I don't have a pressing need for stable (simply because KMSAN/KTSAN are not backported to any stable releases, so we won't discover it there). --000000000000c3b8ad057042c3b2 Content-Type: text/plain; charset="US-ASCII"; name="ipc.txt" Content-Disposition: attachment; filename="ipc.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jj8qun4q0 Y29tbWl0IDIzOTVmNjQ2MjU5NmIyOThkM2E0ZWViMTYxNGIxYTY3Njg2YjZmYzUKQXV0aG9yOiBE bWl0cnkgVnl1a292IDxkdnl1a292QGdvb2dsZS5jb20+CkRhdGU6ICAgVGh1IEp1bCA1IDEwOjE1 OjI2IDIwMTggKzAyMDAKCiAgICBpcGNfaWRyX2FsbG9jIHJlZmFjdG9yaW5nCiAgICAKICAgIFNp Z25lZC1vZmYtYnk6IERtaXRyeSBWeXVrb3YgPGR2eXVrb3ZAZ29vZ2xlLmNvbT4KCmRpZmYgLS1n aXQgYS9pcGMvdXRpbC5jIGIvaXBjL3V0aWwuYwppbmRleCA3NzZhOWNlMjkwNWZmLi5jOTg2NzVk ODYxMmUyIDEwMDY0NAotLS0gYS9pcGMvdXRpbC5jCisrKyBiL2lwYy91dGlsLmMKQEAgLTE5Myw1 MiArMTkzLDMyIEBAIHN0YXRpYyBzdHJ1Y3Qga2Vybl9pcGNfcGVybSAqaXBjX2ZpbmRrZXkoc3Ry dWN0IGlwY19pZHMgKmlkcywga2V5X3Qga2V5KQogCXJldHVybiBOVUxMOwogfQogCi0jaWZkZWYg Q09ORklHX0NIRUNLUE9JTlRfUkVTVE9SRQogLyoKICAqIFNwZWNpZnkgZGVzaXJlZCBpZCBmb3Ig bmV4dCBhbGxvY2F0ZWQgSVBDIG9iamVjdC4KICAqLwotc3RhdGljIGlubGluZSBpbnQgaXBjX2lk cl9hbGxvYyhzdHJ1Y3QgaXBjX2lkcyAqaWRzLAotCQkJCXN0cnVjdCBrZXJuX2lwY19wZXJtICpu ZXcpCitzdGF0aWMgaW5saW5lIGludCBpcGNfaWRyX2FsbG9jKHN0cnVjdCBpcGNfaWRzICppZHMs IHN0cnVjdCBrZXJuX2lwY19wZXJtICpuZXcpCiB7Ci0JaW50IGtleTsKKwlpbnQga2V5LCBuZXh0 X2lkID0gLTE7CiAKLQlpZiAoaWRzLT5uZXh0X2lkIDwgMCkgewotCQlrZXkgPSBpZHJfYWxsb2Mo Jmlkcy0+aXBjc19pZHIsIG5ldywgMCwgMCwgR0ZQX05PV0FJVCk7Ci0JfSBlbHNlIHsKLQkJa2V5 ID0gaWRyX2FsbG9jKCZpZHMtPmlwY3NfaWRyLCBuZXcsCi0JCQkJaXBjaWRfdG9faWR4KGlkcy0+ bmV4dF9pZCksCi0JCQkJMCwgR0ZQX05PV0FJVCk7Ci0JCWlkcy0+bmV4dF9pZCA9IC0xOwotCX0K LQlyZXR1cm4ga2V5OwotfQorI2lmZGVmIENPTkZJR19DSEVDS1BPSU5UX1JFU1RPUkUKKwluZXh0 X2lkID0gaWRzLT5uZXh0X2lkOworCWlkcy0+bmV4dF9pZCA9IC0xOworI2VuZGlmCiAKLXN0YXRp YyBpbmxpbmUgdm9pZCBpcGNfc2V0X3NlcShzdHJ1Y3QgaXBjX2lkcyAqaWRzLAotCQkJCXN0cnVj dCBrZXJuX2lwY19wZXJtICpuZXcpCi17Ci0JaWYgKGlkcy0+bmV4dF9pZCA8IDApIHsgLyogZGVm YXVsdCwgYmVoYXZlIGFzICFDSEVDS1BPSU5UX1JFU1RPUkUgKi8KKwlpZiAobmV4dF9pZCA8IDAp IHsgLyogIUNIRUNLUE9JTlRfUkVTVE9SRSBvciBuZXh0X2lkIGlzIHVuc2V0ICovCiAJCW5ldy0+ c2VxID0gaWRzLT5zZXErKzsKIAkJaWYgKGlkcy0+c2VxID4gSVBDSURfU0VRX01BWCkKIAkJCWlk cy0+c2VxID0gMDsKKwkJa2V5ID0gaWRyX2FsbG9jKCZpZHMtPmlwY3NfaWRyLCBuZXcsIDAsIDAs IEdGUF9OT1dBSVQpOwogCX0gZWxzZSB7Ci0JCW5ldy0+c2VxID0gaXBjaWRfdG9fc2VxeChpZHMt Pm5leHRfaWQpOworCQluZXctPnNlcSA9IGlwY2lkX3RvX3NlcXgobmV4dF9pZCk7CisJCWtleSA9 IGlkcl9hbGxvYygmaWRzLT5pcGNzX2lkciwgbmV3LCBpcGNpZF90b19pZHgobmV4dF9pZCksCisJ CQkJMCwgR0ZQX05PV0FJVCk7CiAJfQorCW5ldy0+aWQgPSBTRVFfTVVMVElQTElFUiAqIG5ldy0+ c2VxICsga2V5OworCXJldHVybiBrZXk7CiB9CiAKLSNlbHNlCi0jZGVmaW5lIGlwY19pZHJfYWxs b2MoaWRzLCBuZXcpCQkJCQlcCi0JaWRyX2FsbG9jKCYoaWRzKS0+aXBjc19pZHIsIChuZXcpLCAw LCAwLCBHRlBfTk9XQUlUKQotCi1zdGF0aWMgaW5saW5lIHZvaWQgaXBjX3NldF9zZXEoc3RydWN0 IGlwY19pZHMgKmlkcywKLQkJCSAgICAgIHN0cnVjdCBrZXJuX2lwY19wZXJtICpuZXcpCi17Ci0J bmV3LT5zZXEgPSBpZHMtPnNlcSsrOwotCWlmIChpZHMtPnNlcSA+IElQQ0lEX1NFUV9NQVgpCi0J CWlkcy0+c2VxID0gMDsKLX0KLQotI2VuZGlmIC8qIENPTkZJR19DSEVDS1BPSU5UX1JFU1RPUkUg Ki8KLQogLyoqCiAgKiBpcGNfYWRkaWQgLSBhZGQgYW4gaXBjIGlkZW50aWZpZXIKICAqIEBpZHM6 IGlwYyBpZGVudGlmaWVyIHNldApAQCAtMjc4LDggKzI1OCw2IEBAIGludCBpcGNfYWRkaWQoc3Ry dWN0IGlwY19pZHMgKmlkcywgc3RydWN0IGtlcm5faXBjX3Blcm0gKm5ldywgaW50IGxpbWl0KQog CWN1cnJlbnRfZXVpZF9lZ2lkKCZldWlkLCAmZWdpZCk7CiAJbmV3LT5jdWlkID0gbmV3LT51aWQg PSBldWlkOwogCW5ldy0+Z2lkID0gbmV3LT5jZ2lkID0gZWdpZDsKLQotCWlwY19zZXRfc2VxKGlk cywgbmV3KTsKIAluZXctPmRlbGV0ZWQgPSBmYWxzZTsKIAogCS8qCkBAIC0zMTcsOSArMjk1LDYg QEAgaW50IGlwY19hZGRpZChzdHJ1Y3QgaXBjX2lkcyAqaWRzLCBzdHJ1Y3Qga2Vybl9pcGNfcGVy bSAqbmV3LCBpbnQgbGltaXQpCiAJaWRzLT5pbl91c2UrKzsKIAlpZiAoaWQgPiBpZHMtPm1heF9p ZCkKIAkJaWRzLT5tYXhfaWQgPSBpZDsKLQotCW5ldy0+aWQgPSBTRVFfTVVMVElQTElFUiAqIG5l dy0+c2VxICsgaWQ7Ci0KIAlyZXR1cm4gaWQ7CiB9CiAK --000000000000c3b8ad057042c3b2--