All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: mahfouz.saif.elyazal@gmail.com
Cc: linux-media@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: re: staging: media: lirc: lirc_zilog.c: replace custom print macros with dev_* and pr_*
Date: Fri, 31 Oct 2014 16:06:00 +0300	[thread overview]
Message-ID: <20141031130600.GA16310@mwanda> (raw)

Hello Aya Mahfouz,

The patch be4aa8157c98: "staging: media: lirc: lirc_zilog.c: replace
custom print macros with dev_* and pr_*" from Oct 26, 2014, leads to
the following static checker warning:

	drivers/staging/media/lirc/lirc_zilog.c:1340 close()
	error: we previously assumed 'ir' could be null (see line 1339)

drivers/staging/media/lirc/lirc_zilog.c
  1333  /* Close the IR device */
  1334  static int close(struct inode *node, struct file *filep)
  1335  {
  1336          /* find our IR struct */
  1337          struct IR *ir = filep->private_data;
  1338  
  1339          if (ir == NULL) {
                    ^^^^^^^^^^
  1340                  dev_err(ir->l.dev, "close: no private_data attached to the file!\n");
                                ^^^^^^^^^

I suggest you just delete the error message.  Can "ir" actually be NULL
here anyway?

  1341                  return -ENODEV;
  1342          }
  1343  

	drivers/staging/media/lirc/lirc_zilog.c:1636 ir_probe()
	error: potential null dereference 'ir'.  (kzalloc returns null)

drivers/staging/media/lirc/lirc_zilog.c
  1614          dev_info(ir->l.dev, "IR unit on %s (i2c-%d) registered as lirc%d and ready\n",
  1615                     adap->name, adap->nr, ir->l.minor);
  1616  
  1617  out_ok:
  1618          if (rx != NULL)
  1619                  put_ir_rx(rx, true);
  1620          if (tx != NULL)
  1621                  put_ir_tx(tx, true);
  1622          put_ir_device(ir, true);
  1623          dev_info(ir->l.dev, "probe of IR %s on %s (i2c-%d) done\n",
  1624                     tx_probe ? "Tx" : "Rx", adap->name, adap->nr);
  1625          mutex_unlock(&ir_devices_lock);
  1626          return 0;
  1627  
  1628  out_put_xx:
  1629          if (rx != NULL)
  1630                  put_ir_rx(rx, true);
                        ^^^^^^^^^^^^^^^^^^^
Btw, I think this is a double free?  On some paths we call put_ir_rx()
before the goto out_put_xx;.

  1631          if (tx != NULL)
  1632                  put_ir_tx(tx, true);
  1633  out_put_ir:
  1634          put_ir_device(ir, true);
  1635  out_no_ir:
  1636          dev_err(ir->l.dev, "%s: probing IR %s on %s (i2c-%d) failed with %d\n",
                        ^^^^^^^^^
Null dereference.

  1637                      __func__, tx_probe ? "Tx" : "Rx", adap->name, adap->nr,
  1638                     ret);
  1639          mutex_unlock(&ir_devices_lock);
  1640          return ret;
  1641  }

regards,
dan carpenter

             reply	other threads:[~2014-10-31 13:06 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-31 13:06 Dan Carpenter [this message]
2014-10-31 14:26 ` staging: media: lirc: lirc_zilog.c: replace custom print macros with dev_* and pr_* Aya Mahfouz
2014-10-31 14:35   ` Dan Carpenter
2014-11-01 20:05     ` Aya Mahfouz
2014-11-06 12:46     ` Sean Young
2014-11-06 13:05       ` Mauro Carvalho Chehab
2014-11-06 13:21         ` Sean Young
     [not found]           ` <697D038C-4BD9-4113-8E7E-B89BACF09AC2@gmail.com>
2014-11-06 13:56             ` Andy Walls
2014-11-09 21:35               ` Sean Young
2014-11-17 14:59                 ` Mauro Carvalho Chehab
2014-11-20 12:38                   ` Sean Young

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141031130600.GA16310@mwanda \
    --to=dan.carpenter@oracle.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mahfouz.saif.elyazal@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.