svn commit: r240692 - head/sys/dev/amr
John Baldwin
jhb at FreeBSD.org
Wed Sep 19 11:54:33 UTC 2012
Author: jhb
Date: Wed Sep 19 11:54:32 2012
New Revision: 240692
URL: http://svn.freebsd.org/changeset/base/240692
Log:
As a followup to r234501, ensure that the native ioctl path always allocates
a 4kb buffer if a request uses a buffer size of 0. (The Linux ioctl path
already did this.)
PR: kern/155658
Submitted by: Andreas Longwitz
MFC after: 1 week
Modified:
head/sys/dev/amr/amr.c
Modified: head/sys/dev/amr/amr.c
==============================================================================
--- head/sys/dev/amr/amr.c Wed Sep 19 11:40:17 2012 (r240691)
+++ head/sys/dev/amr/amr.c Wed Sep 19 11:54:32 2012 (r240692)
@@ -846,11 +846,8 @@ amr_ioctl(struct cdev *dev, u_long cmd,
/* handle inbound data buffer */
real_length = amr_ioctl_buffer_length(au_length);
+ dp = malloc(real_length, M_AMR, M_WAITOK|M_ZERO);
if (au_length != 0 && au_cmd[0] != 0x06) {
- if ((dp = malloc(real_length, M_AMR, M_WAITOK|M_ZERO)) == NULL) {
- error = ENOMEM;
- goto out;
- }
if ((error = copyin(au_buffer, dp, au_length)) != 0) {
free(dp, M_AMR);
return (error);
@@ -920,8 +917,7 @@ amr_ioctl(struct cdev *dev, u_long cmd,
error = copyout(dp, au_buffer, au_length);
}
debug(2, "copyout %ld bytes from %p -> %p", au_length, dp, au_buffer);
- if (dp != NULL)
- debug(2, "%p status 0x%x", dp, ac->ac_status);
+ debug(2, "%p status 0x%x", dp, ac->ac_status);
*au_statusp = ac->ac_status;
out:
More information about the svn-src-head
mailing list