Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1248703ybl; Fri, 10 Jan 2020 14:57:41 -0800 (PST) X-Google-Smtp-Source: APXvYqwfOURzozia4ffgUau7aXOQJqGt3I5XZyoSKkT+WDxgHEF7psJVAVPP0Uqf0D4Ugw2mrwEY X-Received: by 2002:a9d:6e03:: with SMTP id e3mr4578571otr.46.1578697061623; Fri, 10 Jan 2020 14:57:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578697061; cv=none; d=google.com; s=arc-20160816; b=D+7tiPP7QpcY/2qBRrItVROib95KXicwx9WNsJ4IIVeGm4+oaGtIQ1vn3+dXM95DYe dHM1vCvZNDYWi0Y8eaKxhhwABtRiJ3clxaIsr/gx5Zz2IevCQpEfTzvPHxx5k25/lSGr tSzPx0iybHT94qcUqxo7x+hy/Xv2cupLupRSAmze2FrCf5oNTleagLXnXtSIoYT7w3Sn uqjcyhLRxqOBzLnp/VuCWVjOogX0eaxRb7zZl+xnYyqTxHfJDfAehM+gn33R5Km8m3fK MpeMDxKIykQAF9tyAjT4sbvZJWmCza7HKp8mS27GnPZpjafb75+TA/zyPahnkqpRC3E4 53bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:mime-version :message-id:date:dkim-signature; bh=O2TW+0xx2ydGA1JltCBO6ce0n6L32Sj6Px20PLkhi9o=; b=r7x9LD5qgTn0RnqRbSTjjj3Nm/3VwbCiNia+gg0H8Knw+fQY+fCcCm/B4LY6rkGHIT y/0Zzof1ALzX5bwldw4O39ePWfrtGQYVimWMeFsoyjvT1cwVraIrTaZWCsWG09Jui/3O j8SJ+NB8Dw0liu17EjzitkOYMAtezruvfmdzXE5qRZdWMicR+xIHbhgvVzNQfo/BVCL4 00/hnHYnhV+pTPybSi6QvEZY8Gvjp7/G5014DtjxCiedHRG3Uu+/lKd/CKmCnrfU08sK o4amV6Th2uid/rwpmJckfEQLG0GiIKACSSaLSMd3fZPwhDSrjpAg0O1qhccuZRk+ybOR zKDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=OwmYd2i2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l26si2104817oti.152.2020.01.10.14.57.29; Fri, 10 Jan 2020 14:57:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=OwmYd2i2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727442AbgAJW4f (ORCPT + 99 others); Fri, 10 Jan 2020 17:56:35 -0500 Received: from mail-pj1-f73.google.com ([209.85.216.73]:39095 "EHLO mail-pj1-f73.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726595AbgAJW4f (ORCPT ); Fri, 10 Jan 2020 17:56:35 -0500 Received: by mail-pj1-f73.google.com with SMTP id c67so2185703pje.4 for ; Fri, 10 Jan 2020 14:56:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=O2TW+0xx2ydGA1JltCBO6ce0n6L32Sj6Px20PLkhi9o=; b=OwmYd2i2dRcsQOzGMX3tDQQ0hHB4UIxx9Vv0kQnOJb2Hv/Wq/TYnahbvKrmgElmGla DS5xGmrUEO5PVg3TRf+OsGGAyPo9YVgOqPaxtAjlGTtaDJHRNhi/Qc7GnBR2xlKNkpyv p3Qv5arwkGTluXHf2fgQ3xFAiQgxdAH7eLAvy2PJ/ewqMhINKfNaa5Xfhz1tkzuFn60y Tc6H4/M35/7nuMnNbxfRgk4PAciApfI40ZoD+dZfi8Xm4j6gs6HgxIz6na5zJJvE4BbV 953T1GCA5Zduo6bRhpwx2SC+UUXSVXS2lsglJRsLoHuU+XGqW/f1LfHeLv3BaMRxSoDT tA8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=O2TW+0xx2ydGA1JltCBO6ce0n6L32Sj6Px20PLkhi9o=; b=NAWggXEUL1Bom5FaKPrahTgn4wv4DvJAeI2mw4JiUPTHl2CIAjo0XkLJeEGJBNq/l5 PEjBkDa4nSCZSZh3rqVTR7RY+yws5sPH/YKRQ9hpT8vwRNM4+pimLYhnnqn0z1vu5xim HVtgNaRYo3beJBlNSIOzMefCVz61QEbjNbEJvcL4+Z5OdgzaSN4XbnQunRlLKI81F4A0 TQEhovd8Uf7pnUeExuH74xWYtFvKbNcxg3RjTVNfXfuOLQOFilKNEgldAopmOuPoqKLg 94s6YXOrmtV9nUMdtGT1xcIwu+1Vm59RamN9W5fCr0o0Jo9L/r6e+kMa8Ggrohrz4yUb gDyQ== X-Gm-Message-State: APjAAAXMuURc/m7qfg+JqrOAR7+GNm+3s++6i8Vbo1ERQQPyZCzhVyIo PXMYJoO9ZLbUQ2nQA+ZEHILkLBOEsK1eAQr57go= X-Received: by 2002:a63:d108:: with SMTP id k8mr7129230pgg.434.1578696994476; Fri, 10 Jan 2020 14:56:34 -0800 (PST) Date: Fri, 10 Jan 2020 14:56:02 -0800 Message-Id: <20200110225602.91663-1-samitolvanen@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.25.0.rc1.283.g88dfdc4193-goog Subject: [PATCH] lib/list_sort: fix function type mismatches From: Sami Tolvanen To: Andrew Morton , Andrey Abramov , Rasmus Villemoes , Andy Shevchenko , George Spelvin , Mauro Carvalho Chehab , Kees Cook Cc: linux-kernel@vger.kernel.org, Sami Tolvanen Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Casting the comparison function to a different type trips indirect call Control-Flow Integrity (CFI) checking. Remove the additional consts from cmp_func, and the now unneeded casts. Fixes: 043b3f7b6388 ("lib/list_sort: simplify and remove MAX_LIST_LENGTH_BITS") Signed-off-by: Sami Tolvanen --- lib/list_sort.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/list_sort.c b/lib/list_sort.c index 52f0c258c895..b14accf4ef83 100644 --- a/lib/list_sort.c +++ b/lib/list_sort.c @@ -8,7 +8,7 @@ #include typedef int __attribute__((nonnull(2,3))) (*cmp_func)(void *, - struct list_head const *, struct list_head const *); + struct list_head *, struct list_head *); /* * Returns a list organized in an intermediate format suited @@ -227,7 +227,7 @@ void list_sort(void *priv, struct list_head *head, if (likely(bits)) { struct list_head *a = *tail, *b = a->prev; - a = merge(priv, (cmp_func)cmp, b, a); + a = merge(priv, cmp, b, a); /* Install the merged result in place of the inputs */ a->prev = b->prev; *tail = a; @@ -249,10 +249,10 @@ void list_sort(void *priv, struct list_head *head, if (!next) break; - list = merge(priv, (cmp_func)cmp, pending, list); + list = merge(priv, cmp, pending, list); pending = next; } /* The final merge, rebuilding prev links */ - merge_final(priv, (cmp_func)cmp, head, pending, list); + merge_final(priv, cmp, head, pending, list); } EXPORT_SYMBOL(list_sort); base-commit: ac61145a725ab0411c5f8ed9aeca6202076ecfd8 -- 2.25.0.rc1.283.g88dfdc4193-goog