NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/52639 CVS commit: [netbsd-8] src

The following reply was made to PR kern/52639; it has been noted by GNATS.

From: "Soren Jacobsen" <>
Subject: PR/52639 CVS commit: [netbsd-8] src
Date: Thu, 2 Nov 2017 21:29:54 +0000

 Module Name:	src
 Committed By:	snj
 Date:		Thu Nov  2 21:29:53 UTC 2017
 Modified Files:
 	src/share/man/man9 [netbsd-8]: kernhist.9
 	src/sys/arch/acorn26/acorn26 [netbsd-8]: pmap.c
 	src/sys/arch/arm/arm32 [netbsd-8]: fault.c pmap.c
 	src/sys/arch/arm/broadcom [netbsd-8]: bcm2835_bsc.c
 	src/sys/arch/arm/omap [netbsd-8]: if_cpsw.c tiotg.c
 	src/sys/arch/evbarm/conf [netbsd-8]: RPI2_INSTALL
 	src/sys/dev/ic [netbsd-8]: sl811hs.c
 	src/sys/dev/usb [netbsd-8]: ehci.c if_axe.c motg.c ohci.c ucom.c uhci.c
 	    uhub.c umass.c umass_quirks.c umass_scsipi.c usb.c usb_mem.c
 	    usb_subr.c usbdi.c usbdi_util.c usbroothub.c xhci.c
 	src/sys/external/bsd/drm2/dist/drm/i915 [netbsd-8]: i915_gem.c
 	src/sys/kern [netbsd-8]: kern_history.c kern_xxx.c vfs_bio.c
 	src/sys/miscfs/genfs [netbsd-8]: genfs_io.c
 	src/sys/sys [netbsd-8]: kernhist.h
 	src/sys/ufs/ffs [netbsd-8]: ffs_balloc.c
 	src/sys/ufs/lfs [netbsd-8]: lfs_vfsops.c ulfs_inode.c ulfs_vnops.c
 	src/sys/ufs/ufs [netbsd-8]: ufs_inode.c ufs_vnops.c
 	src/sys/uvm [netbsd-8]: uvm_amap.c uvm_anon.c uvm_aobj.c uvm_bio.c
 	    uvm_device.c uvm_fault.c uvm_km.c uvm_loan.c uvm_map.c uvm_page.c
 	    uvm_pager.c uvm_pdaemon.c uvm_swap.c uvm_vnode.c
 	src/sys/uvm/pmap [netbsd-8]: pmap.c pmap_tlb.c
 	src/usr.bin/vmstat [netbsd-8]: vmstat.c
 Log Message:
 Pull up following revision(s) (requested by pgoyette in ticket #335):
 	share/man/man9/kernhist.9: 1.5-1.8
 	sys/arch/acorn26/acorn26/pmap.c: 1.39
 	sys/arch/arm/arm32/fault.c: 1.105 via patch
 	sys/arch/arm/arm32/pmap.c: 1.350, 1.359
 	sys/arch/arm/broadcom/bcm2835_bsc.c: 1.7
 	sys/arch/arm/omap/if_cpsw.c: 1.20
 	sys/arch/arm/omap/tiotg.c: 1.7
 	sys/arch/evbarm/conf/RPI2_INSTALL: 1.3
 	sys/dev/ic/sl811hs.c: 1.98
 	sys/dev/usb/ehci.c: 1.256
 	sys/dev/usb/if_axe.c: 1.83
 	sys/dev/usb/motg.c: 1.18
 	sys/dev/usb/ohci.c: 1.274
 	sys/dev/usb/ucom.c: 1.119
 	sys/dev/usb/uhci.c: 1.277
 	sys/dev/usb/uhub.c: 1.137
 	sys/dev/usb/umass.c: 1.160-1.162
 	sys/dev/usb/umass_quirks.c: 1.100
 	sys/dev/usb/umass_scsipi.c: 1.55
 	sys/dev/usb/usb.c: 1.168
 	sys/dev/usb/usb_mem.c: 1.70
 	sys/dev/usb/usb_subr.c: 1.221
 	sys/dev/usb/usbdi.c: 1.175
 	sys/dev/usb/usbdi_util.c: 1.67-1.70
 	sys/dev/usb/usbroothub.c: 1.3
 	sys/dev/usb/xhci.c: 1.75
 	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.34
 	sys/kern/kern_history.c: 1.15
 	sys/kern/kern_xxx.c: 1.74
 	sys/kern/vfs_bio.c: 1.275-1.276
 	sys/miscfs/genfs/genfs_io.c: 1.71
 	sys/sys/kernhist.h: 1.21
 	sys/ufs/ffs/ffs_balloc.c: 1.63
 	sys/ufs/lfs/lfs_vfsops.c: 1.361
 	sys/ufs/lfs/ulfs_inode.c: 1.21
 	sys/ufs/lfs/ulfs_vnops.c: 1.52
 	sys/ufs/ufs/ufs_inode.c: 1.102
 	sys/ufs/ufs/ufs_vnops.c: 1.239
 	sys/uvm/pmap/pmap.c: 1.37-1.39
 	sys/uvm/pmap/pmap_tlb.c: 1.22
 	sys/uvm/uvm_amap.c: 1.108
 	sys/uvm/uvm_anon.c: 1.64
 	sys/uvm/uvm_aobj.c: 1.126
 	sys/uvm/uvm_bio.c: 1.91
 	sys/uvm/uvm_device.c: 1.66
 	sys/uvm/uvm_fault.c: 1.201
 	sys/uvm/uvm_km.c: 1.144
 	sys/uvm/uvm_loan.c: 1.85
 	sys/uvm/uvm_map.c: 1.353
 	sys/uvm/uvm_page.c: 1.194
 	sys/uvm/uvm_pager.c: 1.111
 	sys/uvm/uvm_pdaemon.c: 1.109
 	sys/uvm/uvm_swap.c: 1.175
 	sys/uvm/uvm_vnode.c: 1.103
 	usr.bin/vmstat/vmstat.c: 1.219
 Reorder to test for null before null deref in debug code
 Reorder to test for null before null deref in debug code
 No need for '\n' in UVMHIST_LOG
 normalise a BIOHIST log message
 Update the kernhist(9) kernel history code to address issues identified
 in PR kern/52639, as well as some general cleaning-up...
 (As proposed on tech-kern@ with additional changes and enhancements.)
 Details of changes:
 * All history arguments are now stored as uintmax_t values[1], both in
    the kernel and in the structures used for exporting the history data
    to userland via sysctl(9).  This avoids problems on some architectures
    where passing a 64-bit (or larger) value to printf(3) can cause it to
    process the value as multiple arguments.  (This can be particularly
    problematic when printf()'s format string is not a literal, since in
    that case the compiler cannot know how large each argument should be.)
 * Update the data structures used for exporting kernel history data to
    include a version number as well as the length of history arguments.
 * All [2] existing users of kernhist(9) have had their format strings
    updated.  Each format specifier now includes an explicit length
    modifier 'j' to refer to numeric values of the size of uintmax_t.
 * All [2] existing users of kernhist(9) have had their format strings
    updated to replace uses of "%p" with "%#jx", and the pointer
    arguments are now cast to (uintptr_t) before being subsequently cast
    to (uintmax_t).  This is needed to avoid compiler warnings about
    casting "pointer to integer of a different size."
 * All [2] existing users of kernhist(9) have had instances of "%s" or
    "%c" format strings replaced with numeric formats; several instances
    of mis-match between format string and argument list have been fixed.
 * vmstat(1) has been modified to handle the new size of arguments in the
    history data as exported by sysctl(9).
 * vmstat(1) now provides a warning message if the history requested with
    the -u option does not exist (previously, this condition was silently
    ignored, with only a single blank line being printed).
 * vmstat(1) now checks the version and argument length included in the
    data exported via sysctl(9) and exits if they do not match the values
    with which vmstat was built.
 * The kernhist(9) man-page has been updated to note the additional
    requirements imposed on the format strings, along with several other
    minor changes and enhancements.
 [1] It would have been possible to use an explicit length (for example,
      uint64_t) for the history arguments.  But that would require another
      "rototill" of all the users in the future when we add support for an
      architecture that supports a larger size.  Also, the printf(3)
      specifiers for explicitly-sized values, such as "%"PRIu64, are much
      more verbose (and less aesthetically appealing, IMHO) than simply
      using "%ju".
 [2] I've tried very hard to find "all [the] existing users of
      but it is possible that I've missed some of them.  I would be glad
      update any stragglers that anyone identifies.
 For some reason this single kernel seems to have outgrown its declared
 size as a result of the kernhist(9) changes.  Bump the size.
 XXX The amount of increase may be excessive - anyone with more detailed
 XXX knowledge please feel free to further adjust the value
 Misssed one cast of pointer --> uintptr_t in previous kernhist(9) commit
 And yet another one.  :(
 Use correct mark-up for NetBSD version.
 More improvements in grammar and readability.
 Remove a stray '"' (obvious typo) and add a couple of casts that are
 probably needed.
 And replace an instance of "%p" conversion with "%#jx"
 Whitespace fix. Give Bl tag table a width. Fix Xr.
 To generate a diff of this commit:
 cvs rdiff -u -r1.4 -r1.4.8.1 src/share/man/man9/kernhist.9
 cvs rdiff -u -r1.38 -r1.38.8.1 src/sys/arch/acorn26/acorn26/pmap.c
 cvs rdiff -u -r1.103 -r1.103.10.1 src/sys/arch/arm/arm32/fault.c
 cvs rdiff -u -r1.349 -r1.349.2.1 src/sys/arch/arm/arm32/pmap.c
 cvs rdiff -u -r1.5.10.1 -r1.5.10.2 src/sys/arch/arm/broadcom/bcm2835_bsc.c
 cvs rdiff -u -r1.19 -r1.19.2.1 src/sys/arch/arm/omap/if_cpsw.c
 cvs rdiff -u -r1.6 -r1.6.8.1 src/sys/arch/arm/omap/tiotg.c
 cvs rdiff -u -r1.2 -r1.2.8.1 src/sys/arch/evbarm/conf/RPI2_INSTALL
 cvs rdiff -u -r1.97 -r1.97.8.1 src/sys/dev/ic/sl811hs.c
 cvs rdiff -u -r1.254.8.1 -r1.254.8.2 src/sys/dev/usb/ehci.c
 cvs rdiff -u -r1.82 -r1.82.6.1 src/sys/dev/usb/if_axe.c
 cvs rdiff -u -r1.17 -r1.17.10.1 src/sys/dev/usb/motg.c
 cvs rdiff -u -r1.273 -r1.273.6.1 src/sys/dev/usb/ohci.c
 cvs rdiff -u -r1.118 -r1.118.8.1 src/sys/dev/usb/ucom.c
 cvs rdiff -u -r1.275.2.1 -r1.275.2.2 src/sys/dev/usb/uhci.c
 cvs rdiff -u -r1.136 -r1.136.2.1 src/sys/dev/usb/uhub.c
 cvs rdiff -u -r1.158 -r1.158.4.1 src/sys/dev/usb/umass.c
 cvs rdiff -u -r1.99 -r1.99.10.1 src/sys/dev/usb/umass_quirks.c
 cvs rdiff -u -r1.54 -r1.54.8.1 src/sys/dev/usb/umass_scsipi.c
 cvs rdiff -u -r1.165.6.1 -r1.165.6.2 src/sys/dev/usb/usb.c
 cvs rdiff -u -r1.69 -r1.69.2.1 src/sys/dev/usb/usb_mem.c
 cvs rdiff -u -r1.220 -r1.220.2.1 src/sys/dev/usb/usb_subr.c
 cvs rdiff -u -r1.173 -r1.173.2.1 src/sys/dev/usb/usbdi.c
 cvs rdiff -u -r1.66 -r1.66.2.1 src/sys/dev/usb/usbdi_util.c
 cvs rdiff -u -r1.2 -r1.2.14.1 src/sys/dev/usb/usbroothub.c
 cvs rdiff -u -r1.72.2.1 -r1.72.2.2 src/sys/dev/usb/xhci.c
 cvs rdiff -u -r1.33 -r1.33.10.1 \
 cvs rdiff -u -r1.14 -r1.14.8.1 src/sys/kern/kern_history.c
 cvs rdiff -u -r1.73 -r1.73.10.1 src/sys/kern/kern_xxx.c
 cvs rdiff -u -r1.273 -r1.273.2.1 src/sys/kern/vfs_bio.c
 cvs rdiff -u -r1.68.6.2 -r1.68.6.3 src/sys/miscfs/genfs/genfs_io.c
 cvs rdiff -u -r1.18.8.1 -r1.18.8.2 src/sys/sys/kernhist.h
 cvs rdiff -u -r1.62 -r1.62.8.1 src/sys/ufs/ffs/ffs_balloc.c
 cvs rdiff -u -r1.359.4.1 -r1.359.4.2 src/sys/ufs/lfs/lfs_vfsops.c
 cvs rdiff -u -r1.19.2.1 -r1.19.2.2 src/sys/ufs/lfs/ulfs_inode.c
 cvs rdiff -u -r1.48.4.1 -r1.48.4.2 src/sys/ufs/lfs/ulfs_vnops.c
 cvs rdiff -u -r1.101 -r1.101.2.1 src/sys/ufs/ufs/ufs_inode.c
 cvs rdiff -u -r1.237 -r1.237.4.1 src/sys/ufs/ufs/ufs_vnops.c
 cvs rdiff -u -r1.107 -r1.107.32.1 src/sys/uvm/uvm_amap.c
 cvs rdiff -u -r1.63 -r1.63.22.1 src/sys/uvm/uvm_anon.c
 cvs rdiff -u -r1.125 -r1.125.2.1 src/sys/uvm/uvm_aobj.c
 cvs rdiff -u -r1.90 -r1.90.2.1 src/sys/uvm/uvm_bio.c
 cvs rdiff -u -r1.65 -r1.65.8.1 src/sys/uvm/uvm_device.c
 cvs rdiff -u -r1.199.6.1 -r1.199.6.2 src/sys/uvm/uvm_fault.c
 cvs rdiff -u -r1.143 -r1.143.2.1 src/sys/uvm/uvm_km.c
 cvs rdiff -u -r1.84 -r1.84.6.1 src/sys/uvm/uvm_loan.c
 cvs rdiff -u -r1.351.2.1 -r1.351.2.2 src/sys/uvm/uvm_map.c
 cvs rdiff -u -r1.193 -r1.193.2.1 src/sys/uvm/uvm_page.c
 cvs rdiff -u -r1.110 -r1.110.22.1 src/sys/uvm/uvm_pager.c
 cvs rdiff -u -r1.108 -r1.108.22.1 src/sys/uvm/uvm_pdaemon.c
 cvs rdiff -u -r1.174 -r1.174.10.1 src/sys/uvm/uvm_swap.c
 cvs rdiff -u -r1.102 -r1.102.10.1 src/sys/uvm/uvm_vnode.c
 cvs rdiff -u -r1.34 -r1.34.2.1 src/sys/uvm/pmap/pmap.c
 cvs rdiff -u -r1.21 -r1.21.2.1 src/sys/uvm/pmap/pmap_tlb.c
 cvs rdiff -u -r1.216.6.1 -r1.216.6.2 src/usr.bin/vmstat/vmstat.c
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index