History log of /src/sys/dev/dtv/dtv_buffer.c |
Revision | | Date | Author | Comments |
1.9 |
| 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.8 |
| 01-Jun-2017 |
chs | branches: 1.8.8; 1.8.10; remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
|
1.7 |
| 09-Aug-2011 |
jmcneill | branches: 1.7.12; 1.7.30; modify the dtv device api so hardware drivers can be loaded independently of the dtv module
|
1.6 |
| 16-Jul-2011 |
jmcneill | Fix a locking problem with the demux, and while here do a bit of housekeeping and documentation.
|
1.5 |
| 13-Jul-2011 |
jmcneill | add section filter support
|
1.4 |
| 12-Jul-2011 |
jmcneill | - use separate locks for ingress and egress queues - increase ts block and buffer sizes
|
1.3 |
| 09-Jul-2011 |
jmcneill | use %zu to print size_t
|
1.2 |
| 09-Jul-2011 |
jmcneill | don't kmem_alloc with IPL_VM mutex locked, spotted by rmind
|
1.1 |
| 09-Jul-2011 |
jmcneill | add digital TV framework which implements a subset of Linux DVB APIs
|
1.7.30.1 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.7.12.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.8.10.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.8.8.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|