All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] staging/lustre: Different prototypes between the declaration and the definition
@ 2014-09-04 18:28 Loïc Pellegrino
  0 siblings, 0 replies; only message in thread
From: Loïc Pellegrino @ 2014-09-04 18:28 UTC (permalink / raw)
  To: oleg.drokin, andreas.dilger, gregkh; +Cc: linux-kernel, devel, oort10

Align the prototype of lprocfs_wr_uint() in the declaration with the one used 
in the definition.

The prototype is:
int lprocfs_wr_uint(struct file *file, const char __user *buffer,
                    unsigned long count, void *data)
In obdclass/lprocfs_status.c

But in lustre/include/lprocfs_status.h, the __user annotation is missing for 
the attribute buffer.

The correct prototype is the first one (the definition) since:
- This function is eventually called by the write() function pointer of an 
instance of struct file_operations
- In this function, buffer is a parameter of copy_from_user()
- Before the commit 73bb1da692d0dc3e93b9c9e29084d6a5dcbc37a6, the declaration 
and the definition had the same prototype, but only the .c has been updated.

Correcting this will remove a sparse error and add sparse warnings.
This is a task of the Eudyptula challenge.

Signed-off-by: Loïc Pellegrino <oort10@gmail.com>
---
My previous email was not formatted correctly sorry.

 drivers/staging/lustre/lustre/include/lprocfs_status.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/include/lprocfs_status.h b/drivers/staging/lustre/lustre/include/lprocfs_status.h
index 05b5285..ccb6cd4 100644
--- a/drivers/staging/lustre/lustre/include/lprocfs_status.h
+++ b/drivers/staging/lustre/lustre/include/lprocfs_status.h
@@ -611,7 +611,7 @@ extern int lprocfs_rd_atomic(struct seq_file *m, void *data);
 extern int lprocfs_wr_atomic(struct file *file, const char __user *buffer,
 			     unsigned long count, void *data);
 extern int lprocfs_rd_uint(struct seq_file *m, void *data);
-extern int lprocfs_wr_uint(struct file *file, const char *buffer,
+extern int lprocfs_wr_uint(struct file *file, const char __user *buffer,
 			   unsigned long count, void *data);
 extern int lprocfs_rd_uuid(struct seq_file *m, void *data);
 extern int lprocfs_rd_name(struct seq_file *m, void *data);
-- 
1.9.3





^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2014-09-04 18:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-04 18:28 [PATCH v2] staging/lustre: Different prototypes between the declaration and the definition Loïc Pellegrino

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.