You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
s390/appldata: make copy_from_user() invocations provably correct
Just change the type of "len" to unsigned int so the compiler can prove
that we don't have a buffer overflow (and generates less code).
We get rid of these:
In function 'copy_from_user',
inlined from 'appldata_interval_handler' at
arch/s390/appldata/appldata_base.c:265:
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 'appldata_timer_handler' at
arch/s390/appldata/appldata_base.c:225:
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 'appldata_generic_handler' at
arch/s390/appldata/appldata_base.c:333:
uaccess.h:303: warning: call to 'copy_from_user_overflow' declared
with attribute warning: copy_from_user() buffer size is not provably
correct
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
committed by
Martin Schwidefsky
parent
041058a16a
commit
57f47ba0cb
@@ -204,7 +204,7 @@ static int
|
||||
appldata_timer_handler(ctl_table *ctl, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
int len;
|
||||
unsigned int len;
|
||||
char buf[2];
|
||||
|
||||
if (!*lenp || *ppos) {
|
||||
@@ -246,7 +246,8 @@ static int
|
||||
appldata_interval_handler(ctl_table *ctl, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
int len, interval;
|
||||
unsigned int len;
|
||||
int interval;
|
||||
char buf[16];
|
||||
|
||||
if (!*lenp || *ppos) {
|
||||
@@ -290,7 +291,8 @@ appldata_generic_handler(ctl_table *ctl, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
struct appldata_ops *ops = NULL, *tmp_ops;
|
||||
int rc, len, found;
|
||||
unsigned int len;
|
||||
int rc, found;
|
||||
char buf[2];
|
||||
struct list_head *lh;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user