diff options
author | Linus Torvalds | 2012-02-10 09:05:52 -0800 |
---|---|---|
committer | Linus Torvalds | 2012-02-10 09:05:52 -0800 |
commit | af5feae3d7e821d8c4d38103a7f53146f2590892 (patch) | |
tree | 9017bb0661fb617177534f0617c3771d89e31afc /include/linux | |
parent | ce2814f227d3adae8456f7cbd0bd5f922fd284f0 (diff) | |
parent | 977b7e3a52a7421ad33a393a38ece59f3d41c2fa (diff) |
Merge tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux
fix 1 mysterious divide error
fix 3 NULL dereference bugs in writeback tracing, on SD card removal w/o umount
* tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
writeback: fix dereferencing NULL bdi->dev on trace_writeback_queue
lib: proportion: lower PROP_MAX_SHIFT to 32 on 64-bit kernel
writeback: fix NULL bdi->dev in trace writeback_single_inode
backing-dev: fix wakeup timer races with bdi_unregister()
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/proportions.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/proportions.h b/include/linux/proportions.h index ef35bb73f69b..26a8a4ed9b07 100644 --- a/include/linux/proportions.h +++ b/include/linux/proportions.h @@ -81,7 +81,11 @@ void prop_inc_percpu(struct prop_descriptor *pd, struct prop_local_percpu *pl) * Limit the time part in order to ensure there are some bits left for the * cycle counter and fraction multiply. */ +#if BITS_PER_LONG == 32 #define PROP_MAX_SHIFT (3*BITS_PER_LONG/4) +#else +#define PROP_MAX_SHIFT (BITS_PER_LONG/2) +#endif #define PROP_FRAC_SHIFT (BITS_PER_LONG - PROP_MAX_SHIFT - 1) #define PROP_FRAC_BASE (1UL << PROP_FRAC_SHIFT) |