<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in sbp.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>95ee2897 - sys: Remove $FreeBSD$: two-line .h pattern</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#95ee2897</link>
        <description>sys: Remove $FreeBSD$: two-line .h patternRemove /^\s*\*\n \*\s+\$FreeBSD\$$\n/

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Wed, 16 Aug 2023 17:54:11 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>8984411b - firewire: Remove unused devclass arguments to DRIVER_MODULE.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#8984411b</link>
        <description>firewire: Remove unused devclass arguments to DRIVER_MODULE.

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Mon, 09 May 2022 19:22:01 +0000</pubDate>
        <dc:creator>John Baldwin &lt;jhb@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>3861bafb - firewire(4): Fix &quot;set but not used&quot; warnings</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#3861bafb</link>
        <description>firewire(4): Fix &quot;set but not used&quot; warningsSponsored By:	EPSRC

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Sat, 18 Dec 2021 15:10:45 +0000</pubDate>
        <dc:creator>Edward Tomasz Napierala &lt;trasz@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>cc384c67 - cam: prefer cam_sim_softc() over accessing cam_sim structure directly.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#cc384c67</link>
        <description>cam: prefer cam_sim_softc() over accessing cam_sim structure directly.Use the accessor function to get the softc for this sim. This also dropsan unneeded cast.Sponsored by:		NetflixReviewed by:		mav@, hselasky@Differential Revision:	https://reviews.freebsd.org/D30360

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Thu, 03 Jun 2021 19:05:20 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>cd853791 - Make MAXPHYS tunable.  Bump MAXPHYS to 1M.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#cd853791</link>
        <description>Make MAXPHYS tunable.  Bump MAXPHYS to 1M.Replace MAXPHYS by runtime variable maxphys. It is initialized fromMAXPHYS by default, but can be also adjusted with the tunable kern.maxphys.Make b_pages[] array in struct buf flexible.  Size b_pages[] for buffercache buffers exactly to atop(maxbcachebuf) (currently it is sized toatop(MAXPHYS)), and b_pages[] for pbufs is sized to atop(maxphys) + 1.The +1 for pbufs allow several pbuf consumers, among them vmapbuf(),to use unaligned buffers still sized to maxphys, esp. when suchbuffers come from userspace (*).  Overall, we save significant amountof otherwise wasted memory in b_pages[] for buffer cache buffers,while bumping MAXPHYS to desired high value.Eliminate all direct uses of the MAXPHYS constant in kernel and driversources, except a place which initialize maxphys.  Some random (andarguably weird) uses of MAXPHYS, e.g. in linuxolator, are convertedstraight.  Some drivers, which use MAXPHYS to size embeded structures,get private MAXPHYS-like constant; their convertion is out of scopefor this work.Changes to cam/, dev/ahci, dev/ata, dev/mpr, dev/mpt, dev/mvs,dev/siis, where either submitted by, or based on changes by mav.Suggested by: mav (*)Reviewed by:	imp, mav, imp, mckusick, scottl (intermediate versions)Tested by:	phoSponsored by:	The FreeBSD FoundationDifferential revision:	https://reviews.freebsd.org/D27225

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Sat, 28 Nov 2020 12:12:51 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>6f45fadf - Make sbp(4) use xpt_alloc_ccb/xpt_free_ccb instead of malloc/free.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#6f45fadf</link>
        <description>Make sbp(4) use xpt_alloc_ccb/xpt_free_ccb instead of malloc/free.Reviewed by:	imp, mavMFC after:	2 weeksSponsored by:	NetApp, Inc.Sponsored by:	Klara, Inc.Differential Revision:	https://reviews.freebsd.org/D26843

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Mon, 23 Nov 2020 13:05:11 +0000</pubDate>
        <dc:creator>Edward Tomasz Napierala &lt;trasz@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>7029da5c - Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#7029da5c</link>
        <description>Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that arestill not MPSAFE (or already are but aren&#8217;t properly marked).Use it in preparation for a general review of all nodes.This is non-functional change that adds annotations to SYSCTL_NODE andSYSCTL_PROC nodes using one of the soon-to-be-required flags.Mark all obvious cases as MPSAFE.  All entries that haven&apos;t been markedas MPSAFE before are by default marked as NEEDGIANTApproved by:	kib (mentor, blanket)Commented by:	kib, gallatin, melifaroDifferential Revision:	https://reviews.freebsd.org/D23718

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Wed, 26 Feb 2020 14:26:36 +0000</pubDate>
        <dc:creator>Pawel Biernacki &lt;kaktus@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>58aa35d4 - Remove sparc64 kernel support</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#58aa35d4</link>
        <description>Remove sparc64 kernel supportRemove all sparc64 specific filesRemove all sparc64 ifdefsRemovee indireeect sparc64 ifdefs

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Mon, 03 Feb 2020 17:35:11 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>718cf2cc - sys/dev: further adoption of SPDX licensing ID tags.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#718cf2cc</link>
        <description>sys/dev: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - errorprone - task.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Mon, 27 Nov 2017 14:52:40 +0000</pubDate>
        <dc:creator>Pedro F. Giffuni &lt;pfg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>857bb3d0 - firewire/sbp: try to improve locking, plus a few style nits</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#857bb3d0</link>
        <description>firewire/sbp: try to improve locking, plus a few style nitsThis change tries to fix the most obvious locking problems.sbp_cam_scan_lun() is never called with the sbp lock held, so the lockneeds to be acquired internally (if it&apos;s needed at all).Without this change a kernel with INVARIANTS panics when a firewire diskis connected:  panic: mutex sbp not owned at /usr/src/sys/dev/firewire/sbp.c:967  KDB: stack backtrace:  db_trace_self_wrapper() at 0xffffffff80420bbb = db_trace_self_wrapper+0x2b/frame 0xfffffe0504df0930  kdb_backtrace() at 0xffffffff80670359 = kdb_backtrace+0x39/frame 0xfffffe0504df09e0  vpanic() at 0xffffffff8063986c = vpanic+0x14c/frame 0xfffffe0504df0a20  panic() at 0xffffffff806395b3 = panic+0x43/frame 0xfffffe0504df0a80  __mtx_assert() at 0xffffffff8061c40d = __mtx_assert+0xed/frame 0xfffffe0504df0ac0  sbp_cam_scan_lun() at 0xffffffff80474667 = sbp_cam_scan_lun+0x37/frame 0xfffffe0504df0af0  xpt_done_process() at 0xffffffff802aacfa = xpt_done_process+0x2da/frame 0xfffffe0504df0b30  xpt_done_td() at 0xffffffff802ac2e5 = xpt_done_td+0xd5/frame 0xfffffe0504df0b80  fork_exit() at 0xffffffff805ff72f = fork_exit+0xdf/frame 0xfffffe0504df0bf0  fork_trampoline() at 0xffffffff8082483e = fork_trampoline+0xe/frame  0xfffffe0504df0bf0  --- trap 0, rip = 0, rsp = 0, rbp = 0 ---Also, I tried to reduce the scope of the sbp lock to avoid holding itwhile doing bus_dma allocations.The code badly needs some re-engineering.  SBP really should implementa CAM transport, so that it avoids control flow inversion when re-scanningthe bus.  Also, the sbp lock seems to be too coarse.Additionally, the commit includes some changes not related to locking.- sbp_cam_scan_lun: restore CAM_DEV_QFREEZE before re-queueing the ccb  because xpt_setup_ccb resets ccb_h.flags- sbp_post_busreset: call xpt_release_simq only if it&apos;s actually frozen- don&apos;t place private SIMQ_FREEZED flag (sic, &quot;freezed&quot;) into sim-&gt;flags,  use sbp-&gt;flags for that- some style fixes and control flow enhancementsReviewed by:	sbrunoMFC after:	2 weeksDifferential Revision: https://reviews.freebsd.org/D9898

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Tue, 07 Mar 2017 16:07:52 +0000</pubDate>
        <dc:creator>Andriy Gapon &lt;avg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>0e672f79 - Add safety check against too long CDB.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#0e672f79</link>
        <description>Add safety check against too long CDB.SBP-2 specification defined maximum CDB length as 12 bytes.  Newer SBP-3specification allows CDB of any size, but this driver is too old.  Propersolution would be to look on maximal ORB size supported by the target.MFC after:	1 week

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Tue, 28 Feb 2017 05:17:50 +0000</pubDate>
        <dc:creator>Alexander Motin &lt;mav@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>d3c06026 - In the same vein as r311350, fix whitespace in handling of XPT_PATH_INQ in</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#d3c06026</link>
        <description>In the same vein as r311350, fix whitespace in handling of XPT_PATH_INQ inseveral more drivers.Sponsored by:	Panasas

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Thu, 05 Jan 2017 03:08:57 +0000</pubDate>
        <dc:creator>Ravi Pokala &lt;rpokala@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>4195c7de - Always null-terminate ccb_pathinq.(sim_vid|hba_vid|dev_name)</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#4195c7de</link>
        <description>Always null-terminate ccb_pathinq.(sim_vid|hba_vid|dev_name)The sim_vid, hba_vid, and dev_name fields of struct ccb_pathinq arefixed-length strings. AFAICT the only place they&apos;re read is insbin/camcontrol/camcontrol.c, which assumes they&apos;ll be null-terminated.However, the kernel doesn&apos;t null-terminate them. A bunch of copy-pasted codeuses strncpy to write them, and doesn&apos;t guarantee null-termination. For atleast 4 drivers (mpr, mps, ciss, and hyperv), the hba_vid field actuallyoverflows. You can see the result by doing &quot;camcontrol negotiate da0 -v&quot;.This change null-terminates those fields everywhere they&apos;re set in thekernel. It also shortens a few strings to ensure they&apos;ll fit within the16-character field.PR:		215474Reported by:	CoverityCID:		1009997 1010000 1010001 1010002 1010003 1010004 1010005CID:		1331519 1010006 1215097 1010007 1288967 1010008 1306000CID:		1211924 1010009 1010010 1010011 1010012 1010013 1010014CID:		1147190 1010017 1010016 1010018 1216435 1010020 1010021CID:		1010022 1009666 1018185 1010023 1010025 1010026 1010027CID:		1010028 1010029 1010030 1010031 1010033 1018186 1018187CID:		1010035 1010036 1010042 1010041 1010040 1010039Reviewed by:	imp, sephe, slmMFC after:	4 weeksSponsored by:	Spectra Logic CorpDifferential Revision:	https://reviews.freebsd.org/D9037Differential Revision:	https://reviews.freebsd.org/D9038

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Wed, 04 Jan 2017 20:26:42 +0000</pubDate>
        <dc:creator>Alan Somers &lt;asomers@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>85c9dd9d - Prevent overflow issues in timeout processing</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#85c9dd9d</link>
        <description>Prevent overflow issues in timeout processingPreviously, any timeout value for which (timeout * hz) will overflow thesigned integer, will give weird results, since callout(9) routines willconvert negative values of ticks to &apos;1&apos;. For unsigned integer overflow wewill get sufficiently smaller timeout values than expected.Switch from callout_reset, which requires conversion to int based ticksto callout_reset_sbt to avoid this.Also correct isci to correctly resolve ccb timeout.This was based on the original work done by Eygene Ryabinkin&lt;rea@freebsd.org&gt; back in 5 Aug 2011 which used a macro to help avoidthe overlow.Differential Revision:	https://reviews.freebsd.org/D1157Reviewed by:	mav, davideMFC after:	1 monthSponsored by:	Multiplay

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Fri, 21 Nov 2014 21:01:24 +0000</pubDate>
        <dc:creator>Steven Hartland &lt;smh@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>23667f08 - Remove obsolete compatibility glue and improve firewire code readability.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#23667f08</link>
        <description>Remove obsolete compatibility glue and improve firewire code readability.Commit my version of style(9) pass over the firewire code. Now thatother people have started changing the code carrying this is as alocal patch is not longer a viable option.MFC after:	1 month

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Sat, 27 Sep 2014 16:50:21 +0000</pubDate>
        <dc:creator>Alexander Kabaev &lt;kan@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>138ebd1b - Start the process of cleaning up FreeBSD&apos;s firewire driver.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#138ebd1b</link>
        <description>Start the process of cleaning up FreeBSD&apos;s firewire driver.sys/dev/firewire/firewire.c:sys/dev/firewire/firewire.h:sys/dev/firewire/firewirereg.h:sys/dev/firewire/fwcrom.c:sys/dev/firewire/fwdev.c:sys/dev/firewire/fwdma.c:sys/dev/firewire/fwmem.c:sys/dev/firewire/fwohci.c:sys/dev/firewire/fwohci_pci.c:sys/dev/firewire/fwohcivar.h:sys/dev/firewire/if_fwe.c:sys/dev/firewire/if_fwip.c:sys/dev/firewire/sbp.c:sys/dev/firewire/sbp_targ.c:	Unifdef the code, removing support for DragonflyBSD	and FreeBSD prior to version 5.Submitted by:	gibbsMFC after:	1 monthSponsored by:	Spectra LogicMFSpectraBSD:	1081188 on 2014/08/01

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Thu, 18 Sep 2014 17:28:21 +0000</pubDate>
        <dc:creator>Will Andrews &lt;will@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>af3b2549 - Pull in r267961 and r267973 again. Fix for issues reported will follow.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#af3b2549</link>
        <description>Pull in r267961 and r267973 again. Fix for issues reported will follow.

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Sat, 28 Jun 2014 03:56:17 +0000</pubDate>
        <dc:creator>Hans Petter Selasky &lt;hselasky@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>37a107a4 - Revert r267961, r267973:</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#37a107a4</link>
        <description>Revert r267961, r267973:These changes prevent sysctl(8) from returning proper output,such as: 1) no output from sysctl(8) 2) erroneously returning ENOMEM with tools like truss(1)    or uname(1) truss: can not get etype: Cannot allocate memory

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Fri, 27 Jun 2014 22:05:21 +0000</pubDate>
        <dc:creator>Glen Barber &lt;gjb@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>3da1cf1e - Extend the meaning of the CTLFLAG_TUN flag to automatically check if</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#3da1cf1e</link>
        <description>Extend the meaning of the CTLFLAG_TUN flag to automatically check ifthere is an environment variable which shall initialize the SYSCTLduring early boot. This works for all SYSCTL types both statically anddynamically created ones, except for the SYSCTL NODE type and SYSCTLswhich belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added tobe used in the case a tunable sysctl has a custom initialisationfunction allowing the sysctl to still be marked as a tunable. Thekernel SYSCTL API is mostly the same, with a few exceptions for somespecial operations like iterating childrens of a static/extern SYSCTLnode. This operation should probably be made into a factored outcommon macro, hence some device drivers use this. The reason forchanging the SYSCTL API was the need for a SYSCTL parent OID pointerand not only the SYSCTL parent OID list pointer in order to quicklygenerate the sysctl path. The motivation behind this patch is to avoidparameter loading cludges inside the OFED driver subsystem. Instead ofadding special code to the OFED driver subsystem to post-load tunablesinto dynamically created sysctls, we generalize this in the kernel.Other changes:- Corrected a possibly incorrect sysctl name from &quot;hw.cbb.intr_mask&quot;to &quot;hw.pcic.intr_mask&quot;.- Removed redundant TUNABLE statements throughout the kernel.- Some minor code rewrites in connection to removing not neededTUNABLE statements.- Added a missing SYSCTL_DECL().- Wrapped two very long lines.- Avoid malloc()/free() inside sysctl string handling, in case it iscalled to initialize a sysctl from a tunable, hence malloc()/free() isnot ready when sysctls from the sysctl dataset are registered.- Bumped FreeBSD version to indicate SYSCTL API change.MFC after:	2 weeksSponsored by:	Mellanox Technologies

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Fri, 27 Jun 2014 16:33:43 +0000</pubDate>
        <dc:creator>Hans Petter Selasky &lt;hselasky@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>2d5d61a4 - Set target-&gt;sbp field to valid value when sbp device is created.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/sys/dev/firewire/sbp.c#2d5d61a4</link>
        <description>Set target-&gt;sbp field to valid value when sbp device is created.The sbp_cam_detach_target can be called from sbp_post_explore functionon the first target that is not really attached and it was written withthe corresponding safety check in place to tolerate that. Unfortunatelythe recent locking cleanup did add a locking assertion that tries todereference the target-&gt;sbp pointer unconditionally, which causes lessthan desirable outcome. Since the assertion is useful, just initializethe target sbp pointer once when sbp device is being initialized insteadof when the target is being attached. This makes assertion work in allcases and fixes the crash on boot.

            List of files:
            /freebsd-14.2/sys/dev/firewire/sbp.c</description>
        <pubDate>Fri, 20 Jun 2014 01:45:03 +0000</pubDate>
        <dc:creator>Alexander Kabaev &lt;kan@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
