linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCHES] compat ioctl cleanup on hpsa
@ 2020-04-27 19:41 Al Viro
  0 siblings, 0 replies; only message in thread
From: Al Viro @ 2020-04-27 19:41 UTC (permalink / raw)
  To: Don Brace; +Cc: linux-scsi, Al Viro

	Do you have any problems with the stuff in
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git #uaccess.hpsa ?

	Background: I would rather get rid of compat_alloc_user_space() -
it's almost always easier to do without it these days.  The only reason
it used to be useful had been doing compat ioctl handling far away
from where the native ones are dealt with (i.e. in late unlamented
fs/compat_ioctl.c).
	In case of hpsa, it's definitely less headache to just lift the
copyin/copyout of {BIG_,}IOCTL_Command_struct into the callers and
have compat passthru handlers call the same functions.  Without
going through "build a native struct on kernel stack, allocate on
user stack, copy there, only to have hpsa_ioctl() copy it back into
another instance on kernel stack" song and dance.

It's v5.7-rc1-based, with 4 commits in it:
      hpsa passthrough: lift {BIG_,}IOCTL_Command_struct copy{in,out} into hpsa_ioctl()
      hpsa: don't bother with vmalloc for BIG_IOCTL_Command_struct
      hpsa: get rid of compat_alloc_user_space()
      hpsa_ioctl(): tidy up a bit

 drivers/scsi/hpsa.c | 199 ++++++++++++++++++++++++----------------------------
 1 file changed, 90 insertions(+), 109 deletions(-)

	Could you give a look to what's in that branch and comment on it?

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

only message in thread, other threads:[~2020-04-27 19:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-27 19:41 [RFC][PATCHES] compat ioctl cleanup on hpsa Al Viro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).