[PATCH 1/3] staging: androind: Replace BUG_ONs with WARN_ONs

2020-08-17 Thread Tomer Samara
BUG_ON() is replaced with WARN_ON at ion_page_pool.c
Fixes the following issue:
Avoid crashing the kernel - try using WARN_ON & recovery code ratherthan BUG() 
or BUG_ON().

Signed-off-by: Tomer Samara 
---
 drivers/staging/android/ion/ion_page_pool.c | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/android/ion/ion_page_pool.c 
b/drivers/staging/android/ion/ion_page_pool.c
index 0198b886d906..4acc0eebf781 100644
--- a/drivers/staging/android/ion/ion_page_pool.c
+++ b/drivers/staging/android/ion/ion_page_pool.c
@@ -46,11 +46,13 @@ static struct page *ion_page_pool_remove(struct 
ion_page_pool *pool, bool high)
struct page *page;
 
if (high) {
-   BUG_ON(!pool->high_count);
+   if (WARN_ON(!pool->high_count))
+   return NULL:
page = list_first_entry(>high_items, struct page, lru);
pool->high_count--;
} else {
-   BUG_ON(!pool->low_count);
+   if (WARN_ON(!pool->low_count))
+   return NULL;
page = list_first_entry(>low_items, struct page, lru);
pool->low_count--;
}
@@ -65,7 +67,8 @@ struct page *ion_page_pool_alloc(struct ion_page_pool *pool)
 {
struct page *page = NULL;
 
-   BUG_ON(!pool);
+   if (WARN_ON(!pool))
+   return NULL;
 
mutex_lock(>mutex);
if (pool->high_count)
@@ -82,7 +85,8 @@ struct page *ion_page_pool_alloc(struct ion_page_pool *pool)
 
 void ion_page_pool_free(struct ion_page_pool *pool, struct page *page)
 {
-   BUG_ON(pool->order != compound_order(page));
+   if (WARN_ON(pool->order != compound_order(page)))
+   return;
 
ion_page_pool_add(pool, page);
 }
-- 
2.25.1

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 1/3] staging: androind: Replace BUG_ONs with WARN_ONs

2020-08-16 Thread kernel test robot
Hi Tomer,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]
[also build test ERROR on v5.9-rc1 next-20200814]
[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/Tomer-Samara/Replac-BAG-BAG_ON-with-WARN-WARN_ON/20200817-012333
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 
86cfccb66937dd6cbf26ed619958b9e587e6a115
config: x86_64-rhel-7.6-kselftests (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 

All errors (new ones prefixed by >>):

   drivers/staging/android/ion/ion_page_pool.c: In function 
'ion_page_pool_remove':
>> drivers/staging/android/ion/ion_page_pool.c:50:15: error: expected ';' 
>> before ':' token
  50 |return NULL:
 |   ^
--
>> drivers/gpu/drm/vmwgfx/ttm_object.c:60: error: Cannot parse struct or union!
   drivers/gpu/drm/vmwgfx/ttm_object.c:98: warning: Function parameter or 
member 'mem_glob' not described in 'ttm_object_device'
   drivers/gpu/drm/vmwgfx/ttm_object.c:98: warning: Function parameter or 
member 'ops' not described in 'ttm_object_device'
   drivers/gpu/drm/vmwgfx/ttm_object.c:98: warning: Function parameter or 
member 'dmabuf_release' not described in 'ttm_object_device'
   drivers/gpu/drm/vmwgfx/ttm_object.c:98: warning: Function parameter or 
member 'dma_buf_size' not described in 'ttm_object_device'
   drivers/gpu/drm/vmwgfx/ttm_object.c:98: warning: Function parameter or 
member 'idr' not described in 'ttm_object_device'
   drivers/gpu/drm/vmwgfx/ttm_object.c:129: warning: Function parameter or 
member 'rcu_head' not described in 'ttm_ref_object'
   drivers/gpu/drm/vmwgfx/ttm_object.c:129: warning: Function parameter or 
member 'tfile' not described in 'ttm_ref_object'
   drivers/gpu/drm/vmwgfx/ttm_object.c:583: warning: Function parameter or 
member 'dmabuf' not described in 'get_dma_buf_unless_doomed'
   drivers/gpu/drm/vmwgfx/ttm_object.c:583: warning: Excess function parameter 
'dma_buf' description in 'get_dma_buf_unless_doomed'

# 
https://github.com/0day-ci/linux/commit/71d27df2e46fe435ada18ac3dae964d6b9a74664
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review 
Tomer-Samara/Replac-BAG-BAG_ON-with-WARN-WARN_ON/20200817-012333
git checkout 71d27df2e46fe435ada18ac3dae964d6b9a74664
vim +50 drivers/staging/android/ion/ion_page_pool.c

43  
44  static struct page *ion_page_pool_remove(struct ion_page_pool *pool, 
bool high)
45  {
46  struct page *page;
47  
48  if (high) {
49  if (WARN_ON(!pool->high_count))
  > 50  return NULL:
51  page = list_first_entry(>high_items, struct page, 
lru);
52  pool->high_count--;
53  } else {
54  if (WARN_ON(!pool->low_count))
55  return NULL;
56  page = list_first_entry(>low_items, struct page, 
lru);
57  pool->low_count--;
58  }
59  
60  list_del(>lru);
61  mod_node_page_state(page_pgdat(page), 
NR_KERNEL_MISC_RECLAIMABLE,
62  -(1 << pool->order));
63  return page;
64  }
65  

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


.config.gz
Description: application/gzip
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 1/3] staging: androind: Replace BUG_ONs with WARN_ONs

2020-08-16 Thread kernel test robot
Hi Tomer,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]
[also build test ERROR on v5.8 next-20200814]
[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/Tomer-Samara/Replac-BAG-BAG_ON-with-WARN-WARN_ON/20200817-012333
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 
86cfccb66937dd6cbf26ed619958b9e587e6a115
config: x86_64-randconfig-a011-20200817 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 
ab9fc8bae805c785066779e76e7846aabad5609e)
reproduce (this is a W=1 build):
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 

