lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 22 Jul 2008 13:24:39 -0700 From: Randy Dunlap <randy.dunlap@...cle.com> To: Dave Jones <davej@...hat.com> Cc: netdev@...r.kernel.org, davem@...emloft.net Subject: Re: Fix build failure with 'make mandocs'. On Mon, 21 Jul 2008 16:52:29 -0400 Dave Jones wrote: > The function header comments have to go with the functions > they are documenting, or things go horribly wrong when we > try to process them with the docbook tools. > > Warning(include/linux/netdevice.h:1006): No description found for parameter 'dev_queue' > Warning(include/linux/netdevice.h:1033): No description found for parameter 'dev_queue' > Warning(include/linux/netdevice.h:1067): No description found for parameter 'dev_queue' > Warning(include/linux/netdevice.h:1093): No description found for parameter 'dev_queue' > Warning(include/linux/netdevice.h:1474): No description found for parameter 'txq' > Error(net/core/dev.c:1674): cannot understand prototype: 'u32 simple_tx_hashrnd; ' > > Signed-off-by: Dave Jones <davej@...hat.com> Acked-by: Randy Dunlap <randy.dunlap@...cle.com> DaveM, please expedite since this Error is fatal (breaks 'make *docs'). > --- linux-2.6.26.noarch/net/core/dev.c~ 2008-07-21 16:49:10.000000000 -0400 > +++ linux-2.6.26.noarch/net/core/dev.c 2008-07-21 16:49:47.000000000 -0400 > @@ -1645,32 +1645,6 @@ out_kfree_skb: > return 0; > } > > -/** > - * dev_queue_xmit - transmit a buffer > - * @skb: buffer to transmit > - * > - * Queue a buffer for transmission to a network device. The caller must > - * have set the device and priority and built the buffer before calling > - * this function. The function can be called from an interrupt. > - * > - * A negative errno code is returned on a failure. A success does not > - * guarantee the frame will be transmitted as it may be dropped due > - * to congestion or traffic shaping. > - * > - * ----------------------------------------------------------------------------------- > - * I notice this method can also return errors from the queue disciplines, > - * including NET_XMIT_DROP, which is a positive value. So, errors can also > - * be positive. > - * > - * Regardless of the return value, the skb is consumed, so it is currently > - * difficult to retry a send to this method. (You can bump the ref count > - * before sending to hold a reference for retry if you are careful.) > - * > - * When calling this method, interrupts MUST be enabled. This is because > - * the BH enable code must have IRQs enabled so that it will not deadlock. > - * --BLG > - */ > - > static u32 simple_tx_hashrnd; > static int simple_tx_hashrnd_initialized = 0; > > @@ -1738,6 +1712,31 @@ static struct netdev_queue *dev_pick_tx( > return netdev_get_tx_queue(dev, queue_index); > } > > +/** > + * dev_queue_xmit - transmit a buffer > + * @skb: buffer to transmit > + * > + * Queue a buffer for transmission to a network device. The caller must > + * have set the device and priority and built the buffer before calling > + * this function. The function can be called from an interrupt. > + * > + * A negative errno code is returned on a failure. A success does not > + * guarantee the frame will be transmitted as it may be dropped due > + * to congestion or traffic shaping. > + * > + * ----------------------------------------------------------------------------------- > + * I notice this method can also return errors from the queue disciplines, > + * including NET_XMIT_DROP, which is a positive value. So, errors can also > + * be positive. > + * > + * Regardless of the return value, the skb is consumed, so it is currently > + * difficult to retry a send to this method. (You can bump the ref count > + * before sending to hold a reference for retry if you are careful.) > + * > + * When calling this method, interrupts MUST be enabled. This is because > + * the BH enable code must have IRQs enabled so that it will not deadlock. > + * --BLG > + */ > int dev_queue_xmit(struct sk_buff *skb) > { > struct net_device *dev = skb->dev; > --- linux-2.6.26.noarch/include/linux/netdevice.h~ 2008-07-21 16:46:36.000000000 -0400 > +++ linux-2.6.26.noarch/include/linux/netdevice.h 2008-07-21 16:48:53.000000000 -0400 > @@ -996,17 +996,17 @@ static inline void netif_tx_schedule_all > netif_schedule_queue(netdev_get_tx_queue(dev, i)); > } > > +static inline void netif_tx_start_queue(struct netdev_queue *dev_queue) > +{ > + clear_bit(__QUEUE_STATE_XOFF, &dev_queue->state); > +} > + > /** > * netif_start_queue - allow transmit > * @dev: network device > * > * Allow upper layers to call the device hard_start_xmit routine. > */ > -static inline void netif_tx_start_queue(struct netdev_queue *dev_queue) > -{ > - clear_bit(__QUEUE_STATE_XOFF, &dev_queue->state); > -} > - > static inline void netif_start_queue(struct net_device *dev) > { > netif_tx_start_queue(netdev_get_tx_queue(dev, 0)); > @@ -1022,13 +1022,6 @@ static inline void netif_tx_start_all_qu > } > } > > -/** > - * netif_wake_queue - restart transmit > - * @dev: network device > - * > - * Allow upper layers to call the device hard_start_xmit routine. > - * Used for flow control when transmit resources are available. > - */ > static inline void netif_tx_wake_queue(struct netdev_queue *dev_queue) > { > #ifdef CONFIG_NETPOLL_TRAP > @@ -1041,6 +1034,13 @@ static inline void netif_tx_wake_queue(s > __netif_schedule(dev_queue->qdisc); > } > > +/** > + * netif_wake_queue - restart transmit > + * @dev: network device > + * > + * Allow upper layers to call the device hard_start_xmit routine. > + * Used for flow control when transmit resources are available. > + */ > static inline void netif_wake_queue(struct net_device *dev) > { > netif_tx_wake_queue(netdev_get_tx_queue(dev, 0)); > @@ -1056,6 +1056,11 @@ static inline void netif_tx_wake_all_que > } > } > > +static inline void netif_tx_stop_queue(struct netdev_queue *dev_queue) > +{ > + set_bit(__QUEUE_STATE_XOFF, &dev_queue->state); > +} > + > /** > * netif_stop_queue - stop transmitted packets > * @dev: network device > @@ -1063,11 +1068,6 @@ static inline void netif_tx_wake_all_que > * Stop upper layers calling the device hard_start_xmit routine. > * Used for flow control when transmit resources are unavailable. > */ > -static inline void netif_tx_stop_queue(struct netdev_queue *dev_queue) > -{ > - set_bit(__QUEUE_STATE_XOFF, &dev_queue->state); > -} > - > static inline void netif_stop_queue(struct net_device *dev) > { > netif_tx_stop_queue(netdev_get_tx_queue(dev, 0)); > @@ -1083,17 +1083,17 @@ static inline void netif_tx_stop_all_que > } > } > > +static inline int netif_tx_queue_stopped(const struct netdev_queue *dev_queue) > +{ > + return test_bit(__QUEUE_STATE_XOFF, &dev_queue->state); > +} > + > /** > * netif_queue_stopped - test if transmit queue is flowblocked > * @dev: network device > * > * Test if transmit queue on device is currently unable to send. > */ > -static inline int netif_tx_queue_stopped(const struct netdev_queue *dev_queue) > -{ > - return test_bit(__QUEUE_STATE_XOFF, &dev_queue->state); > -} > - > static inline int netif_queue_stopped(const struct net_device *dev) > { > return netif_tx_queue_stopped(netdev_get_tx_queue(dev, 0)); > @@ -1463,13 +1463,6 @@ static inline void netif_rx_complete(str > local_irq_restore(flags); > } > > -/** > - * netif_tx_lock - grab network device transmit lock > - * @dev: network device > - * @cpu: cpu number of lock owner > - * > - * Get network device transmit lock > - */ > static inline void __netif_tx_lock(struct netdev_queue *txq, int cpu) > { > spin_lock(&txq->_xmit_lock); > @@ -1482,6 +1475,13 @@ static inline void __netif_tx_lock_bh(st > txq->xmit_lock_owner = smp_processor_id(); > } > > +/** > + * netif_tx_lock - grab network device transmit lock > + * @dev: network device > + * @cpu: cpu number of lock owner > + * > + * Get network device transmit lock > + */ > static inline void netif_tx_lock(struct net_device *dev) > { > int cpu = smp_processor_id(); > > -- --- ~Randy Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA http://linuxplumbersconf.org/ -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists