On Sat, Dec 06, 2014 at 04:03:22PM -0800, Tristan Lelong wrote: > This patch fix a sparse warning in lustre sources > > warning: incorrect type in argument 1 (different address spaces) > expected void [noderef] <asn:1>*to > got char *<noident> > > This is done by adding the missing __user attribute on userland pointers inside the LPROC_SEQ_FOPS like macros: > - LPROC_SEQ_FOPS > - LPROC_SEQ_FOPS_RW_TYPE > - LPROC_SEQ_FOPS_WR_ONLY > - LDLM_POOL_PROC_WRITER > > The patch also updates all the functions that are used by this macro: > - lprocfs_wr_* > - *_seq_write > > as well as some helpers used by the previously modified functions (otherwise fixing the sparse warning add some new ones): > - lprocfs_write_frac_helper > - lprocfs_write_helper > - lprocfs_write_u64_helper > > The patch also fixes one __user pointer direct dereference by strncmp in function fld_proc_hash_seq_write. > > Signed-off-by: Tristan Lelong <tristan@xxxxxxxxxx> > --- > Changes in v2: > Use dynamic allocation for 'name' variable instead of having it on the stack, per Greg K-H suggestion. > > Changes in v3: > Rename added variable from 'name' to 'fh_name'. > Revert to a stack declaration of 'fh_name' since it is not 80 bytes but only 8, per Andreas Dilger comment. > --- > drivers/staging/lustre/lustre/fld/lproc_fld.c | 14 ++++-- > .../staging/lustre/lustre/include/lprocfs_status.h | 44 +++++++++-------- > drivers/staging/lustre/lustre/ldlm/ldlm_internal.h | 5 +- > drivers/staging/lustre/lustre/ldlm/ldlm_pool.c | 4 +- > drivers/staging/lustre/lustre/ldlm/ldlm_resource.c | 7 +-- > drivers/staging/lustre/lustre/lov/lproc_lov.c | 20 +++++--- > drivers/staging/lustre/lustre/mdc/lproc_mdc.c | 7 +-- > .../lustre/lustre/obdclass/linux/linux-module.c | 5 +- > .../lustre/lustre/obdclass/lprocfs_status.c | 2 +- > drivers/staging/lustre/lustre/osc/lproc_osc.c | 57 +++++++++++++--------- > .../staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c | 25 +++++----- > 11 files changed, 114 insertions(+), 76 deletions(-) I took your v2 version, please send me the difference as this is a mess... _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel