All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH v2 2/2] pinctrl: pinmux: Add pinmux-select debugfs file
Date: Wed, 10 Feb 2021 23:29:26 +0800	[thread overview]
Message-ID: <202102102309.BWgHEziz-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 8264 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210210074946.155417-3-drew@beagleboard.org>
References: <20210210074946.155417-3-drew@beagleboard.org>
TO: Drew Fustini <drew@beagleboard.org>
TO: Linus Walleij <linus.walleij@linaro.org>
TO: linux-gpio(a)vger.kernel.org
TO: linux-kernel(a)vger.kernel.org
TO: Tony Lindgren <tony@atomide.com>
TO: Andy Shevchenko <andy.shevchenko@gmail.com>
TO: Alexandre Belloni <alexandre.belloni@bootlin.com>
TO: Geert Uytterhoeven <geert@linux-m68k.org>
TO: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
TO: Jason Kridner <jkridner@beagleboard.org>
TO: Robert Nelson <robertcnelson@beagleboard.org>

Hi Drew,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on pinctrl/devel]
[also build test WARNING on v5.11-rc7 next-20210125]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Drew-Fustini/pinctrl-pinmux-Add-pinmux-select-debugfs-file/20210210-160108
base:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
:::::: branch date: 7 hours ago
:::::: commit date: 7 hours ago
config: i386-randconfig-m021-20210209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/pinctrl/pinmux.c:762 pinmux_select() error: uninitialized symbol 'gname'.

vim +/gname +762 drivers/pinctrl/pinmux.c

