Date: Wed, 06 Dec 2017 13:44:45 -0800 From: Ravi Pokala <rpokala@mac.com> To: Alan Somers <asomers@freebsd.org> Cc: "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org> Subject: Re: svn commit: r326624 - head/sys/cam/ata Message-ID: <9B746B37-4C6C-4F21-B9F7-77826DDF0DCA@mac.com> In-Reply-To: <CAOtMX2iF5qDDfNmKecU1P9FFdSrvy0kF70zh9dkTuECw-zEjHA@mail.gmail.com> References: <201712061701.vB6H1PDN011394@repo.freebsd.org> <E4118711-5BEB-4BDB-A0D0-B35EC8ABBE5A@mac.com> <CAOtMX2iF5qDDfNmKecU1P9FFdSrvy0kF70zh9dkTuECw-zEjHA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Oh good, I'll be able to sleep tonight after all. :-) -Ravi -----Original Message----- From: <owner-src-committers@freebsd.org> on behalf of Alan Somers <asomers@freebsd.org> Date: 2017-12-06, Wednesday at 10:15 To: Ravi Pokala <rpokala@mac.com> Cc: "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org> Subject: Re: svn commit: r326624 - head/sys/cam/ata Nope. The ATA spec prohibited them, and nobody ever manufactured any. But you might be able to fake one with CTL or QEMU or something similar. On Wed, Dec 6, 2017 at 10:11 AM, Ravi Pokala <rpokala@mac.com> wrote: > ... disks of >=1TiB that still use CHS addressing. Out of morbid curiosity, are there any such monstrosities? <barf> -Ravi (rpokala@) -----Original Message----- From: <owner-src-committers@freebsd.org> on behalf of Alan Somers <asomers@FreeBSD.org> Date: 2017-12-06, Wednesday at 09:01 To: <src-committers@freebsd.org>, <svn-src-all@freebsd.org>, <svn-src-head@freebsd.org> Subject: svn commit: r326624 - head/sys/cam/ata Author: asomers Date: Wed Dec 6 17:01:25 2017 New Revision: 326624 URL: https://svnweb.freebsd.org/changeset/base/326624 Log: cam: fix sign-extension error in adagetparams adagetparams contains a sign-extension error that will cause the sector count to be incorrectly calculated for ATA disks of >=1TiB that still use CHS addressing. Disks using LBA48 addressing are unaffected. Reported by: Coverity CID: 1007296 Reviewed by: ken MFC after: 3 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D13198 Modified: head/sys/cam/ata/ata_da.c Modified: head/sys/cam/ata/ata_da.c ============================================================================== --- head/sys/cam/ata/ata_da.c Wed Dec 6 14:53:53 2017 (r326623) +++ head/sys/cam/ata/ata_da.c Wed Dec 6 17:01:25 2017 (r326624) @@ -3377,7 +3377,8 @@ adagetparams(struct cam_periph *periph, struct ccb_get dp->heads = cgd->ident_data.heads; dp->secs_per_track = cgd->ident_data.sectors; dp->cylinders = cgd->ident_data.cylinders; - dp->sectors = cgd->ident_data.cylinders * dp->heads * dp->secs_per_track; + dp->sectors = cgd->ident_data.cylinders * + (u_int32_t)(dp->heads * dp->secs_per_track); } lbasize = (u_int32_t)cgd->ident_data.lba_size_1 | ((u_int32_t)cgd->ident_data.lba_size_2 << 16);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9B746B37-4C6C-4F21-B9F7-77826DDF0DCA>