~kamalmostafa/ubuntu/+source/linux/+git/trusty:lp994931-ipv6

Last commit made on 2016-09-16
Get this branch:
git clone -b lp994931-ipv6 https://git.launchpad.net/~kamalmostafa/ubuntu/+source/linux/+git/trusty
Only Kamal Mostafa can upload to this branch. If you are Kamal Mostafa please log in for upload directions.

Branch merges

Branch information

Name:
lp994931-ipv6
Repository:
lp:~kamalmostafa/ubuntu/+source/linux/+git/trusty

Recent commits

5eb1347... by Jiri Pirko <email address hidden>

neigh: ipv6: respect default values set before an address is assigned to device

commit bba24896f022d4d239494bebf18e713cd8aec7a5 upstream.

Make the behaviour similar to ipv4. This will allow user to set sysctl
default neigh param values and these values will be respected even by
devices registered before (that ones what do not have address set yet).

Signed-off-by: Jiri Pirko <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
BugLink: https://bugs.launchpad.net/bugs/994931
Signed-off-by: Kamal Mostafa <email address hidden>

8c6d2ea... by Jiri Pirko <email address hidden>

neigh: restore old behaviour of default parms values

commit 1d4c8c29841b9991cdf3c7cc4ba7f96a94f104ca upstream.

Previously inet devices were only constructed when addresses are added.
Therefore the default neigh parms values they get are the ones at the
time of these operations.

