History log of /src/sys/dev/dtv/dtv_demux.c |
Revision | | Date | Author | Comments |
1.11 |
| 30-May-2020 |
jdolecek | allocate memory for dtv_ts_section using kmem_alloc() in dtv_demux_read(), instead of on-stack
XXX compile-tested only
|
1.10 |
| 24-Feb-2019 |
jmcneill | Pass 0xff instead of true to memset when setting "all PIDs" mode in the PID filter
|
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 |
| 30-Nov-2017 |
christos | branches: 1.8.2; 1.8.4; add fo_name so we can identify the fileops in a simple way.
|
1.7 |
| 01-Jun-2017 |
chs | 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.6 |
| 09-Aug-2014 |
jmcneill | branches: 1.6.4; IPL_VM -> IPL_SCHED to avoid taking kernel lock
|
1.5 |
| 17-Oct-2013 |
christos | remove unused variable
|
1.4 |
| 16-Jul-2011 |
jmcneill | branches: 1.4.2; 1.4.12; 1.4.16; Fix a locking problem with the demux, and while here do a bit of housekeeping and documentation.
|
1.3 |
| 14-Jul-2011 |
jmcneill | sections can't be > 4KB
|
1.2 |
| 13-Jul-2011 |
jmcneill | dtv_demux_write: make sure to unlock muted in all error paths
|
1.1 |
| 13-Jul-2011 |
jmcneill | add section filter support
|
1.4.16.1 |
| 18-May-2014 |
rmind | sync with head
|
1.4.12.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.4.12.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.4.2.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.6.4.1 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.8.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.8.2.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|