Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp673082pxb; Tue, 5 Apr 2022 18:12:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwBFlI/RIIl6gQuHsnZIJin00xiPPmjsukoVmH8ZH5+ngDxkWqHAeR0E7J7Eq2tO2+C7LZb X-Received: by 2002:a17:907:6286:b0:6da:6e24:5e43 with SMTP id nd6-20020a170907628600b006da6e245e43mr6061467ejc.449.1649207434115; Tue, 05 Apr 2022 18:10:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649207434; cv=none; d=google.com; s=arc-20160816; b=BeP1tqA7/s92BjB0VBsh3FmNnkGxhGpX6u4PiCa/NPt9q3hkef67XCHTMbiKEdGvhz zshQHY8Ok833ompoFgdhPZp4Fecmd2OcoHToiH2BUyJEYJSqy/Rakn3Y+3NHITz5FXyv tCoAlKaf6dI3Vq59XYEzOFM5uljsG7PVjX8oDDOSmnGwInYPGG9PX1tztwrPGxRCXZCk Jhkk4Ihs+sOBRBcy9wTsUa3AOfQaNLEknjRuaixVL6uf3hQUR3DcT8ce6wdin+r4iZaD fH43L1Q3ldwtyD05TfQZBrrm9tBxt9l0ECSnAP60rdD+rJ0qQdJNq2CwY173U3yrJ3Dp TefA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=QOyKNZSE5BETL7qb1woKCXnpaauQ9HpMsypnVI+FumI=; b=Nrquho1Ee+W2uvowk8qXk2C6XmladEMBqkIXuuOhJ/8EOTsRZQwdHCdOU80o4Q5TOn XsQ0Z62ira42FwHivY8KDWtn+/k3f2BrabV5eYbWruEPOhln/GggEs/MlMyCLlcnlWQ8 LHlxh0FL78da5GuBeiKj5Js34+KLYTRFJQ/D84TlhkW5VatTbldxERmuRSOzMDeCyj9x rc+Ap8WWHsJGxYZDlkmkRzNPxb+FP4eQMtRTfAsfW8PYNJ3KzIzxSWxGKqQ0vqMZHmoX /eL5d856atm2HuDZ4TgwvB5N4nB8wH+Uz2/haMOiLQqqlaCE6deJFoAr+C3CJaQ8uxoY cjyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="Zb/KhT8m"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t8-20020a1709064f0800b006df76385beesi7018471eju.142.2022.04.05.18.10.06; Tue, 05 Apr 2022 18:10:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="Zb/KhT8m"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348351AbiDELpD (ORCPT + 99 others); Tue, 5 Apr 2022 07:45:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46600 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244845AbiDEIwn (ORCPT ); Tue, 5 Apr 2022 04:52:43 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B49422B18; Tue, 5 Apr 2022 01:44:43 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id CC33A609D0; Tue, 5 Apr 2022 08:44:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E1FBEC385A0; Tue, 5 Apr 2022 08:44:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649148282; bh=ANnWnXAWNmsF5BifAwyhc0RFu55PfW6rBe5GXpCYMlk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Zb/KhT8mBVIBxd2jSGyWzLBnGnUWjHXybUZ8xtoEkMuCcL9/l0P9ugQdVm0SbJPE/ vZORj7tOYv+Y8FWgSMxSUETsGC8QOUYFjxt/QmzsqlPto9+6jiFvgwQWR3pnxbbNEw CJ3iE9hrBTxJyz8j7CCxxC8tqmYWrCwUaiDuf8mI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, kernel test robot , Sakari Ailus , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 5.16 0299/1017] media: v4l: Avoid unaligned access warnings when printing 4cc modifiers Date: Tue, 5 Apr 2022 09:20:12 +0200 Message-Id: <20220405070403.150447315@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405070354.155796697@linuxfoundation.org> References: <20220405070354.155796697@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sakari Ailus [ Upstream commit 24bb30c8c894ec7213ad810b46e2a6a4c12136c1 ] Pointers V4L2 pixelformat and dataformat fields in a few packed structs are directly passed to printk family of functions. This could result in an unaligned access albeit no such possibility appears to exist at the moment i.e. this clang warning appears to be a false positive. Address the warning by copying the pixelformat or dataformat value to a local variable first. Reported-by: kernel test robot Fixes: e927e1e0f0dd ("v4l: ioctl: Use %p4cc printk modifier to print FourCC codes") Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/v4l2-core/v4l2-ioctl.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c index 69b74d0e8a90..059d6debb25d 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -279,8 +279,8 @@ static void v4l_print_format(const void *arg, bool write_only) const struct v4l2_vbi_format *vbi; const struct v4l2_sliced_vbi_format *sliced; const struct v4l2_window *win; - const struct v4l2_sdr_format *sdr; const struct v4l2_meta_format *meta; + u32 pixelformat; u32 planes; unsigned i; @@ -299,8 +299,9 @@ static void v4l_print_format(const void *arg, bool write_only) case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE: case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE: mp = &p->fmt.pix_mp; + pixelformat = mp->pixelformat; pr_cont(", width=%u, height=%u, format=%p4cc, field=%s, colorspace=%d, num_planes=%u, flags=0x%x, ycbcr_enc=%u, quantization=%u, xfer_func=%u\n", - mp->width, mp->height, &mp->pixelformat, + mp->width, mp->height, &pixelformat, prt_names(mp->field, v4l2_field_names), mp->colorspace, mp->num_planes, mp->flags, mp->ycbcr_enc, mp->quantization, mp->xfer_func); @@ -343,14 +344,15 @@ static void v4l_print_format(const void *arg, bool write_only) break; case V4L2_BUF_TYPE_SDR_CAPTURE: case V4L2_BUF_TYPE_SDR_OUTPUT: - sdr = &p->fmt.sdr; - pr_cont(", pixelformat=%p4cc\n", &sdr->pixelformat); + pixelformat = p->fmt.sdr.pixelformat; + pr_cont(", pixelformat=%p4cc\n", &pixelformat); break; case V4L2_BUF_TYPE_META_CAPTURE: case V4L2_BUF_TYPE_META_OUTPUT: meta = &p->fmt.meta; + pixelformat = meta->dataformat; pr_cont(", dataformat=%p4cc, buffersize=%u\n", - &meta->dataformat, meta->buffersize); + &pixelformat, meta->buffersize); break; } } -- 2.34.1