- 31 Jul, 2007 25 commits
-
-
Herbert Xu authored
Now that netdev notifications can fail, we can use this to signal errors during registration for IPv4/IPv6. In particular, if we fail to allocate memory for the inet device, we can fail the netdev registration. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Herbert Xu authored
This patch adds code to allow errors to be passed up from event handlers of NETDEV_REGISTER and NETDEV_CHANGENAME. It also adds the notifier_from_errno/notifier_to_errnor helpers to pass the errno value up to the notifier caller. If an error is detected when a device is registered, it causes that operation to fail. A NETDEV_UNREGISTER will be sent to all event handlers. Similarly if NETDEV_CHANGENAME fails the original name is restored and a new NETDEV_CHANGENAME event is sent. As such all event handlers must be idempotent with respect to these events. When an event handler is registered NETDEV_REGISTER events are sent for all devices currently registered. Should any of them fail, we will send NETDEV_GOING_DOWN/NETDEV_DOWN/NETDEV_UNREGISTER events to that handler for the devices which have already been registered with it. The handler registration itself will fail. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Herbert Xu authored
Because IPv4 and IPv6 both depend on the presence of the loopback device to function, failure in registration the loopback device should be fatal. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Herbert Xu authored
When we added name-based hashing the dev_base_lock was designated as the lock to take when changing the name hash list. Unfortunately, because it was a preexisting lock that just happened to be taken in the right spots we neglected to take it in dev_change_name. The race can affect calles of __dev_get_by_name that do so without taking the RTNL. They may end up walking down the wrong hash chain and end up missing the device that they're looking for. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Herbert Xu authored
This patch makes register_netdevice call dev->uninit if the regsitration fails after dev->init has completed successfully. Very few drivers use the init/uninit calls but at least one (drivers/net/wan/sealevel.c) may leak without this change. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Herbert Xu authored
As a path that forwards packets, IPVS should be using skb_forward_csum instead of directly setting ip_summed to CHECKSUM_NONE. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Signed-off-by: David S. Miller <davem@davemloft.net>
-
Al Viro authored
Since nobody uses it after we convert it to host-endian, no need to do that at all. At that point l2cap is endian-clean. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Al Viro authored
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Al Viro authored
no code changes, just documenting existing types Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Al Viro authored
We loop through psm values, calling __l2cap_get_sock_by_addr(psm, ...) until we get NULL; then we set ->psm of our socket to htobs(psm). IOW, we find unused psm value and put it into our socket. So far, so good, but... __l2cap_get_sock_by_addr() compares its argument with ->psm of sockets. IOW, the entire thing works correctly only on little-endian. On big-endian we'll get "no socket with such psm" on the first iteration, since we won't find a socket with ->psm == 0x1001. We will happily conclude that 0x1001 is unused and slap htobs(0x1001) (i.e. 0x110) into ->psm of our socket. Of course, the next time around the same thing will repeat and we'll just get a fsckload of sockets with the same ->psm assigned. Fix: pass htobs(psm) to __l2cap_get_sock_by_addr() there. All other callers are already passing little-endian values and all places that store something in ->psm are storing little-endian. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Marcel Holtmann authored
Adrian Bunk wrote: > Commit 8de0a154 added the following > use-after-free in net/bluetooth/rfcomm/tty.c: > > <-- snip --> > > ... > static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc) > { > ... > if (IS_ERR(dev->tty_dev)) { > list_del(&dev->list); > kfree(dev); > return PTR_ERR(dev->tty_dev); > } > ... > > <-- snip --> > > Spotted by the Coverity checker. really good catch. I fully overlooked that one. The attached patch should fix it. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Simon Arlott authored
The ADVMSS value was incorrectly updated for ALL routes when the MTU is updated because it's outside the effect of the if statement's condition. Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Shannon Nelson authored
Al Viro pointed out that dma_memcpy_to_kernel_iovec() really was unreachable and thus unused. The code originally was there to support in-kernel dma needs, but since it remains unused, we'll pull it out. Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Florian Westphal authored
if printbuf allocation or tipc_node_attach_link() fails, invalid references to the link are left in the associated node and bearer structures. Fix by allocating printbuf early and moving timer initialization and the addition of the new link to the b_ptr->links list after tipc_node_attach_link() succeeded. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Randy Dunlap authored
Fix kernel-doc omissions in net/: Warning(linux-2.6.23-rc1//net/core/dev.c:2728): No description found for parameter 'addr' Warning(linux-2.6.23-rc1//net/core/dev.c:2752): No description found for parameter 'addr' Warning(linux-2.6.23-rc1//net/core/dev.c:3839): No description found for parameter 'net_dma' Warning(linux-2.6.23-rc1//net/core/dev.c:3877): No description found for parameter 'state' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Stephen Hemminger authored
Change HTCP to use measured RTT rather than smooth RTT. Srtt is computed using the TCP receive timestamp options, so it is vulnerable to hostile receivers. To avoid any problems this might cause use the measured RTT instead. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Stephen Hemminger authored
Remove use of received timestamp option value from RTT calculation in Cubic. A hostile receiver may be returning a larger timestamp option than the original value. This would cause the sender to believe the malevolent receiver had a larger RTT and because Cubic tries to provide some RTT friendliness, the sender would then favor the liar. Instead, use the jiffie resolutionRTT value already computed and passed back after ack. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Stephen Hemminger authored
This patch changes the API for the callback that is done after an ACK is received. It solves a couple of issues: * Some congestion controls want higher resolution value of RTT (controlled by TCP_CONG_RTT_SAMPLE flag). These don't really want a ktime, but all compute a RTT in microseconds. * Other congestion control could use RTT at jiffies resolution. To keep API consistent the units should be the same for both cases, just the resolution should change. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-
Linus Torvalds authored
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23: sh: Fix fs.h removal from mm.h regressions. sh: fix get_wchan() for SH kernels without framepointers sh: arch/sh/boot - fix shell usage rtc: rtc-sh: Correct sh_rtc_set_time() for some SH-3 parts. sh: remove support for sh7300 and solution engine 7300 sh: Add sh to the CC_OPTIMIZE_FOR_SIZE dependencies. sh: Kill off virt_to_bus()/bus_to_virt(). sh: sh-sci - fix SH7708 support sh: Restrict DSP support to specific CPUs. sh: Silence sq compile warning on sh4 nommu. sh: Kill the rest of the SE73180 cruft. sh: remove support for sh73180 and solution engine 73180 sh: remove old broken pint code sh: Reclaim beginning of P3 space for vmalloc area. sh: Fix Dreamcast DMA issues. sh: Add kmap_coherent()/kunmap_coherent() interface for SH-4.
-
Linus Torvalds authored
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6: sh64: Kill off virt_to_bus()/bus_to_virt(). sh64: Fix irq_intc build failure. sh64: Fix fs.h removal from mm.h regressions.
-
Paul Mundt authored
Follows the SH change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-
Paul Mundt authored
Needs interrupt.h: CC arch/sh64/kernel/irq_intc.o arch/sh64/kernel/irq_intc.c: In function 'make_intc_irq': arch/sh64/kernel/irq_intc.c:179: error: implicit declaration of function 'disable_irq_nosync' make[1]: *** [arch/sh64/kernel/irq_intc.o] Error 1 Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-
Paul Mundt authored
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-
Paul Mundt authored
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-
- 30 Jul, 2007 15 commits
-
-
Linus Torvalds authored
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: Fix a potential NULL pointer dereference in mace_interrupt() in drivers/net/pcmcia/nmclan_cs.c PATCH kernel 2.6.22] PCMCIA-NETDEV : modify smc91c92_cs.c to become SMP safe S2io: Increment received packet count correctly S2io: Fix crash when resetting adapter S2io: Mask spurious interrupts S2IO: Implementing review comments from old patches S2IO: Checking for the return value of pci map function S2IO: Removing MSI support from driver S2IO: Removing 3 buffer mode support from the driver netxen: drop redudant spinlock netxen: Fix interrupt handling for multiport adapters netxen: re-init station address after h/w init tulip: Remove tulip maintainer forcedeth: mac address correct gfar: Fix modpost warning lib8390: comment on locking by Alan Cox Fix a potential NULL pointer dereference in write_bulk_callback() in drivers/net/usb/pegasus.c
-
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infinibandLinus Torvalds authored
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ipath: Workaround problem of errormask register being overwritten IB/ipath: Fix some issues with buffer cancel and sendctrl register update IB/ipath: Use faster put_tid_2 routine after initialization IB/ipath: Remove unsafe fastrcvint code from interrupt handler IB/ehca: Move extern declarations from .c files to .h files IB/mlx4: Whitespace fix IB/ehca: Fix include order to better match kernel style mlx4_core: Remove kfree() in mlx4_mr_alloc() error flow RDMA/amso1100: Initialize the wait_queue_head_t in the c2_qp structure
-
Linus Torvalds authored
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: modules: better error messages when modules fail to load due to a sysfs problem. kobject: update documentation kset: kernel-doc cleanups driver core: revert "device" link creation check stable_api_nonsense.txt: Disambiguate the use of "this" by using "that" to refer to the syscall interface Fix Doc/sysfs-rules typos kernel-doc fixes for PCI and drivers/base/ kobject: put kobject_actions in kobject.h kobject: fix link error when CONFIG_HOTPLUG is disabled HOWTO: sync Japanese HOWTO HOWTO: adjust translation header of Japanese stable_api_nonsense.txt
-
Linus Torvalds authored
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: "sparse" cleanups for usb gadgets usb-serial: Fix edgeport regression on non-EPiC devices USB: more pxa2xx_udc dead code removal USB: NIKON D50 is an unusual device USB: drivers/usb/serial/sierra.c: make 3 functions static USB: fix BUG: sleeping function called from invalid context at /home/jeremy/hg/xen/paravirt/linux/drivers/usb/core/urb.c:524, in_atomic():1, irqs_disabled():0 USB: mct_u232: Convert to proper speed handling API digi_acceleport: Drag the driver kicking and screaming into coding style cp2101: Remove broken termios optimisation, use proper speed API USB: Fix a bug in usb_start_wait_urb USB: fix scatterlist PIO case (IOMMU) USB: fix usb_serial_suspend(): buggy code USB: yet another quirky device USB: Add CanonScan LiDE30 to the quirk list USB: even more quirks USB: usb.h kernel-doc additions USB: more quirky devices USB: Don't let usb-storage steal Blackberry Pearl USB: devices misc: Trivial patch to build the IOWARRIOR when it is selected in Kconfig
-
Greg Kroah-Hartman authored
This helps people when debugging problems like the ones that were in the recent -mm releases. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Cornelia Huck authored
Update kobject documentation: - Update structure definitions. - Remove documentation of removed struct subsystem. (First shot, uevent_ops probably need some documentation as well.) Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Randy Dunlap authored
Removed kernel-doc marker (/**) from struct kset -- each struct member still needs annotation. Corrected one parameter name so that kernel-doc matches the macro. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Cornelia Huck authored
driver core: revert "device" link creation check Commit 2ee97caf introduced an extra check on when to create the "device" symlink. Unfortunately, this breaks input, so let's revert to the old behaviour. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Acked-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Juan Lang authored
stable_api_nonsense.txt: Disambiguate the use of "this" by using "that" to refer to the syscall interface Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Randy Dunlap authored
Fix typos only (spelling, grammar, duplicate words, etc.). Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Kay Sievers <kay.sievers@vrfy.org Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Randy Dunlap authored
Fix undocumented function parameters in PCI and drivers/base. Warning(linux-2.6.23-rc1//drivers/pci/pci.c:1526): No description found for parameter 'rq' Warning(linux-2.6.23-rc1//drivers/base/firmware_class.c:245): No description found for parameter 'bin_attr' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Greg Kroah-Hartman authored
This prevents the extern declaration in the driver core. Cc: Kay Sievers <kay.sievers@vrfy.org> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Cornelia Huck authored
Leaving kobject_actions[] in kobject_uevent.c, but putting it outside the #ifdef looks indeed like the best solution to me. This way, we avoid adding #ifdef CONFIG_HOTPLUG into core.c, when all other functions called do not need such a thing. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Tsugikazu Shibata authored
Signed-off-by: Tsugikazu Shibata <tshibata@ab.jp.nec.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
IKEDA, Munehiro authored
Signed-off-by: IKEDA, Munehiro <m-ikeda@ds.jp.nec.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-