Now that we're creating inet devices earlier, this changes the behaviour
of default neigh parms values in an incompatible way (see bug #8519).

This patch creates a compromise by setting the default values at the
same point as before but only for those that have not been explicitly
set by the user since the inet device's creation.

Introduced by:
commit 8030f54499925d073a88c09f30d5d844fb1b3190
Author: Herbert Xu <email address hidden>
Date: Thu Feb 22 01:53:47 2007 +0900

    [IPV4] devinet: Register inetdev earlier.

Signed-off-by: Jiri Pirko <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
BugLink: https://bugs.launchpad.net/bugs/994931
Signed-off-by: Kamal Mostafa <email address hidden>

456613f... by Jiri Pirko <email address hidden>

neigh: use tbl->family to distinguish ipv4 from ipv6

commit 73af614aedd221df8495fc8c9993c50e87f899f2 upstream.

Signed-off-by: Jiri Pirko <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
BugLink: https://bugs.launchpad.net/bugs/994931
Signed-off-by: Kamal Mostafa <email address hidden>

a22d2b5... by Jiri Pirko <email address hidden>

neigh: wrap proc dointvec functions

commit cb5b09c17fe60056bc8f127ffc987d361c40ed4b upstream.

This will be needed later on to provide better management of default values.

Signed-off-by: Jiri Pirko <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
BugLink: https://bugs.launchpad.net/bugs/994931
Signed-off-by: Kamal Mostafa <email address hidden>

5c46966... by Jiri Pirko <email address hidden>

neigh: convert parms to an array

commit 1f9248e5606afc6485255e38ad57bdac08fa7711 upstream.

This patch converts the neigh param members to an array. This allows easier
manipulation which will be needed later on to provide better management of
default values.

Signed-off-by: Jiri Pirko <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
BugLink: https://bugs.launchpad.net/bugs/994931
Signed-off-by: Kamal Mostafa <email address hidden>

8b9767d... by Kamal Mostafa

Revert "UBUNTU: SAUCE: (no-up) ipv6: make the net.ipv6.conf.all.use_tempaddr sysctl propagate to interface settings"

This reverts commit c999e7dff4570e4c28a0953e7189c0c31343ce62.

To be replaced by mainline commit bba24896f022d4d239494bebf18e713cd8aec7a5
"neigh: ipv6: respect default values set before an address is assigned to
device".

BugLink: https://bugs.launchpad.net/bugs/994931
Signed-off-by: Kamal Mostafa <email address hidden>

3453010... by Kamal Mostafa

Revert "UBUNTU: SAUCE: (no-up) ipv6: Fix net.ipv6.conf.all.use_tempaddr sysctl"

This reverts commit 9e113accc7c636b46ff9175fda1f8ffcfbf544ef.

To be replaced by mainline commit bba24896f022d4d239494bebf18e713cd8aec7a5
"neigh: ipv6: respect default values set before an address is assigned to
device".

BugLink: https://bugs.launchpad.net/bugs/994931
Signed-off-by: Kamal Mostafa <email address hidden>

2546ede... by Mauricio Faria de Oliveira

powerpc/pseries: use pci_host_bridge.release_fn() to kfree(phb)

This patch leverages 'struct pci_host_bridge' from the PCI subsystem
in order to free the pci_controller only after the last reference to
its devices is dropped (avoiding an oops in pcibios_release_device()
if the last reference is dropped after pcibios_free_controller()).

The patch relies on pci_host_bridge.release_fn() (and .release_data),
which is called automatically by the PCI subsystem when the root bus
is released (i.e., the last reference is dropped). Those fields are
set via pci_set_host_bridge_release() (e.g. in the platform-specific
implementation of pcibios_root_bridge_prepare()).

It introduces the 'pcibios_free_controller_deferred()' .release_fn()
and it expects .release_data to hold a pointer to the pci_controller.

The function implictly calls 'pcibios_free_controller()', so an user
must *NOT* explicitly call it if using the new _deferred() callback.

The functionality is enabled for pseries (although it isn't platform
specific, and may be used by cxl).

Details on not-so-elegant design choices:

 - Use 'pci_host_bridge.release_data' field as pointer to associated
   'struct pci_controller' so *not* to 'pci_bus_to_host(bridge->bus)'
   in pcibios_free_controller_deferred().

   That's because pci_remove_root_bus() sets 'host_bridge->bus = NULL'
   (so, if the last reference is released after pci_remove_root_bus()
   runs, which eventually reaches pcibios_free_controller_deferred(),
   that would hit a null pointer dereference).

   The cxl/vphb.c code calls pci_remove_root_bus(), and the cxl folks
   are interested in this fix.

Test-case #1 (hold references)

  # ls -ld /sys/block/sd* | grep -m1 0021:01:00.0
  <...> /sys/block/sdaa -> ../devices/pci0021:01/0021:01:00.0/<...>

  # ls -ld /sys/block/sd* | grep -m1 0021:01:00.1
  <...> /sys/block/sdab -> ../devices/pci0021:01/0021:01:00.1/<...>

  # cat >/dev/sdaa & pid1=$!
  # cat >/dev/sdab & pid2=$!

  # drmgr -w 5 -d 1 -c phb -s 'PHB 33' -r
  Validating PHB DLPAR capability...yes.
  [ 594.306719] pci_hp_remove_devices: PCI: Removing devices on bus 0021:01
  [ 594.306738] pci_hp_remove_devices: Removing 0021:01:00.0...
  ...
  [ 598.236381] pci_hp_remove_devices: Removing 0021:01:00.1...
  ...
  [ 611.972077] pci_bus 0021:01: busn_res: [bus 01-ff] is released
  [ 611.972140] rpadlpar_io: slot PHB 33 removed

  # kill -9 $pid1
  # kill -9 $pid2
  [ 632.918088] pcibios_free_controller_deferred: domain 33, dynamic 1

Test-case #2 (don't hold references)

  # drmgr -w 5 -d 1 -c phb -s 'PHB 33' -r
  Validating PHB DLPAR capability...yes.
  [ 916.357363] pci_hp_remove_devices: PCI: Removing devices on bus 0021:01
  [ 916.357386] pci_hp_remove_devices: Removing 0021:01:00.0...
  ...
  [ 920.566527] pci_hp_remove_devices: Removing 0021:01:00.1...
  ...
  [ 933.955873] pci_bus 0021:01: busn_res: [bus 01-ff] is released
  [ 933.955977] pcibios_free_controller_deferred: domain 33, dynamic 1
  [ 933.955999] rpadlpar_io: slot PHB 33 removed

Suggested-By: Gavin Shan <email address hidden>
Signed-off-by: Mauricio Faria de Oliveira <email address hidden>
Reviewed-by: Gavin Shan <email address hidden>
Reviewed-by: Andrew Donnellan <email address hidden>
Tested-by: Andrew Donnellan <email address hidden> # cxl
Signed-off-by: Benjamin Herrenschmidt <email address hidden>
(cherry picked from commit 2dd9c11b9d4dfbd6c070eab7b81197f65e82f1a0)
Signed-off-by: Tim Gardner <email address hidden>
Acked-by: Kamal Mostafa <email address hidden>
Acked-by: Chris J Arges <email address hidden>

693ca78... by Tim Gardner

UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <email address hidden>

d8590fe... by Tim Gardner

UBUNTU: Ubuntu-3.13.0-96.143

Signed-off-by: Tim Gardner <email address hidden>