Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Jul 2009 06:14:26 +0200
From:      Oliver Pinter <oliver.pntr@gmail.com>
To:        Alexander Motin <mav@freebsd.org>
Cc:        svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   Re: svn commit: r195973 - in stable/7/sys: . contrib/pf dev/ata
Message-ID:  <6101e8c40907302114l46e6a0f2wa783384a80504a0@mail.gmail.com>
In-Reply-To: <200907301319.n6UDJC6B014743@svn.freebsd.org>
References:  <200907301319.n6UDJC6B014743@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--000e0cd2a030eccac7046ff8a7ed
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

fix complie error, tested, booted, used

On 7/30/09, Alexander Motin <mav@freebsd.org> wrote:
> Author: mav
> Date: Thu Jul 30 13:19:12 2009
> New Revision: 195973
> URL: http://svn.freebsd.org/changeset/base/195973
>
> Log:
>   MFC rev. 195724:
>
>   Limit IOCATAREQUEST ioctl data size to controller's maximum I/O size.
>   It fixes kernel panic when requested size is too large (0xffffffff).
>
>   PR:		kern/136726
>
> Modified:
>   stable/7/sys/   (props changed)
>   stable/7/sys/contrib/pf/   (props changed)
>   stable/7/sys/dev/ata/ata-all.c
>
> Modified: stable/7/sys/dev/ata/ata-all.c
> ==============================================================================
> --- stable/7/sys/dev/ata/ata-all.c	Thu Jul 30 12:41:19 2009	(r195972)
> +++ stable/7/sys/dev/ata/ata-all.c	Thu Jul 30 13:19:12 2009	(r195973)
> @@ -440,6 +440,7 @@ int
>  ata_device_ioctl(device_t dev, u_long cmd, caddr_t data)
>  {
>      struct ata_device *atadev = device_get_softc(dev);
> +    struct ata_channel *ch = device_get_softc(device_get_parent(dev));
>      struct ata_ioc_request *ioc_request = (struct ata_ioc_request *)data;
>      struct ata_params *params = (struct ata_params *)data;
>      int *mode = (int *)data;
> @@ -449,6 +450,10 @@ ata_device_ioctl(device_t dev, u_long cm
>
>      switch (cmd) {
>      case IOCATAREQUEST:
> +	if (ioc_request->count >
> +	    (ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS)) {
> +		return (EFBIG);
> +	}
>  	if (!(buf = malloc(ioc_request->count, M_ATA, M_NOWAIT))) {
>  	    return ENOMEM;
>  	}
> _______________________________________________
> svn-src-stable-7@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-stable-7
> To unsubscribe, send any mail to "svn-src-stable-7-unsubscribe@freebsd.org"
>

--000e0cd2a030eccac7046ff8a7ed
Content-Type: text/x-diff; charset=US-ASCII; name="ata_compile_fix.diff"
Content-Disposition: attachment; filename="ata_compile_fix.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: file0

Y29tbWl0IDVmNDkyMGI5MWU5MTUxNDA5OWQxYTMyMWU3ZWQ4MjcwMDc2MDIxYjUKQXV0aG9yOiBv
cHYgPG9wdkBvbGl2ZXJwLnRldGVueS5ibWUuaHU+CkRhdGU6ICAgRnJpIEp1bCAzMSAwNTo1Njoy
MyAyMDA5ICswMjAwCgogICAgYXRhIGNvbXBsaWUgZml4IC0gd2FzIHN2biBjb21taXQ6IHIxOTU5
NzMgZml4CgogICAgL3Vzci9zcmMvc3lzL2Rldi9hdGEvYXRhLWFsbC5jOiBJbiBmdW5jdGlvbiAn
YXRhX2RldmljZV9pb2N0bCc6CiAgICAvdXNyL3NyYy9zeXMvZGV2L2F0YS9hdGEtYWxsLmM6NDU0
OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtYXhfaW9zaXplJwogICAgaW4gc29tZXRoaW5n
IG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgoKICAgIFNpZ25lZC1vZmYtYnk6IE9saXZlciBQaW50
ZXIgPG9saXZlci5wbnRyQGdtYWlsLmNvbT4KCgpkaWZmIC0tZ2l0IGEvc3lzL2Rldi9hdGEvYXRh
LWFsbC5jIGIvc3lzL2Rldi9hdGEvYXRhLWFsbC5jCmluZGV4IGM1OGU2NzUuLjc5ZTBiYzQgMTAw
NjQ0Ci0tLSBhL3N5cy9kZXYvYXRhL2F0YS1hbGwuYworKysgYi9zeXMvZGV2L2F0YS9hdGEtYWxs
LmMKQEAgLTQ1MSw3ICs0NTEsNyBAQCBhdGFfZGV2aWNlX2lvY3RsKGRldmljZV90IGRldiwgdV9s
b25nIGNtZCwgY2FkZHJfdCBkYXRhKQogICAgIHN3aXRjaCAoY21kKSB7CiAgICAgY2FzZSBJT0NB
VEFSRVFVRVNUOgogCWlmIChpb2NfcmVxdWVzdC0+Y291bnQgPgotCSAgICAoY2gtPmRtYS5tYXhf
aW9zaXplID8gY2gtPmRtYS5tYXhfaW9zaXplIDogREZMVFBIWVMpKSB7CisJICAgIChjaC0+ZG1h
LT5tYXhfaW9zaXplID8gY2gtPmRtYS0+bWF4X2lvc2l6ZSA6IERGTFRQSFlTKSkgewogCQlyZXR1
cm4gKEVGQklHKTsKIAl9CiAJaWYgKCEoYnVmID0gbWFsbG9jKGlvY19yZXF1ZXN0LT5jb3VudCwg
TV9BVEEsIE1fTk9XQUlUKSkpIHsK
--000e0cd2a030eccac7046ff8a7ed--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6101e8c40907302114l46e6a0f2wa783384a80504a0>