From patchwork Mon Oct 4 14:32:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 30896 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp4379222iob; Mon, 4 Oct 2021 07:33:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzyYIV2krSBc2AQaLa74ipSYDJNFWZQ6ayjYSbSDzwtrFQOCxuBkS043jAf6A2hdhY+3MRd X-Received: by 2002:a05:6402:4d1:: with SMTP id n17mr19109388edw.337.1633358000828; Mon, 04 Oct 2021 07:33:20 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i18si23392269edc.436.2021.10.04.07.33.19; Mon, 04 Oct 2021 07:33:20 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=ag8PKAkn; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B9F0D68A842; Mon, 4 Oct 2021 17:33:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074096.outbound.protection.outlook.com [40.92.74.96]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7571A68A842 for ; Mon, 4 Oct 2021 17:33:09 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gCWDkB6RXfZkISi35nAb8U23V9lU1Vae752KimACUGoBLDOBtPVBce9Lt6tLk5n+ZqekFB2Y3QtsGFU+dIky8ffC8JzVPTNXEGstqF7o2FxLOYJIzxVCumTlaUWNjJLaO052tCzF4Lbay9L/G6nKsiYQZ/FMz9bGaZ1T14xnQTPYNS+5FtVjzrrYHUfX0tSMUaqDMt2yzSjAfk/38ydDUK9Bctzj8Nu5LurJo4gBXmBgZQCGL+47VkSJZ1PblDWss/6Si+s7nmqp2Qtnbff+YFuEA3EwJNVNP9wUNKBNp1wzdpWzawUBnvqvXBOcZ5M/SS4iLNr8I+s3LHyiNSUXqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Ryt8n2KENNO01/tvEwH4Pway9Y+5KvtWZj93qvRMuYY=; b=TP/v2cWkXkU3hvTT42WqyURB5o05KODrYCV82ZrT8J/kqQmy/G+lHISTN+zc+yVkW0dEn+GHX9SBSdubr8WxH5/+8TeyYItUHQ4YlLpAx7Q6JxWZKY3kspF1KKpGPLcHb0/JeFBirQNgGtD2ojGut3i2F7gJusLxjP4lKivRrOY5+qsIar7Vv/+uKcruOEnJjS7qASIzGCgweEytNu0CHPZr/BTc92vAgLa8jSfDHov+F4IUNBNA+lswpBZLZsUQulpaQjH37vJqiNFjBJ3nH5XzgpNDKbPjQ7wFsfmSyQsNynPHYcgnLT6aiU7i9Y6p9gHd4XFRT9bgwTKgn9ck2Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ryt8n2KENNO01/tvEwH4Pway9Y+5KvtWZj93qvRMuYY=; b=ag8PKAknO9m+GKdeBZCI/gUeOmnt0kS09MC+smFKA432sFEKXo8YOeMUo1NT7eBvFCF2GFuv2i3jX9D+/gnFUJtqBjsP8q4Lc0GuZrKv6YfCBpJjd+O+4l7AX6VR97Qw6WjCjMAerBUKjyJoSud7tOFcQdrdY3lXLYaMeIttUgKNpG2Jm3X04T/s+leoJZboI5WDos8IyfWiGKUz6qkrAFKjDrKFirKC7b5LO52gSVINVtfDEI2plM3TmG8reb+ssmLvjzHCnCWL+wV74sH7H3ML8SZFiI+5RZK8Ok5Mo5ahOoY5MzGA6yQ6Hf4xuS6MtAwk9U+o6XT7EQU3MsakYw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6433.eurprd03.prod.outlook.com (2603:10a6:20b:1b8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.19; Mon, 4 Oct 2021 14:33:07 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::700f:d70b:3bb8:4d51]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::700f:d70b:3bb8:4d51%7]) with mapi id 15.20.4566.022; Mon, 4 Oct 2021 14:33:07 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Oct 2021 16:32:56 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 X-TMN: [u1oAE9tRJkXBpPdcV6ib016xGs3B4nY/] X-ClientProxiedBy: AM5PR1001CA0038.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::15) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211004143258.3984048-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by AM5PR1001CA0038.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:15::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Mon, 4 Oct 2021 14:33:06 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 375db1f0-3572-4b5a-1a6b-08d98743e1a1 X-MS-Exchange-SLBlob-MailProps: f36zkjAOy3W26mEFCZoYm9EYgzQtB7wrZ/Z9F6QnAzX0ECmuhsIkUqvs4KD7uILoGrV3S6M3RU3usETtUOpmflmp5jRMDRlSxAL00mvRmpOB1uILOSUufccmy37Dq0PQ66G00NfOUKoH3VN30yUGC36yTtSgKCgvk0z0Yzv6MEQMxppwPrITAS9DSEIhMBH3T/kawk2Ch7VNn2tUqnXharR0q+L0bdloFTjo3rHWjeYcZSZDTYVdDRcuB9wYHfzgaTE7BLgJBpv8/Tu7tZPTh5SSSeZn0oUgHEEKhKbHHm16q/yRTjzpG/CJGEKqha9dPoZxEcookPA5dkbEgPbOsU9t5EGV/KF7bQ7xOPs4xa1pN+8poD2rJ3PKf+0zgheFeygJhThPKW5NhipKrp0lQF8CxZF+x8WmlhxpWdSOP0h5hvlhCzBXR2TMnBNX+7pvBYhA6z76knGAWUzzBSmsWpvgnYzNoP2bCECjJ/6+8QdwXWNIa6zgKlqpjjsv7NW/UdHT17IPWQ+CodddtSMnsFDT8/daQTJRsjwmpCLIVp3JumBbNsUM8BkrXJ71wVgcRu8cF0OCo7qNKpehOxBM6CAFBqZQPnRkVMiirXMHwFbGa+D0S/SJpkze9MK7ONsQ+b9a+zdlPp7XFyeXKURxKH3oNy6LxXvG4Kaqbrs8r5pE5oiFD5zBchaOc8HkY1/A0sQzW1yrIA0xU0ik9ToIXKqsTOEcedxPCVmdKl3pWHY= X-MS-TrafficTypeDiagnostic: AM7PR03MB6433: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YibiF80duflIXrVFPnUUV4FiA/R4LkxH+g85TDLiKhfCfIKy6hv9AfPHGnSPdjOI2IqzDmqkTj9ArF8FlX+sp8A+AaQAviJJAqNBO+zmrs8X3P7NCV6P2ipch0bonRhtVWIG6ixiOlYtIYcy/fgzHNdcz4eFcOqgSZkLfU/2Ig9/jDT7LpL9UQxQPjiV1x+1tVyRUIoVqKcM6njvEcPF5VXaYLVyNi1uN+t7LnViEfH9prkf5kxiY8UuUa5NYK3nFqbAYc6xgVKqGjTkRAFK0327oxVYnbZSnXUp8TV0j0RSDMqU8mwnYj3m06Vi7N7nK5N/Q51woYdn76MKHqGcKvfaKPSyVNdK+a/vea4MJdiYJePT8ndvGz08ur/yOkrbJSfo1Jr0wMM56+fmpAjYPrXQfme/4Q6AgCUIJTppajSl+lcVDhkBPeB5gDhiXR3/ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: rEwuyJhNVm/3wyWjfMaRwrXNJcOokMfvcpKEr8qhmzNyetEc4qiC2EWGpDEaoW/167sw86u0QZ1r5eJw88Ic+JANYjLqiDJYzc6ewSn+4ECW5Rew1iOfrDa0IImqZRBBH+OnFrK5MN02cVYEMi65qA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 375db1f0-3572-4b5a-1a6b-08d98743e1a1 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2021 14:33:07.5660 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6433 Subject: [FFmpeg-devel] [PATCH 1/3] avutil/hwcontext_vaapi: Abuse the AVBuffer API a bit less X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: gGCjTdj4l3mz In this case there is no underlying data at all; the actual data has been shoe-horned into the pointer, which does not point to any storage owned by us. So use a size of zero as buffer pool size. (This fixes segfaults if one uses vaapi with memory poisoning enabled; but the memset call in pool_release_buffer() still receives an invalid pointer, so it is still undefined behaviour.) Signed-off-by: Andreas Rheinhardt --- libavutil/hwcontext_vaapi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 83e542876d..3578d49da3 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -490,7 +490,7 @@ static AVBufferRef *vaapi_pool_alloc(void *opaque, size_t size) av_log(hwfc, AV_LOG_DEBUG, "Created surface %#x.\n", surface_id); ref = av_buffer_create((uint8_t*)(uintptr_t)surface_id, - sizeof(surface_id), &vaapi_buffer_free, + 0, &vaapi_buffer_free, hwfc, AV_BUFFER_FLAG_READONLY); if (!ref) { vaDestroySurfaces(hwctx->display, &surface_id, 1); @@ -593,7 +593,7 @@ static int vaapi_frames_init(AVHWFramesContext *hwfc) } hwfc->internal->pool_internal = - av_buffer_pool_init2(sizeof(VASurfaceID), hwfc, + av_buffer_pool_init2(0, hwfc, &vaapi_pool_alloc, NULL); if (!hwfc->internal->pool_internal) { av_log(hwfc, AV_LOG_ERROR, "Failed to create VAAPI surface pool.\n");