All errors (new ones prefixed by >>):

>> drivers/staging/android/ion/ion_page_pool.c:50:15: error: expected ';' after 
>> return statement
   return NULL:
  ^
  ;
   1 error generated.

# 
https://github.com/0day-ci/linux/commit/71d27df2e46fe435ada18ac3dae964d6b9a74664
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review 
Tomer-Samara/Replac-BAG-BAG_ON-with-WARN-WARN_ON/20200817-012333
git checkout 71d27df2e46fe435ada18ac3dae964d6b9a74664
vim +50 drivers/staging/android/ion/ion_page_pool.c

43  
44  static struct page *ion_page_pool_remove(struct ion_page_pool *pool, 
bool high)
45  {
46  struct page *page;
47  
48  if (high) {
49  if (WARN_ON(!pool->high_count))
  > 50  return NULL:
51  page = list_first_entry(>high_items, struct page, 
lru);
52  pool->high_count--;
53  } else {
54  if (WARN_ON(!pool->low_count))
55  return NULL;
56  page = list_first_entry(>low_items, struct page, 
lru);
57  pool->low_count--;
58  }
59  
60  list_del(>lru);
61  mod_node_page_state(page_pgdat(page), 
NR_KERNEL_MISC_RECLAIMABLE,
62  -(1 << pool->order));
63  return page;
64  }
65  

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


.config.gz
Description: application/gzip
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 1/3] staging: androind: Replace BUG_ONs with WARN_ONs

2020-08-16 Thread kernel test robot
Hi Tomer,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on staging/staging-testing]
[also build test ERROR on v5.8 next-20200814]
[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/Tomer-Samara/Replac-BAG-BAG_ON-with-WARN-WARN_ON/20200817-012333
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 
86cfccb66937dd6cbf26ed619958b9e587e6a115
config: arc-allyesconfig (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 

All errors (new ones prefixed by >>):

   drivers/staging/android/ion/ion_page_pool.c: In function 
'ion_page_pool_remove':
>> drivers/staging/android/ion/ion_page_pool.c:50:15: error: expected ';' 
>> before ':' token
  50 |return NULL:
 |   ^

# 
https://github.com/0day-ci/linux/commit/71d27df2e46fe435ada18ac3dae964d6b9a74664
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review 
Tomer-Samara/Replac-BAG-BAG_ON-with-WARN-WARN_ON/20200817-012333
git checkout 71d27df2e46fe435ada18ac3dae964d6b9a74664
vim +50 drivers/staging/android/ion/ion_page_pool.c

43  
44  static struct page *ion_page_pool_remove(struct ion_page_pool *pool, 
bool high)
45  {
46  struct page *page;
47  
48  if (high) {
49  if (WARN_ON(!pool->high_count))
  > 50  return NULL:
51  page = list_first_entry(>high_items, struct page, 
lru);
52  pool->high_count--;
53  } else {
54  if (WARN_ON(!pool->low_count))
55  return NULL;
56  page = list_first_entry(>low_items, struct page, 
lru);
57  pool->low_count--;
58  }
59  
60  list_del(>lru);
61  mod_node_page_state(page_pgdat(page), 
NR_KERNEL_MISC_RECLAIMABLE,
62  -(1 << pool->order));
63  return page;
64  }
65  

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


.config.gz
Description: application/gzip
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel