2016-11-18 11:25:08

by Dmitry Vyukov

[permalink] [raw]
Subject: [PATCH] infiniband: remove WARN that is not kernel bug

WARNINGs mean kernel bugs.
The one in ucma_write() points to user programming error
or a malicious attempt. This is not a kernel bug, remove it.

BUG/WARNs that are not kernel bugs hinder automated testing effots.

Signed-off-by: Dmitry Vyukov <[email protected]>
Cc: Doug Ledford <[email protected]>
Cc: Sean Hefty <[email protected]>
Cc: Hal Rosenstock <[email protected]>
Cc: Leon Romanovsky <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
drivers/infiniband/core/ucma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/core/ucma.c b/drivers/infiniband/core/ucma.c
index 9520154..ff60373 100644
--- a/drivers/infiniband/core/ucma.c
+++ b/drivers/infiniband/core/ucma.c
@@ -1584,7 +1584,7 @@ static ssize_t ucma_write(struct file *filp, const char __user *buf,
struct rdma_ucm_cmd_hdr hdr;
ssize_t ret;

- if (WARN_ON_ONCE(!ib_safe_file_access(filp)))
+ if (!ib_safe_file_access(filp))
return -EACCES;

if (len < sizeof(hdr))
--
2.8.0.rc3.226.g39d4020


2016-11-19 02:23:57

by Valdis Klētnieks

[permalink] [raw]
Subject: Re: [PATCH] infiniband: remove WARN that is not kernel bug

On Fri, 18 Nov 2016 12:24:37 +0100, Dmitry Vyukov said:
> WARNINGs mean kernel bugs.
> The one in ucma_write() points to user programming error
> or a malicious attempt. This is not a kernel bug, remove it.

> - if (WARN_ON_ONCE(!ib_safe_file_access(filp)))
> + if (!ib_safe_file_access(filp))
> return -EACCES;

In that case, wouldn't this be better?

if (!ib_safe_file_access(filp)) {
printk_once("Process %d (%s) tried to do something hinky", pid, comm);
return _EACCESS;
}

so the sysadmin becomes aware of the malicious attempt?


Attachments:
(No filename) (484.00 B)

2016-11-19 18:57:49

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [PATCH] infiniband: remove WARN that is not kernel bug

On Fri, Nov 18, 2016 at 09:22:42PM -0500, [email protected] wrote:
> On Fri, 18 Nov 2016 12:24:37 +0100, Dmitry Vyukov said:
> > WARNINGs mean kernel bugs.
> > The one in ucma_write() points to user programming error
> > or a malicious attempt. This is not a kernel bug, remove it.
>
> > - if (WARN_ON_ONCE(!ib_safe_file_access(filp)))
> > + if (!ib_safe_file_access(filp))
> > return -EACCES;
>
> In that case, wouldn't this be better?
>
> if (!ib_safe_file_access(filp)) {
> printk_once("Process %d (%s) tried to do something hinky", pid, comm);
> return _EACCESS;
> }
>
> so the sysadmin becomes aware of the malicious attempt?

Yes please

Jason

2016-11-21 10:20:01

by Dmitry Vyukov

[permalink] [raw]
Subject: Re: [PATCH] infiniband: remove WARN that is not kernel bug

On Sat, Nov 19, 2016 at 7:57 PM, Jason Gunthorpe
<[email protected]> wrote:
> On Fri, Nov 18, 2016 at 09:22:42PM -0500, [email protected] wrote:
>> On Fri, 18 Nov 2016 12:24:37 +0100, Dmitry Vyukov said:
>> > WARNINGs mean kernel bugs.
>> > The one in ucma_write() points to user programming error
>> > or a malicious attempt. This is not a kernel bug, remove it.
>>
>> > - if (WARN_ON_ONCE(!ib_safe_file_access(filp)))
>> > + if (!ib_safe_file_access(filp))
>> > return -EACCES;
>>
>> In that case, wouldn't this be better?
>>
>> if (!ib_safe_file_access(filp)) {
>> printk_once("Process %d (%s) tried to do something hinky", pid, comm);
>> return _EACCESS;
>> }
>>
>> so the sysadmin becomes aware of the malicious attempt?
>
> Yes please

Mailed v2