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 X-Spam-Level: X-Spam-Status: No, score=-12.3 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7AF7AC07E97 for ; Sat, 3 Jul 2021 13:01:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 66BFD6193A for ; Sat, 3 Jul 2021 13:01:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229573AbhGCNE0 (ORCPT ); Sat, 3 Jul 2021 09:04:26 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:51868 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229484AbhGCNEZ (ORCPT ); Sat, 3 Jul 2021 09:04:25 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 163CuiSc014465; Sat, 3 Jul 2021 13:01:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : content-transfer-encoding : mime-version; s=corp-2020-01-29; bh=cizhVDUUJYZ7ZCMXHmCIuS+uOr/h1XV0BigEnLfYxkQ=; b=MGcw351aTILe+JA//oQNsWnP4ZertsitpivFRBTGctm3fzrII9mpOO5JbjUN/sIuyuH2 uqOXwjfBSC4n9/qzq4QKM0dzyitVvqwLpjZ82HMAwY7NjpX6QblU3U0PoEXXHNnEorz2 lUzV910NsFVDys+MT6ywQLIObrJsGKh89SR+Ies3T7vQOcR3zb+kKbhGcDxQJ9EtpeUM bzaYzTkmrVlkWNqHV48aUZEa9ucXRTWbvEFGjJrtiay8F00ujMUuqRHrcwKt3Gr62frE YPv+CnL4vGrOV9nxAsOawD4hEee8dokSF7GIeQEank9+E8Ce9pUZOXg2lIYNDWjsapwr JQ== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 39jfsc8br0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 03 Jul 2021 13:01:48 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 163CuHg9072901; Sat, 3 Jul 2021 13:01:46 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by userp3020.oracle.com with ESMTP id 39jf7knyg2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 03 Jul 2021 13:01:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YEUYMZTaM9bUU2xOCzQyvSLGot+WFPXy7I74oc78O8fsKiE6sclmIEq/I/yypDJo535m6NrTjmqPgkjgv1R1bgJpiXmok3ZEe0gHkXa4pLwYDd8zw/UC+Fx0eMP728sBA0zEnl8liYIf+4wFt1wNKz07Jij3qy/166y19GYp9VOEXlvbMrIRuqFUR6g2FKo92xzy66rAaOxNQyGWURiOMklxLRyEnxwr4aocZQ7bVZy5qzZxNYf/Fx01svNy0JP92OZ2D6Z7LxBgLr85pDaHrbDEKSgOh2/WTfHot5pvE5D1qOrq76JhcjNSB7iOTtS3Z7TJfK52TKOxEEDxFMhSaA== 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-SenderADCheck; bh=cizhVDUUJYZ7ZCMXHmCIuS+uOr/h1XV0BigEnLfYxkQ=; b=cBO9/N2bTQMpIrWJKQ0C6F7my/eXJiy8ibsWi47pJN0SUEPWWpBGZrRRb7jOPHgp5LuY2muq4X8LAnqAA3Cam1UBI4dZvojCoJLxXaIvlO726IX6xjG1UgIy4mhJqXh14kUMBU8BugJxjJ7r9m5vCw/0+1jbg3RTHgELdTGH5NKsxLTP7M+Z6S4PaURW3i9KzVD4LFSx2W0k0GI/DQOLDs1n2vOP/pqRXSXUYHopqkgBuGNxozwBEXIcbq0RFQG34VfYZQU/U8DjJHKX1L1TLGkMSuOfziI1OsHqEh1+ZcUvylxzF6M+QakN6Fu7y4aasDgBqN7TD+aS4fCZdN5gqA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cizhVDUUJYZ7ZCMXHmCIuS+uOr/h1XV0BigEnLfYxkQ=; b=Pj3Sp+KZcsh3ghIOyYRSV1kMqvYIgGq3TTf/lFzJn0PKzgtRNxnwaItXxwNZiWf9aOIB8xlwMzCIBoVyrtu8odCGLs2fnUlb7ZSu9DTft5UrRRF7v/ANS4xCCYOrImpJht5uptLjH6nuYNu7WudagVuQST1NdeZzyh/FhKuA9So= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=oracle.com; Received: from MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) by MWHPR10MB1902.namprd10.prod.outlook.com (2603:10b6:300:10d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22; Sat, 3 Jul 2021 13:01:44 +0000 Received: from MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::3413:3c61:5067:ba73]) by MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::3413:3c61:5067:ba73%5]) with mapi id 15.20.4287.030; Sat, 3 Jul 2021 13:01:44 +0000 Date: Sat, 3 Jul 2021 16:01:24 +0300 From: Dan Carpenter To: kbuild@lists.01.org, Rob Herring Cc: lkp@intel.com, kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, Lakshmi Ramasubramanian , Thiago Jung Bauermann Subject: arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: missing error code 'ret' Message-ID: <202107031042.9GeZ0EQ9-lkp@intel.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [102.222.70.252] X-ClientProxiedBy: JNXP275CA0028.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:18::16) To MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kadam (102.222.70.252) by JNXP275CA0028.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:18::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.23 via Frontend Transport; Sat, 3 Jul 2021 13:01:38 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ba9f3d72-c6f8-43eb-dbf4-08d93e22b54e X-MS-TrafficTypeDiagnostic: MWHPR10MB1902: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:486; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uoD0xAVJTCbiQj/t2MJ4Rmtanj4BI9vzgyKcHfoqGzpAb70EB9WzePA6oItHDEyErFG5pl/MGzFhHEYGffQKK71s83Xsr0mURkwfOv1kB4bTak6BIhuuFAZpTDDPezSAx5bH4rx+n3HoRVo5a/sUU4m4j/fdvxHo72Bu4/V3qZ8UXNDrJHUYkfeymlVSnO+cDfnM/8p/Wb4XfLglS97L0owBYM/mw00E98GZw5IlPjM4BMxpID8i1pAsKYFcQZw0bzSVQ2qqZqQY1b6WWxYkXDInVB2mz19/QpzkBJKvX5+kodACAiehj+SBKQzvABshM2DQdl7joeBdCRsYbACOEnMqX4wuF16zP2xXYbl/EO5/cht6ZgJgSx/evI68ByUsMiTIgWs72d8MXqrKUNeZYtlexBGFnT8RZTQhpKvi4kEQaRvUhGyTRdefdizUjhI5RXJzlrilKoWcoqNU3Q5hyYMtnEbPI23t2Xo+Wii5EUpQvJZSzOnaeEnTpKJseaCq0SfQ4do1fBYPx1VTAQA5x4OdIf57/XySTHDFo35uHC9OimWu2U6Wb/ZlT8HOC4OcVaeWCBzmpHb3iAQ1W+WAq/cc7dcizfHoCFkl7WBG2kBukTf1TxHd73xthx43Z539yikjinUu+3tt96U6Kwsa+V+nGnTg4BMIoiFma3Se5qY7wmQwwTNXdVcf4kmyAENjx2vU7ZC7lfS7ytCqHQ/Q+9bE6qg3CExTxC1QAeFb8WITlG8qxdDHqqcdWCAJ+U9h4ErWjpgflm41QcbqqpM8py9aO8gh0bh/TWs6xUruCmR6P91HkCtZmPIxm2JXsdw35FjxSHo3gOfjir/6U3e6+g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(346002)(366004)(39860400002)(396003)(136003)(4326008)(86362001)(6486002)(26005)(1076003)(966005)(478600001)(16526019)(66556008)(5660300002)(8676002)(54906003)(8936002)(44832011)(66946007)(956004)(66476007)(316002)(186003)(38350700002)(38100700002)(6666004)(83380400001)(6496006)(52116002)(9686003)(36756003)(4001150100001)(6916009)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZFAycllyY2xuRUVKaHQ1QkcvUytjUDZLWmsrR29OTmRnKzZ6czNtYlhDd0U3?= =?utf-8?B?dnJNWlRBcVFMa0hDbmpFVjVmSXB5WVVlelFXZDliclVUZ3pMYTlLM2xYdzhl?= =?utf-8?B?enRJQkFtenptVWVWL016SHQ2SStVVGZmZHB5VlBZSlVWQUg1ZkpPVTdINS92?= =?utf-8?B?M2RoVXYraFFPbW5jRng3a0pLd2IrUWcwK0NqWVlsaVFEUXNwTWxRL04zcVd4?= =?utf-8?B?enNMWHp0bU5ydy8wdHVMNEY2KzZDU0lyQ2Ywekd1WGxFZ3B0T3dxeVcwWlhT?= =?utf-8?B?ZG9zZUJEK3Rub0Q2L0hYZDByN29HeG9mN0h5Z0NMVWdNaEpDeW9mNlo0NSsr?= =?utf-8?B?OXZKdTgyRlRWU3RvSURjcGVYTWRPbVN1VG4wZzhmVWZkR3dUQUJiMFBzaDF6?= =?utf-8?B?SXl0eHZEK0xzeXFNZWF0TUgxbm5iT1ArYlBFd0RBQUdJM01NVVR2cm1mZ0FY?= =?utf-8?B?azBtWTZLQW9RQ2R2Zi9NZURodkhUN01GQWlZbG0weWJzYVpqaGtmdWRSeSt6?= =?utf-8?B?UGIyT1I1SzJDWm1GRGxkcnd0eHVNRHB5bThyc0xDZmdEdFQwTTNSeDBPQStp?= =?utf-8?B?bGhGUk1HUnExdzRiNjRYaHVtMGFlYUFGb3hhZnhjYlpDcWFzTjhBcGpoUUsy?= =?utf-8?B?dzNMRWdhdFBhd2IvWHVJcWlNWUNSdll2WVRCWm50MVpGdWMxTmsrb3VIQW1u?= =?utf-8?B?TXp0VmQ2T3pWcXZmTFNLMmFxc3NrNWhCRnd5UE4vUTFOUEpRK2JkaUZtOWtw?= =?utf-8?B?eEJ0MUVpWmgxemFRS0ttQloxQXc2aUFhaWhLbHNoL2FZWGRJVjhWZDdSeEN1?= =?utf-8?B?WXB6Z3hVLzZuTWF6TzdPOVZxWnBGT2dEU0tBSVMyT24rSzBzZWdSTDRXUngv?= =?utf-8?B?aW5FQmxtWXVTZHdubnhTbmo3aGkrV3EveVc1Ym1PY0JGTkw0a3VUYVR6UldX?= =?utf-8?B?SFFNcEdsdGlhaW5Vc1RwWGc1VnhGK3dpdE5JVXdmNEQyUllISjl2RUZqNWUv?= =?utf-8?B?YkRnSG1CZGwwdHNzV1FYSFNIZTJPUXIvYzdIbzZEdm82Q3hURmhReVZVYlpH?= =?utf-8?B?RUl6NXBrR2x1RzNEVlVROHhmZ3J5Y28yZWZlS3liWExXRkpwd25NSlNtMW05?= =?utf-8?B?VVVnNVBHZFVzd3RQem53WjZ5Rk9RVkpZbTJoRVJHT0F5K3ExSXJLekRybjhS?= =?utf-8?B?eTFnREUyZXg3aTIxYVFBajdOTnZ0N2RjOG9NclhYR1BOejFWYkUzMGUxc0xn?= =?utf-8?B?WXQ4a05CVEc0RTdqeXI5ZzRVTGFGS3ExK2UzdDdiOUQvU0c1cmJYQmtaL2hr?= =?utf-8?B?ekNmelY2Q2xoOXAyOTFrdTNhRVZKMHdoWWMxV1g3SVhhUDF6c1JVOUxQdjhs?= =?utf-8?B?YmRHMjQ5M0hibTF5MW94VzUzSi9ZOUZRM0FHNW4wRjRxMzhWaTU1YnE3YWk1?= =?utf-8?B?eDZZUmNHMnpGb2ljM3hNNnoyMjJGTG94WFZpN01Nc1RkOWUrblZZSWdMNHdC?= =?utf-8?B?N25hbkNxNW83eHRKOGVaa3ptQlovM1dzUFpIVnpPamVTNUFOS0g5YStWa1Jy?= =?utf-8?B?d1ZSMGxBTVZmZmpiR1hUUDE2UlZ1MFROUHlWbmlmdFRHOTNRd1ROSnlEaFRB?= =?utf-8?B?SDZWN0Jwcm1CYTNWZHlYeE1UTUxZbDRLRmExSFJYeEJmbmZROFN3Uml2WUwz?= =?utf-8?B?d2QxWGZ2Z1VmWVAxYVpaMHdpMUp0RUxPeHNrTzZtdVFPNnJvMGR1cjd6dXlL?= =?utf-8?Q?DQZLkmLWpdeJS/KiLuSDWYKvP1DN1OFGk3j1xl5?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba9f3d72-c6f8-43eb-dbf4-08d93e22b54e X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2021 13:01:44.5237 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: d/4vJrQe/M3l9U73cAsvxXonoyHpXToySlXX8lX9t4ubo3Ll6iTnQIeZ07Xf5zvC/TbHH+nmjU34ZGeDuw66399geNz1WCP9yM1JoMJhuFo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR10MB1902 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10033 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 mlxscore=0 bulkscore=0 spamscore=0 adultscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2107030083 X-Proofpoint-GUID: nUtxt_W66n5bBylltat8bYNbJWjQcxHL X-Proofpoint-ORIG-GUID: nUtxt_W66n5bBylltat8bYNbJWjQcxHL Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: d6b63b5b7d7f363c6a54421533791e9849adf2e0 commit: ac10be5cdbfa852139658d52c2f1c608782ce992 arm64: Use common of_kexec_alloc_and_setup_fdt() config: arm64-randconfig-m031-20210702 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: missing error code 'ret' vim +/ret +152 arch/arm64/kernel/machine_kexec_file.c 52b2a8af743604 AKASHI Takahiro 2018-11-15 81 int load_other_segments(struct kimage *image, 52b2a8af743604 AKASHI Takahiro 2018-11-15 82 unsigned long kernel_load_addr, 52b2a8af743604 AKASHI Takahiro 2018-11-15 83 unsigned long kernel_size, 52b2a8af743604 AKASHI Takahiro 2018-11-15 84 char *initrd, unsigned long initrd_len, 52b2a8af743604 AKASHI Takahiro 2018-11-15 85 char *cmdline) 52b2a8af743604 AKASHI Takahiro 2018-11-15 86 { 52b2a8af743604 AKASHI Takahiro 2018-11-15 87 struct kexec_buf kbuf; 3751e728cef290 AKASHI Takahiro 2019-12-16 88 void *headers, *dtb = NULL; 108aa503657ee2 Benjamin Gwin 2020-11-03 89 unsigned long headers_sz, initrd_load_addr = 0, dtb_len, 108aa503657ee2 Benjamin Gwin 2020-11-03 90 orig_segments = image->nr_segments; 52b2a8af743604 AKASHI Takahiro 2018-11-15 91 int ret = 0; 52b2a8af743604 AKASHI Takahiro 2018-11-15 92 52b2a8af743604 AKASHI Takahiro 2018-11-15 93 kbuf.image = image; 52b2a8af743604 AKASHI Takahiro 2018-11-15 94 /* not allocate anything below the kernel */ 52b2a8af743604 AKASHI Takahiro 2018-11-15 95 kbuf.buf_min = kernel_load_addr + kernel_size; 52b2a8af743604 AKASHI Takahiro 2018-11-15 96 3751e728cef290 AKASHI Takahiro 2019-12-16 97 /* load elf core header */ 3751e728cef290 AKASHI Takahiro 2019-12-16 98 if (image->type == KEXEC_TYPE_CRASH) { 3751e728cef290 AKASHI Takahiro 2019-12-16 99 ret = prepare_elf_headers(&headers, &headers_sz); 3751e728cef290 AKASHI Takahiro 2019-12-16 100 if (ret) { 3751e728cef290 AKASHI Takahiro 2019-12-16 101 pr_err("Preparing elf core header failed\n"); 3751e728cef290 AKASHI Takahiro 2019-12-16 102 goto out_err; 3751e728cef290 AKASHI Takahiro 2019-12-16 103 } 3751e728cef290 AKASHI Takahiro 2019-12-16 104 3751e728cef290 AKASHI Takahiro 2019-12-16 105 kbuf.buffer = headers; 3751e728cef290 AKASHI Takahiro 2019-12-16 106 kbuf.bufsz = headers_sz; 3751e728cef290 AKASHI Takahiro 2019-12-16 107 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; 3751e728cef290 AKASHI Takahiro 2019-12-16 108 kbuf.memsz = headers_sz; 3751e728cef290 AKASHI Takahiro 2019-12-16 109 kbuf.buf_align = SZ_64K; /* largest supported page size */ 3751e728cef290 AKASHI Takahiro 2019-12-16 110 kbuf.buf_max = ULONG_MAX; 3751e728cef290 AKASHI Takahiro 2019-12-16 111 kbuf.top_down = true; 3751e728cef290 AKASHI Takahiro 2019-12-16 112 3751e728cef290 AKASHI Takahiro 2019-12-16 113 ret = kexec_add_buffer(&kbuf); 3751e728cef290 AKASHI Takahiro 2019-12-16 114 if (ret) { 3751e728cef290 AKASHI Takahiro 2019-12-16 115 vfree(headers); 3751e728cef290 AKASHI Takahiro 2019-12-16 116 goto out_err; 3751e728cef290 AKASHI Takahiro 2019-12-16 117 } 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 118 image->elf_headers = headers; 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 119 image->elf_load_addr = kbuf.mem; 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 120 image->elf_headers_sz = headers_sz; 3751e728cef290 AKASHI Takahiro 2019-12-16 121 3751e728cef290 AKASHI Takahiro 2019-12-16 122 pr_debug("Loaded elf core header at 0x%lx bufsz=0x%lx memsz=0x%lx\n", 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 123 image->elf_load_addr, kbuf.bufsz, kbuf.memsz); 3751e728cef290 AKASHI Takahiro 2019-12-16 124 } 3751e728cef290 AKASHI Takahiro 2019-12-16 125 52b2a8af743604 AKASHI Takahiro 2018-11-15 126 /* load initrd */ 52b2a8af743604 AKASHI Takahiro 2018-11-15 127 if (initrd) { 52b2a8af743604 AKASHI Takahiro 2018-11-15 128 kbuf.buffer = initrd; 52b2a8af743604 AKASHI Takahiro 2018-11-15 129 kbuf.bufsz = initrd_len; c19d050f808812 Bhupesh Sharma 2019-07-11 130 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; 52b2a8af743604 AKASHI Takahiro 2018-11-15 131 kbuf.memsz = initrd_len; 52b2a8af743604 AKASHI Takahiro 2018-11-15 132 kbuf.buf_align = 0; 52b2a8af743604 AKASHI Takahiro 2018-11-15 133 /* within 1GB-aligned window of up to 32GB in size */ 52b2a8af743604 AKASHI Takahiro 2018-11-15 134 kbuf.buf_max = round_down(kernel_load_addr, SZ_1G) 52b2a8af743604 AKASHI Takahiro 2018-11-15 135 + (unsigned long)SZ_1G * 32; 52b2a8af743604 AKASHI Takahiro 2018-11-15 136 kbuf.top_down = false; 52b2a8af743604 AKASHI Takahiro 2018-11-15 137 52b2a8af743604 AKASHI Takahiro 2018-11-15 138 ret = kexec_add_buffer(&kbuf); 52b2a8af743604 AKASHI Takahiro 2018-11-15 139 if (ret) 52b2a8af743604 AKASHI Takahiro 2018-11-15 140 goto out_err; 52b2a8af743604 AKASHI Takahiro 2018-11-15 141 initrd_load_addr = kbuf.mem; 52b2a8af743604 AKASHI Takahiro 2018-11-15 142 52b2a8af743604 AKASHI Takahiro 2018-11-15 143 pr_debug("Loaded initrd at 0x%lx bufsz=0x%lx memsz=0x%lx\n", 51075e0cb759a7 Ɓukasz Stelmach 2020-04-30 144 initrd_load_addr, kbuf.bufsz, kbuf.memsz); 52b2a8af743604 AKASHI Takahiro 2018-11-15 145 } 52b2a8af743604 AKASHI Takahiro 2018-11-15 146 52b2a8af743604 AKASHI Takahiro 2018-11-15 147 /* load dtb */ ac10be5cdbfa85 Rob Herring 2021-02-21 148 dtb = of_kexec_alloc_and_setup_fdt(image, initrd_load_addr, ac10be5cdbfa85 Rob Herring 2021-02-21 149 initrd_len, cmdline, 0); ac10be5cdbfa85 Rob Herring 2021-02-21 150 if (!dtb) { 52b2a8af743604 AKASHI Takahiro 2018-11-15 151 pr_err("Preparing for new dtb failed\n"); 52b2a8af743604 AKASHI Takahiro 2018-11-15 @152 goto out_err; ^^^^^^^^^^^^^ Set the error code here? (The kbuild bot chopped of the rest of the function. :P) --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============9011503463805858725==" MIME-Version: 1.0 From: kernel test robot Subject: arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: missing error code 'ret' Date: Sat, 03 Jul 2021 10:05:48 +0800 Message-ID: <202107031042.9GeZ0EQ9-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============9011503463805858725== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org CC: linux-kernel(a)vger.kernel.org TO: Rob Herring CC: Lakshmi Ramasubramanian CC: Thiago Jung Bauermann tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: d6b63b5b7d7f363c6a54421533791e9849adf2e0 commit: ac10be5cdbfa852139658d52c2f1c608782ce992 arm64: Use common of_kexec= _alloc_and_setup_fdt() date: 4 months ago :::::: branch date: 4 hours ago :::::: commit date: 4 months ago config: arm64-randconfig-m031-20210702 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: miss= ing error code 'ret' vim +/ret +152 arch/arm64/kernel/machine_kexec_file.c 3751e728cef290 AKASHI Takahiro 2019-12-16 75 = 108aa503657ee2 Benjamin Gwin 2020-11-03 76 /* 108aa503657ee2 Benjamin Gwin 2020-11-03 77 * Tries to add the= initrd and DTB to the image. If it is not possible to find 108aa503657ee2 Benjamin Gwin 2020-11-03 78 * valid locations,= this function will undo changes to the image and return non 108aa503657ee2 Benjamin Gwin 2020-11-03 79 * zero. 108aa503657ee2 Benjamin Gwin 2020-11-03 80 */ 52b2a8af743604 AKASHI Takahiro 2018-11-15 81 int load_other_segm= ents(struct kimage *image, 52b2a8af743604 AKASHI Takahiro 2018-11-15 82 unsigned long ke= rnel_load_addr, 52b2a8af743604 AKASHI Takahiro 2018-11-15 83 unsigned long ke= rnel_size, 52b2a8af743604 AKASHI Takahiro 2018-11-15 84 char *initrd, un= signed long initrd_len, 52b2a8af743604 AKASHI Takahiro 2018-11-15 85 char *cmdline) 52b2a8af743604 AKASHI Takahiro 2018-11-15 86 { 52b2a8af743604 AKASHI Takahiro 2018-11-15 87 struct kexec_buf k= buf; 3751e728cef290 AKASHI Takahiro 2019-12-16 88 void *headers, *dt= b =3D NULL; 108aa503657ee2 Benjamin Gwin 2020-11-03 89 unsigned long head= ers_sz, initrd_load_addr =3D 0, dtb_len, 108aa503657ee2 Benjamin Gwin 2020-11-03 90 orig_segmen= ts =3D image->nr_segments; 52b2a8af743604 AKASHI Takahiro 2018-11-15 91 int ret =3D 0; 52b2a8af743604 AKASHI Takahiro 2018-11-15 92 = 52b2a8af743604 AKASHI Takahiro 2018-11-15 93 kbuf.image =3D ima= ge; 52b2a8af743604 AKASHI Takahiro 2018-11-15 94 /* not allocate an= ything below the kernel */ 52b2a8af743604 AKASHI Takahiro 2018-11-15 95 kbuf.buf_min =3D k= ernel_load_addr + kernel_size; 52b2a8af743604 AKASHI Takahiro 2018-11-15 96 = 3751e728cef290 AKASHI Takahiro 2019-12-16 97 /* load elf core h= eader */ 3751e728cef290 AKASHI Takahiro 2019-12-16 98 if (image->type = =3D=3D KEXEC_TYPE_CRASH) { 3751e728cef290 AKASHI Takahiro 2019-12-16 99 ret =3D prepare_e= lf_headers(&headers, &headers_sz); 3751e728cef290 AKASHI Takahiro 2019-12-16 100 if (ret) { 3751e728cef290 AKASHI Takahiro 2019-12-16 101 pr_err("Preparin= g elf core header failed\n"); 3751e728cef290 AKASHI Takahiro 2019-12-16 102 goto out_err; 3751e728cef290 AKASHI Takahiro 2019-12-16 103 } 3751e728cef290 AKASHI Takahiro 2019-12-16 104 = 3751e728cef290 AKASHI Takahiro 2019-12-16 105 kbuf.buffer =3D h= eaders; 3751e728cef290 AKASHI Takahiro 2019-12-16 106 kbuf.bufsz =3D he= aders_sz; 3751e728cef290 AKASHI Takahiro 2019-12-16 107 kbuf.mem =3D KEXE= C_BUF_MEM_UNKNOWN; 3751e728cef290 AKASHI Takahiro 2019-12-16 108 kbuf.memsz =3D he= aders_sz; 3751e728cef290 AKASHI Takahiro 2019-12-16 109 kbuf.buf_align = =3D SZ_64K; /* largest supported page size */ 3751e728cef290 AKASHI Takahiro 2019-12-16 110 kbuf.buf_max =3D = ULONG_MAX; 3751e728cef290 AKASHI Takahiro 2019-12-16 111 kbuf.top_down =3D= true; 3751e728cef290 AKASHI Takahiro 2019-12-16 112 = 3751e728cef290 AKASHI Takahiro 2019-12-16 113 ret =3D kexec_add= _buffer(&kbuf); 3751e728cef290 AKASHI Takahiro 2019-12-16 114 if (ret) { 3751e728cef290 AKASHI Takahiro 2019-12-16 115 vfree(headers); 3751e728cef290 AKASHI Takahiro 2019-12-16 116 goto out_err; 3751e728cef290 AKASHI Takahiro 2019-12-16 117 } 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 118 image->elf_header= s =3D headers; 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 119 image->elf_load_a= ddr =3D kbuf.mem; 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 120 image->elf_header= s_sz =3D headers_sz; 3751e728cef290 AKASHI Takahiro 2019-12-16 121 = 3751e728cef290 AKASHI Takahiro 2019-12-16 122 pr_debug("Loaded = elf core header at 0x%lx bufsz=3D0x%lx memsz=3D0x%lx\n", 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 123 image->elf_load= _addr, kbuf.bufsz, kbuf.memsz); 3751e728cef290 AKASHI Takahiro 2019-12-16 124 } 3751e728cef290 AKASHI Takahiro 2019-12-16 125 = 52b2a8af743604 AKASHI Takahiro 2018-11-15 126 /* load initrd */ 52b2a8af743604 AKASHI Takahiro 2018-11-15 127 if (initrd) { 52b2a8af743604 AKASHI Takahiro 2018-11-15 128 kbuf.buffer =3D i= nitrd; 52b2a8af743604 AKASHI Takahiro 2018-11-15 129 kbuf.bufsz =3D in= itrd_len; c19d050f808812 Bhupesh Sharma 2019-07-11 130 kbuf.mem =3D KEXE= C_BUF_MEM_UNKNOWN; 52b2a8af743604 AKASHI Takahiro 2018-11-15 131 kbuf.memsz =3D in= itrd_len; 52b2a8af743604 AKASHI Takahiro 2018-11-15 132 kbuf.buf_align = =3D 0; 52b2a8af743604 AKASHI Takahiro 2018-11-15 133 /* within 1GB-ali= gned window of up to 32GB in size */ 52b2a8af743604 AKASHI Takahiro 2018-11-15 134 kbuf.buf_max =3D = round_down(kernel_load_addr, SZ_1G) 52b2a8af743604 AKASHI Takahiro 2018-11-15 135 + (unsigned l= ong)SZ_1G * 32; 52b2a8af743604 AKASHI Takahiro 2018-11-15 136 kbuf.top_down =3D= false; 52b2a8af743604 AKASHI Takahiro 2018-11-15 137 = 52b2a8af743604 AKASHI Takahiro 2018-11-15 138 ret =3D kexec_add= _buffer(&kbuf); 52b2a8af743604 AKASHI Takahiro 2018-11-15 139 if (ret) 52b2a8af743604 AKASHI Takahiro 2018-11-15 140 goto out_err; 52b2a8af743604 AKASHI Takahiro 2018-11-15 141 initrd_load_addr = =3D kbuf.mem; 52b2a8af743604 AKASHI Takahiro 2018-11-15 142 = 52b2a8af743604 AKASHI Takahiro 2018-11-15 143 pr_debug("Loaded = initrd at 0x%lx bufsz=3D0x%lx memsz=3D0x%lx\n", 51075e0cb759a7 =C5=81ukasz Stelmach 2020-04-30 144 initrd_loa= d_addr, kbuf.bufsz, kbuf.memsz); 52b2a8af743604 AKASHI Takahiro 2018-11-15 145 } 52b2a8af743604 AKASHI Takahiro 2018-11-15 146 = 52b2a8af743604 AKASHI Takahiro 2018-11-15 147 /* load dtb */ ac10be5cdbfa85 Rob Herring 2021-02-21 148 dtb =3D of_kexec_a= lloc_and_setup_fdt(image, initrd_load_addr, ac10be5cdbfa85 Rob Herring 2021-02-21 149 initrd_len,= cmdline, 0); ac10be5cdbfa85 Rob Herring 2021-02-21 150 if (!dtb) { 52b2a8af743604 AKASHI Takahiro 2018-11-15 151 pr_err("Preparing= for new dtb failed\n"); 52b2a8af743604 AKASHI Takahiro 2018-11-15 @152 goto out_err; :::::: The code at line 152 was first introduced by commit :::::: 52b2a8af7436044cfcb27e4b0f72c2ce1f3890da arm64: kexec_file: load ini= trd and device-tree :::::: TO: AKASHI Takahiro :::::: CC: Will Deacon --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============9011503463805858725== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============9011503463805858725==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============6753713376454835578==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: missing error code 'ret' Date: Sat, 03 Jul 2021 16:01:24 +0300 Message-ID: <202107031042.9GeZ0EQ9-lkp@intel.com> List-Id: --===============6753713376454835578== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: d6b63b5b7d7f363c6a54421533791e9849adf2e0 commit: ac10be5cdbfa852139658d52c2f1c608782ce992 arm64: Use common of_kexec= _alloc_and_setup_fdt() config: arm64-randconfig-m031-20210702 (attached as .config) compiler: aarch64-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: arch/arm64/kernel/machine_kexec_file.c:152 load_other_segments() warn: miss= ing error code 'ret' vim +/ret +152 arch/arm64/kernel/machine_kexec_file.c 52b2a8af743604 AKASHI Takahiro 2018-11-15 81 int load_other_segm= ents(struct kimage *image, 52b2a8af743604 AKASHI Takahiro 2018-11-15 82 unsigned long ke= rnel_load_addr, 52b2a8af743604 AKASHI Takahiro 2018-11-15 83 unsigned long ke= rnel_size, 52b2a8af743604 AKASHI Takahiro 2018-11-15 84 char *initrd, un= signed long initrd_len, 52b2a8af743604 AKASHI Takahiro 2018-11-15 85 char *cmdline) 52b2a8af743604 AKASHI Takahiro 2018-11-15 86 { 52b2a8af743604 AKASHI Takahiro 2018-11-15 87 struct kexec_buf k= buf; 3751e728cef290 AKASHI Takahiro 2019-12-16 88 void *headers, *dt= b =3D NULL; 108aa503657ee2 Benjamin Gwin 2020-11-03 89 unsigned long head= ers_sz, initrd_load_addr =3D 0, dtb_len, 108aa503657ee2 Benjamin Gwin 2020-11-03 90 orig_segmen= ts =3D image->nr_segments; 52b2a8af743604 AKASHI Takahiro 2018-11-15 91 int ret =3D 0; 52b2a8af743604 AKASHI Takahiro 2018-11-15 92 = 52b2a8af743604 AKASHI Takahiro 2018-11-15 93 kbuf.image =3D ima= ge; 52b2a8af743604 AKASHI Takahiro 2018-11-15 94 /* not allocate an= ything below the kernel */ 52b2a8af743604 AKASHI Takahiro 2018-11-15 95 kbuf.buf_min =3D k= ernel_load_addr + kernel_size; 52b2a8af743604 AKASHI Takahiro 2018-11-15 96 = 3751e728cef290 AKASHI Takahiro 2019-12-16 97 /* load elf core h= eader */ 3751e728cef290 AKASHI Takahiro 2019-12-16 98 if (image->type = =3D=3D KEXEC_TYPE_CRASH) { 3751e728cef290 AKASHI Takahiro 2019-12-16 99 ret =3D prepare_e= lf_headers(&headers, &headers_sz); 3751e728cef290 AKASHI Takahiro 2019-12-16 100 if (ret) { 3751e728cef290 AKASHI Takahiro 2019-12-16 101 pr_err("Preparin= g elf core header failed\n"); 3751e728cef290 AKASHI Takahiro 2019-12-16 102 goto out_err; 3751e728cef290 AKASHI Takahiro 2019-12-16 103 } 3751e728cef290 AKASHI Takahiro 2019-12-16 104 = 3751e728cef290 AKASHI Takahiro 2019-12-16 105 kbuf.buffer =3D h= eaders; 3751e728cef290 AKASHI Takahiro 2019-12-16 106 kbuf.bufsz =3D he= aders_sz; 3751e728cef290 AKASHI Takahiro 2019-12-16 107 kbuf.mem =3D KEXE= C_BUF_MEM_UNKNOWN; 3751e728cef290 AKASHI Takahiro 2019-12-16 108 kbuf.memsz =3D he= aders_sz; 3751e728cef290 AKASHI Takahiro 2019-12-16 109 kbuf.buf_align = =3D SZ_64K; /* largest supported page size */ 3751e728cef290 AKASHI Takahiro 2019-12-16 110 kbuf.buf_max =3D = ULONG_MAX; 3751e728cef290 AKASHI Takahiro 2019-12-16 111 kbuf.top_down =3D= true; 3751e728cef290 AKASHI Takahiro 2019-12-16 112 = 3751e728cef290 AKASHI Takahiro 2019-12-16 113 ret =3D kexec_add= _buffer(&kbuf); 3751e728cef290 AKASHI Takahiro 2019-12-16 114 if (ret) { 3751e728cef290 AKASHI Takahiro 2019-12-16 115 vfree(headers); 3751e728cef290 AKASHI Takahiro 2019-12-16 116 goto out_err; 3751e728cef290 AKASHI Takahiro 2019-12-16 117 } 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 118 image->elf_header= s =3D headers; 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 119 image->elf_load_a= ddr =3D kbuf.mem; 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 120 image->elf_header= s_sz =3D headers_sz; 3751e728cef290 AKASHI Takahiro 2019-12-16 121 = 3751e728cef290 AKASHI Takahiro 2019-12-16 122 pr_debug("Loaded = elf core header at 0x%lx bufsz=3D0x%lx memsz=3D0x%lx\n", 7b558cc3564e6c Lakshmi Ramasubramanian 2021-02-21 123 image->elf_load= _addr, kbuf.bufsz, kbuf.memsz); 3751e728cef290 AKASHI Takahiro 2019-12-16 124 } 3751e728cef290 AKASHI Takahiro 2019-12-16 125 = 52b2a8af743604 AKASHI Takahiro 2018-11-15 126 /* load initrd */ 52b2a8af743604 AKASHI Takahiro 2018-11-15 127 if (initrd) { 52b2a8af743604 AKASHI Takahiro 2018-11-15 128 kbuf.buffer =3D i= nitrd; 52b2a8af743604 AKASHI Takahiro 2018-11-15 129 kbuf.bufsz =3D in= itrd_len; c19d050f808812 Bhupesh Sharma 2019-07-11 130 kbuf.mem =3D KEXE= C_BUF_MEM_UNKNOWN; 52b2a8af743604 AKASHI Takahiro 2018-11-15 131 kbuf.memsz =3D in= itrd_len; 52b2a8af743604 AKASHI Takahiro 2018-11-15 132 kbuf.buf_align = =3D 0; 52b2a8af743604 AKASHI Takahiro 2018-11-15 133 /* within 1GB-ali= gned window of up to 32GB in size */ 52b2a8af743604 AKASHI Takahiro 2018-11-15 134 kbuf.buf_max =3D = round_down(kernel_load_addr, SZ_1G) 52b2a8af743604 AKASHI Takahiro 2018-11-15 135 + (unsigned l= ong)SZ_1G * 32; 52b2a8af743604 AKASHI Takahiro 2018-11-15 136 kbuf.top_down =3D= false; 52b2a8af743604 AKASHI Takahiro 2018-11-15 137 = 52b2a8af743604 AKASHI Takahiro 2018-11-15 138 ret =3D kexec_add= _buffer(&kbuf); 52b2a8af743604 AKASHI Takahiro 2018-11-15 139 if (ret) 52b2a8af743604 AKASHI Takahiro 2018-11-15 140 goto out_err; 52b2a8af743604 AKASHI Takahiro 2018-11-15 141 initrd_load_addr = =3D kbuf.mem; 52b2a8af743604 AKASHI Takahiro 2018-11-15 142 = 52b2a8af743604 AKASHI Takahiro 2018-11-15 143 pr_debug("Loaded = initrd at 0x%lx bufsz=3D0x%lx memsz=3D0x%lx\n", 51075e0cb759a7 =C5=81ukasz Stelmach 2020-04-30 144 initrd_loa= d_addr, kbuf.bufsz, kbuf.memsz); 52b2a8af743604 AKASHI Takahiro 2018-11-15 145 } 52b2a8af743604 AKASHI Takahiro 2018-11-15 146 = 52b2a8af743604 AKASHI Takahiro 2018-11-15 147 /* load dtb */ ac10be5cdbfa85 Rob Herring 2021-02-21 148 dtb =3D of_kexec_a= lloc_and_setup_fdt(image, initrd_load_addr, ac10be5cdbfa85 Rob Herring 2021-02-21 149 initrd_len,= cmdline, 0); ac10be5cdbfa85 Rob Herring 2021-02-21 150 if (!dtb) { 52b2a8af743604 AKASHI Takahiro 2018-11-15 151 pr_err("Preparing= for new dtb failed\n"); 52b2a8af743604 AKASHI Takahiro 2018-11-15 @152 goto out_err; ^^^= ^^^^^^^^^^ Set the error code here? (The kbuild bot chopped of the rest of the function. :P) --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============6753713376454835578==--