drivers/mailbox/imx-mailbox.c:217 imx_mu_scu_rx() error: double unlocked 'priv->xcr_lock' (orig line 198)
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Peng Fan <peng.fan(a)nxp.com>
CC: Jassi Brar <jaswinder.singh(a)linaro.org>
CC: Oleksij Rempel <o.rempel(a)pengutronix.de>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f8456690ba8eb18ea4714e68554e242a04f65cff
commit: 0a67003b1985c79811160af1b01aca07cd5fbc53 mailbox: imx: add SCU MU support
date: 4 months ago
:::::: branch date: 14 hours ago
:::::: commit date: 4 months ago
config: openrisc-randconfig-m031-20200716 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/mailbox/imx-mailbox.c:217 imx_mu_scu_rx() error: double unlocked 'priv->xcr_lock' (orig line 198)
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 0a67003b1985c79811160af1b01aca07cd5fbc53
vim +217 drivers/mailbox/imx-mailbox.c
0a67003b1985c7 Peng Fan 2020-03-19 189
0a67003b1985c7 Peng Fan 2020-03-19 190 static int imx_mu_scu_rx(struct imx_mu_priv *priv,
0a67003b1985c7 Peng Fan 2020-03-19 191 struct imx_mu_con_priv *cp)
0a67003b1985c7 Peng Fan 2020-03-19 192 {
0a67003b1985c7 Peng Fan 2020-03-19 193 struct imx_sc_rpc_msg_max msg;
0a67003b1985c7 Peng Fan 2020-03-19 194 u32 *data = (u32 *)&msg;
0a67003b1985c7 Peng Fan 2020-03-19 195 int i, ret;
0a67003b1985c7 Peng Fan 2020-03-19 196 u32 xsr;
0a67003b1985c7 Peng Fan 2020-03-19 197
0a67003b1985c7 Peng Fan 2020-03-19 @198 imx_mu_xcr_rmw(priv, 0, IMX_MU_xCR_RIEn(0));
0a67003b1985c7 Peng Fan 2020-03-19 199 *data++ = imx_mu_read(priv, priv->dcfg->xRR[0]);
0a67003b1985c7 Peng Fan 2020-03-19 200
0a67003b1985c7 Peng Fan 2020-03-19 201 if (msg.hdr.size > sizeof(msg)) {
0a67003b1985c7 Peng Fan 2020-03-19 202 dev_err(priv->dev, "Exceed max msg size (%zu) on RX, got: %i\n",
0a67003b1985c7 Peng Fan 2020-03-19 203 sizeof(msg), msg.hdr.size);
0a67003b1985c7 Peng Fan 2020-03-19 204 return -EINVAL;
0a67003b1985c7 Peng Fan 2020-03-19 205 }
0a67003b1985c7 Peng Fan 2020-03-19 206
0a67003b1985c7 Peng Fan 2020-03-19 207 for (i = 1; i < msg.hdr.size; i++) {
0a67003b1985c7 Peng Fan 2020-03-19 208 ret = readl_poll_timeout(priv->base + priv->dcfg->xSR, xsr,
0a67003b1985c7 Peng Fan 2020-03-19 209 xsr & IMX_MU_xSR_RFn(i % 4), 0, 100);
0a67003b1985c7 Peng Fan 2020-03-19 210 if (ret) {
0a67003b1985c7 Peng Fan 2020-03-19 211 dev_err(priv->dev, "timeout read idx %d\n", i);
0a67003b1985c7 Peng Fan 2020-03-19 212 return ret;
0a67003b1985c7 Peng Fan 2020-03-19 213 }
0a67003b1985c7 Peng Fan 2020-03-19 214 *data++ = imx_mu_read(priv, priv->dcfg->xRR[i % 4]);
0a67003b1985c7 Peng Fan 2020-03-19 215 }
0a67003b1985c7 Peng Fan 2020-03-19 216
0a67003b1985c7 Peng Fan 2020-03-19 @217 imx_mu_xcr_rmw(priv, IMX_MU_xCR_RIEn(0), 0);
0a67003b1985c7 Peng Fan 2020-03-19 218 mbox_chan_received_data(cp->chan, (void *)&msg);
0a67003b1985c7 Peng Fan 2020-03-19 219
0a67003b1985c7 Peng Fan 2020-03-19 220 return 0;
0a67003b1985c7 Peng Fan 2020-03-19 221 }
0a67003b1985c7 Peng Fan 2020-03-19 222
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
drivers/i2c/busses/i2c-at91-master.c:841 at91_init_twi_recovery_gpio() warn: passing zero to 'PTR_ERR'
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Codrin Ciubotariu <codrin.ciubotariu(a)microchip.com>
CC: Wolfram Sang <wsa-dev(a)sang-engineering.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f8456690ba8eb18ea4714e68554e242a04f65cff
commit: 73371d5f313aa056a451f84b652623da6054f89b i2c: at91: Send bus clear command if SDA is down
date: 2 months ago
:::::: branch date: 13 hours ago
:::::: commit date: 2 months ago
config: xtensa-randconfig-m031-20200716 (attached as .config)
compiler: xtensa-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/i2c/busses/i2c-at91-master.c:841 at91_init_twi_recovery_gpio() warn: passing zero to 'PTR_ERR'
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 73371d5f313aa056a451f84b652623da6054f89b
vim +/PTR_ERR +841 drivers/i2c/busses/i2c-at91-master.c
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 832
73371d5f313aa0 Codrin Ciubotariu 2020-02-25 833 static int at91_init_twi_recovery_gpio(struct platform_device *pdev,
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 834 struct at91_twi_dev *dev)
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 835 {
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 836 struct i2c_bus_recovery_info *rinfo = &dev->rinfo;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 837
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 838 dev->pinctrl = devm_pinctrl_get(&pdev->dev);
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 839 if (!dev->pinctrl || IS_ERR(dev->pinctrl)) {
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 840 dev_info(dev->dev, "can't get pinctrl, bus recovery not supported\n");
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 @841 return PTR_ERR(dev->pinctrl);
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 842 }
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 843
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 844 dev->pinctrl_pins_default = pinctrl_lookup_state(dev->pinctrl,
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 845 PINCTRL_STATE_DEFAULT);
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 846 dev->pinctrl_pins_gpio = pinctrl_lookup_state(dev->pinctrl,
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 847 "gpio");
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 848 rinfo->sda_gpiod = devm_gpiod_get(&pdev->dev, "sda", GPIOD_IN);
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 849 if (PTR_ERR(rinfo->sda_gpiod) == -EPROBE_DEFER)
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 850 return -EPROBE_DEFER;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 851
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 852 rinfo->scl_gpiod = devm_gpiod_get(&pdev->dev, "scl",
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 853 GPIOD_OUT_HIGH_OPEN_DRAIN);
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 854 if (PTR_ERR(rinfo->scl_gpiod) == -EPROBE_DEFER)
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 855 return -EPROBE_DEFER;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 856
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 857 if (IS_ERR(rinfo->sda_gpiod) ||
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 858 IS_ERR(rinfo->scl_gpiod) ||
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 859 IS_ERR(dev->pinctrl_pins_default) ||
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 860 IS_ERR(dev->pinctrl_pins_gpio)) {
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 861 dev_info(&pdev->dev, "recovery information incomplete\n");
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 862 if (!IS_ERR(rinfo->sda_gpiod)) {
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 863 gpiod_put(rinfo->sda_gpiod);
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 864 rinfo->sda_gpiod = NULL;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 865 }
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 866 if (!IS_ERR(rinfo->scl_gpiod)) {
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 867 gpiod_put(rinfo->scl_gpiod);
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 868 rinfo->scl_gpiod = NULL;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 869 }
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 870 return -EINVAL;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 871 }
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 872
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 873 dev_info(&pdev->dev, "using scl, sda for recovery\n");
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 874
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 875 rinfo->prepare_recovery = at91_prepare_twi_recovery;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 876 rinfo->unprepare_recovery = at91_unprepare_twi_recovery;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 877 rinfo->recover_bus = i2c_generic_scl_recovery;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 878 dev->adapter.bus_recovery_info = rinfo;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 879
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 880 return 0;
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 881 }
d3d3fdcc4c90fe Kamel Bouhara 2020-01-15 882
:::::: The code at line 841 was first introduced by commit
:::::: d3d3fdcc4c90fed42b400999721a5b535a310533 i2c: at91: implement i2c bus recovery
:::::: TO: Kamel Bouhara <kamel.bouhara(a)bootlin.com>
:::::: CC: Wolfram Sang <wsa(a)the-dreams.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[linux-next:master 5808/8581] arch/x86/kvm/svm/sev.c:369 sev_pin_memory() warn: passing zero to 'ERR_PTR'
by kernel test robot
CC: kbuild-all(a)lists.01.org
TO: Paolo Bonzini <pbonzini(a)redhat.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 4c43049f19a280329c1d01699f3cc8ad6910cbbe
commit: a8d908b5873cad212b0f74569f5a23b804e694ce [5808/8581] KVM: x86: report sev_pin_memory errors with PTR_ERR
:::::: branch date: 5 hours ago
:::::: commit date: 8 days ago
config: x86_64-randconfig-m001-20200716 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
arch/x86/kvm/svm/sev.c:369 sev_pin_memory() warn: passing zero to 'ERR_PTR'
Old smatch warnings:
arch/x86/kvm/svm/sev.c:988 svm_register_enc_region() warn: impossible condition '(range->addr > (~0)) => (0-u64max > u64max)'
arch/x86/kvm/svm/sev.c:988 svm_register_enc_region() warn: impossible condition '(range->size > (~0)) => (0-u64max > u64max)'
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git remote update linux-next
git checkout a8d908b5873cad212b0f74569f5a23b804e694ce
vim +/ERR_PTR +369 arch/x86/kvm/svm/sev.c
eaf78265a4ab339 Joerg Roedel 2020-03-24 310
eaf78265a4ab339 Joerg Roedel 2020-03-24 311 static struct page **sev_pin_memory(struct kvm *kvm, unsigned long uaddr,
eaf78265a4ab339 Joerg Roedel 2020-03-24 312 unsigned long ulen, unsigned long *n,
eaf78265a4ab339 Joerg Roedel 2020-03-24 313 int write)
eaf78265a4ab339 Joerg Roedel 2020-03-24 314 {
eaf78265a4ab339 Joerg Roedel 2020-03-24 315 struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info;
78824fabc72e5e3 John Hubbard 2020-05-25 316 unsigned long npages, size;
78824fabc72e5e3 John Hubbard 2020-05-25 317 int npinned;
eaf78265a4ab339 Joerg Roedel 2020-03-24 318 unsigned long locked, lock_limit;
eaf78265a4ab339 Joerg Roedel 2020-03-24 319 struct page **pages;
eaf78265a4ab339 Joerg Roedel 2020-03-24 320 unsigned long first, last;
eaf78265a4ab339 Joerg Roedel 2020-03-24 321
eaf78265a4ab339 Joerg Roedel 2020-03-24 322 if (ulen == 0 || uaddr + ulen < uaddr)
a8d908b5873cad2 Paolo Bonzini 2020-06-23 323 return ERR_PTR(-EINVAL);
eaf78265a4ab339 Joerg Roedel 2020-03-24 324
eaf78265a4ab339 Joerg Roedel 2020-03-24 325 /* Calculate number of pages. */
eaf78265a4ab339 Joerg Roedel 2020-03-24 326 first = (uaddr & PAGE_MASK) >> PAGE_SHIFT;
eaf78265a4ab339 Joerg Roedel 2020-03-24 327 last = ((uaddr + ulen - 1) & PAGE_MASK) >> PAGE_SHIFT;
eaf78265a4ab339 Joerg Roedel 2020-03-24 328 npages = (last - first + 1);
eaf78265a4ab339 Joerg Roedel 2020-03-24 329
eaf78265a4ab339 Joerg Roedel 2020-03-24 330 locked = sev->pages_locked + npages;
eaf78265a4ab339 Joerg Roedel 2020-03-24 331 lock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT;
eaf78265a4ab339 Joerg Roedel 2020-03-24 332 if (locked > lock_limit && !capable(CAP_IPC_LOCK)) {
eaf78265a4ab339 Joerg Roedel 2020-03-24 333 pr_err("SEV: %lu locked pages exceed the lock limit of %lu.\n", locked, lock_limit);
a8d908b5873cad2 Paolo Bonzini 2020-06-23 334 return ERR_PTR(-ENOMEM);
eaf78265a4ab339 Joerg Roedel 2020-03-24 335 }
eaf78265a4ab339 Joerg Roedel 2020-03-24 336
78824fabc72e5e3 John Hubbard 2020-05-25 337 if (WARN_ON_ONCE(npages > INT_MAX))
a8d908b5873cad2 Paolo Bonzini 2020-06-23 338 return ERR_PTR(-EINVAL);
78824fabc72e5e3 John Hubbard 2020-05-25 339
eaf78265a4ab339 Joerg Roedel 2020-03-24 340 /* Avoid using vmalloc for smaller buffers. */
eaf78265a4ab339 Joerg Roedel 2020-03-24 341 size = npages * sizeof(struct page *);
eaf78265a4ab339 Joerg Roedel 2020-03-24 342 if (size > PAGE_SIZE)
88dca4ca5a93d2c Christoph Hellwig 2020-06-01 343 pages = __vmalloc(size, GFP_KERNEL_ACCOUNT | __GFP_ZERO);
eaf78265a4ab339 Joerg Roedel 2020-03-24 344 else
eaf78265a4ab339 Joerg Roedel 2020-03-24 345 pages = kmalloc(size, GFP_KERNEL_ACCOUNT);
eaf78265a4ab339 Joerg Roedel 2020-03-24 346
eaf78265a4ab339 Joerg Roedel 2020-03-24 347 if (!pages)
a8d908b5873cad2 Paolo Bonzini 2020-06-23 348 return ERR_PTR(-ENOMEM);
eaf78265a4ab339 Joerg Roedel 2020-03-24 349
eaf78265a4ab339 Joerg Roedel 2020-03-24 350 /* Pin the user virtual address. */
dc42c8ae0a77623 John Hubbard 2020-05-25 351 npinned = pin_user_pages_fast(uaddr, npages, write ? FOLL_WRITE : 0, pages);
eaf78265a4ab339 Joerg Roedel 2020-03-24 352 if (npinned != npages) {
eaf78265a4ab339 Joerg Roedel 2020-03-24 353 pr_err("SEV: Failure locking %lu pages.\n", npages);
eaf78265a4ab339 Joerg Roedel 2020-03-24 354 goto err;
eaf78265a4ab339 Joerg Roedel 2020-03-24 355 }
eaf78265a4ab339 Joerg Roedel 2020-03-24 356
eaf78265a4ab339 Joerg Roedel 2020-03-24 357 *n = npages;
eaf78265a4ab339 Joerg Roedel 2020-03-24 358 sev->pages_locked = locked;
eaf78265a4ab339 Joerg Roedel 2020-03-24 359
eaf78265a4ab339 Joerg Roedel 2020-03-24 360 return pages;
eaf78265a4ab339 Joerg Roedel 2020-03-24 361
eaf78265a4ab339 Joerg Roedel 2020-03-24 362 err:
a8d908b5873cad2 Paolo Bonzini 2020-06-23 363 if (npinned > 0) {
dc42c8ae0a77623 John Hubbard 2020-05-25 364 unpin_user_pages(pages, npinned);
a8d908b5873cad2 Paolo Bonzini 2020-06-23 365 npinned = -ENOMEM;
a8d908b5873cad2 Paolo Bonzini 2020-06-23 366 }
eaf78265a4ab339 Joerg Roedel 2020-03-24 367
eaf78265a4ab339 Joerg Roedel 2020-03-24 368 kvfree(pages);
a8d908b5873cad2 Paolo Bonzini 2020-06-23 @369 return ERR_PTR(npinned);
eaf78265a4ab339 Joerg Roedel 2020-03-24 370 }
eaf78265a4ab339 Joerg Roedel 2020-03-24 371
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[chrome-os:chromeos-5.4 64/71] drivers/gpu/drm/drm_dp_helper.c:1295 drm_dp_get_edid_quirks() warn: we never enter this loop
by kernel test robot
CC: kbuild-all(a)lists.01.org
TO: cros-kernel-buildreports(a)googlegroups.com
TO: Guenter Roeck <groeck(a)google.com>
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 5e1df3aa3a56e2423836034028e6d4eb3867491c
commit: 125c33517b95919082894a61e3b95ebdbf565203 [64/71] BACKPORT: drm/dp: Introduce EDID-based quirks
:::::: branch date: 61 minutes ago
:::::: commit date: 3 hours ago
config: x86_64-randconfig-m001-20200716 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/gpu/drm/drm_dp_helper.c:1295 drm_dp_get_edid_quirks() warn: we never enter this loop
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git remote update chrome-os
git checkout 125c33517b95919082894a61e3b95ebdbf565203
vim +1295 drivers/gpu/drm/drm_dp_helper.c
125c33517b9591 Lyude Paul 2020-02-11 1270
125c33517b9591 Lyude Paul 2020-02-11 1271 /**
125c33517b9591 Lyude Paul 2020-02-11 1272 * drm_dp_get_edid_quirks() - Check the EDID of a DP device to find additional
125c33517b9591 Lyude Paul 2020-02-11 1273 * DP-specific quirks
125c33517b9591 Lyude Paul 2020-02-11 1274 * @edid: The EDID to check
125c33517b9591 Lyude Paul 2020-02-11 1275 *
125c33517b9591 Lyude Paul 2020-02-11 1276 * While OUIDs are meant to be used to recognize a DisplayPort device, a lot
125c33517b9591 Lyude Paul 2020-02-11 1277 * of manufacturers don't seem to like following standards and neglect to fill
125c33517b9591 Lyude Paul 2020-02-11 1278 * the dev-ID in, making it impossible to only use OUIDs for determining
125c33517b9591 Lyude Paul 2020-02-11 1279 * quirks in some cases. This function can be used to check the EDID and look
125c33517b9591 Lyude Paul 2020-02-11 1280 * up any additional DP quirks. The bits returned by this function correspond
125c33517b9591 Lyude Paul 2020-02-11 1281 * to the quirk bits in &drm_dp_quirk.
125c33517b9591 Lyude Paul 2020-02-11 1282 *
125c33517b9591 Lyude Paul 2020-02-11 1283 * Returns: a bitmask of quirks, if any. The driver can check this using
125c33517b9591 Lyude Paul 2020-02-11 1284 * drm_dp_has_quirk().
125c33517b9591 Lyude Paul 2020-02-11 1285 */
125c33517b9591 Lyude Paul 2020-02-11 1286 u32 drm_dp_get_edid_quirks(const struct edid *edid)
125c33517b9591 Lyude Paul 2020-02-11 1287 {
125c33517b9591 Lyude Paul 2020-02-11 1288 const struct edid_quirk *quirk;
125c33517b9591 Lyude Paul 2020-02-11 1289 u32 quirks = 0;
125c33517b9591 Lyude Paul 2020-02-11 1290 int i;
125c33517b9591 Lyude Paul 2020-02-11 1291
125c33517b9591 Lyude Paul 2020-02-11 1292 if (!edid)
125c33517b9591 Lyude Paul 2020-02-11 1293 return 0;
125c33517b9591 Lyude Paul 2020-02-11 1294
125c33517b9591 Lyude Paul 2020-02-11 @1295 for (i = 0; i < ARRAY_SIZE(edid_quirk_list); i++) {
125c33517b9591 Lyude Paul 2020-02-11 1296 quirk = &edid_quirk_list[i];
125c33517b9591 Lyude Paul 2020-02-11 1297 if (memcmp(quirk->mfg_id, edid->mfg_id,
125c33517b9591 Lyude Paul 2020-02-11 1298 sizeof(edid->mfg_id)) == 0 &&
125c33517b9591 Lyude Paul 2020-02-11 1299 memcmp(quirk->prod_id, edid->prod_code,
125c33517b9591 Lyude Paul 2020-02-11 1300 sizeof(edid->prod_code)) == 0)
125c33517b9591 Lyude Paul 2020-02-11 1301 quirks |= quirk->quirks;
125c33517b9591 Lyude Paul 2020-02-11 1302 }
125c33517b9591 Lyude Paul 2020-02-11 1303
125c33517b9591 Lyude Paul 2020-02-11 1304 DRM_DEBUG_KMS("DP sink: EDID mfg %*phD prod-ID %*phD quirks: 0x%04x\n",
125c33517b9591 Lyude Paul 2020-02-11 1305 (int)sizeof(edid->mfg_id), edid->mfg_id,
125c33517b9591 Lyude Paul 2020-02-11 1306 (int)sizeof(edid->prod_code), edid->prod_code, quirks);
125c33517b9591 Lyude Paul 2020-02-11 1307
125c33517b9591 Lyude Paul 2020-02-11 1308 return quirks;
125c33517b9591 Lyude Paul 2020-02-11 1309 }
125c33517b9591 Lyude Paul 2020-02-11 1310 EXPORT_SYMBOL(drm_dp_get_edid_quirks);
125c33517b9591 Lyude Paul 2020-02-11 1311
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[chrome-os:chromeos-4.4 7/7] sound/pci/hda/hda_intel.c:898 azx_suspend() warn: bitwise AND condition is false here
by kernel test robot
CC: kbuild-all(a)lists.01.org
TO: cros-kernel-buildreports(a)googlegroups.com
TO: Guenter Roeck <groeck(a)google.com>
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4
head: 7ed4548c895b66a65dd7ea4e6ab155ac9802f257
commit: 7ed4548c895b66a65dd7ea4e6ab155ac9802f257 [7/7] UPSTREAM: ALSA: hda - Don't try to bind i915 unless CONFIG_SND_HDA_I915 is set
:::::: branch date: 7 hours ago
:::::: commit date: 7 hours ago
config: i386-randconfig-m021-20200716 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
sound/pci/hda/hda_intel.c:898 azx_suspend() warn: bitwise AND condition is false here
sound/pci/hda/hda_intel.c:921 azx_resume() warn: bitwise AND condition is false here
Old smatch warnings:
sound/pci/hda/hda_intel.c:551 hda_intel_init_chip() warn: bitwise AND condition is false here
sound/pci/hda/hda_intel.c:564 hda_intel_init_chip() warn: bitwise AND condition is false here
sound/pci/hda/hda_intel.c:992 azx_runtime_suspend() warn: bitwise AND condition is false here
sound/pci/hda/hda_intel.c:1020 azx_runtime_resume() warn: bitwise AND condition is false here
sound/pci/hda/hda_intel.c:1252 azx_free() warn: bitwise AND condition is false here
sound/pci/hda/hda_intel.c:1751 azx_first_init() warn: bitwise AND condition is false here
sound/pci/hda/hda_intel.c:2060 azx_probe_continue() warn: bitwise AND condition is false here
sound/pci/hda/hda_intel.c:2145 azx_probe_continue() warn: bitwise AND condition is false here
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git remote update chrome-os
git checkout 7ed4548c895b66a65dd7ea4e6ab155ac9802f257
vim +898 sound/pci/hda/hda_intel.c
5c0b9bec460c34 Takashi Iwai 2008-12-11 866
7ccbde57ce312f Takashi Iwai 2012-08-14 867 #if defined(CONFIG_PM_SLEEP) || defined(SUPPORT_VGA_SWITCHEROO)
5c0b9bec460c34 Takashi Iwai 2008-12-11 868 /*
5c0b9bec460c34 Takashi Iwai 2008-12-11 869 * power management
5c0b9bec460c34 Takashi Iwai 2008-12-11 870 */
68cb2b55927885 Takashi Iwai 2012-07-02 871 static int azx_suspend(struct device *dev)
^1da177e4c3f41 Linus Torvalds 2005-04-16 872 {
68cb2b55927885 Takashi Iwai 2012-07-02 873 struct snd_card *card = dev_get_drvdata(dev);
2d9772ef653ccf Takashi Iwai 2014-07-16 874 struct azx *chip;
2d9772ef653ccf Takashi Iwai 2014-07-16 875 struct hda_intel *hda;
a41d122449bea3 Takashi Iwai 2015-04-14 876 struct hdac_bus *bus;
^1da177e4c3f41 Linus Torvalds 2005-04-16 877
2d9772ef653ccf Takashi Iwai 2014-07-16 878 if (!card)
2d9772ef653ccf Takashi Iwai 2014-07-16 879 return 0;
2d9772ef653ccf Takashi Iwai 2014-07-16 880
2d9772ef653ccf Takashi Iwai 2014-07-16 881 chip = card->private_data;
2d9772ef653ccf Takashi Iwai 2014-07-16 882 hda = container_of(chip, struct hda_intel, chip);
342e84490574cb U. Artie Eoff 2015-07-28 883 if (chip->disabled || hda->init_failed || !chip->running)
c5c215232dfb71 Takashi Iwai 2012-12-04 884 return 0;
c5c215232dfb71 Takashi Iwai 2012-12-04 885
a41d122449bea3 Takashi Iwai 2015-04-14 886 bus = azx_bus(chip);
421a12520d4ed4 Takashi Iwai 2005-11-17 887 snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
9ad593f6d326e7 Takashi Iwai 2008-05-16 888 azx_clear_irq_pending(chip);
cb53c626e1145e Takashi Iwai 2007-08-10 889 azx_stop_chip(chip);
7295b26438ec01 Mengdong Lin 2013-06-25 890 azx_enter_link_reset(chip);
a41d122449bea3 Takashi Iwai 2015-04-14 891 if (bus->irq >= 0) {
a41d122449bea3 Takashi Iwai 2015-04-14 892 free_irq(bus->irq, chip);
a41d122449bea3 Takashi Iwai 2015-04-14 893 bus->irq = -1;
30b35399ceb239 Takashi Iwai 2006-10-11 894 }
a07187c992be94 Mengdong Lin 2014-06-26 895
68e7fffc0f3e95 Takashi Iwai 2006-10-23 896 if (chip->msi)
43001c9515cf87 Takashi Iwai 2006-09-08 897 pci_disable_msi(chip->pci);
795614dde4d355 Mengdong Lin 2015-04-29 @898 if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL
795614dde4d355 Mengdong Lin 2015-04-29 899 && hda->need_i915_power)
98d8fc6c5d3652 Mengdong Lin 2015-05-19 900 snd_hdac_display_power(bus, false);
785d8c4be82b45 Libin Yang 2015-05-12 901
785d8c4be82b45 Libin Yang 2015-05-12 902 trace_azx_suspend(chip);
^1da177e4c3f41 Linus Torvalds 2005-04-16 903 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 904 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 905
68cb2b55927885 Takashi Iwai 2012-07-02 906 static int azx_resume(struct device *dev)
^1da177e4c3f41 Linus Torvalds 2005-04-16 907 {
68cb2b55927885 Takashi Iwai 2012-07-02 908 struct pci_dev *pci = to_pci_dev(dev);
68cb2b55927885 Takashi Iwai 2012-07-02 909 struct snd_card *card = dev_get_drvdata(dev);
2d9772ef653ccf Takashi Iwai 2014-07-16 910 struct azx *chip;
2d9772ef653ccf Takashi Iwai 2014-07-16 911 struct hda_intel *hda;
2d9772ef653ccf Takashi Iwai 2014-07-16 912
2d9772ef653ccf Takashi Iwai 2014-07-16 913 if (!card)
2d9772ef653ccf Takashi Iwai 2014-07-16 914 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 915
2d9772ef653ccf Takashi Iwai 2014-07-16 916 chip = card->private_data;
2d9772ef653ccf Takashi Iwai 2014-07-16 917 hda = container_of(chip, struct hda_intel, chip);
342e84490574cb U. Artie Eoff 2015-07-28 918 if (chip->disabled || hda->init_failed || !chip->running)
c5c215232dfb71 Takashi Iwai 2012-12-04 919 return 0;
c5c215232dfb71 Takashi Iwai 2012-12-04 920
795614dde4d355 Mengdong Lin 2015-04-29 @921 if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL
795614dde4d355 Mengdong Lin 2015-04-29 922 && hda->need_i915_power) {
98d8fc6c5d3652 Mengdong Lin 2015-05-19 923 snd_hdac_display_power(azx_bus(chip), true);
9550b38208efb2 Takashi Iwai 2016-04-21 924 snd_hdac_i915_set_bclk(azx_bus(chip));
a07187c992be94 Mengdong Lin 2014-06-26 925 }
68e7fffc0f3e95 Takashi Iwai 2006-10-23 926 if (chip->msi)
68e7fffc0f3e95 Takashi Iwai 2006-10-23 927 if (pci_enable_msi(pci) < 0)
68e7fffc0f3e95 Takashi Iwai 2006-10-23 928 chip->msi = 0;
68e7fffc0f3e95 Takashi Iwai 2006-10-23 929 if (azx_acquire_irq(chip, 1) < 0)
30b35399ceb239 Takashi Iwai 2006-10-11 930 return -EIO;
cb53c626e1145e Takashi Iwai 2007-08-10 931 azx_init_pci(chip);
d804ad9258c146 Maxim Levitsky 2007-09-03 932
0a67352153505f Lu, Han 2015-05-05 933 hda_intel_init_chip(chip, true);
d804ad9258c146 Maxim Levitsky 2007-09-03 934
421a12520d4ed4 Takashi Iwai 2005-11-17 935 snd_power_change_state(card, SNDRV_CTL_POWER_D0);
785d8c4be82b45 Libin Yang 2015-05-12 936
785d8c4be82b45 Libin Yang 2015-05-12 937 trace_azx_resume(chip);
^1da177e4c3f41 Linus Torvalds 2005-04-16 938 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 939 }
b8dfc4624162c0 Mengdong Lin 2012-08-23 940 #endif /* CONFIG_PM_SLEEP || SUPPORT_VGA_SWITCHEROO */
b8dfc4624162c0 Mengdong Lin 2012-08-23 941
:::::: The code at line 898 was first introduced by commit
:::::: 795614dde4d3550c3ef72469b1ba4d09d8635202 ALSA: hda - divide controller and codec dependency on i915 gfx power well
:::::: TO: Mengdong Lin <mengdong.lin(a)intel.com>
:::::: CC: Takashi Iwai <tiwai(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
Re: [PATCH bpf-next v2 3/6] bpf: support attaching freplace programs to multiple attach points
by Dan Carpenter
Hi Toke,
url: https://github.com/0day-ci/linux/commits/Toke-H-iland-J-rgensen/bpf-Suppo...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: x86_64-randconfig-m001-20200715 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
kernel/bpf/verifier.c:10900 bpf_check_attach_target() error: we previously assumed 'tgt_prog' could be null (see line 10772)
Old smatch warnings:
include/linux/bpf_verifier.h:351 bpf_verifier_log_needed() error: we previously assumed 'log' could be null (see line 350)
# https://github.com/0day-ci/linux/commit/cc8571ec751a3a6065838e0b15105f8be...
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout cc8571ec751a3a6065838e0b15105f8be0ced6fe
vim +/tgt_prog +10900 kernel/bpf/verifier.c
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10734 int bpf_check_attach_target(struct bpf_verifier_log *log,
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10735 const struct bpf_prog *prog,
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10736 const struct bpf_prog *tgt_prog,
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10737 u32 btf_id,
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10738 struct btf_func_model *fmodel,
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10739 long *tgt_addr,
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10740 const char **tgt_name,
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10741 const struct btf_type **tgt_type)
38207291604401 Martin KaFai Lau 2019-10-24 10742 {
be8704ff07d237 Alexei Starovoitov 2020-01-20 10743 bool prog_extension = prog->type == BPF_PROG_TYPE_EXT;
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10744 const char prefix[] = "btf_trace_";
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10745 int ret = 0, subprog = -1, i;
38207291604401 Martin KaFai Lau 2019-10-24 10746 const struct btf_type *t;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10747 bool conservative = true;
38207291604401 Martin KaFai Lau 2019-10-24 10748 const char *tname;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10749 struct btf *btf;
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10750 long addr = 0;
38207291604401 Martin KaFai Lau 2019-10-24 10751
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10752 if (!btf_id) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10753 bpf_log(log, "Tracing programs must provide btf_id\n");
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10754 return -EINVAL;
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10755 }
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10756 btf = bpf_prog_get_target_btf(prog);
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10757 if (!btf) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10758 bpf_log(log,
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10759 "FENTRY/FEXIT program can only be attached to another program annotated with BTF\n");
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10760 return -EINVAL;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10761 }
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10762 t = btf_type_by_id(btf, btf_id);
38207291604401 Martin KaFai Lau 2019-10-24 10763 if (!t) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10764 bpf_log(log, "attach_btf_id %u is invalid\n", btf_id);
38207291604401 Martin KaFai Lau 2019-10-24 10765 return -EINVAL;
38207291604401 Martin KaFai Lau 2019-10-24 10766 }
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10767 tname = btf_name_by_offset(btf, t->name_off);
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10768 if (!tname) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10769 bpf_log(log, "attach_btf_id %u doesn't have a name\n", btf_id);
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10770 return -EINVAL;
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10771 }
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 @10772 if (tgt_prog) {
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10773 struct bpf_prog_aux *aux = tgt_prog->aux;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10774
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10775 for (i = 0; i < aux->func_info_cnt; i++)
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10776 if (aux->func_info[i].type_id == btf_id) {
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10777 subprog = i;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10778 break;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10779 }
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10780 if (subprog == -1) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10781 bpf_log(log, "Subprog %s doesn't exist\n", tname);
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10782 return -EINVAL;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10783 }
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10784 conservative = aux->func_info_aux[subprog].unreliable;
be8704ff07d237 Alexei Starovoitov 2020-01-20 10785 if (prog_extension) {
be8704ff07d237 Alexei Starovoitov 2020-01-20 10786 if (conservative) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10787 bpf_log(log,
be8704ff07d237 Alexei Starovoitov 2020-01-20 10788 "Cannot replace static functions\n");
be8704ff07d237 Alexei Starovoitov 2020-01-20 10789 return -EINVAL;
be8704ff07d237 Alexei Starovoitov 2020-01-20 10790 }
be8704ff07d237 Alexei Starovoitov 2020-01-20 10791 if (!prog->jit_requested) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10792 bpf_log(log,
be8704ff07d237 Alexei Starovoitov 2020-01-20 10793 "Extension programs should be JITed\n");
be8704ff07d237 Alexei Starovoitov 2020-01-20 10794 return -EINVAL;
be8704ff07d237 Alexei Starovoitov 2020-01-20 10795 }
be8704ff07d237 Alexei Starovoitov 2020-01-20 10796 }
be8704ff07d237 Alexei Starovoitov 2020-01-20 10797 if (!tgt_prog->jited) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10798 bpf_log(log, "Can attach to only JITed progs\n");
be8704ff07d237 Alexei Starovoitov 2020-01-20 10799 return -EINVAL;
be8704ff07d237 Alexei Starovoitov 2020-01-20 10800 }
be8704ff07d237 Alexei Starovoitov 2020-01-20 10801 if (tgt_prog->type == prog->type) {
be8704ff07d237 Alexei Starovoitov 2020-01-20 10802 /* Cannot fentry/fexit another fentry/fexit program.
be8704ff07d237 Alexei Starovoitov 2020-01-20 10803 * Cannot attach program extension to another extension.
be8704ff07d237 Alexei Starovoitov 2020-01-20 10804 * It's ok to attach fentry/fexit to extension program.
be8704ff07d237 Alexei Starovoitov 2020-01-20 10805 */
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10806 bpf_log(log, "Cannot recursively attach\n");
be8704ff07d237 Alexei Starovoitov 2020-01-20 10807 return -EINVAL;
be8704ff07d237 Alexei Starovoitov 2020-01-20 10808 }
be8704ff07d237 Alexei Starovoitov 2020-01-20 10809 if (tgt_prog->type == BPF_PROG_TYPE_TRACING &&
be8704ff07d237 Alexei Starovoitov 2020-01-20 10810 prog_extension &&
be8704ff07d237 Alexei Starovoitov 2020-01-20 10811 (tgt_prog->expected_attach_type == BPF_TRACE_FENTRY ||
be8704ff07d237 Alexei Starovoitov 2020-01-20 10812 tgt_prog->expected_attach_type == BPF_TRACE_FEXIT)) {
be8704ff07d237 Alexei Starovoitov 2020-01-20 10813 /* Program extensions can extend all program types
be8704ff07d237 Alexei Starovoitov 2020-01-20 10814 * except fentry/fexit. The reason is the following.
be8704ff07d237 Alexei Starovoitov 2020-01-20 10815 * The fentry/fexit programs are used for performance
be8704ff07d237 Alexei Starovoitov 2020-01-20 10816 * analysis, stats and can be attached to any program
be8704ff07d237 Alexei Starovoitov 2020-01-20 10817 * type except themselves. When extension program is
be8704ff07d237 Alexei Starovoitov 2020-01-20 10818 * replacing XDP function it is necessary to allow
be8704ff07d237 Alexei Starovoitov 2020-01-20 10819 * performance analysis of all functions. Both original
be8704ff07d237 Alexei Starovoitov 2020-01-20 10820 * XDP program and its program extension. Hence
be8704ff07d237 Alexei Starovoitov 2020-01-20 10821 * attaching fentry/fexit to BPF_PROG_TYPE_EXT is
be8704ff07d237 Alexei Starovoitov 2020-01-20 10822 * allowed. If extending of fentry/fexit was allowed it
be8704ff07d237 Alexei Starovoitov 2020-01-20 10823 * would be possible to create long call chain
be8704ff07d237 Alexei Starovoitov 2020-01-20 10824 * fentry->extension->fentry->extension beyond
be8704ff07d237 Alexei Starovoitov 2020-01-20 10825 * reasonable stack size. Hence extending fentry is not
be8704ff07d237 Alexei Starovoitov 2020-01-20 10826 * allowed.
be8704ff07d237 Alexei Starovoitov 2020-01-20 10827 */
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10828 bpf_log(log, "Cannot extend fentry/fexit\n");
be8704ff07d237 Alexei Starovoitov 2020-01-20 10829 return -EINVAL;
be8704ff07d237 Alexei Starovoitov 2020-01-20 10830 }
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10831 } else {
be8704ff07d237 Alexei Starovoitov 2020-01-20 10832 if (prog_extension) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10833 bpf_log(log, "Cannot replace kernel functions\n");
be8704ff07d237 Alexei Starovoitov 2020-01-20 10834 return -EINVAL;
be8704ff07d237 Alexei Starovoitov 2020-01-20 10835 }
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10836 }
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10837
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10838 switch (prog->expected_attach_type) {
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10839 case BPF_TRACE_RAW_TP:
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10840 if (tgt_prog) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10841 bpf_log(log,
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10842 "Only FENTRY/FEXIT progs are attachable to another BPF prog\n");
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10843 return -EINVAL;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10844 }
38207291604401 Martin KaFai Lau 2019-10-24 10845 if (!btf_type_is_typedef(t)) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10846 bpf_log(log, "attach_btf_id %u is not a typedef\n",
38207291604401 Martin KaFai Lau 2019-10-24 10847 btf_id);
38207291604401 Martin KaFai Lau 2019-10-24 10848 return -EINVAL;
38207291604401 Martin KaFai Lau 2019-10-24 10849 }
f1b9509c2fb0ef Alexei Starovoitov 2019-10-30 10850 if (strncmp(prefix, tname, sizeof(prefix) - 1)) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10851 bpf_log(log, "attach_btf_id %u points to wrong type name %s\n",
38207291604401 Martin KaFai Lau 2019-10-24 10852 btf_id, tname);
38207291604401 Martin KaFai Lau 2019-10-24 10853 return -EINVAL;
38207291604401 Martin KaFai Lau 2019-10-24 10854 }
38207291604401 Martin KaFai Lau 2019-10-24 10855 tname += sizeof(prefix) - 1;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10856 t = btf_type_by_id(btf, t->type);
38207291604401 Martin KaFai Lau 2019-10-24 10857 if (!btf_type_is_ptr(t))
38207291604401 Martin KaFai Lau 2019-10-24 10858 /* should never happen in valid vmlinux build */
38207291604401 Martin KaFai Lau 2019-10-24 10859 return -EINVAL;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10860 t = btf_type_by_id(btf, t->type);
38207291604401 Martin KaFai Lau 2019-10-24 10861 if (!btf_type_is_func_proto(t))
38207291604401 Martin KaFai Lau 2019-10-24 10862 /* should never happen in valid vmlinux build */
38207291604401 Martin KaFai Lau 2019-10-24 10863 return -EINVAL;
38207291604401 Martin KaFai Lau 2019-10-24 10864
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10865 break;
15d83c4d7cef5c Yonghong Song 2020-05-09 10866 case BPF_TRACE_ITER:
15d83c4d7cef5c Yonghong Song 2020-05-09 10867 if (!btf_type_is_func(t)) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10868 bpf_log(log, "attach_btf_id %u is not a function\n",
15d83c4d7cef5c Yonghong Song 2020-05-09 10869 btf_id);
15d83c4d7cef5c Yonghong Song 2020-05-09 10870 return -EINVAL;
15d83c4d7cef5c Yonghong Song 2020-05-09 10871 }
15d83c4d7cef5c Yonghong Song 2020-05-09 10872 t = btf_type_by_id(btf, t->type);
15d83c4d7cef5c Yonghong Song 2020-05-09 10873 if (!btf_type_is_func_proto(t))
15d83c4d7cef5c Yonghong Song 2020-05-09 10874 return -EINVAL;
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10875 ret = btf_distill_func_proto(log, btf, t, tname, fmodel);
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10876 if (ret)
15d83c4d7cef5c Yonghong Song 2020-05-09 10877 return ret;
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10878 break;
be8704ff07d237 Alexei Starovoitov 2020-01-20 10879 default:
be8704ff07d237 Alexei Starovoitov 2020-01-20 10880 if (!prog_extension)
be8704ff07d237 Alexei Starovoitov 2020-01-20 10881 return -EINVAL;
be8704ff07d237 Alexei Starovoitov 2020-01-20 10882 /* fallthrough */
ae24082331d9bb KP Singh 2020-03-04 10883 case BPF_MODIFY_RETURN:
9e4e01dfd3254c KP Singh 2020-03-29 10884 case BPF_LSM_MAC:
fec56f5890d93f Alexei Starovoitov 2019-11-14 10885 case BPF_TRACE_FENTRY:
fec56f5890d93f Alexei Starovoitov 2019-11-14 10886 case BPF_TRACE_FEXIT:
fec56f5890d93f Alexei Starovoitov 2019-11-14 10887 if (!btf_type_is_func(t)) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10888 bpf_log(log, "attach_btf_id %u is not a function\n",
fec56f5890d93f Alexei Starovoitov 2019-11-14 10889 btf_id);
fec56f5890d93f Alexei Starovoitov 2019-11-14 10890 return -EINVAL;
fec56f5890d93f Alexei Starovoitov 2019-11-14 10891 }
be8704ff07d237 Alexei Starovoitov 2020-01-20 10892 if (prog_extension &&
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10893 btf_check_type_match(log, prog, btf, t))
be8704ff07d237 Alexei Starovoitov 2020-01-20 10894 return -EINVAL;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10895 t = btf_type_by_id(btf, t->type);
fec56f5890d93f Alexei Starovoitov 2019-11-14 10896 if (!btf_type_is_func_proto(t))
fec56f5890d93f Alexei Starovoitov 2019-11-14 10897 return -EINVAL;
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10898
cc8571ec751a3a Toke Høiland-Jørgensen 2020-07-15 10899 if ((prog->aux->tgt_prog_type &&
cc8571ec751a3a Toke Høiland-Jørgensen 2020-07-15 @10900 prog->aux->tgt_prog_type != tgt_prog->type) ||
^^^^^^^^^^^^^^
cc8571ec751a3a Toke Høiland-Jørgensen 2020-07-15 10901 (prog->aux->tgt_attach_type &&
cc8571ec751a3a Toke Høiland-Jørgensen 2020-07-15 10902 prog->aux->tgt_attach_type != tgt_prog->expected_attach_type))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Not checked.
cc8571ec751a3a Toke Høiland-Jørgensen 2020-07-15 10903 return -EINVAL;
cc8571ec751a3a Toke Høiland-Jørgensen 2020-07-15 10904
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10905 if (tgt_prog && conservative)
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10906 t = NULL;
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10907
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10908 ret = btf_distill_func_proto(log, btf, t, tname, fmodel);
fec56f5890d93f Alexei Starovoitov 2019-11-14 10909 if (ret < 0)
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10910 return ret;
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10911
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10912 if (tgt_prog) {
e9eeec58c992c4 Yonghong Song 2019-12-04 10913 if (subprog == 0)
e9eeec58c992c4 Yonghong Song 2019-12-04 10914 addr = (long) tgt_prog->bpf_func;
e9eeec58c992c4 Yonghong Song 2019-12-04 10915 else
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10916 addr = (long) tgt_prog->aux->func[subprog]->bpf_func;
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10917 } else {
fec56f5890d93f Alexei Starovoitov 2019-11-14 10918 addr = kallsyms_lookup_name(tname);
fec56f5890d93f Alexei Starovoitov 2019-11-14 10919 if (!addr) {
e33243ff1dd2cb Toke Høiland-Jørgensen 2020-07-15 10920 bpf_log(log,
fec56f5890d93f Alexei Starovoitov 2019-11-14 10921 "The address of function %s cannot be found\n",
fec56f5890d93f Alexei Starovoitov 2019-11-14 10922 tname);
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10923 return -ENOENT;
fec56f5890d93f Alexei Starovoitov 2019-11-14 10924 }
5b92a28aae4dd0 Alexei Starovoitov 2019-11-14 10925 }
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10926 break;
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10927 }
18644cec714aab Alexei Starovoitov 2020-05-28 10928
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10929 *tgt_addr = addr;
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10930 if (tgt_name)
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10931 *tgt_name = tname;
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10932 if (tgt_type)
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10933 *tgt_type = t;
c2d0f6ffe7709e Toke Høiland-Jørgensen 2020-07-15 10934 return 0;
18644cec714aab Alexei Starovoitov 2020-05-28 10935 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[joro:sev-es-client-v5.8-rc5 41/75] arch/x86/kernel/sev-es.c:239 handle_vc_boot_ghcb() error: we previously assumed 'boot_ghcb' could be null (see line 236)
by kernel test robot
CC: kbuild-all(a)lists.01.org
TO: Joerg Roedel <jroedel(a)suse.de>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git sev-es-client-v5.8-rc5
head: 08fb0b185129ad6e4997db4daf9481b0fedc93c3
commit: 5b943302c350a02ea41499a0b14c5632536930a5 [41/75] x86/sev-es: Setup GHCB based boot #VC handler
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: x86_64-randconfig-m001-20200715 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
arch/x86/kernel/sev-es.c:239 handle_vc_boot_ghcb() error: we previously assumed 'boot_ghcb' could be null (see line 236)
Old smatch warnings:
arch/x86/kernel/sev-es-shared.c:267 vc_ioio_exitinfo() warn: should 'insn->immediate.value << 16' be a 64 bit type?
arch/x86/kernel/sev-es-shared.c:274 vc_ioio_exitinfo() warn: should 'insn->immediate.value << 16' be a 64 bit type?
# https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git/commit/?id...
git remote add joro https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git
git remote update joro
git checkout 5b943302c350a02ea41499a0b14c5632536930a5
vim +/boot_ghcb +239 arch/x86/kernel/sev-es.c
5b943302c350a0 Joerg Roedel 2019-12-10 228
5b943302c350a0 Joerg Roedel 2019-12-10 229 bool __init handle_vc_boot_ghcb(struct pt_regs *regs)
5b943302c350a0 Joerg Roedel 2019-12-10 230 {
5b943302c350a0 Joerg Roedel 2019-12-10 231 unsigned long exit_code = regs->orig_ax;
5b943302c350a0 Joerg Roedel 2019-12-10 232 struct es_em_ctxt ctxt;
5b943302c350a0 Joerg Roedel 2019-12-10 233 enum es_result result;
5b943302c350a0 Joerg Roedel 2019-12-10 234
5b943302c350a0 Joerg Roedel 2019-12-10 235 /* Do initial setup or terminate the guest */
5b943302c350a0 Joerg Roedel 2019-12-10 @236 if (unlikely(boot_ghcb == NULL && !sev_es_setup_ghcb()))
5b943302c350a0 Joerg Roedel 2019-12-10 237 sev_es_terminate(GHCB_SEV_ES_REASON_GENERAL_REQUEST);
5b943302c350a0 Joerg Roedel 2019-12-10 238
5b943302c350a0 Joerg Roedel 2019-12-10 @239 vc_ghcb_invalidate(boot_ghcb);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[joro:sev-es-client-v5.8-rc5 39/75] arch/x86/kernel/sev-es-shared.c:267 vc_ioio_exitinfo() warn: should 'insn->immediate.value << 16' be a 64 bit
by kernel test robot
CC: kbuild-all(a)lists.01.org
TO: Joerg Roedel <jroedel(a)suse.de>
Hi Joerg,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git sev-es-client-v5.8-rc5
head: 08fb0b185129ad6e4997db4daf9481b0fedc93c3
commit: 440b8b16bfd39d627edb2946e5a584784f1269e4 [39/75] x86/sev-es: Compile early handler code into kernel image
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: x86_64-randconfig-m001-20200715 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
arch/x86/kernel/sev-es-shared.c:267 vc_ioio_exitinfo() warn: should 'insn->immediate.value << 16' be a 64 bit type?
Old smatch warnings:
arch/x86/kernel/sev-es-shared.c:274 vc_ioio_exitinfo() warn: should 'insn->immediate.value << 16' be a 64 bit type?
# https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git/commit/?id...
git remote add joro https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git
git remote update joro
git checkout 440b8b16bfd39d627edb2946e5a584784f1269e4
vim +267 arch/x86/kernel/sev-es-shared.c
8710b6ad66e8d05 Tom Lendacky 2019-09-30 240
8710b6ad66e8d05 Tom Lendacky 2019-09-30 241 static enum es_result vc_ioio_exitinfo(struct es_em_ctxt *ctxt, u64 *exitinfo)
8710b6ad66e8d05 Tom Lendacky 2019-09-30 242 {
8710b6ad66e8d05 Tom Lendacky 2019-09-30 243 struct insn *insn = &ctxt->insn;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 244 *exitinfo = 0;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 245
8710b6ad66e8d05 Tom Lendacky 2019-09-30 246 switch (insn->opcode.bytes[0]) {
8710b6ad66e8d05 Tom Lendacky 2019-09-30 247 /* INS opcodes */
8710b6ad66e8d05 Tom Lendacky 2019-09-30 248 case 0x6c:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 249 case 0x6d:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 250 *exitinfo |= IOIO_TYPE_INS;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 251 *exitinfo |= IOIO_SEG_ES;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 252 *exitinfo |= (ctxt->regs->dx & 0xffff) << 16;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 253 break;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 254
8710b6ad66e8d05 Tom Lendacky 2019-09-30 255 /* OUTS opcodes */
8710b6ad66e8d05 Tom Lendacky 2019-09-30 256 case 0x6e:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 257 case 0x6f:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 258 *exitinfo |= IOIO_TYPE_OUTS;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 259 *exitinfo |= IOIO_SEG_DS;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 260 *exitinfo |= (ctxt->regs->dx & 0xffff) << 16;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 261 break;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 262
8710b6ad66e8d05 Tom Lendacky 2019-09-30 263 /* IN immediate opcodes */
8710b6ad66e8d05 Tom Lendacky 2019-09-30 264 case 0xe4:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 265 case 0xe5:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 266 *exitinfo |= IOIO_TYPE_IN;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 @267 *exitinfo |= insn->immediate.value << 16;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 268 break;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 269
8710b6ad66e8d05 Tom Lendacky 2019-09-30 270 /* OUT immediate opcodes */
8710b6ad66e8d05 Tom Lendacky 2019-09-30 271 case 0xe6:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 272 case 0xe7:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 273 *exitinfo |= IOIO_TYPE_OUT;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 274 *exitinfo |= insn->immediate.value << 16;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 275 break;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 276
8710b6ad66e8d05 Tom Lendacky 2019-09-30 277 /* IN register opcodes */
8710b6ad66e8d05 Tom Lendacky 2019-09-30 278 case 0xec:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 279 case 0xed:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 280 *exitinfo |= IOIO_TYPE_IN;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 281 *exitinfo |= (ctxt->regs->dx & 0xffff) << 16;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 282 break;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 283
8710b6ad66e8d05 Tom Lendacky 2019-09-30 284 /* OUT register opcodes */
8710b6ad66e8d05 Tom Lendacky 2019-09-30 285 case 0xee:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 286 case 0xef:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 287 *exitinfo |= IOIO_TYPE_OUT;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 288 *exitinfo |= (ctxt->regs->dx & 0xffff) << 16;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 289 break;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 290
8710b6ad66e8d05 Tom Lendacky 2019-09-30 291 default:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 292 return ES_DECODE_FAILED;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 293 }
8710b6ad66e8d05 Tom Lendacky 2019-09-30 294
8710b6ad66e8d05 Tom Lendacky 2019-09-30 295 switch (insn->opcode.bytes[0]) {
8710b6ad66e8d05 Tom Lendacky 2019-09-30 296 case 0x6c:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 297 case 0x6e:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 298 case 0xe4:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 299 case 0xe6:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 300 case 0xec:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 301 case 0xee:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 302 /* Single byte opcodes */
8710b6ad66e8d05 Tom Lendacky 2019-09-30 303 *exitinfo |= IOIO_DATA_8;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 304 break;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 305 default:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 306 /* Length determined by instruction parsing */
8710b6ad66e8d05 Tom Lendacky 2019-09-30 307 *exitinfo |= (insn->opnd_bytes == 2) ? IOIO_DATA_16
8710b6ad66e8d05 Tom Lendacky 2019-09-30 308 : IOIO_DATA_32;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 309 }
8710b6ad66e8d05 Tom Lendacky 2019-09-30 310 switch (insn->addr_bytes) {
8710b6ad66e8d05 Tom Lendacky 2019-09-30 311 case 2:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 312 *exitinfo |= IOIO_ADDR_16;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 313 break;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 314 case 4:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 315 *exitinfo |= IOIO_ADDR_32;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 316 break;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 317 case 8:
8710b6ad66e8d05 Tom Lendacky 2019-09-30 318 *exitinfo |= IOIO_ADDR_64;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 319 break;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 320 }
8710b6ad66e8d05 Tom Lendacky 2019-09-30 321
8710b6ad66e8d05 Tom Lendacky 2019-09-30 322 if (insn_has_rep_prefix(insn))
8710b6ad66e8d05 Tom Lendacky 2019-09-30 323 *exitinfo |= IOIO_REP;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 324
8710b6ad66e8d05 Tom Lendacky 2019-09-30 325 return ES_OK;
8710b6ad66e8d05 Tom Lendacky 2019-09-30 326 }
8710b6ad66e8d05 Tom Lendacky 2019-09-30 327
:::::: The code at line 267 was first introduced by commit
:::::: 8710b6ad66e8d053da895fc196da53adb88a1c26 x86/sev-es: Add support for handling IOIO exceptions
:::::: TO: Tom Lendacky <thomas.lendacky(a)amd.com>
:::::: CC: Joerg Roedel <jroedel(a)suse.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months
[nf-next:master 2/3] net/netfilter/ipvs/ip_vs_conn.c:1394:6: sparse: sparse: context imbalance in 'ip_vs_expire_nodest_conn_flush' - wrong count at exit
by kernel test robot
CC: kbuild-all(a)lists.01.org
CC: netfilter-devel(a)vger.kernel.org
CC: coreteam(a)netfilter.org
TO: Andrew Sy Kim <kim.andrewsy(a)gmail.com>
CC: Pablo Neira Ayuso <pablo(a)netfilter.org>
CC: Julian Anastasov <ja(a)ssi.bg>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git master
head: 3354c27699652b271b78c85f275b818e6b9843e6
commit: 04231e52d3557475231abe8a8fa1be0330826ed6 [2/3] ipvs: queue delayed work to expire no destination connections if expire_nodest_conn=1
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
config: mips-randconfig-s032-20200715 (attached as .config)
compiler: mipsel-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-49-g707c5017-dirty
git checkout 04231e52d3557475231abe8a8fa1be0330826ed6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> net/netfilter/ipvs/ip_vs_conn.c:1394:6: sparse: sparse: context imbalance in 'ip_vs_expire_nodest_conn_flush' - wrong count at exit
# https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git/commit/...
git remote add nf-next https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git
git remote update nf-next
git checkout 04231e52d3557475231abe8a8fa1be0330826ed6
vim +/ip_vs_expire_nodest_conn_flush +1394 net/netfilter/ipvs/ip_vs_conn.c
04231e52d355747 Andrew Sy Kim 2020-07-08 1392
04231e52d355747 Andrew Sy Kim 2020-07-08 1393 #ifdef CONFIG_SYSCTL
04231e52d355747 Andrew Sy Kim 2020-07-08 @1394 void ip_vs_expire_nodest_conn_flush(struct netns_ipvs *ipvs)
04231e52d355747 Andrew Sy Kim 2020-07-08 1395 {
04231e52d355747 Andrew Sy Kim 2020-07-08 1396 int idx;
04231e52d355747 Andrew Sy Kim 2020-07-08 1397 struct ip_vs_conn *cp, *cp_c;
04231e52d355747 Andrew Sy Kim 2020-07-08 1398 struct ip_vs_dest *dest;
04231e52d355747 Andrew Sy Kim 2020-07-08 1399
04231e52d355747 Andrew Sy Kim 2020-07-08 1400 rcu_read_lock();
04231e52d355747 Andrew Sy Kim 2020-07-08 1401 for (idx = 0; idx < ip_vs_conn_tab_size; idx++) {
04231e52d355747 Andrew Sy Kim 2020-07-08 1402 hlist_for_each_entry_rcu(cp, &ip_vs_conn_tab[idx], c_list) {
04231e52d355747 Andrew Sy Kim 2020-07-08 1403 if (cp->ipvs != ipvs)
04231e52d355747 Andrew Sy Kim 2020-07-08 1404 continue;
04231e52d355747 Andrew Sy Kim 2020-07-08 1405
04231e52d355747 Andrew Sy Kim 2020-07-08 1406 dest = cp->dest;
04231e52d355747 Andrew Sy Kim 2020-07-08 1407 if (!dest || (dest->flags & IP_VS_DEST_F_AVAILABLE))
04231e52d355747 Andrew Sy Kim 2020-07-08 1408 continue;
04231e52d355747 Andrew Sy Kim 2020-07-08 1409
04231e52d355747 Andrew Sy Kim 2020-07-08 1410 if (atomic_read(&cp->n_control))
04231e52d355747 Andrew Sy Kim 2020-07-08 1411 continue;
04231e52d355747 Andrew Sy Kim 2020-07-08 1412
04231e52d355747 Andrew Sy Kim 2020-07-08 1413 cp_c = cp->control;
04231e52d355747 Andrew Sy Kim 2020-07-08 1414 IP_VS_DBG(4, "del connection\n");
04231e52d355747 Andrew Sy Kim 2020-07-08 1415 ip_vs_conn_del(cp);
04231e52d355747 Andrew Sy Kim 2020-07-08 1416 if (cp_c && !atomic_read(&cp_c->n_control)) {
04231e52d355747 Andrew Sy Kim 2020-07-08 1417 IP_VS_DBG(4, "del controlling connection\n");
04231e52d355747 Andrew Sy Kim 2020-07-08 1418 ip_vs_conn_del(cp_c);
04231e52d355747 Andrew Sy Kim 2020-07-08 1419 }
04231e52d355747 Andrew Sy Kim 2020-07-08 1420 }
04231e52d355747 Andrew Sy Kim 2020-07-08 1421 cond_resched_rcu();
04231e52d355747 Andrew Sy Kim 2020-07-08 1422
04231e52d355747 Andrew Sy Kim 2020-07-08 1423 /* netns clean up started, abort delayed work */
04231e52d355747 Andrew Sy Kim 2020-07-08 1424 if (!ipvs->enable)
04231e52d355747 Andrew Sy Kim 2020-07-08 1425 return;
04231e52d355747 Andrew Sy Kim 2020-07-08 1426 }
04231e52d355747 Andrew Sy Kim 2020-07-08 1427 rcu_read_unlock();
04231e52d355747 Andrew Sy Kim 2020-07-08 1428 }
04231e52d355747 Andrew Sy Kim 2020-07-08 1429 #endif
04231e52d355747 Andrew Sy Kim 2020-07-08 1430
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 10 months