kbuild@lists.01.org
Hi David, FYI, there are new smatch warnings show up in tree: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-next head: d3a8a9dbb903c73a7ec2deae4c9b7d74b6834f4c commit: d3a8a9dbb903c73a7ec2deae4c9b7d74b6834f4c [29/29] w1: hold bus_mutex in netlink and search drivers/w1/masters/ds1wm.c:339 ds1wm_search() error: double lock 'mutex:&master_dev->bus_mutex' drivers/w1/masters/ds1wm.c:443 ds1wm_search() error: double unlock 'mutex:&master_dev->bus_mutex' git remote add char-misc git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git git remote update char-misc git checkout d3a8a9dbb903c73a7ec2deae4c9b7d74b6834f4c vim +339 drivers/w1/masters/ds1wm.c 26a6afb9 Jean-François Dagenais2011-05-26 333 if (pass > 100) { 26a6afb9 Jean-François Dagenais2011-05-26 334 dev_dbg(&ds1wm_data->pdev->dev, 26a6afb9 Jean-François Dagenais2011-05-26 335 "too many attempts (100), search aborted\n"); d3a8a9db David Fries 2014-01-15 336 break; 26a6afb9 Jean-François Dagenais2011-05-26 337 } 26a6afb9 Jean-François Dagenais2011-05-26 338 b02f8bed NeilBrown 2012-05-18 @339 mutex_lock(&master_dev->bus_mutex); 26a6afb9 Jean-François Dagenais2011-05-26 340 if (ds1wm_reset(ds1wm_data)) { b02f8bed NeilBrown 2012-05-18 341 mutex_unlock(&master_dev->bus_mutex); 26a6afb9 Jean-François Dagenais2011-05-26 342 dev_dbg(&ds1wm_data->pdev->dev, 26a6afb9 Jean-François Dagenais2011-05-26 343 "pass: %d reset error (or no slaves)\n", pass); 26a6afb9 Jean-François Dagenais2011-05-26 344 break; 26a6afb9 Jean-François Dagenais2011-05-26 345 } 26a6afb9 Jean-François Dagenais2011-05-26 346 26a6afb9 Jean-François Dagenais2011-05-26 347 dev_dbg(&ds1wm_data->pdev->dev, 26a6afb9 Jean-François Dagenais2011-05-26 348 "pass: %d r : %0#18llx writing SEARCH_ROM\n", pass, r); 26a6afb9 Jean-François Dagenais2011-05-26 349 ds1wm_write(ds1wm_data, search_type); 26a6afb9 Jean-François Dagenais2011-05-26 350 dev_dbg(&ds1wm_data->pdev->dev, 26a6afb9 Jean-François Dagenais2011-05-26 351 "pass: %d entering ASM\n", pass); 26a6afb9 Jean-François Dagenais2011-05-26 352 ds1wm_write_register(ds1wm_data, DS1WM_CMD, DS1WM_CMD_SRA); 26a6afb9 Jean-François Dagenais2011-05-26 353 dev_dbg(&ds1wm_data->pdev->dev, 4907cb7b Anatol Pomozov2012-09-01 354 "pass: %d beginning nibble loop\n", pass); 26a6afb9 Jean-François Dagenais2011-05-26 355 26a6afb9 Jean-François Dagenais2011-05-26 356 r_prime = 0; 26a6afb9 Jean-François Dagenais2011-05-26 357 d = 0; 26a6afb9 Jean-François Dagenais2011-05-26 358 /* we work one nibble at a time */ 26a6afb9 Jean-François Dagenais2011-05-26 359 /* each nibble is interleaved to form a byte */ 26a6afb9 Jean-François Dagenais2011-05-26 360 for (i = 0; i < 16; i++) { 26a6afb9 Jean-François Dagenais2011-05-26 361 26a6afb9 Jean-François Dagenais2011-05-26 362 unsigned char resp, _r, _r_prime, _d; 26a6afb9 Jean-François Dagenais2011-05-26 363 26a6afb9 Jean-François Dagenais2011-05-26 364 _r = (r >> (4*i)) & 0xf; 26a6afb9 Jean-François Dagenais2011-05-26 365 _r = ((_r & 0x1) << 1) | 26a6afb9 Jean-François Dagenais2011-05-26 366 ((_r & 0x2) << 2) | 26a6afb9 Jean-François Dagenais2011-05-26 367 ((_r & 0x4) << 3) | 26a6afb9 Jean-François Dagenais2011-05-26 368 ((_r & 0x8) << 4); 26a6afb9 Jean-François Dagenais2011-05-26 369 26a6afb9 Jean-François Dagenais2011-05-26 370 /* writes _r, then reads back: */ 26a6afb9 Jean-François Dagenais2011-05-26 371 resp = ds1wm_read(ds1wm_data, _r); 26a6afb9 Jean-François Dagenais2011-05-26 372 26a6afb9 Jean-François Dagenais2011-05-26 373 if (ds1wm_data->read_error) { 26a6afb9 Jean-François Dagenais2011-05-26 374 dev_err(&ds1wm_data->pdev->dev, 26a6afb9 Jean-François Dagenais2011-05-26 375 "pass: %d nibble: %d read error\n", pass, i); 26a6afb9 Jean-François Dagenais2011-05-26 376 break; 26a6afb9 Jean-François Dagenais2011-05-26 377 } 26a6afb9 Jean-François Dagenais2011-05-26 378 26a6afb9 Jean-François Dagenais2011-05-26 379 _r_prime = ((resp &
[kbuild] [char-misc:char-misc-next 5/29] drivers/misc/mei/hw-txe.c:217:3-9: preceding lock on line 221
TO: Tomas Winkler CC: "Greg Kroah-Hartman" Hi Tomas, FYI, there are coccinelle warnings in tree: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-next head: d3a8a9dbb903c73a7ec2deae4c9b7d74b6834f4c commit: 92ab513072e73d74fee78062c9935f119339e4de [5/29] mei: txe: add Kbuild for TXE device :: branch date: 5 hours ago :: commit date: 5 hours ago >> drivers/misc/mei/hw-txe.c:217:3-9: preceding lock on line 221 git remote add char-misc git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git git remote update char-misc git checkout 92ab513072e73d74fee78062c9935f119339e4de vim +217 drivers/misc/mei/hw-txe.c 32e2b59f Tomas Winkler 2014-01-16 211 32e2b59f Tomas Winkler 2014-01-16 212 do { 32e2b59f Tomas Winkler 2014-01-16 213 hw->aliveness = mei_txe_aliveness_get(dev); 32e2b59f Tomas Winkler 2014-01-16 214 if (hw->aliveness == expected) { 32e2b59f Tomas Winkler 2014-01-16 215 dev_dbg(&dev->pdev->dev, 32e2b59f Tomas Winkler 2014-01-16 216 "aliveness settled after %d msecs\n", t); 32e2b59f Tomas Winkler 2014-01-16 @217 return t; 32e2b59f Tomas Winkler 2014-01-16 218 } 32e2b59f Tomas Winkler 2014-01-16 219 mutex_unlock(&dev->device_lock); 32e2b59f Tomas Winkler 2014-01-16 220 msleep(MSEC_PER_SEC / 5); 32e2b59f Tomas Winkler 2014-01-16 @221 mutex_lock(&dev->device_lock); 32e2b59f Tomas Winkler 2014-01-16 222 t += MSEC_PER_SEC / 5; 32e2b59f Tomas Winkler 2014-01-16 223 } while (t < SEC_ALIVENESS_WAIT_TIMEOUT); 32e2b59f Tomas Winkler 2014-01-16 224 :: The code at line 217 was first introduced by commit :: 32e2b59fca2c422f6911c700cd4cf0809f7b2019 mei: txe: add hw-txe.c :: TO: Tomas Winkler :: CC: Greg Kroah-Hartman --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation ___ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild
kbuild@lists.01.org
TO: David Fries CC: "Greg Kroah-Hartman" Hi David, FYI, there are new smatch warnings show up in tree: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git char-misc-next head: d3a8a9dbb903c73a7ec2deae4c9b7d74b6834f4c commit: d3a8a9dbb903c73a7ec2deae4c9b7d74b6834f4c [29/29] w1: hold bus_mutex in netlink and search :: branch date: 33 minutes ago :: commit date: 33 minutes ago drivers/w1/masters/ds1wm.c:339 ds1wm_search() error: double lock 'mutex:&master_dev->bus_mutex' drivers/w1/masters/ds1wm.c:443 ds1wm_search() error: double unlock 'mutex:&master_dev->bus_mutex' git remote add char-misc git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git git remote update char-misc git checkout d3a8a9dbb903c73a7ec2deae4c9b7d74b6834f4c vim +339 drivers/w1/masters/ds1wm.c 26a6afb9 Jean-François Dagenais2011-05-26 333 if (pass > 100) { 26a6afb9 Jean-François Dagenais2011-05-26 334 dev_dbg(&ds1wm_data->pdev->dev, 26a6afb9 Jean-François Dagenais2011-05-26 335 "too many attempts (100), search aborted\n"); d3a8a9db David Fries 2014-01-15 336 break; 26a6afb9 Jean-François Dagenais2011-05-26 337 } 26a6afb9 Jean-François Dagenais2011-05-26 338 b02f8bed NeilBrown 2012-05-18 @339 mutex_lock(&master_dev->bus_mutex); 26a6afb9 Jean-François Dagenais2011-05-26 340 if (ds1wm_reset(ds1wm_data)) { b02f8bed NeilBrown 2012-05-18 341 mutex_unlock(&master_dev->bus_mutex); 26a6afb9 Jean-François Dagenais2011-05-26 342 dev_dbg(&ds1wm_data->pdev->dev, 26a6afb9 Jean-François Dagenais2011-05-26 343 "pass: %d reset error (or no slaves)\n", pass); 26a6afb9 Jean-François Dagenais2011-05-26 344 break; 26a6afb9 Jean-François Dagenais2011-05-26 345 } 26a6afb9 Jean-François Dagenais2011-05-26 346 26a6afb9 Jean-François Dagenais2011-05-26 347 dev_dbg(&ds1wm_data->pdev->dev, 26a6afb9 Jean-François Dagenais2011-05-26 348 "pass: %d r : %0#18llx writing SEARCH_ROM\n", pass, r); 26a6afb9 Jean-François Dagenais2011-05-26 349 ds1wm_write(ds1wm_data, search_type); 26a6afb9 Jean-François Dagenais2011-05-26 350 dev_dbg(&ds1wm_data->pdev->dev, 26a6afb9 Jean-François Dagenais2011-05-26 351 "pass: %d entering ASM\n", pass); 26a6afb9 Jean-François Dagenais2011-05-26 352 ds1wm_write_register(ds1wm_data, DS1WM_CMD, DS1WM_CMD_SRA); 26a6afb9 Jean-François Dagenais2011-05-26 353 dev_dbg(&ds1wm_data->pdev->dev, 4907cb7b Anatol Pomozov2012-09-01 354 "pass: %d beginning nibble loop\n", pass); 26a6afb9 Jean-François Dagenais2011-05-26 355 26a6afb9 Jean-François Dagenais2011-05-26 356 r_prime = 0; 26a6afb9 Jean-François Dagenais2011-05-26 357 d = 0; 26a6afb9 Jean-François Dagenais2011-05-26 358 /* we work one nibble at a time */ 26a6afb9 Jean-François Dagenais2011-05-26 359 /* each nibble is interleaved to form a byte */ 26a6afb9 Jean-François Dagenais2011-05-26 360 for (i = 0; i < 16; i++) { 26a6afb9 Jean-François Dagenais2011-05-26 361 26a6afb9 Jean-François Dagenais2011-05-26 362 unsigned char resp, _r, _r_prime, _d; 26a6afb9 Jean-François Dagenais2011-05-26 363 26a6afb9 Jean-François Dagenais2011-05-26 364 _r = (r >> (4*i)) & 0xf; 26a6afb9 Jean-François Dagenais2011-05-26 365 _r = ((_r & 0x1) << 1) | 26a6afb9 Jean-François Dagenais2011-05-26 366 ((_r & 0x2) << 2) | 26a6afb9 Jean-François Dagenais2011-05-26 367 ((_r & 0x4) << 3) | 26a6afb9 Jean-François Dagenais2011-05-26 368 ((_r & 0x8) << 4); 26a6afb9 Jean-François Dagenais2011-05-26 369 26a6afb9 Jean-François Dagenais2011-05-26 370 /* writes _r, then reads back: */ 26a6afb9 Jean-François Dagenais2011-05-26 371 resp = ds1wm_read(ds1wm_data, _r); 26a6afb9 Jean-François Dagenais2011-05-26 372 26a6afb9 Jean-François Dagenais2011-05-26 373 if (ds1wm_data->read_error) { 26a6afb9 Jean-François Dagenais2011-05-26 374 dev_err(&ds1wm_data->pdev->dev, 26a6afb9 Jean-François Dagenais2011-05-26 375 "pass: %d nibble: %d read error\n", pass, i); 26a6afb9 Jean-François Dagenais2011-05-26 376 break; 26a6afb9 Jean-François Dagenais2011-05-26 377 } 26a6afb9 Jean-François Dagenai
[kbuild] [userns:userns-always-map-user-v150 61/71] ipc/namespace.c:88:61: sparse: context imbalance in 'free_ipcs' - different lock contexts for basic block
TO: "Eric W. Biederman" Hi Eric, FYI, there are new sparse warnings show up in tree: git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git userns-always-map-user-v150 head: 2f7cf80cf427eab2cc66f127f8ff0b69f803c4c1 commit: 75edf288ca26d98afa45e09e211a5dde0cab4c83 [61/71] namespaces: Use task_lock and not rcu to protect nsproxy reproduce: make C=1 CF=-D__CHECK_ENDIAN__ :: branch date: 3 days ago :: commit date: 4 days ago >> ipc/namespace.c:88:61: sparse: context imbalance in 'free_ipcs' - different >> lock contexts for basic block -- fs/namespace.c:1051:23: sparse: incorrect type in initializer (different address spaces) fs/namespace.c:1051:23:expected char *old fs/namespace.c:1051:23:got char [noderef] *s_options >> include/linux/rcupdate.h:322:30: sparse: context imbalance in >> 'legitimize_mnt' - unexpected unlock git remote add userns git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git git remote update userns git checkout 75edf288ca26d98afa45e09e211a5dde0cab4c83 vim +/free_ipcs +88 ipc/namespace.c 01b8b07a Pierre Peiffer 2008-02-08 72 * @ids: the table of ipcs to free 01b8b07a Pierre Peiffer 2008-02-08 73 * @free: the function called to free each individual ipc 01b8b07a Pierre Peiffer 2008-02-08 74 * 01b8b07a Pierre Peiffer 2008-02-08 75 * Called for each kind of ipc when an ipc_namespace exits. 01b8b07a Pierre Peiffer 2008-02-08 76 */ 01b8b07a Pierre Peiffer 2008-02-08 77 void free_ipcs(struct ipc_namespace *ns, struct ipc_ids *ids, 01b8b07a Pierre Peiffer 2008-02-08 78void (*free)(struct ipc_namespace *, struct kern_ipc_perm *)) 01b8b07a Pierre Peiffer 2008-02-08 79 { 01b8b07a Pierre Peiffer 2008-02-08 80 struct kern_ipc_perm *perm; 01b8b07a Pierre Peiffer 2008-02-08 81 int next_id; 01b8b07a Pierre Peiffer 2008-02-08 82 int total, in_use; 01b8b07a Pierre Peiffer 2008-02-08 83 d9a605e4 Davidlohr Bueso 2013-09-11 84 down_write(&ids->rwsem); 01b8b07a Pierre Peiffer 2008-02-08 85 01b8b07a Pierre Peiffer 2008-02-08 86 in_use = ids->in_use; 01b8b07a Pierre Peiffer 2008-02-08 87 01b8b07a Pierre Peiffer 2008-02-08 @88 for (total = 0, next_id = 0; total < in_use; next_id++) { 01b8b07a Pierre Peiffer 2008-02-08 89 perm = idr_find(&ids->ipcs_idr, next_id); 01b8b07a Pierre Peiffer 2008-02-08 90 if (perm == NULL) 01b8b07a Pierre Peiffer 2008-02-08 91 continue; 32a27500 Davidlohr Bueso 2013-09-11 92 rcu_read_lock(); 32a27500 Davidlohr Bueso 2013-09-11 93 ipc_lock_object(perm); 01b8b07a Pierre Peiffer 2008-02-08 94 free(ns, perm); 01b8b07a Pierre Peiffer 2008-02-08 95 total++; 01b8b07a Pierre Peiffer 2008-02-08 96 } :: The code at line 88 was first introduced by commit :: 01b8b07a5d77d22e609267dcae74d15e3e9c5f13 IPC: consolidate sem_exit_ns(), msg_exit_ns() and shm_exit_ns() :: TO: Pierre Peiffer :: CC: Linus Torvalds --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation ___ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild
[kbuild] [drm-gma500:blitter_hacking 10/10] drivers/gpu/drm/gma500/blitter.c:97:2-8: preceding lock on line 78
Hi Patrik, FYI, there are coccinelle warnings in tree: git://github.com/patjak/drm-gma500 blitter_hacking head: c0f1cbb1b1991f5dbb18be5f4c8d04d5b0addb79 commit: c0f1cbb1b1991f5dbb18be5f4c8d04d5b0addb79 [10/10] drm/gma500: Add blitter submit ioctl >> drivers/gpu/drm/gma500/blitter.c:97:2-8: preceding lock on line 78 git remote add drm-gma500 git://github.com/patjak/drm-gma500 git remote update drm-gma500 git checkout c0f1cbb1b1991f5dbb18be5f4c8d04d5b0addb79 vim +97 drivers/gpu/drm/gma500/blitter.c c0f1cbb1 Patrik Jakobsson 2014-02-07 72 { c0f1cbb1 Patrik Jakobsson 2014-02-07 73 int ret = 0; c0f1cbb1 Patrik Jakobsson 2014-02-07 74 int i; c0f1cbb1 Patrik Jakobsson 2014-02-07 75 unsigned submit_size; c0f1cbb1 Patrik Jakobsson 2014-02-07 76 unsigned long flags; c0f1cbb1 Patrik Jakobsson 2014-02-07 77 c0f1cbb1 Patrik Jakobsson 2014-02-07 @78 spin_lock_irqsave(&dev_priv->lock_2d, flags); c0f1cbb1 Patrik Jakobsson 2014-02-07 79 c0f1cbb1 Patrik Jakobsson 2014-02-07 80 while (size > 0) { c0f1cbb1 Patrik Jakobsson 2014-02-07 81 submit_size = (size < 0x60) ? size : 0x60; c0f1cbb1 Patrik Jakobsson 2014-02-07 82 size -= submit_size; c0f1cbb1 Patrik Jakobsson 2014-02-07 83 ret = gma_blt_wait_available(dev_priv, submit_size); c0f1cbb1 Patrik Jakobsson 2014-02-07 84 submit_size <<= 2; c0f1cbb1 Patrik Jakobsson 2014-02-07 85 c0f1cbb1 Patrik Jakobsson 2014-02-07 86 for (i = 0; i < submit_size; i += 4) { c0f1cbb1 Patrik Jakobsson 2014-02-07 87 PSB_WSGX32(*cmdbuf++, PSB_SGX_2D_SLAVE_PORT + i); c0f1cbb1 Patrik Jakobsson 2014-02-07 88 } c0f1cbb1 Patrik Jakobsson 2014-02-07 89 c0f1cbb1 Patrik Jakobsson 2014-02-07 90 (void)PSB_RSGX32(PSB_SGX_2D_SLAVE_PORT + i - 4); c0f1cbb1 Patrik Jakobsson 2014-02-07 91 } c0f1cbb1 Patrik Jakobsson 2014-02-07 92 c0f1cbb1 Patrik Jakobsson 2014-02-07 93 /* We currently sync our blits here */ c0f1cbb1 Patrik Jakobsson 2014-02-07 94 ret = gma_blt_wait_idle(dev_priv); c0f1cbb1 Patrik Jakobsson 2014-02-07 95 if (ret) { c0f1cbb1 Patrik Jakobsson 2014-02-07 96 DRM_ERROR_DRIVER("Blitter hang!"); c0f1cbb1 Patrik Jakobsson 2014-02-07 @97 return ret; c0f1cbb1 Patrik Jakobsson 2014-02-07 98 } c0f1cbb1 Patrik Jakobsson 2014-02-07 99 c0f1cbb1 Patrik Jakobsson 2014-02-07 100 spin_unlock_irqrestore(&dev_priv->lock_2d, flags); --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation ___ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild ___ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild
[kbuild] [drm-gma500:blitter_hacking 10/10] drivers/gpu/drm/gma500/blitter.c:102 gma_blt_send() warn: inconsistent returns spin_lock:&dev_priv->lock_2d: locked (97 [(-16)]) unlocked (102 [0])
TO: Patrik Jakobsson Hi Patrik, FYI, there are new smatch warnings show up in tree: git://github.com/patjak/drm-gma500 blitter_hacking head: c0f1cbb1b1991f5dbb18be5f4c8d04d5b0addb79 commit: c0f1cbb1b1991f5dbb18be5f4c8d04d5b0addb79 [10/10] drm/gma500: Add blitter submit ioctl :: branch date: 55 minutes ago :: commit date: 55 minutes ago drivers/gpu/drm/gma500/blitter.c:102 gma_blt_send() warn: inconsistent returns spin_lock:&dev_priv->lock_2d: locked (97 [(-16)]) unlocked (102 [0]) drivers/gpu/drm/gma500/blitter.c:102 gma_blt_send() warn: inconsistent returns irqsave:flags: locked (97 [(-16)]) unlocked (102 [0]) git remote add drm-gma500 git://github.com/patjak/drm-gma500 git remote update drm-gma500 git checkout c0f1cbb1b1991f5dbb18be5f4c8d04d5b0addb79 vim +102 drivers/gpu/drm/gma500/blitter.c c0f1cbb1 Patrik Jakobsson 2014-02-07 86 for (i = 0; i < submit_size; i += 4) { c0f1cbb1 Patrik Jakobsson 2014-02-07 87 PSB_WSGX32(*cmdbuf++, PSB_SGX_2D_SLAVE_PORT + i); c0f1cbb1 Patrik Jakobsson 2014-02-07 88 } c0f1cbb1 Patrik Jakobsson 2014-02-07 89 c0f1cbb1 Patrik Jakobsson 2014-02-07 90 (void)PSB_RSGX32(PSB_SGX_2D_SLAVE_PORT + i - 4); c0f1cbb1 Patrik Jakobsson 2014-02-07 91 } c0f1cbb1 Patrik Jakobsson 2014-02-07 92 c0f1cbb1 Patrik Jakobsson 2014-02-07 93 /* We currently sync our blits here */ c0f1cbb1 Patrik Jakobsson 2014-02-07 94 ret = gma_blt_wait_idle(dev_priv); c0f1cbb1 Patrik Jakobsson 2014-02-07 95 if (ret) { c0f1cbb1 Patrik Jakobsson 2014-02-07 96 DRM_ERROR_DRIVER("Blitter hang!"); c0f1cbb1 Patrik Jakobsson 2014-02-07 97 return ret; c0f1cbb1 Patrik Jakobsson 2014-02-07 98 } c0f1cbb1 Patrik Jakobsson 2014-02-07 99 c0f1cbb1 Patrik Jakobsson 2014-02-07 100 spin_unlock_irqrestore(&dev_priv->lock_2d, flags); c0f1cbb1 Patrik Jakobsson 2014-02-07 101 c0f1cbb1 Patrik Jakobsson 2014-02-07 @102 return ret; c0f1cbb1 Patrik Jakobsson 2014-02-07 103 } c0f1cbb1 Patrik Jakobsson 2014-02-07 104 c0f1cbb1 Patrik Jakobsson 2014-02-07 105 static inline int gma_blt_reloc_surf(struct drm_file *file, c0f1cbb1 Patrik Jakobsson 2014-02-07 106 struct drm_device *dev, u32 *cmdbuf, c0f1cbb1 Patrik Jakobsson 2014-02-07 107 u32 pos, u32 size, c0f1cbb1 Patrik Jakobsson 2014-02-07 108 struct drm_gem_object **obj, c0f1cbb1 Patrik Jakobsson 2014-02-07 109 u32 *gpu_addr) c0f1cbb1 Patrik Jakobsson 2014-02-07 110 { --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation ___ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild
[kbuild] [drm-gma500:blitter_hacking 10/10] drivers/gpu/drm/gma500/blitter.c:97:2-8: preceding lock on line 78
TO: Patrik Jakobsson Hi Patrik, FYI, there are coccinelle warnings in tree: git://github.com/patjak/drm-gma500 blitter_hacking head: c0f1cbb1b1991f5dbb18be5f4c8d04d5b0addb79 commit: c0f1cbb1b1991f5dbb18be5f4c8d04d5b0addb79 [10/10] drm/gma500: Add blitter submit ioctl :: branch date: 52 minutes ago :: commit date: 52 minutes ago >> drivers/gpu/drm/gma500/blitter.c:97:2-8: preceding lock on line 78 git remote add drm-gma500 git://github.com/patjak/drm-gma500 git remote update drm-gma500 git checkout c0f1cbb1b1991f5dbb18be5f4c8d04d5b0addb79 vim +97 drivers/gpu/drm/gma500/blitter.c c0f1cbb1 Patrik Jakobsson 2014-02-07 72 { c0f1cbb1 Patrik Jakobsson 2014-02-07 73 int ret = 0; c0f1cbb1 Patrik Jakobsson 2014-02-07 74 int i; c0f1cbb1 Patrik Jakobsson 2014-02-07 75 unsigned submit_size; c0f1cbb1 Patrik Jakobsson 2014-02-07 76 unsigned long flags; c0f1cbb1 Patrik Jakobsson 2014-02-07 77 c0f1cbb1 Patrik Jakobsson 2014-02-07 @78 spin_lock_irqsave(&dev_priv->lock_2d, flags); c0f1cbb1 Patrik Jakobsson 2014-02-07 79 c0f1cbb1 Patrik Jakobsson 2014-02-07 80 while (size > 0) { c0f1cbb1 Patrik Jakobsson 2014-02-07 81 submit_size = (size < 0x60) ? size : 0x60; c0f1cbb1 Patrik Jakobsson 2014-02-07 82 size -= submit_size; c0f1cbb1 Patrik Jakobsson 2014-02-07 83 ret = gma_blt_wait_available(dev_priv, submit_size); c0f1cbb1 Patrik Jakobsson 2014-02-07 84 submit_size <<= 2; c0f1cbb1 Patrik Jakobsson 2014-02-07 85 c0f1cbb1 Patrik Jakobsson 2014-02-07 86 for (i = 0; i < submit_size; i += 4) { c0f1cbb1 Patrik Jakobsson 2014-02-07 87 PSB_WSGX32(*cmdbuf++, PSB_SGX_2D_SLAVE_PORT + i); c0f1cbb1 Patrik Jakobsson 2014-02-07 88 } c0f1cbb1 Patrik Jakobsson 2014-02-07 89 c0f1cbb1 Patrik Jakobsson 2014-02-07 90 (void)PSB_RSGX32(PSB_SGX_2D_SLAVE_PORT + i - 4); c0f1cbb1 Patrik Jakobsson 2014-02-07 91 } c0f1cbb1 Patrik Jakobsson 2014-02-07 92 c0f1cbb1 Patrik Jakobsson 2014-02-07 93 /* We currently sync our blits here */ c0f1cbb1 Patrik Jakobsson 2014-02-07 94 ret = gma_blt_wait_idle(dev_priv); c0f1cbb1 Patrik Jakobsson 2014-02-07 95 if (ret) { c0f1cbb1 Patrik Jakobsson 2014-02-07 96 DRM_ERROR_DRIVER("Blitter hang!"); c0f1cbb1 Patrik Jakobsson 2014-02-07 @97 return ret; c0f1cbb1 Patrik Jakobsson 2014-02-07 98 } c0f1cbb1 Patrik Jakobsson 2014-02-07 99 c0f1cbb1 Patrik Jakobsson 2014-02-07 100 spin_unlock_irqrestore(&dev_priv->lock_2d, flags); --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation ___ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild
[kbuild] drivers/target/target_core_file.c:696:8-23: ERROR: reference preceded by free on line 649
Hi Nicholas, The cited bug is not a bug, due to the value of ret. But I wonder if it is really necessary to use both ret and rc? julia tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 9343224bfd4be6a02e6ae0c0d66426c955c7d76e commit: 42201b557471f2fef2e9e028b50a773d99ffc401 target/file: Add DIF protection support to fd_execute_rw date: 3 weeks ago >> drivers/target/target_core_file.c:696:8-23: ERROR: reference preceded by >> free on line 649 vim +696 drivers/target/target_core_file.c 42201b55 Nicholas Bellinger2014-01-18 643 0, fd_prot.prot_sg, 0); 42201b55 Nicholas Bellinger2014-01-18 644 if (rc) { 42201b55 Nicholas Bellinger2014-01-18 645 kfree(fd_prot.prot_sg); 42201b55 Nicholas Bellinger2014-01-18 646 vfree(fd_prot.prot_buf); 42201b55 Nicholas Bellinger2014-01-18 647 return rc; 42201b55 Nicholas Bellinger2014-01-18 648 } 42201b55 Nicholas Bellinger2014-01-18 @649 kfree(fd_prot.prot_sg); 42201b55 Nicholas Bellinger2014-01-18 650 vfree(fd_prot.prot_buf); 42201b55 Nicholas Bellinger2014-01-18 651 } c66ac9db Nicholas Bellinger2010-12-17 652 } else { 42201b55 Nicholas Bellinger2014-01-18 653 memset(&fd_prot, 0, sizeof(struct fd_prot)); 42201b55 Nicholas Bellinger2014-01-18 654 42201b55 Nicholas Bellinger2014-01-18 655 if (cmd->prot_type) { 42201b55 Nicholas Bellinger2014-01-18 656 u32 sectors = cmd->data_length / dev->dev_attrib.block_size; 42201b55 Nicholas Bellinger2014-01-18 657 42201b55 Nicholas Bellinger2014-01-18 658 ret = fd_do_prot_rw(cmd, &fd_prot, false); 42201b55 Nicholas Bellinger2014-01-18 659 if (ret < 0) 42201b55 Nicholas Bellinger2014-01-18 660 return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE; 42201b55 Nicholas Bellinger2014-01-18 661 42201b55 Nicholas Bellinger2014-01-18 662 rc = sbc_dif_verify_write(cmd, cmd->t_task_lba, sectors, 42201b55 Nicholas Bellinger2014-01-18 663 0, fd_prot.prot_sg, 0); 42201b55 Nicholas Bellinger2014-01-18 664 if (rc) { 42201b55 Nicholas Bellinger2014-01-18 665 kfree(fd_prot.prot_sg); 42201b55 Nicholas Bellinger2014-01-18 666 vfree(fd_prot.prot_buf); 42201b55 Nicholas Bellinger2014-01-18 667 return rc; 42201b55 Nicholas Bellinger2014-01-18 668 } 42201b55 Nicholas Bellinger2014-01-18 669 } 42201b55 Nicholas Bellinger2014-01-18 670 778229af Sebastian Andrzej Siewior 2012-12-05 671 ret = fd_do_rw(cmd, sgl, sgl_nents, 1); a4dff304 Nicholas Bellinger2012-05-30 672 /* 125d0119 Hannes Reinecke 2013-11-19 673 * Perform implicit vfs_fsync_range() for fd_do_writev() ops a4dff304 Nicholas Bellinger2012-05-30 674 * for SCSI WRITEs with Forced Unit Access (FUA) set. a4dff304 Nicholas Bellinger2012-05-30 675 * Allow this to happen independent of WCE=0 setting. a4dff304 Nicholas Bellinger2012-05-30 676 */ c66ac9db Nicholas Bellinger2010-12-17 677 if (ret > 0 && 0fd97ccf Christoph Hellwig 2012-10-08 678 dev->dev_attrib.emulate_fua_write > 0 && 2d3a4b51 Christoph Hellwig 2011-11-14 679 (cmd->se_cmd_flags & SCF_FUA)) { 0fd97ccf Christoph Hellwig 2012-10-08 680 struct fd_dev *fd_dev = FD_DEV(dev); a4dff304 Nicholas Bellinger2012-05-30 681 loff_t start = cmd->t_task_lba * 0fd97ccf Christoph Hellwig 2012-10-08 682 dev->dev_attrib.block_size; a4dff304 Nicholas Bellinger2012-05-30 683 loff_t end = start + cmd->data_length; c66ac9db Nicholas Bellinger2010-12-17 684 a4dff304 Nicholas Bellinger2012-05-30 685 vfs_fsync_range(fd_dev->fd_file, start, end, 1); a4dff304 Nicholas Bellinger2012-05-30 686 } 42201b55 Nicholas Bellinger2014-01-18 687 42201b55 Nicholas Bellinger2014-01-18 688 if (ret > 0 && cmd->prot_type) { 42201b55 Nicholas Bellinger2014-01-18 689 ret = fd_do_prot_rw(cmd, &fd_prot, true); 42201b55 Nicholas Bellinger2014-01-18 690