* Re: [PATCH] 3c59x: fix build failure on !CONFIG_PCI
From: Randy Dunlap @ 2010-11-17 15:58 UTC (permalink / raw)
To: Namhyung Kim; +Cc: Steffen Klassert, netdev, linux-kernel
In-Reply-To: <1289960532.1663.24.camel@leonhard>
On 11/16/10 18:22, Namhyung Kim wrote:
> 2010-11-16 (화), 09:14 -0800, Randy Dunlap:
>> Hi,
>>
>
> Hi, Randy
>
>
>> Interesting patch. I have reported this build error and looked
>> into fixing it, but did not come up with this solution.
>>
>> Looking at it more: if CONFIG_PCI is not enabled, DEVICE_PCI() is NULL.
>> That makes VORTEX_PCI() (with or without your patch) have a value of NULL.
>>
>> Is the line with the reported syntax error (3211) executed in
>> function acpi_set_WOL() ? If so, let's assume that vp->enable_wol is true.
>> Then what happens on line 3211 (or 3213 after your patch)?
>>
>> if (VORTEX_PCI(vp)->current_state < PCI_D3hot)
>> return;
>>
>> or if I am really confuzed this morning, please tell me how it works.
>>
>
> At first glance, I've noticed that the code above could make a NULL
> dereference so I added NULL check prior to the line.
>
> But after reading more code I realized that other pci-functions called
> in acpi_set_WOL() would not work with NULL pci_dev pointer also. And I
> found all callers of the acpi_set_WOL() already checked NULL pointer
> before the call. Finally I could remove the NULL check and leave the
> code as is. That's how it works. :)
I see. and concur. Thanks for the explanation.
--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
^ permalink raw reply
* Re: [PATCH 2.6.37-rc1] net-next: Add multiqueue support to vmxnet3 driver v3
From: Ben Hutchings @ 2010-11-17 17:23 UTC (permalink / raw)
To: Shreyas Bhatewara
Cc: David Miller, shemminger@vyatta.com, netdev@vger.kernel.org,
pv-drivers@vmware.com, linux-kernel@vger.kernel.org
In-Reply-To: <alpine.LRH.2.00.1011161939500.25227@sbhatewara-dev1.eng.vmware.com>
On Tue, 2010-11-16 at 21:14 -0800, Shreyas Bhatewara wrote:
[...]
> Okay. I am resending the patch with no module params what-so-ever. The default
> is no-multiqueue though. Single queue code has matured and is optimized for
> performance. Multiqueue code has got relatively lesser performance tuning. Since
> there is no way to switch between the two modes as of now, it only makes sense
> to keep the best known as default. When configuration knobs are introduced
> later, multiqueue can be made default.
But so far as I can see there is currently *no* way to enable multiqueue
without editing the code. Perhaps there could be an experimental config
option that people can use to enable and test it now, before we sort out
the proper API?
[...]
> diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c
> index 21314e0..6f3f905 100644
> --- a/drivers/net/vmxnet3/vmxnet3_drv.c
> +++ b/drivers/net/vmxnet3/vmxnet3_drv.c
[...]
> @@ -176,16 +186,18 @@ vmxnet3_process_events(struct vmxnet3_adapter *adapter)
> VMXNET3_WRITE_BAR1_REG(adapter, VMXNET3_REG_CMD,
> VMXNET3_CMD_GET_QUEUE_STATUS);
>
> - if (adapter->tqd_start->status.stopped) {
> - printk(KERN_ERR "%s: tq error 0x%x\n",
> - adapter->netdev->name,
> - le32_to_cpu(adapter->tqd_start->status.error));
> - }
> - if (adapter->rqd_start->status.stopped) {
> - printk(KERN_ERR "%s: rq error 0x%x\n",
> - adapter->netdev->name,
> - adapter->rqd_start->status.error);
> - }
> + for (i = 0; i < adapter->num_tx_queues; i++)
> + if (adapter->tqd_start[i].status.stopped)
> + dev_dbg(&adapter->netdev->dev,
> + "%s: tq[%d] error 0x%x\n",
> + adapter->netdev->name, i, le32_to_cpu(
> + adapter->tqd_start[i].status.error));
> + for (i = 0; i < adapter->num_rx_queues; i++)
> + if (adapter->rqd_start[i].status.stopped)
> + dev_dbg(&adapter->netdev->dev,
> + "%s: rq[%d] error 0x%x\n",
> + adapter->netdev->name, i,
> + adapter->rqd_start[i].status.error);
Why are these being downgraded from 'err' to 'dbg' severity?
[...]
> @@ -1000,8 +1042,8 @@ vmxnet3_tq_xmit(struct sk_buff *skb, struct vmxnet3_tx_queue *tq,
> if (le32_to_cpu(tq->shared->txNumDeferred) >=
> le32_to_cpu(tq->shared->txThreshold)) {
> tq->shared->txNumDeferred = 0;
> - VMXNET3_WRITE_BAR0_REG(adapter, VMXNET3_REG_TXPROD,
> - tq->tx_ring.next2fill);
> + VMXNET3_WRITE_BAR0_REG(adapter, (VMXNET3_REG_TXPROD +
> + tq->qid * 8), tq->tx_ring.next2fill);
This line-wrapping is strange and could be misleading. I suggest you
put the whole of the expression 'VMXNET3_REG_TXPROD + tq->qid * 8' on
one line.
Similarly in vmxnet3_activate_dev().
> }
>
> return NETDEV_TX_OK;
> @@ -1020,7 +1062,10 @@ vmxnet3_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
> {
> struct vmxnet3_adapter *adapter = netdev_priv(netdev);
>
> - return vmxnet3_tq_xmit(skb, &adapter->tx_queue, adapter, netdev);
> + BUG_ON(skb->queue_mapping > adapter->num_tx_queues);
> + return vmxnet3_tq_xmit(skb,
> + &adapter->tx_queue[skb->queue_mapping],
> + adapter, netdev);
This is indented wrongly.
[...]
> static int
> vmxnet3_request_irqs(struct vmxnet3_adapter *adapter)
> {
> - int err;
> + struct vmxnet3_intr *intr = &adapter->intr;
> + int err = 0, i;
> + int vector = 0;
>
> #ifdef CONFIG_PCI_MSI
> if (adapter->intr.type == VMXNET3_IT_MSIX) {
> - /* we only use 1 MSI-X vector */
> - err = request_irq(adapter->intr.msix_entries[0].vector,
> - vmxnet3_intr, 0, adapter->netdev->name,
> - adapter->netdev);
> - } else if (adapter->intr.type == VMXNET3_IT_MSI) {
> + for (i = 0; i < adapter->num_tx_queues; i++) {
> + sprintf(adapter->tx_queue[i].name, "%s:v%d-%s",
> + adapter->netdev->name, vector, "Tx");
The naming convention for IRQs on a multiqueue device is
<devname>[-<type>]-<index> (and <type> is all lower-case). So this
should be:
sprintf(adapter->tx_queue[i].name, "%s-tx-%d",
adapter->netdev->name, i);
Similarly for the RX and other-event interrupts.
[...]
> @@ -2343,6 +2800,7 @@ vmxnet3_tx_timeout(struct net_device *netdev)
>
> printk(KERN_ERR "%s: tx hang\n", adapter->netdev->name);
> schedule_work(&adapter->work);
> + netif_wake_queue(adapter->netdev);
This hunk doesn't seem relevant to the description of the patch.
[...]
> @@ -2399,8 +2857,32 @@ vmxnet3_probe_device(struct pci_dev *pdev,
> struct net_device *netdev;
> struct vmxnet3_adapter *adapter;
> u8 mac[ETH_ALEN];
> + int size;
> + int num_tx_queues = enable_mq == 0 ? 1 : 0;
> + int num_rx_queues = enable_mq == 0 ? 1 : 0;
> +
> +#ifdef VMXNET3_RSS
> + if (num_rx_queues == 0)
> + num_rx_queues = min(VMXNET3_DEVICE_MAX_RX_QUEUES,
> + (int)num_online_cpus());
> + else
> + num_rx_queues = min(VMXNET3_DEVICE_MAX_RX_QUEUES,
> + num_rx_queues);
> +#else
> + num_rx_queues = 1;
> +#endif
> +
> + if (num_tx_queues <= 0)
> + num_tx_queues = min(VMXNET3_DEVICE_MAX_TX_QUEUES,
> + (int)num_online_cpus());
> + else
> + num_tx_queues = min(VMXNET3_DEVICE_MAX_TX_QUEUES,
> + num_tx_queues);
This is a bit opaque; the following would be clearer:
int num_tx_queues, num_rx_queues;
ifdef VMXNET3_RSS
if (enable_mq)
num_rx_queues = min(VMXNET3_DEVICE_MAX_RX_QUEUES,
(int)num_online_cpus());
else
#endif
num_rx_queues = 1;
if (enable_mq)
num_tx_queues = min(VMXNET3_DEVICE_MAX_TX_QUEUES,
(int)num_online_cpus());
else
num_tx_queues = 1;
> + netdev = alloc_etherdev_mq(sizeof(struct vmxnet3_adapter),
> + num_tx_queues);
> + printk(KERN_INFO "# of Tx queues : %d, # of Rx queues : %d\n",
> + num_tx_queues, num_rx_queues);
If it's possible that num_tx_queues != num_rx_queues then you have to do
something a bit different here:
netdev = alloc_etherdev_mq(sizeof(struct vmxnet3_adapter),
max(num_rx_queues, num_tx_queues));
[...]
> @@ -2482,7 +2994,18 @@ vmxnet3_probe_device(struct pci_dev *pdev,
>
> INIT_WORK(&adapter->work, vmxnet3_reset_work);
>
> - netif_napi_add(netdev, &adapter->napi, vmxnet3_poll, 64);
> + if (adapter->intr.type == VMXNET3_IT_MSIX) {
> + int i;
> + for (i = 0; i < adapter->num_rx_queues; i++) {
> + netif_napi_add(adapter->netdev,
> + &adapter->rx_queue[i].napi,
> + vmxnet3_poll_rx_only, 64);
> + }
> + } else {
> + netif_napi_add(adapter->netdev, &adapter->rx_queue[0].napi,
> + vmxnet3_poll, 64);
> + }
> +
You need to call netif_set_real_num_{rx,tx}_queues() here (before
register_netdev()) if you have reduced the numbers of queues - e.g. if
there are not enough MSI-X vectors available.
> SET_NETDEV_DEV(netdev, &pdev->dev);
> err = register_netdev(netdev);
>
[...]
> @@ -2522,6 +3048,19 @@ vmxnet3_remove_device(struct pci_dev *pdev)
> {
> struct net_device *netdev = pci_get_drvdata(pdev);
> struct vmxnet3_adapter *adapter = netdev_priv(netdev);
> + int size = 0;
> + int num_rx_queues = enable_mq == 0 ? 1 : 0;
> +
> +#ifdef VMXNET3_RSS
> + if (num_rx_queues <= 0)
> + num_rx_queues = min(VMXNET3_DEVICE_MAX_RX_QUEUES,
> + (int)num_online_cpus());
> + else
> + num_rx_queues = min(VMXNET3_DEVICE_MAX_RX_QUEUES,
> + num_rx_queues);
> +#else
> + num_rx_queues = 1;
> +#endif
>
> flush_scheduled_work();
>
> @@ -2529,10 +3068,15 @@ vmxnet3_remove_device(struct pci_dev *pdev)
>
> vmxnet3_free_intr_resources(adapter);
> vmxnet3_free_pci_resources(adapter);
> +#ifdef VMXNET3_RSS
> + kfree(adapter->rss_conf);
> +#endif
> kfree(adapter->pm_conf);
> - pci_free_consistent(adapter->pdev, sizeof(struct Vmxnet3_TxQueueDesc) +
> - sizeof(struct Vmxnet3_RxQueueDesc),
> - adapter->tqd_start, adapter->queue_desc_pa);
> +
> + size = sizeof(struct Vmxnet3_TxQueueDesc) * adapter->num_tx_queues;
> + size += sizeof(struct Vmxnet3_RxQueueDesc) * num_rx_queues;
> + pci_free_consistent(adapter->pdev, size, adapter->tqd_start,
> + adapter->queue_desc_pa);
> pci_free_consistent(adapter->pdev, sizeof(struct Vmxnet3_DriverShared),
> adapter->shared, adapter->shared_pa);
> free_netdev(netdev);
Maybe you should store the size of the hypervisor-shared state somewhere
rather than recalculating it here.
[...]
> @@ -2708,6 +3252,7 @@ vmxnet3_init_module(void)
> {
> printk(KERN_INFO "%s - version %s\n", VMXNET3_DRIVER_DESC,
> VMXNET3_DRIVER_VERSION_REPORT);
> + atomic_set(&devices_found, 0);
This hunk doesn't seem relevant to the description of the patch.
[...]
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethtool.c b/drivers/net/vmxnet3/vmxnet3_ethtool.c
> index b79070b..9a80106 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethtool.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethtool.c
[...]
> +static int
> +vmxnet3_set_rss_indir(struct net_device *netdev,
> + const struct ethtool_rxfh_indir *p)
> +{
> + unsigned int i;
> + struct vmxnet3_adapter *adapter = netdev_priv(netdev);
> + struct UPT1_RSSConf *rssConf = adapter->rss_conf;
> +
> + if (p->size != rssConf->indTableSize)
> + return -EINVAL;
> + for (i = 0; i < rssConf->indTableSize; i++) {
> + if (p->ring_index[i] >= 0 && p->ring_index[i] <
> + adapter->num_rx_queues)
> + rssConf->indTable[i] = p->ring_index[i];
> + else
> + rssConf->indTable[i] = i % adapter->num_rx_queues;
[...]
This should return -EINVAL if any of the queue indices are out of range.
ethtool gets the maximum valid queue index from your get_rxnfc()
implementation.
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply
* Re: [PATCH 2.6.37-rc1] net-next: Add multiqueue support to vmxnet3 driver v3
From: David Miller @ 2010-11-17 17:27 UTC (permalink / raw)
To: bhutchings; +Cc: sbhatewara, shemminger, netdev, pv-drivers, linux-kernel
In-Reply-To: <1290014618.2588.50.camel@bwh-desktop>
From: Ben Hutchings <bhutchings@solarflare.com>
Date: Wed, 17 Nov 2010 17:23:38 +0000
> On Tue, 2010-11-16 at 21:14 -0800, Shreyas Bhatewara wrote:
> [...]
>> Okay. I am resending the patch with no module params what-so-ever. The default
>> is no-multiqueue though. Single queue code has matured and is optimized for
>> performance. Multiqueue code has got relatively lesser performance tuning. Since
>> there is no way to switch between the two modes as of now, it only makes sense
>> to keep the best known as default. When configuration knobs are introduced
>> later, multiqueue can be made default.
>
> But so far as I can see there is currently *no* way to enable multiqueue
> without editing the code. Perhaps there could be an experimental config
> option that people can use to enable and test it now, before we sort out
> the proper API?
It should be turned on by default, otherwise don't add the code until
it's "ready."
We had slight performance regressions in the past when various drivers
added multiqueue support, but the aggregate performance increased for
multi-flow cases, and this was deemed a fine tradeoff. I was hoping
you'd use similar logic.
Otherwise, send this stuff when it's ready, and no sooner.
^ permalink raw reply
* Re: [net-next pull-request] Intel Wired LAN Driver Updates
From: David Miller @ 2010-11-17 18:01 UTC (permalink / raw)
To: Jeffrey.t.kirsher; +Cc: netdev
In-Reply-To: <1289969989.2815.10.camel@jtkirshe-MOBL1>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 16 Nov 2010 20:59:49 -0800
> Here is a batch of fixes/cleanups intended for 2.6.38. In the mix is added
> support for x540 10GbE MAC. A large part of the changes are ixgbe cleanup
> patches by Alex.
>
> Please let me know if there are problems.
Pulled, thanks Jeff.
But in the future you'll need to still post the patches you're asking
me to merge to the list. Usually folks do this by posting something
like a "Subject: [PATCH 0/N] Intel Wired Lan Driver Updates"
thread-leading posting which contains an overall description of the
changes, as well as the pull request. This is followed-up with the
actual patches.
This way people can review the changes and reply to any issues they
have on-list with a simple reply to the patch in question.
Thanks.
^ permalink raw reply
* Re: [PATCH 04/10] drivers/net/qla3xxx.c: Remove unnecessary casts of netdev_priv
From: David Miller @ 2010-11-17 18:39 UTC (permalink / raw)
To: joe; +Cc: trivial, ron.mercer, linux-driver, netdev, linux-kernel
In-Reply-To: <de6d97d7116c0889bf2b01e45e99a2b8d1b13410.1289855436.git.joe@perches.com>
From: Joe Perches <joe@perches.com>
Date: Mon, 15 Nov 2010 13:12:27 -0800
> Signed-off-by: Joe Perches <joe@perches.com>
Applied.
^ permalink raw reply
* Re: [PATCH 01/10] drivers/isdn/i4l: Remove unnecessary casts of netdev_priv
From: David Miller @ 2010-11-17 18:39 UTC (permalink / raw)
To: joe; +Cc: trivial, isdn, netdev, linux-kernel
In-Reply-To: <d653560dec1888cb09d6166a9be3a9b3eeb1cfc9.1289855436.git.joe@perches.com>
From: Joe Perches <joe@perches.com>
Date: Mon, 15 Nov 2010 13:12:24 -0800
> Signed-off-by: Joe Perches <joe@perches.com>
Applied.
^ permalink raw reply
* Re: [PATCH 02/10] drivers/net/bonding: Remove unnecessary casts of netdev_priv
From: David Miller @ 2010-11-17 18:39 UTC (permalink / raw)
To: joe; +Cc: trivial, fubar, bonding-devel, netdev, linux-kernel
In-Reply-To: <6cbd8cc45eab4a2f85017c5b7ea926781d977c05.1289855436.git.joe@perches.com>
From: Joe Perches <joe@perches.com>
Date: Mon, 15 Nov 2010 13:12:25 -0800
> Signed-off-by: Joe Perches <joe@perches.com>
Applied.
^ permalink raw reply
* Re: [PATCH 06/10] drivers/net/usb: Remove unnecessary casts of netdev_priv
From: David Miller @ 2010-11-17 18:40 UTC (permalink / raw)
To: joe; +Cc: trivial, petkan, gregkh, linux-usb, netdev, linux-kernel
In-Reply-To: <66a3d7996e4ce8a84610237e86adf4b15a48514a.1289855436.git.joe@perches.com>
From: Joe Perches <joe@perches.com>
Date: Mon, 15 Nov 2010 13:12:29 -0800
> Signed-off-by: Joe Perches <joe@perches.com>
Applied.
^ permalink raw reply
* Re: [PATCH 03/10] drivers/net/pcmcia: Remove unnecessary casts of netdev_priv
From: David Miller @ 2010-11-17 18:39 UTC (permalink / raw)
To: joe; +Cc: trivial, netdev, linux-kernel
In-Reply-To: <b738d463c9bce47f059e19b8dde5970e53cbf3e4.1289855436.git.joe@perches.com>
From: Joe Perches <joe@perches.com>
Date: Mon, 15 Nov 2010 13:12:26 -0800
> Signed-off-by: Joe Perches <joe@perches.com>
Applied.
^ permalink raw reply
* Re: [PATCH 05/10] drivers/net/qlge: Remove unnecessary casts of netdev_priv
From: David Miller @ 2010-11-17 18:39 UTC (permalink / raw)
To: joe; +Cc: trivial, ron.mercer, linux-driver, netdev, linux-kernel
In-Reply-To: <3a4c474a1f0fc81c0412abf9d99c0bd0365b9174.1289855436.git.joe@perches.com>
From: Joe Perches <joe@perches.com>
Date: Mon, 15 Nov 2010 13:12:28 -0800
> Signed-off-by: Joe Perches <joe@perches.com>
Applied.
^ permalink raw reply
* Re: [PATCH 07/10] drivers/net/vxge: Remove unnecessary casts of netdev_priv
From: David Miller @ 2010-11-17 18:44 UTC (permalink / raw)
To: joe
Cc: trivial, ramkrishna.vepa, sivakumar.subramani, sreenivasa.honnur,
jon.mason, netdev, linux-kernel
In-Reply-To: <5aee4bf89b5baa6e1d32c99be560893925ed2e19.1289855436.git.joe@perches.com>
From: Joe Perches <joe@perches.com>
Date: Mon, 15 Nov 2010 13:12:30 -0800
> Signed-off-by: Joe Perches <joe@perches.com>
Applied.
VXGE folks, note that this means any patches you send to me need
to take Joe's changes into account. If you diff against current
net-next-2.6 you'll be fine.
^ permalink raw reply
* Re: [PATCH 10/10] net/atm: Remove unnecessary casts of netdev_priv
From: David Miller @ 2010-11-17 18:45 UTC (permalink / raw)
To: joe; +Cc: trivial, netdev, linux-kernel
In-Reply-To: <0953cd1e1042f41ae839f5b9e4adaffd555c71eb.1289855436.git.joe@perches.com>
From: Joe Perches <joe@perches.com>
Date: Mon, 15 Nov 2010 13:12:33 -0800
> Signed-off-by: Joe Perches <joe@perches.com>
Applied.
^ permalink raw reply
* Re: [PATCH 08/10] drivers/net: Remove unnecessary casts of netdev_priv
From: David Miller @ 2010-11-17 18:45 UTC (permalink / raw)
To: joe; +Cc: trivial, p_gortmaker, ysato, netdev, linux-kernel
In-Reply-To: <8b57be072e62f8f7d39d4ecd9ce5c999e4f8bbdc.1289855436.git.joe@perches.com>
From: Joe Perches <joe@perches.com>
Date: Mon, 15 Nov 2010 13:12:31 -0800
> Signed-off-by: Joe Perches <joe@perches.com>
Applied.
^ permalink raw reply
* Re: [PATCH 06/10] drivers/net/usb: Remove unnecessary casts of netdev_priv
From: David Miller @ 2010-11-17 18:45 UTC (permalink / raw)
To: petkan; +Cc: joe, trivial, petkan, gregkh, linux-usb, netdev, linux-kernel
In-Reply-To: <alpine.DEB.2.00.1011161958320.1392@gabi>
From: Petko Manolov <petkan@nucleusys.com>
Date: Tue, 16 Nov 2010 19:59:29 +0200 (EET)
> ACK! :-)
Please do not top post.
Also, please use a properly formed "Acked-by: " tag if you want
your ACK to actually show up in the commit log message.
Thanks.
^ permalink raw reply
* Re: [PATCH 3/3] SELinux: return -ECONNREFUSED from ip_postroute to signal fatal error
From: David Miller @ 2010-11-17 18:55 UTC (permalink / raw)
To: eparis
Cc: kaber, netdev, linux-kernel, selinux, netfilter-devel, equinox,
eric.dumazet, hzhong, jmorris, kuznet, paul.moore, pekkas, sds,
yoshfuji
In-Reply-To: <1290004739.14282.73.camel@localhost.localdomain>
From: Eric Paris <eparis@redhat.com>
Date: Wed, 17 Nov 2010 09:38:59 -0500
> On Wed, 2010-11-17 at 12:43 +0100, Patrick McHardy wrote:
>> On 16.11.2010 22:52, Eric Paris wrote:
>> > The SELinux netfilter hooks just return NF_DROP if they drop a packet. We
>> > want to signal that a drop in this hook is a permanant fatal error and is not
>> > transient. If we do this the error will be passed back up the stack in some
>> > places and applications will get a faster interaction that something went
>> > wrong.
>>
>> Looks good to me. I'd suggest to have these patches go through Dave's
>> tree since I want to make use of the netfilter error propagation
>> mechanism to return proper errno codes for netfilter re-routing
>> failures.
>
>
> I'd be happy if Dave pulled patches 1 and 2. I can resend patch #3 once
> I can cajole another of the SELinux maintainers to look at it (I believe
> he most likely one is on vacation this week)
I think it's best to pull this all into net-next-2.6 now, so that's what
I'm doing right now.
If there are problems we can apply changes on top.
Thanks.
^ permalink raw reply
* Re: [PATCH 1/3] netfilter: allow hooks to pass error code back up the stack
From: David Miller @ 2010-11-17 18:55 UTC (permalink / raw)
To: eparis
Cc: netdev, linux-kernel, selinux, netfilter-devel, equinox,
eric.dumazet, hzhong, jmorris, kaber, kuznet, paul.moore, pekkas,
sds, yoshfuji
In-Reply-To: <20101116215238.6727.39248.stgit@paris.rdu.redhat.com>
From: Eric Paris <eparis@redhat.com>
Date: Tue, 16 Nov 2010 16:52:38 -0500
> SELinux would like to pass certain fatal errors back up the stack. This patch
> implements the generic netfilter support for this functionality.
>
> Based-on-patch-by: Patrick McHardy <kaber@trash.net>
> Signed-off-by: Eric Paris <eparis@redhat.com>
Applied.
^ permalink raw reply
* Re: [PATCH 2/3] network: tcp_connect should return certain errors up the stack
From: David Miller @ 2010-11-17 18:56 UTC (permalink / raw)
To: eparis
Cc: netdev, linux-kernel, selinux, netfilter-devel, equinox,
eric.dumazet, hzhong, jmorris, kaber, kuznet, paul.moore, pekkas,
sds, yoshfuji
In-Reply-To: <20101116215249.6727.89763.stgit@paris.rdu.redhat.com>
From: Eric Paris <eparis@redhat.com>
Date: Tue, 16 Nov 2010 16:52:49 -0500
> The current tcp_connect code completely ignores errors from sending an skb.
> This makes sense in many situations (like -ENOBUFFS) but I want to be able to
> immediately fail connections if they are denied by the SELinux netfilter hook.
> Netfilter does not normally return ECONNREFUSED when it drops a packet so we
> respect that error code as a final and fatal error that can not be recovered.
>
> Based-on-patch-by: Patrick McHardy <kaber@trash.net>
> Signed-off-by: Eric Paris <eparis@redhat.com>
Applied.
^ permalink raw reply
* Re: [PATCH 3/3] SELinux: return -ECONNREFUSED from ip_postroute to signal fatal error
From: David Miller @ 2010-11-17 18:56 UTC (permalink / raw)
To: eparis
Cc: netdev, linux-kernel, selinux, netfilter-devel, equinox,
eric.dumazet, hzhong, jmorris, kaber, kuznet, paul.moore, pekkas,
sds, yoshfuji
In-Reply-To: <20101116215257.6727.12163.stgit@paris.rdu.redhat.com>
From: Eric Paris <eparis@redhat.com>
Date: Tue, 16 Nov 2010 16:52:57 -0500
> The SELinux netfilter hooks just return NF_DROP if they drop a packet. We
> want to signal that a drop in this hook is a permanant fatal error and is not
> transient. If we do this the error will be passed back up the stack in some
> places and applications will get a faster interaction that something went
> wrong.
>
> Signed-off-by: Eric Paris <eparis@redhat.com>
Applied.
^ permalink raw reply
* Re: [PATCH] drivers/isdn/hisax: Add printf format/argument verification and fix fallout
From: David Miller @ 2010-11-17 18:58 UTC (permalink / raw)
To: joe; +Cc: linux-kernel, isdn, netdev
In-Reply-To: <f92d95e7dc0afca09c2d76880b76973e4eafb169.1289451201.git.joe@perches.com>
From: Joe Perches <joe@perches.com>
Date: Wed, 10 Nov 2010 20:54:58 -0800
> Add __attribute__((format... to several functins
> Make formats and arguments match.
>
> Signed-off-by: Joe Perches <joe@perches.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH net-next-2.6] clarify documentation for net.ipv4.igmp_max_memberships
From: David Miller @ 2010-11-17 19:22 UTC (permalink / raw)
To: jeder
Cc: netdev, rdunlap, opurdila, apetlund, William.Allen.Simpson,
ian.campbell, linux-doc, linux-kernel, jpirko
In-Reply-To: <1289835691.8257.1274.camel@jerms-wks.usersys.redhat.com>
From: Jeremy Eder <jeder@redhat.com>
Date: Mon, 15 Nov 2010 10:41:31 -0500
> This patch helps clarify documentation for
> net.ipv4.igmp_max_memberships by providing a formula for
> calculating the maximum number of multicast groups that can be
> subscribed to, plus defining the theoretical limit.
>
> Signed-off-by: Jiri Pirko <jpirko@redhat.com>
> Signed-off-by: Jeremy Eder <jeder@redhat.com>
Applied, thanks Jeremy.
^ permalink raw reply
* Re: [PATCH net-next 1/4] rtnetlink: Link address family API
From: David Miller @ 2010-11-17 19:30 UTC (permalink / raw)
To: tgraf; +Cc: netdev
In-Reply-To: <20101116143014.GA26669@canuck.infradead.org>
From: Thomas Graf <tgraf@infradead.org>
Date: Tue, 16 Nov 2010 09:30:14 -0500
> Each net_device contains address family specific data such as
> per device settings and statistics. We already expose this data
> via procfs/sysfs and partially netlink.
>
> The netlink method requires the requester to send one RTM_GETLINK
> request for each address family it wishes to receive data of
> and then merge this data itself.
>
> This patch implements a new API which combines all address family
> specific link data in a new netlink attribute IFLA_AF_SPEC.
> IFLA_AF_SPEC contains a sequence of nested attributes, one for each
> address family which in turn defines the structure of its own
> attribute. Example:
>
> [IFLA_AF_SPEC] = {
> [AF_INET] = {
> [IFLA_INET_CONF] = ...,
> },
> [AF_INET6] = {
> [IFLA_INET6_FLAGS] = ...,
> [IFLA_INET6_CONF] = ...,
> }
> }
>
> The API also allows for address families to implement a function
> which parses the IFLA_AF_SPEC attribute sent by userspace to
> implement address family specific link options.
>
> Signed-off-by: Thomas Graf <tgraf@infradead.org>
Applied, but note that as-implemented it has the "partial update"
problem. When we can't get the af-specific ops for a "parse"
operation, we just skip that AF yet we let the modifications of
the other AF's succeed and make it appear to the user that
everything got updated and all the attributes were consumed.
I don't know what we can do about this with how things work
right now.
^ permalink raw reply
* Re: [PATCH net-next 2/4] inet: Define IPV4_DEVCONF_MAX
From: David Miller @ 2010-11-17 19:30 UTC (permalink / raw)
To: tgraf; +Cc: netdev
In-Reply-To: <20101116143120.GB26669@canuck.infradead.org>
From: Thomas Graf <tgraf@infradead.org>
Date: Tue, 16 Nov 2010 09:31:20 -0500
> Define IPV4_DEVCONF_MAX to get rid of MAX - 1 notation.
>
> Signed-off-by: Thomas Graf <tgraf@infradead.org>
Applied.
^ permalink raw reply
* Re: [PATCH net-next 3/4] ipv4: AF_INET link address family
From: David Miller @ 2010-11-17 19:30 UTC (permalink / raw)
To: tgraf; +Cc: netdev
In-Reply-To: <20101116143248.GC26669@canuck.infradead.org>
From: Thomas Graf <tgraf@infradead.org>
Date: Tue, 16 Nov 2010 09:32:48 -0500
> Implements the AF_INET link address family exposing the per
> device configuration settings via netlink using the attribute
> IFLA_INET_CONF.
>
> The format of IFLA_INET_CONF differs depending on the direction
> the attribute is sent. The attribute sent by the kernel consists
> of a u32 array, basically a 1:1 copy of in_device->cnf.data[].
> The attribute expected by the kernel must consist of a sequence
> of nested u32 attributes, each representing a change request,
> e.g.
> [IFLA_INET_CONF] = {
> [IPV4_DEVCONF_FORWARDING] = 1,
> [IPV4_DEVCONF_NOXFRM] = 0,
> }
>
> libnl userspace API documentation and example available from:
> http://www.infradead.org/~tgr/libnl/doc-git/group__link__inet.html
>
> Signed-off-by: Thomas Graf <tgraf@infradead.org>
Applied.
^ permalink raw reply
* Re: [PATCH net-next 4/4] ipv6: AF_INET6 link address family
From: David Miller @ 2010-11-17 19:30 UTC (permalink / raw)
To: tgraf; +Cc: netdev, yoshfuji
In-Reply-To: <20101116143357.GD26669@canuck.infradead.org>
From: Thomas Graf <tgraf@infradead.org>
Date: Tue, 16 Nov 2010 09:33:57 -0500
> IPv6 already exposes some address family data via netlink in the
> IFLA_PROTINFO attribute if RTM_GETLINK request is sent with the
> address family set to AF_INET6. We take over this format and
> reuse all the code.
>
> Signed-off-by: Thomas Graf <tgraf@infradead.org>
> Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Applied.
^ permalink raw reply
* Re: [PATCH net-next 0/5] qlcnic: Bug fixes
From: David Miller @ 2010-11-17 19:51 UTC (permalink / raw)
To: anirban.chakraborty; +Cc: netdev, Dept_NX_Linux_NIC_Driver
In-Reply-To: <alpine.OSX.2.00.1011161510040.88679@macintosh-2.local>
From: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Date: Tue, 16 Nov 2010 16:07:38 -0800
> Please apply following patches to net-next.
All applied, thank you.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox