From nobody Mon Nov 29 13:21:35 2021 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id AE87118B2715; Mon, 29 Nov 2021 13:21:43 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-oi1-x230.google.com (mail-oi1-x230.google.com [IPv6:2607:f8b0:4864:20::230]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4J2mGG5DC1z4q5k; Mon, 29 Nov 2021 13:21:42 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: by mail-oi1-x230.google.com with SMTP id be32so34500234oib.11; Mon, 29 Nov 2021 05:21:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=7WmkC7rfpenq3xIe4SWn/MTWUYynmhz3prx4/L1/hFo=; b=ocZwRXL31mTmAThkQTX0D8jOw4yoswmvGw59N6k5wAjwOoBBW3CDOT6cthsSjkrW4O nCqCr53T14/VgQRL5BnRX+l5Ax8pjrrJ+vh3dSwOuvLHdw/yStqdAAbJ8oCxVkOsQWl6 OdAxENptD8lrBrbNp7CVB9QvFff4BoiOJovBr0fviwR23PQlIv3u3gmjLHEWIIwxmrTT tZ/hIrPQo1wDpAza5KyoLZ4yZ6tEEe39jrdosXX4p6j00vHMJlLt/WcmePgiGi1OdwqB MUfdf0HBt7LV5cqZVI0DP8myCWck01RGlg1qW6OPbh25c8H576AEBXb55RPWeEeHVcdl klBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=7WmkC7rfpenq3xIe4SWn/MTWUYynmhz3prx4/L1/hFo=; b=J0hRI8i4Ru0uteRmUeTtUPnyaNxFF1bbRbT2W+LucRBlvQTmjkYTQBnCoFjUXC5oxB Y24vUG14hlu0x5ruEf4hZxtx5CyoPvd4/4i3Xd+DQEIimoIth7ny+3q148rpDx2UNsm0 kkogcf/src5b3eL4RxaMBUMlChuTXA+65fNcWciHR0TEUyWUr7MA2JH1aJ6RTkyDscy6 a1EPrb5HDqOp2DlBBXfGCT4DKZRxcHjoSTXn/maNvks7piQPmEeggAlCW2aeeoc9Yajw dswtWc+82JnIqcsq3CLPHu4sk+HfPg1Wd+B4wqzyLX7TpMlhSO0gyKrEwYvBBqcMZJRa z+zQ== X-Gm-Message-State: AOAM5321CVWviWW1Le4ff9G7R7I7eSMXo39k5FiPUUS1zwHdN1nb+Bwc 88oSQH+Ghrwt/xyNfCYPRxEiFsuegMIblOmKlAYW3HL+ X-Google-Smtp-Source: ABdhPJz+EaHUpfQBueTt5yBQfZZ8bD2hLCF19hnTaHhzbWmcnQ3vi0Gweef5z7ZTGwz9u32G2aWCqz+Ccyoo3y53mcE= X-Received: by 2002:aca:3047:: with SMTP id w68mr39800836oiw.75.1638192096067; Mon, 29 Nov 2021 05:21:36 -0800 (PST) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Received: by 2002:ac9:126d:0:b0:3b4:5824:6a18 with HTTP; Mon, 29 Nov 2021 05:21:35 -0800 (PST) In-Reply-To: <202111051525.1A5FPgwj073325@gitrepo.freebsd.org> References: <202111051525.1A5FPgwj073325@gitrepo.freebsd.org> From: Mateusz Guzik Date: Mon, 29 Nov 2021 14:21:35 +0100 Message-ID: Subject: Re: git: d836c48e7110 - main - cam_periph: wired is really a bool, update it to a bool. To: Warner Losh Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4J2mGG5DC1z4q5k X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=ocZwRXL3; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of mjguzik@gmail.com designates 2607:f8b0:4864:20::230 as permitted sender) smtp.mailfrom=mjguzik@gmail.com X-Spamd-Result: default: False [-0.69 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_SPAM_SHORT(1.00)[1.000]; MID_RHS_MATCH_FROMTLD(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::230:from]; NEURAL_SPAM_LONG(0.31)[0.311]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-ThisMailContainsUnwantedMimeParts: N On 11/5/21, Warner Losh wrote: > The branch main has been updated by imp: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=d836c48e7110f2894885cf84ce8990f7916663cc > > commit d836c48e7110f2894885cf84ce8990f7916663cc > Author: Warner Losh > AuthorDate: 2021-11-05 14:56:48 +0000 > Commit: Warner Losh > CommitDate: 2021-11-05 14:56:48 +0000 > > cam_periph: wired is really a bool, update it to a bool. > > Sponsored by: Netflix > Reviewed by: scottl > Differential Revision: https://reviews.freebsd.org/D32823 > --- > sys/cam/cam_periph.c | 25 +++++++++++++------------ > 1 file changed, 13 insertions(+), 12 deletions(-) > > diff --git a/sys/cam/cam_periph.c b/sys/cam/cam_periph.c > index bb4baaf0888f..54fe9a0ef40c 100644 > --- a/sys/cam/cam_periph.c > +++ b/sys/cam/cam_periph.c > @@ -600,8 +600,9 @@ static u_int > camperiphunit(struct periph_driver *p_drv, path_id_t pathid, > target_id_t target, lun_id_t lun, const char *sn) > { > + bool wired; > u_int unit; > - int wired, i, val, dunit; > + int i, val, dunit; > const char *dname, *strval; > char pathbuf[32], *periph_name; > > @@ -610,29 +611,29 @@ camperiphunit(struct periph_driver *p_drv, path_id_t > pathid, > unit = 0; > i = 0; > dname = periph_name; > - for (wired = 0; resource_find_dev(&i, dname, &dunit, NULL, NULL) == 0; > - wired = 0) { > + while (resource_find_dev(&i, dname, &dunit, NULL, NULL) == 0) { > + wired = false; This has a side effect of no longer initializing wired if the first resource_find_dev call returns != 0, which in turn causes KMSAN to panic due to: unit = camperiphnextunit(p_drv, unit, wired, pathid, target, lun); below. It is unclear to me what this code should do. Plopping 'wired = false;' upfront at least restores the previous state and prevents the panic. > if (resource_string_value(dname, dunit, "at", &strval) == 0) { > if (strcmp(strval, pathbuf) != 0) > continue; > - wired++; > + wired = true; > } > if (resource_int_value(dname, dunit, "target", &val) == 0) { > if (val != target) > continue; > - wired++; > + wired = true; > } > if (resource_int_value(dname, dunit, "lun", &val) == 0) { > if (val != lun) > continue; > - wired++; > + wired = true; > } > if (resource_string_value(dname, dunit, "sn", &strval) == 0) { > if (sn == NULL || strcmp(strval, sn) != 0) > continue; > - wired++; > + wired = true; > } > - if (wired != 0) { > + if (wired) { > unit = dunit; > break; > } > -- Mateusz Guzik