From patchwork Fri Jun 27 07:59:13 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julia Lawall X-Patchwork-Id: 4433771 X-Patchwork-Delegate: jikos@jikos.cz Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 903349F73E for ; Fri, 27 Jun 2014 07:59:39 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A809120377 for ; Fri, 27 Jun 2014 07:59:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 98A5720351 for ; Fri, 27 Jun 2014 07:59:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753205AbaF0H7U (ORCPT ); Fri, 27 Jun 2014 03:59:20 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:49769 "EHLO mail3-relais-sop.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753108AbaF0H7R (ORCPT ); Fri, 27 Jun 2014 03:59:17 -0400 X-IronPort-AV: E=Sophos;i="5.01,559,1400018400"; d="scan'208";a="69156841" Received: from vaio-julia.rsr.lip6.fr ([132.227.76.33]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 27 Jun 2014 09:59:15 +0200 Date: Fri, 27 Jun 2014 09:59:13 +0200 (CEST) From: Julia Lawall X-X-Sender: jll@hadrien To: Joe Perches cc: Himangi Saraogi , Stefan Achatz , Jiri Kosina , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] HID: roccat: Drop cast In-Reply-To: <1403848366.7977.92.camel@joe-AO725> Message-ID: References: <20140626172852.GA2878@himangi-Dell> <1403804286.7977.58.camel@joe-AO725> <1403848366.7977.92.camel@joe-AO725> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Thu, 26 Jun 2014, Joe Perches wrote: > On Fri, 2014-06-27 at 07:29 +0200, Julia Lawall wrote: > > On Thu, 26 Jun 2014, Joe Perches wrote: > > > The cast of a const void * to a void * was odd. > > > > > > Maybe a mechanism to verify appropriateness of > > > loss of constness for any pointer might be useful. > > > > I tried the following, but didn't find anything interesting: > > > > @disable drop_cast@ > > type T; > > const T e; > > @@ > > > > * (T)e > > What code does this match? > Do you have an example match? > > This doesn't find a cast of a void type like: > > void func(const void * const p) > { > char *p2 = p; > > p2[0] = 1; > } The results are below. Except in the first case, none are pointer types. The first case looks very intentional, although if the intention is needed, perhaps the types should be listed differently. I was surprised not to get more results. Maybe there is not enough type information. I did use --all-includes but not --recursive-includes, ie only explicitly mentioned include files are taken into account. My rule doesn't consider implicit casts like in your example. I can try that. julia --- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff -u -p /var/linuxes/linux-next/lib/devres.c /tmp/nothing/lib/devres.c --- /var/linuxes/linux-next/lib/devres.c +++ /tmp/nothing/lib/devres.c @@ -296,7 +296,6 @@ void __iomem *pcim_iomap(struct pci_dev BUG_ON(bar >= PCIM_IOMAP_MAX); - tbl = (void __iomem **)pcim_iomap_table(pdev); if (!tbl || tbl[bar]) /* duplicate mappings not allowed */ return NULL; @@ -319,7 +318,6 @@ void pcim_iounmap(struct pci_dev *pdev, pci_iounmap(pdev, addr); - tbl = (void __iomem **)pcim_iomap_table(pdev); BUG_ON(!tbl); for (i = 0; i < PCIM_IOMAP_MAX; i++) diff -u -p /var/linuxes/linux-next/drivers/video/fbdev/smscufx.c /tmp/nothing/drivers/video/fbdev/smscufx.c --- /var/linuxes/linux-next/drivers/video/fbdev/smscufx.c +++ /tmp/nothing/drivers/video/fbdev/smscufx.c @@ -976,7 +976,6 @@ static void ufx_dpy_deferred_io(struct f const int width = dev->info->var.xres; const int y = (cur->index << PAGE_SHIFT) / (width * 2); int height = (PAGE_SIZE / (width * 2)) + 1; - height = min(height, (int)(dev->info->var.yres - y)); BUG_ON(y >= dev->info->var.yres); BUG_ON((y + height) > dev->info->var.yres); diff -u -p /var/linuxes/linux-next/drivers/mtd/chips/jedec_probe.c /tmp/nothing/drivers/mtd/chips/jedec_probe.c --- /var/linuxes/linux-next/drivers/mtd/chips/jedec_probe.c +++ /tmp/nothing/drivers/mtd/chips/jedec_probe.c @@ -2027,11 +2027,8 @@ static inline int jedec_match( uint32_t } break; case CFI_DEVICETYPE_X16: - mfr = (uint16_t)finfo->mfr_id; - id = (uint16_t)finfo->dev_id; break; case CFI_DEVICETYPE_X32: - mfr = (uint16_t)finfo->mfr_id; id = (uint32_t)finfo->dev_id; break; default: diff -u -p /var/linuxes/linux-next/drivers/net/wireless/libertas/defs.h /tmp/nothing/drivers/net/wireless/libertas/defs.h --- /var/linuxes/linux-next/drivers/net/wireless/libertas/defs.h +++ /tmp/nothing/drivers/net/wireless/libertas/defs.h @@ -105,7 +105,6 @@ static inline void lbs_deb_hex(unsigned printk("\n"); printk(DRV_NAME " %s: ", prompt); } - printk("%02x ", (u8) * buf); buf++; } printk("\n"); diff -u -p /var/linuxes/linux-next/drivers/media/i2c/tvp5150.c /tmp/nothing/drivers/media/i2c/tvp5150.c --- /var/linuxes/linux-next/drivers/media/i2c/tvp5150.c +++ /tmp/nothing/drivers/media/i2c/tvp5150.c @@ -95,7 +95,6 @@ static void dump_reg_range(struct v4l2_s { int i = 0; - while (init != (u8)(end + 1)) { if ((i % max_line) == 0) { if (i > 0) printk("\n"); diff -u -p /var/linuxes/linux-next/net/netfilter/ipvs/ip_vs_sync.c /tmp/nothing/net/netfilter/ipvs/ip_vs_sync.c --- /var/linuxes/linux-next/net/netfilter/ipvs/ip_vs_sync.c +++ /tmp/nothing/net/netfilter/ipvs/ip_vs_sync.c @@ -1543,7 +1543,6 @@ ip_vs_send_async(struct socket *sock, co iov.iov_base = (void *)buffer; iov.iov_len = length; - len = kernel_sendmsg(sock, &msg, &iov, 1, (size_t)(length)); LeaveFunction(7); return len; @@ -1575,7 +1574,6 @@ ip_vs_receive(struct socket *sock, char /* Receive a packet */ iov.iov_base = buffer; - iov.iov_len = (size_t)buflen; len = kernel_recvmsg(sock, &msg, &iov, 1, buflen, MSG_DONTWAIT); diff -u -p /var/linuxes/linux-next/net/ipv4/tcp_output.c /tmp/nothing/net/ipv4/tcp_output.c --- /var/linuxes/linux-next/net/ipv4/tcp_output.c +++ /tmp/nothing/net/ipv4/tcp_output.c @@ -177,7 +177,6 @@ static void tcp_event_data_sent(struct t /* If it is a reply for ato after last received * packet, enter pingpong mode. */ - if ((u32)(now - icsk->icsk_ack.lrcvtime) < icsk->icsk_ack.ato && (!dst || !dst_metric(dst, RTAX_QUICKACK))) icsk->icsk_ack.pingpong = 1; }