2744e8afb3b763 Linus Walleij 2011-05-02  675  
99b2f99aa41aa7 Drew Fustini  2021-02-09  676  
99b2f99aa41aa7 Drew Fustini  2021-02-09  677  #define PINMUX_MAX_NAME 64
99b2f99aa41aa7 Drew Fustini  2021-02-09  678  static ssize_t pinmux_select(struct file *file, const char __user *user_buf,
99b2f99aa41aa7 Drew Fustini  2021-02-09  679  				   size_t len, loff_t *ppos)
99b2f99aa41aa7 Drew Fustini  2021-02-09  680  {
99b2f99aa41aa7 Drew Fustini  2021-02-09  681  	struct seq_file *sfile = file->private_data;
99b2f99aa41aa7 Drew Fustini  2021-02-09  682  	struct pinctrl_dev *pctldev = sfile->private;
99b2f99aa41aa7 Drew Fustini  2021-02-09  683  	const struct pinmux_ops *pmxops = pctldev->desc->pmxops;
99b2f99aa41aa7 Drew Fustini  2021-02-09  684  	const char *const *groups;
99b2f99aa41aa7 Drew Fustini  2021-02-09  685  	char *buf, *fname, *gname;
99b2f99aa41aa7 Drew Fustini  2021-02-09  686  	unsigned int num_groups;
99b2f99aa41aa7 Drew Fustini  2021-02-09  687  	int fsel, gsel, ret;
99b2f99aa41aa7 Drew Fustini  2021-02-09  688  
99b2f99aa41aa7 Drew Fustini  2021-02-09  689  	if (len > (PINMUX_MAX_NAME * 2)) {
99b2f99aa41aa7 Drew Fustini  2021-02-09  690  		dev_err(pctldev->dev, "write too big for buffer");
99b2f99aa41aa7 Drew Fustini  2021-02-09  691  		return -EINVAL;
99b2f99aa41aa7 Drew Fustini  2021-02-09  692  	}
99b2f99aa41aa7 Drew Fustini  2021-02-09  693  
99b2f99aa41aa7 Drew Fustini  2021-02-09  694  	buf = devm_kzalloc(pctldev->dev, PINMUX_MAX_NAME * 2, GFP_KERNEL);
99b2f99aa41aa7 Drew Fustini  2021-02-09  695  	if (!buf)
99b2f99aa41aa7 Drew Fustini  2021-02-09  696  		return -ENOMEM;
99b2f99aa41aa7 Drew Fustini  2021-02-09  697  
99b2f99aa41aa7 Drew Fustini  2021-02-09  698  	fname = devm_kzalloc(pctldev->dev, PINMUX_MAX_NAME, GFP_KERNEL);
99b2f99aa41aa7 Drew Fustini  2021-02-09  699  	if (!fname) {
99b2f99aa41aa7 Drew Fustini  2021-02-09  700  		ret = -ENOMEM;
99b2f99aa41aa7 Drew Fustini  2021-02-09  701  		goto free_buf;
99b2f99aa41aa7 Drew Fustini  2021-02-09  702  	}
99b2f99aa41aa7 Drew Fustini  2021-02-09  703  
99b2f99aa41aa7 Drew Fustini  2021-02-09  704  	gname = devm_kzalloc(pctldev->dev, PINMUX_MAX_NAME, GFP_KERNEL);
99b2f99aa41aa7 Drew Fustini  2021-02-09  705  	if (!buf) {
99b2f99aa41aa7 Drew Fustini  2021-02-09  706  		ret = -ENOMEM;
99b2f99aa41aa7 Drew Fustini  2021-02-09  707  		goto free_fname;
99b2f99aa41aa7 Drew Fustini  2021-02-09  708  	}
99b2f99aa41aa7 Drew Fustini  2021-02-09  709  
99b2f99aa41aa7 Drew Fustini  2021-02-09  710  	ret = strncpy_from_user(buf, user_buf, PINMUX_MAX_NAME * 2);
99b2f99aa41aa7 Drew Fustini  2021-02-09  711  	if (ret < 0) {
99b2f99aa41aa7 Drew Fustini  2021-02-09  712  		dev_err(pctldev->dev, "failed to copy buffer from userspace");
99b2f99aa41aa7 Drew Fustini  2021-02-09  713  		goto free_gname;
99b2f99aa41aa7 Drew Fustini  2021-02-09  714  	}
99b2f99aa41aa7 Drew Fustini  2021-02-09  715  	buf[len-1] = '\0';
99b2f99aa41aa7 Drew Fustini  2021-02-09  716  
99b2f99aa41aa7 Drew Fustini  2021-02-09  717  	ret = sscanf(buf, "%s %s", fname, gname);
99b2f99aa41aa7 Drew Fustini  2021-02-09  718  	if (ret != 2) {
99b2f99aa41aa7 Drew Fustini  2021-02-09  719  		dev_err(pctldev->dev, "expected format: <function-name> <group-name>");
99b2f99aa41aa7 Drew Fustini  2021-02-09  720  		goto free_gname;
99b2f99aa41aa7 Drew Fustini  2021-02-09  721  	}
99b2f99aa41aa7 Drew Fustini  2021-02-09  722  
99b2f99aa41aa7 Drew Fustini  2021-02-09  723  	fsel = pinmux_func_name_to_selector(pctldev, fname);
99b2f99aa41aa7 Drew Fustini  2021-02-09  724  	if (fsel < 0) {
99b2f99aa41aa7 Drew Fustini  2021-02-09  725  		dev_err(pctldev->dev, "invalid function %s in map table\n", fname);
99b2f99aa41aa7 Drew Fustini  2021-02-09  726  		ret = -EINVAL;
99b2f99aa41aa7 Drew Fustini  2021-02-09  727  		goto free_gname;
99b2f99aa41aa7 Drew Fustini  2021-02-09  728  	}
99b2f99aa41aa7 Drew Fustini  2021-02-09  729  
99b2f99aa41aa7 Drew Fustini  2021-02-09  730  	ret = pmxops->get_function_groups(pctldev, fsel, &groups, &num_groups);
99b2f99aa41aa7 Drew Fustini  2021-02-09  731  	if (ret) {
99b2f99aa41aa7 Drew Fustini  2021-02-09  732  		dev_err(pctldev->dev, "no groups for function %d (%s)", fsel, fname);
99b2f99aa41aa7 Drew Fustini  2021-02-09  733  		goto free_gname;
99b2f99aa41aa7 Drew Fustini  2021-02-09  734  
99b2f99aa41aa7 Drew Fustini  2021-02-09  735  	}
99b2f99aa41aa7 Drew Fustini  2021-02-09  736  
99b2f99aa41aa7 Drew Fustini  2021-02-09  737  	ret = match_string(groups, num_groups, gname);
99b2f99aa41aa7 Drew Fustini  2021-02-09  738  	if (ret < 0) {
99b2f99aa41aa7 Drew Fustini  2021-02-09  739  		dev_err(pctldev->dev, "invalid group %s", gname);
99b2f99aa41aa7 Drew Fustini  2021-02-09  740  		goto free_gname;
99b2f99aa41aa7 Drew Fustini  2021-02-09  741  	}
99b2f99aa41aa7 Drew Fustini  2021-02-09  742  
99b2f99aa41aa7 Drew Fustini  2021-02-09  743  	ret = pinctrl_get_group_selector(pctldev, gname);
99b2f99aa41aa7 Drew Fustini  2021-02-09  744  	if (ret < 0) {
99b2f99aa41aa7 Drew Fustini  2021-02-09  745  		dev_err(pctldev->dev, "failed to get group selectorL %s", gname);
99b2f99aa41aa7 Drew Fustini  2021-02-09  746  		goto free_gname;
99b2f99aa41aa7 Drew Fustini  2021-02-09  747  	}
99b2f99aa41aa7 Drew Fustini  2021-02-09  748  	gsel = ret;
99b2f99aa41aa7 Drew Fustini  2021-02-09  749  
99b2f99aa41aa7 Drew Fustini  2021-02-09  750  	ret = pmxops->set_mux(pctldev, fsel, gsel);
99b2f99aa41aa7 Drew Fustini  2021-02-09  751  	if (ret) {
99b2f99aa41aa7 Drew Fustini  2021-02-09  752  		dev_err(pctldev->dev, "set_mux() failed: %d", ret);
99b2f99aa41aa7 Drew Fustini  2021-02-09  753  		goto free_gname;
99b2f99aa41aa7 Drew Fustini  2021-02-09  754  	}
99b2f99aa41aa7 Drew Fustini  2021-02-09  755  
99b2f99aa41aa7 Drew Fustini  2021-02-09  756  	return len;
99b2f99aa41aa7 Drew Fustini  2021-02-09  757  free_buf:
99b2f99aa41aa7 Drew Fustini  2021-02-09  758  	devm_kfree(pctldev->dev, buf);
99b2f99aa41aa7 Drew Fustini  2021-02-09  759  free_fname:
99b2f99aa41aa7 Drew Fustini  2021-02-09  760  	devm_kfree(pctldev->dev, fname);
99b2f99aa41aa7 Drew Fustini  2021-02-09  761  free_gname:
99b2f99aa41aa7 Drew Fustini  2021-02-09 @762  	devm_kfree(pctldev->dev, gname);
99b2f99aa41aa7 Drew Fustini  2021-02-09  763  	return ret;
99b2f99aa41aa7 Drew Fustini  2021-02-09  764  }
99b2f99aa41aa7 Drew Fustini  2021-02-09  765  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 37152 bytes --]

             reply	other threads:[~2021-02-10 15:29 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-10 15:29 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-02-10  7:49 [PATCH v2 0/2] pinctrl: pinmux: Add pinmux-select debugfs file Drew Fustini
2021-02-10  7:49 ` [PATCH v2 2/2] " Drew Fustini
2021-02-10  8:35   ` Geert Uytterhoeven
2021-02-10  9:56   ` Andy Shevchenko
2021-02-10 17:31     ` Drew Fustini
2021-02-10 18:20   ` Dan Carpenter
2021-02-10 18:20     ` Dan Carpenter
2021-02-10 18:20     ` Dan Carpenter
2021-02-10 18:39     ` Geert Uytterhoeven
2021-02-10 18:39       ` Geert Uytterhoeven
2021-02-10 19:05       ` Dan Carpenter
2021-02-10 19:05         ` Dan Carpenter
2021-02-10 19:05         ` Dan Carpenter
2021-02-10 19:14         ` Drew Fustini
2021-02-10 19:04     ` Drew Fustini
2021-02-10 20:33       ` Dan Carpenter
2021-02-10 20:33         ` Dan Carpenter
2021-02-10 20:33         ` Dan Carpenter

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=202102102309.BWgHEziz-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /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.