From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11021080.outbound.protection.outlook.com [52.101.65.80]) by lore.virtuozzo.com (Postfix) with ESMTPS id 541A180474 for ; Mon, 26 Oct 2026 13:03:59 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bbu4sAWksDzSuTF1ObEUxj03Yap6fq0HjXVGVkAg10f5hGjytgqn3iRgiDTaEcH2twlRCWQjy5o+Md4eV13kZp7370BxP4oEPjFg1hyOFdRKC6DsC+4lNkGrvhvopkPLblcQWITXLjIv4s2Meb7m0O8VL+ts3NsfDU8OuFfg2E9VqseTCJb+VUXazVBJ7LvOXuHdO1dII4uYtErOmwe2F3ltYwlNAhz4XddndFkF3fJ3a5ByvTiOrWFuTOlk//KBBsYWwum/TCFoU4nj+7ZEi4X5KGPq+iPubdihoGjOOT3L/F8mm0v9wOKV9Olm9bIVH3XY4mWVGFJP62MXJ6fKsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7Uhqs9oTXHzU9cZciPgj0JVqwBYvaAeKeiTbovqWNh8=; b=FmDznepM+JgVNJ8wbz1GfupoWYtwbcCt53cYv43mkmPgcteeaZoKGHSHyMDbmOJnswK5Rq+NOlfb6Cpg/BXC1VR0akDp4WlxgTFT9y/PC7VEMDaLosqGV3Iz44j35IW5ZD++eA+macYTJb3iWkBm+rU2NMy3pz9T5fWaPPInAiwoedVwoBs+jXRPlP7L7xy6oFWeIkcFUSZtBRjXx393+JWG7n6ImPZtGEvfG5wDloSGdYNRfxmK5FqtBcaIf/UW/KkJSU4c3RNlnUw9RFMVNQpo6OV9CsNVF500RHHtSm8aQxr6jjZSsKb5VBRre2axoPvPym8p+VMijDEOrAKyXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 2a00:1450:4864:20::633) smtp.rcpttodomain=virtuozzo.com smtp.mailfrom=openvz.org; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=openvz.org; dkim=pass (signature was verified) header.d=openvz.org; arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.onmicrosoft.com; s=selector2-virtuozzo-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7Uhqs9oTXHzU9cZciPgj0JVqwBYvaAeKeiTbovqWNh8=; b=Uc4xif7NQDdpWmYOVoCHHPg+PVgiZPSGi3EGb3WBY+frAYZLDWlAyowzv7i5k0xsF/b1uxEoRamAKx6OYp/+nh5NCmYAy0zXHFZV7eFPvHv6jc/VjcrtNscodwu9uN5eqLH5grIfa3Tqas9cxNTGFQgUngSXTEcY0pcPvDA7qWI= Received: from BE1P281CA0025.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:15::6) by DB3PR08MB9035.eurprd08.prod.outlook.com (2603:10a6:10:429::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.22; Mon, 26 Oct 2026 13:03:55 +0000 Received: from WA1PEPF000099CD.eurprd04.prod.outlook.com (2603:10a6:b10:15:cafe::3e) by BE1P281CA0025.outlook.office365.com (2603:10a6:b10:15::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.7 via Frontend Transport; Mon, 26 Oct 2026 13:03:55 +0000 Authentication-Results: mx.microsoft.com 1; spf=pass (sender IP is 2a00:1450:4864:20::633) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org; Received-SPF: Pass (protection.outlook.com: domain of openvz.org designates 2a00:1450:4864:20::633 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::633; helo=mail-ej1-x633.google.com; pr=C Received: from mail-ej1-x633.google.com (2a00:1450:4864:20::633) by WA1PEPF000099CD.mail.protection.outlook.com (2603:10a6:1d8::165) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.4 via Frontend Transport; Mon, 26 Oct 2026 13:03:55 +0000 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-c46822eefb6so373893266b.2 for ; Mon, 26 Oct 2026 06:03:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1793019834; x=1793624634; darn=virtuozzo.com; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=7Uhqs9oTXHzU9cZciPgj0JVqwBYvaAeKeiTbovqWNh8=; b=CLXxwe6uQyttLlu8O5PD0l/Fpr7v64Y16rfV9cag3ODI43JEBHvYib5hzI6KjrKLmM S9VSC3Gl6bS59Gf9FLDUVAM/9d6RheXH3uK9EaOyKRpZnj+ECvPmGC/ePbbyfKSMWXhf GRwh5/Z+V/Bm8417Fk+8qDEgwGxwShM2vUjCxf4NLpbSbfurIGa+/iHOAtXPgpHwBCiD fY/7oCLSgqFSsrIcd+G1KyUQTMenSrMYPT0TKMjNZysxFezksR4j/PiFTFB8tPsqzBIK Jba0yVqrTB2QQa/4AvfrvhIa9ZpLFBYrpywKVUtKUAcKJe0NujpUG8y0JbbWb0Zo1a2G q5kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793019834; x=1793624634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=7Uhqs9oTXHzU9cZciPgj0JVqwBYvaAeKeiTbovqWNh8=; b=g739F5ivUGD+r1QR48EcH46dbfHvRFiBv21idlGaAjc2DkWcO4RSRgFSweA72lTshm VimjXj8Xpok1yVXgppR1iBfgwQdTd9j8oCPQhRngIiqCrdsKQ9lAvMtLGqxyXFV3C29e VkZVvbzQ5aJjbLV8if+hWbEOcNJeKTrYGieKjiFQGmzO1zC0LnqmSFnJ5U6TMexCwaDv Oyk3NmP4z43yGFsgSOcayQkhYAHea5X+Z633xmewcibQzv/16im2GZIe/GjVNrJGL1vA Z47sC/9Aeu+TgTlgB1GFM8Zy8WicPUAdr19a+NAcggychpZqTXspVjWe1QfPsR+XQFiY 4cnQ== X-Gm-Message-State: AFq9FYL9g4pnvd4Z4gH0YGIJ4a45sru3/zAmH3mziRC56l4KqdC+ZUcL yef5HoLxK93fgaAG42YeafJn0f764dKl/EL+S7e4xgOzUI1zlV40Meykl7zZBbaI+VXcFa277yU Riqs0bZE= X-Gm-Gg: AYBFou39Nm+yW65KBXIOLEQyrhcDhfVFoda3WHshz4MsuyYVmwihR53E4EQ2R9aC+Xo Frna0Wqtg1+V8ZCGVdF/T27bOwAq06btrplMeuSxL4VrbwHQ9TSoMunhROzOBGcvjbrZBNaHTz8 KfIVu+74uPoYWTBTHPAVaU5/f3hhXB9XOTjj0Tk93Y70/0U7K9zstj9StcBmsKSwFQuVbO/uP6u nqD/bOypQsc6XTpVOXSuniOWKI6V7LeyHDIUoIaTgj7x6XbYiSOGeR9RzSc04NohaxmTiyAkXlw RHlOBt8sbh31IUUvcHP77be89wHQX03nTfE3CGxHL/WmI97++4rxI+xFAtfx6/BH8HIVHyBllTk LXzzMI/0nbIX69HmVpES02dFWBshn15vVZikGxuNEEvWWL9LPqv5EUJE4NVwx4UUYDs16sgoE3y PNXL2kVvZpeUyM74AD4hGn17d66D5Y+xbZybCF5AT5tgkMBXOYqzZXaEKluf4x22blUoMTpXxQJ bq7XwK/u/brAmzq4WDZgbeLsJcP1HuHE7AxdMcGXAEzZlja194= X-Received: by 2002:a17:907:940b:b0:c40:80eb:c544 with SMTP id a640c23a62f3a-c46bdaa801bmr788048766b.4.1793019834349; Mon, 26 Oct 2026 06:03:54 -0700 (PDT) Received: from athena.sw.ru ([2a06:5b06:b600:300:1a6:7f7f:f573:ba9e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48e3ecd354asm15547596f8f.43.2026.10.26.06.03.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Oct 2026 06:03:53 -0700 (PDT) From: "Denis V. Lunev" To: andrey.drobyshev@virtuozzo.com Cc: svt-core@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.1 2/2] scsi: hide MODE SELECT block size change behind a quirk #VSTOR-151631 Date: Mon, 26 Oct 2026 14:03:49 +0100 Message-ID: <20261026130349.271706-3-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261026130349.271706-1-den@openvz.org> References: <20261026130349.271706-1-den@openvz.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: WA1PEPF000099CD:EE_|DB3PR08MB9035:EE_ X-MS-Office365-Filtering-Correlation-Id: 4b555f9e-85ac-4e60-a488-08df33619743 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 0 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|704162311799003|61400799027|43022699015|9140799003|376014|48200799018|6059299003|82310400026|56012099006|5063699009|261009223027099003|261022075727099003|261021121427099003|261021123027099003|10067099003|22082099003|55112099003|18002099003|16102099003; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?H9g9DO1enc5SgrsiJj+ZmVj8bt06W4ZJ7WvBW6S7CcoIi2bMbFrnZ7cQyKOn?= =?us-ascii?Q?zRn7LKoF6lwbOwHcGTWRHg1EfmTtGboH3kuUgY4TG9MB1GxUhaSCDPx9cofV?= =?us-ascii?Q?fyZA7x+9hT4vB+JhneNeNXRnPJbuGXHwUx0JOJ/xNIHr3bRyJ6TeGiGmqfpY?= =?us-ascii?Q?lMs88e6jonTCyig+95OnwDq/N9GT2Bm/kxh8ZlOcWA7KMSnPtRRE7n/SWr8J?= =?us-ascii?Q?JfyRx0QmI739wB8CgxBzVF6mAOrBspJw0eIB5uwymiANoI/yQh3aFkoSs50X?= =?us-ascii?Q?UkMR+rM57Z0QpCf4O/1V/W8beRkJgzZY35alctHJmtSYT/2Z4WAJDpFDIDRW?= =?us-ascii?Q?rdu2B/c1r+ueuUk7PGgP5rDfpG7d1uYdYyjy3wnB3sjREMXjicSPugCFq93R?= =?us-ascii?Q?nsWk2uRyui8qBNY7L33/bCIVg3pzfr+9tsQMY0AD5QZbIwzWTq0oIEtsPqWP?= =?us-ascii?Q?QKQ9Cgfh8SxNP9bZeCu1j+SLK78rlupRtUw5RG9AWF3N/Bn9i8SWYJ/9pY2f?= =?us-ascii?Q?Hkunzgze3xRk9hqlNiiYNoWTpwnhKhoYR0rDJ4j50INxYMFqhWdSbC7Fzrwc?= =?us-ascii?Q?e5qCo3Q52zgP/bEW9xGg1a7iMs3tWjOiIRS69eyuOCEn0MaX0WrtOyTRoM+6?= =?us-ascii?Q?ytA+Ak/zncxmSLq6C9YHmIHD4wyGH1nu9LJ8tFLgZdbQCOZKvkDCfQ8aV8Q0?= =?us-ascii?Q?FzLsqRa3NTL/oMmDRwCILMUMk/zdrBc0PD4YTp5G2PGJgwVchsw1mJMpxhVn?= =?us-ascii?Q?cc3/KSORKWtWXVYCnWrRmvllMiS8bGbhspySgRvNDi3UoptW3qYig3Nlvtt4?= =?us-ascii?Q?3YHtZfgRGvOvpkjPNC0zvZGcj5OUhucGwdo4dai0D4uV5K1kru/V1RwI4M5L?= =?us-ascii?Q?xK5MpF6GmrMH8ndVrjBh9xzkowdub/7fcPbqnXNDFUUEs6fkDRuGXd0Yj5VR?= =?us-ascii?Q?bYIpscfksbPMXwWoasey1GcUzq0Ydnp05KzBbngVcSc4QA14ZSM4Dki+JCs8?= =?us-ascii?Q?Dk5jJY40PZy/4Ep69eqqtkncxg=3D=3D?= X-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::633;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-ej1-x633.google.com;PTR:mail-ej1-x633.google.com;CAT:NONE;SFS:(13230040)(704162311799003)(61400799027)(43022699015)(9140799003)(376014)(48200799018)(6059299003)(82310400026)(56012099006)(5063699009)(261009223027099003)(261022075727099003)(261021121427099003)(261021123027099003)(10067099003)(22082099003)(55112099003)(18002099003)(16102099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oqqI9uX81H5Pf4WEQA9w6Ha614iQx7sM8ASXeY5wNgaM61KLy8JZwjJX3TkVvKKCpeX0FR3fwMCujtH4bEZ9NjyEHtCoI3BjytfpTeOBSyaTkdrX8AGvEeRvPHqDe+5PiNrYcEJyxWD2zuuLxP6DVzk+m0rwqmTJQxVQPPGcAHtcDheNvXZ6Xn6CCr/1KIHp98D3T99A7Dk3hNlHx4NYVFPIgP6CVKmrER22b2l8+VKARAKBYwyZuocXvYrF3uUs0he8gh65B39t9XClV5LsneZ9RkBlbqzpHTM1NY+z/VgBN/7JtjU6fA+FdicQK98QwbEet6bMD2pDytZCd8t2wWr78mCm6hWCXZETnCl4Bhpg5btn2gkokW92iVjsDaEBhnl7oA/VKqUa5N66Js060Porpd2z3S7xXsbZKzkkUlWYc+oXceYV17pLCtGUWph8 X-ExternalRecipientOutboundConnectors: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2026 13:03:55.0456 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4b555f9e-85ac-4e60-a488-08df33619743 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: WA1PEPF000099CD.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9035 List-Id: From: Paolo Bonzini This is a dangerous operation in that the block size is not protected by a lock, but it can be written concurrently if you have a multi-queue virtio-scsi HBA. Put it behind a quirk that is only enabled by the Q800 machine, since the MODE SELECT feature was added for A/UX. Cc: qemu-stable@nongnu.org Reviewed-by: Stefan Hajnoczi Signed-off-by: Paolo Bonzini (cherry picked from commit 0f410adf6b0dead1f09938054da639954bda3bc1) --- hw/m68k/q800.c | 2 ++ hw/scsi/scsi-disk.c | 12 ++++++++++-- include/hw/scsi/scsi.h | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c index 793b23f8155..9a60e1b4489 100644 --- a/hw/m68k/q800.c +++ b/hw/m68k/q800.c @@ -714,12 +714,14 @@ static void q800_init(Object *obj) static GlobalProperty hw_compat_q800[] = { { "scsi-hd", "quirk_mode_page_vendor_specific_apple", "on" }, + { "scsi-hd", "quirk_mode_page_set_block_size", "on" }, { "scsi-hd", "vendor", " SEAGATE" }, { "scsi-hd", "product", " ST225N" }, { "scsi-hd", "ver", "1.0 " }, { "scsi-cd", "quirk_mode_page_apple_vendor", "on" }, { "scsi-cd", "quirk_mode_sense_rom_use_dbd", "on" }, { "scsi-cd", "quirk_mode_page_vendor_specific_apple", "on" }, + { "scsi-cd", "quirk_mode_page_set_block_size", "on" }, { "scsi-cd", "quirk_mode_page_truncated", "on" }, { "scsi-cd", "vendor", "MATSHITA" }, { "scsi-cd", "product", "CD-ROM CR-8005" }, diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index 544f418c40f..a501c7ffa4a 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -1670,8 +1670,12 @@ static void scsi_disk_emulate_mode_select(SCSIDiskReq *r, uint8_t *inbuf) goto invalid_param; } - /* Allow changing the block size */ - if (bd_len) { + /* + * Allow changing the block size only if the quirk is enabled for it. + * Writing s->qdev.blocksize is not thread safe! + */ + if (bd_len && (s->quirks & + (1 << SCSI_DISK_QUIRK_MODE_PAGE_SET_BLOCK_SIZE))) { bs = p[5] << 16 | p[6] << 8 | p[7]; /* @@ -3244,6 +3248,8 @@ static const Property scsi_hd_properties[] = { DEFINE_PROP_BIT("quirk_mode_page_vendor_specific_apple", SCSIDiskState, quirks, SCSI_DISK_QUIRK_MODE_PAGE_VENDOR_SPECIFIC_APPLE, 0), + DEFINE_PROP_BIT("quirk_mode_page_set_block_size", SCSIDiskState, + quirks, SCSI_DISK_QUIRK_MODE_PAGE_SET_BLOCK_SIZE, 0), DEFINE_BLOCK_CHS_PROPERTIES(SCSIDiskState, qdev.conf), }; @@ -3362,6 +3368,8 @@ static const Property scsi_cd_properties[] = { 0), DEFINE_PROP_BIT("quirk_mode_page_truncated", SCSIDiskState, quirks, SCSI_DISK_QUIRK_MODE_PAGE_TRUNCATED, 0), + DEFINE_PROP_BIT("quirk_mode_page_set_block_size", SCSIDiskState, + quirks, SCSI_DISK_QUIRK_MODE_PAGE_SET_BLOCK_SIZE, 0), }; static void scsi_cd_class_initfn(ObjectClass *klass, const void *data) diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h index 640a11522b7..dd84bdc17a1 100644 --- a/include/hw/scsi/scsi.h +++ b/include/hw/scsi/scsi.h @@ -261,5 +261,6 @@ bool scsi_generic_pr_state_preempt(SCSIDevice *s, Error **errp); #define SCSI_DISK_QUIRK_MODE_SENSE_ROM_USE_DBD 1 #define SCSI_DISK_QUIRK_MODE_PAGE_VENDOR_SPECIFIC_APPLE 2 #define SCSI_DISK_QUIRK_MODE_PAGE_TRUNCATED 3 +#define SCSI_DISK_QUIRK_MODE_PAGE_SET_BLOCK_SIZE 4 #endif -- 2.53.0