From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7F1DC4332F for ; Sat, 11 Nov 2023 15:42:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CA0998D000B; Sat, 11 Nov 2023 10:42:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C78398D0003; Sat, 11 Nov 2023 10:42:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A54878D000B; Sat, 11 Nov 2023 10:42:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 979778D0003 for ; Sat, 11 Nov 2023 10:42:43 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 6B5A841297 for ; Sat, 11 Nov 2023 15:42:43 +0000 (UTC) X-FDA: 81446091006.29.B90758D Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf29.hostedemail.com (Postfix) with ESMTP id B4EE5120015 for ; Sat, 11 Nov 2023 15:42:41 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=bkdoDEiy; spf=pass (imf29.hostedemail.com: domain of sun.gengeration.sun@gmail.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=sun.gengeration.sun@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699717361; a=rsa-sha256; cv=none; b=3euNJ0UsdPlc5ILlXtClYbnUloFnf2Ek3jZvwCHzH/0HR0Q+3T1Ad4ZzoEaBPfeCuZwXFR AT/LyE1nZ0siyXG+1yyV74WhNYk19X2rskI9u69GgXF0z9JlL7Hx0XC2by5dXKl+YARy33 kXUXjHc9ztLBodPj+wSLRq5b0j6/vYc= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=bkdoDEiy; spf=pass (imf29.hostedemail.com: domain of sun.gengeration.sun@gmail.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=sun.gengeration.sun@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699717361; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=vh9Olzo4q2FiyRpzivOp4EE+jH0HUT0eXo6JCgsT+iQ=; b=Q2R5gNp6Qmed2itwNefMh9H+dQU4ivtCi3o0ZxwjjdgEqMUQt/yCM5qOnYPl3wEQ2aQuyx 6tWNwcbiU0jQfe6A2t0+PeXFckynJP5le7c/4mLo4zwe0DI7fqpFw9oWxqBdUqHuPTqlWZ SwstepKZgNOsSXn1aPqB56U7yb5X+jE= Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-280260db156so2649625a91.2 for ; Sat, 11 Nov 2023 07:42:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699717360; x=1700322160; darn=kvack.org; h=to:date:message-id:subject:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=vh9Olzo4q2FiyRpzivOp4EE+jH0HUT0eXo6JCgsT+iQ=; b=bkdoDEiyJOgXytBhY6JJb1c/sMB6v9PEqFw9FgwSEPcreoW8o3gTKuzRDJWEeY1FOf dhZzEqisn4M1f7+P7r55y8hMltgfDPJnhmjsZ8SB5YIQY+Pge9LyquLDSYFtZbkB1AsZ hBWjCpEl3e0j4jhOosFVwTqjLUA8z7mFuj1vFleL9d1OD5/uJWdOZ9ASdApisFfM7SjP rVdO/CMvUERkl9prhXSnnjaiWuaLAmNlQ8a4b1fnFDLXcHdVzF6UPsG4WHS7NWgJ3o80 mQwfc5Wvy7h+aDMGxCBJBDxTJ3SXkgHz+PZ8mK61IlSkpQ9V3+V98qyylEgoLr53wbBJ IxaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699717360; x=1700322160; h=to:date:message-id:subject:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=vh9Olzo4q2FiyRpzivOp4EE+jH0HUT0eXo6JCgsT+iQ=; b=HgWelBdiP8h/tmERVmZvQBND6C4QM/Wk4dosxSWzslptQwo2tLfnj7C+vXG3qxpzjA CGJFbgcwXynMUzpMCRtw4WdxhFAeOi58UTBea/42kUPpqAYfB5IEQ03tS+kyBy+8CvID loEQZ70MiqF0Qv+GDhJIIgUtebij5Fzzpw2NuIspFS4WXMZ/C6hPassmOzBmge1+77Ce mN6mZUaNeYv8MdRk4g6wtW8UFea2eT2Jx5epgzF+kw+yv0IRJANu63LVpQ9wydevR2MH mZcRH3Gr+UtRdW8Xw+szFWVzanLag+sgjy+6Qj/KLumxrnw9Jdfy/NmfBXkAZxPDFdEZ 72/w== X-Gm-Message-State: AOJu0YyzvIph34G2dkpYCsSuQ3BNymrdyJ2v7VeKZ3PerdCzN0gY+UZD Lb9GBpMe9iXJhm8UqhtL3+76KMIQQcypcw== X-Google-Smtp-Source: AGHT+IFpnQ17H0bA3NDquLdPkCmrJdNcyJk8KxgNh1M/TJ1DxKoD0N3PQtap/+Y4hXQhBNpS7lXpJg== X-Received: by 2002:a17:90b:1d0c:b0:27d:4ede:75b0 with SMTP id on12-20020a17090b1d0c00b0027d4ede75b0mr2299465pjb.16.1699717359628; Sat, 11 Nov 2023 07:42:39 -0800 (PST) Received: from smtpclient.apple ([103.113.156.88]) by smtp.gmail.com with ESMTPSA id ji17-20020a170903325100b001c9c97beb9csm1436828plb.71.2023.11.11.07.42.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 11 Nov 2023 07:42:39 -0800 (PST) From: geng sun Content-Type: multipart/alternative; boundary="Apple-Mail=_70B4890F-4E3B-481E-A955-A17B52E7E30B" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\)) Subject: An variable used before init Message-Id: Date: Sat, 11 Nov 2023 23:42:26 +0800 To: linux-mm@kvack.org X-Mailer: Apple Mail (2.3774.100.2.1.4) X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: B4EE5120015 X-Stat-Signature: twimdihmgmq1iu9qa6xmshtjukbsz9gj X-Rspam-User: X-HE-Tag: 1699717361-148938 X-HE-Meta: U2FsdGVkX1+d8/1cefreaoH4Zxy93FbeqMkMJsX4SGFq6oQJvIUe1+7MWAMdQ47kMZOYCPF6sVm9cC6iPIeqe8mOOOvtrbbk3EtgWk1qsHvMlWUHrsqAZwJOC2PffmCq9B8JhMYi4g2iVJcZu2aXVofGo6ypBIQHyXN7xpYHXbmvKQdsFmQPKs0bQOLEQJ6mN+d3+N56TJVA/d+yz2cH1WYIZabznh9bq5mDqEYMrl9Epa9VI+koH1vOjPhk7Z9FpBVHMlCi6gzpnHAYL6wnTN5puJV9qVLCrAPgieOoAIL1gTrZkjB5wh3uNUTwBQQ/nZJnXB9v89ddXx+TAGPsv+sC8qYmSnJYZjw+3e3/swsTk5bLdErUvNAoYYgdB8BuiDc3t9+U4Uofa07Cdeud5ATSo2O3ZJintGm98v/YRv9j+g1a8O812QfTFrfPHeaJ7ORZZ1p4Pm6ImWw/hfKtKckOShutkjCLrdwXMZQHrLKB5265EkF/N4PwVpHP8yGZ7OIBxxqlRkTwd6mSs0Yql4y+BFO37HJ1YZaKDw0vPqTKFNZxCoacAlQVJ+6kgGYiyxMwRdTp/DWaNUDkT4QsP8/hyQHPEE7DwHsP3KzcGtZGo0IksmXuaZjgN1Ymb8tM5ywrwmpoPCUWHPvE6CNc47c5ui5/ydL2VXgelqxn178R7dlfmLunGdmpTXj4XdiSX+sN5rpo4DtnDaC3KAhFAClLMy7NHeANcsGR8fiPRpl0cL5vUnGYrD9YJutCpwyVpL6765ZGxw+Yb5PVJ8RWgAa1dELzDDjc270f4ezMV3vR0NN2RczHc5mX1TE3aPWOaZD+2gVsqWctU0Zgyphtu0WTgWGWWc1MhxeRFBnH+KtSPHttulNDVKCUYmqiUe2i5jrwujtgQEKjpFLkw6LIx31siFLf62tQ7nJZT1lCLuOw4Shh8hAsFp/ss38zjmj1yc/PvBgBcNBAiYhCisE nxz5su34 /Vpun1KfMhiU4soxou7BXQXpflw2oNwss6J3IcVnemtS87hqEDaFYU0YZ3S25nNQKbvw4IWytm9ZRaKyjwA/4qWJxXjdVsT8BL5mzOrdOZKSDcnvSfQNDGklK1Un2YecBv6GNLLDoZ50oEM4b3b2omE8OUh6WNM3t2iKgUYE7wFWE9asiTBvdXiC9LNurwQTUPkbtCyA0BQXHcGW5XlLgiSV5FhzGNPoPRmAgxJUyhwjv7j7SoktalerCoSJ3hBq3aBY5ImpwgC3lDH8fO+RatlToaFfUQGRh+03QFYD/hoBAMrsZam/E/mN4pZrG6EmthlTLBETqAZvG1pUY0LTaiJq6za8nxsJe95LQ+jFhtKE4BditHdckAhmCT3fQpDyEwiVc+NJC71TT4pfy2XUdnUxexsBjUFMSg+j8IQrEiDlAPXljjJx5LAOP0ZE9rzJivHY7Scqp4HCPT3FlHe+B++S+v81cpIN/lvjsEAGiSCvWSfOpH54ZhFOzcGU+lYwLMfO1tXjRxDDuKk+glnuyZ9LwGQxk3neW6qpqMVpl7w0MzZVLuHi9rYOQHqf7oRsxMF1hl6UGZ511BMUHPucuN56D9A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --Apple-Mail=_70B4890F-4E3B-481E-A955-A17B52E7E30B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi linux-mm I find one odd variable =E2=80=9Cnew=E2=80=9D in slub, it was used = before init. =20 Maybe the value in new was undefined.=20 And I can not understand how it work. Could you explain this code for me? Thanks. Best regards. static void __slab_free(struct kmem_cache *s, struct page *page, void *head, void *tail, int cnt, unsigned long addr) { void *prior; int was_frozen; struct page new; unsigned long counters; struct kmem_cache_node *n =3D NULL; unsigned long flags; stat(s, FREE_SLOWPATH); if (kmem_cache_debug(s) && !free_debug_processing(s, page, head, tail, cnt, addr)) return; do { if (unlikely(n)) { spin_unlock_irqrestore(&n->list_lock, flags); n =3D NULL; } prior =3D page->freelist; counters =3D page->counters; set_freepointer(s, tail, prior); new.counters =3D counters; was_frozen =3D new.frozen; new.inuse -=3D cnt; if ((!new.inuse || !prior) && !was_frozen) {= --Apple-Mail=_70B4890F-4E3B-481E-A955-A17B52E7E30B Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Hi = linux-mm

I find one odd variable =E2=80=9Cnew=E2=80=9D in slub, it was used before init. =  
Maybe the value in new was = undefined. 
And I can not understand how it = work.
Could you explain this code for = me?
 Thanks.

Best = regards.
static void __slab_free(struct kmem_cache *s, struct page *page,
= void *head, void *tail, int cnt,
= unsigned long addr)

{
void *prior;
= int was_frozen;
= struct page new;
unsigned long counters;
= struct kmem_cache_node *n =3D = NULL;
unsigned long flags;
= stat(s, FREE_SLOWPATH);
if (kmem_cache_debug(s) &&
!free_debug_processing(s, page, head, tail, = cnt, addr))
return;

do {
= if (unlikely(n)) {
= spin_unlock_irqrestore(&n->list_lock, flags);
= n =3D NULL;
}
= prior =3D page->freelist;
= counters =3D page->counters;
= set_freepointer(s, tail, prior);
= new.counters =3D = counters;
= was_frozen =3D new.frozen;
= new.inuse -=3D cnt;
= if ((!new.inuse || !prior) && !was_frozen) = {
= --Apple-Mail=_70B4890F-4E3B-481E-A955-A17B52E7E30B--