Skip to content

Commit

Permalink
s390/cmm: make copy_from_user() invocation provably correct
Browse files Browse the repository at this point in the history
Get rid of these two warnings:

In function 'copy_from_user',
    inlined from 'cmm_timeout_handler' at arch/s390/mm/cmm.c:310:
      uaccess.h:303: warning: call to 'copy_from_user_overflow' declared
      with attribute warning: copy_from_user() buffer size is not provably
      correct
In function 'copy_from_user',
    inlined from 'cmm_pages_handler' at arch/s390/mm/cmm.c:270:
      uaccess.h:303: warning: call to 'copy_from_user_overflow' declared
      with attribute warning: copy_from_user() buffer size is not provably
      correct

Change the "len" type to unsigned int, so we can make sure that there is no
buffer overflow. This also generates less code.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
  • Loading branch information
Heiko Carstens authored and Martin Schwidefsky committed Oct 24, 2013
1 parent 160d378 commit 041058a
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions arch/s390/mm/cmm.c
Original file line number Diff line number Diff line change
Expand Up @@ -257,8 +257,8 @@ static int cmm_pages_handler(ctl_table *ctl, int write, void __user *buffer,
size_t *lenp, loff_t *ppos)
{
char buf[16], *p;
unsigned int len;
long nr;
int len;

if (!*lenp || (*ppos && !write)) {
*lenp = 0;
Expand Down Expand Up @@ -298,7 +298,7 @@ static int cmm_timeout_handler(ctl_table *ctl, int write, void __user *buffer,
{
char buf[64], *p;
long nr, seconds;
int len;
unsigned int len;

if (!*lenp || (*ppos && !write)) {
*lenp = 0;
Expand Down

0 comments on commit 041058a

Please sign in to comment.