diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-25 19:59:51 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-25 19:59:51 -0400 |
commit | b1cdc4670b9508fcd47a15fbd12f70d269880b37 (patch) | |
tree | fea9e2650170886d539488f8b1e064f6ca60ad36 /kernel/sysctl.c | |
parent | ce7d0226198aac42ed311dd2783232adc16b296d (diff) | |
parent | f925b1303e0672effc78547353bd2ddfe11f5b5f (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (63 commits)
drivers/net/usb/asix.c: Fix pointer cast.
be2net: Bug fix to avoid disabling bottom half during firmware upgrade.
proc_dointvec: write a single value
hso: add support for new products
Phonet: fix potential use-after-free in pep_sock_close()
ath9k: remove VEOL support for ad-hoc
ath9k: change beacon allocation to prefer the first beacon slot
sock.h: fix kernel-doc warning
cls_cgroup: Fix build error when built-in
macvlan: do proper cleanup in macvlan_common_newlink() V2
be2net: Bug fix in init code in probe
net/dccp: expansion of error code size
ath9k: Fix rx of mcast/bcast frames in PS mode with auto sleep
wireless: fix sta_info.h kernel-doc warnings
wireless: fix mac80211.h kernel-doc warnings
iwlwifi: testing the wrong variable in iwl_add_bssid_station()
ath9k_htc: rare leak in ath9k_hif_usb_alloc_tx_urbs()
ath9k_htc: dereferencing before check in hif_usb_tx_cb()
rt2x00: Fix rt2800usb TX descriptor writing.
rt2x00: Fix failed SLEEP->AWAKE and AWAKE->SLEEP transitions.
...
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r-- | kernel/sysctl.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 84ff5e75c084..997080f00e0b 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
@@ -2287,6 +2287,8 @@ static int __do_proc_dointvec(void *tbl_data, struct ctl_table *table, | |||
2287 | if (write) { | 2287 | if (write) { |
2288 | left -= proc_skip_spaces(&kbuf); | 2288 | left -= proc_skip_spaces(&kbuf); |
2289 | 2289 | ||
2290 | if (!left) | ||
2291 | break; | ||
2290 | err = proc_get_long(&kbuf, &left, &lval, &neg, | 2292 | err = proc_get_long(&kbuf, &left, &lval, &neg, |
2291 | proc_wspace_sep, | 2293 | proc_wspace_sep, |
2292 | sizeof(proc_wspace_sep), NULL); | 2294 | sizeof(proc_wspace_sep), NULL); |
@@ -2313,7 +2315,7 @@ static int __do_proc_dointvec(void *tbl_data, struct ctl_table *table, | |||
2313 | 2315 | ||
2314 | if (!write && !first && left && !err) | 2316 | if (!write && !first && left && !err) |
2315 | err = proc_put_char(&buffer, &left, '\n'); | 2317 | err = proc_put_char(&buffer, &left, '\n'); |
2316 | if (write && !err) | 2318 | if (write && !err && left) |
2317 | left -= proc_skip_spaces(&kbuf); | 2319 | left -= proc_skip_spaces(&kbuf); |
2318 | free: | 2320 | free: |
2319 | if (write) { | 2321 | if (write) { |