Skip site navigation (1)Skip section navigation (2)
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>