This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, linus-master has been created at a5a7bbcc0137e5cdad21cce0962f6be0b7ecf173 (commit) - Log ----------------------------------------------------------------- commit a5a7bbcc0137e5cdad21cce0962f6be0b7ecf173 Author: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Date: Tue Jul 26 11:15:20 2011 +0200 xfs: Fix build breakage in xfs_iops.c when CONFIG_FS_POSIX_ACL is not set commit 4e34e719e45, that takes the ACL checks to common code, accidentely broke the build when CONFIG_FS_POSIX_ACL is not set: CC fs/xfs/linux-2.6/xfs_iops.o fs/xfs/linux-2.6/xfs_iops.c:1025:14: error: â??xfs_get_aclâ?? undeclared here (not in a function) Fix this by declaring xfs_get_acl a static inline function. Signed-off-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Signed-off-by: Alex Elder <aelder@xxxxxxx> commit 55f9c40ff632d03c527d6a6ceddcda0a224587a6 Merge: d5eab9152a3b4ce962c02ad0a0e4d0ec94aadd92 eb7caf35951b1a56aabee028c1b20727abccc34f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 28 05:59:19 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: n2_crypto: Attach on Niagara-T3. n2rng: Attach on Niagara-T3. sparc: Detect and handle UltraSPARC-T3 cpu types. sparc: Don't do expensive hypervisor PCR write unless necessary. sparc: Add T3 sun4v cpu type and hypervisor group defines. sparc: Don't leave sparc_pmu_type NULL on sun4v. commit d5eab9152a3b4ce962c02ad0a0e4d0ec94aadd92 Merge: 6140333d3656f62ac7e6a5af87e7fe92cfb8d655 a051294423b015c5c89f2ed78f7fe0893b775098 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 28 05:58:19 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits) tg3: Remove 5719 jumbo frames and TSO blocks tg3: Break larger frags into 4k chunks for 5719 tg3: Add tx BD budgeting code tg3: Consolidate code that calls tg3_tx_set_bd() tg3: Add partial fragment unmapping code tg3: Generalize tg3_skb_error_unmap() tg3: Remove short DMA check for 1st fragment tg3: Simplify tx bd assignments tg3: Reintroduce tg3_tx_ring_info ASIX: Use only 11 bits of header for data size ASIX: Simplify condition in rx_fixup() Fix cdc-phonet build bonding: reduce noise during init bonding: fix string comparison errors net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared net: add IFF_SKB_TX_SHARED flag to priv_flags net: sock_sendmsg_nosec() is static forcedeth: fix vlans gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e gro: Only reset frag0 when skb can be pulled ... commit 6140333d3656f62ac7e6a5af87e7fe92cfb8d655 Merge: 6f56c218666b5c7eff354364357307d18c10058b 58c54fcca3bac5bf9290cfed31c76e4c4bfbabaf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 28 05:50:27 2011 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: (75 commits) md/raid10: handle further errors during fix_read_error better. md/raid10: Handle read errors during recovery better. md/raid10: simplify read error handling during recovery. md/raid10: record bad blocks due to write errors during resync/recovery. md/raid10: attempt to fix read errors during resync/check md/raid10: Handle write errors by updating badblock log. md/raid10: clear bad-block record when write succeeds. md/raid10: avoid writing to known bad blocks on known bad drives. md/raid10 record bad blocks as needed during recovery. md/raid10: avoid reading known bad blocks during resync/recovery. md/raid10 - avoid reading from known bad blocks - part 3 md/raid10: avoid reading from known bad blocks - part 2 md/raid10: avoid reading from known bad blocks - part 1 md/raid10: Split handle_read_error out from raid10d. md/raid10: simplify/reindent some loops. md/raid5: Clear bad blocks on successful write. md/raid5. Don't write to known bad block on doubtful devices. md/raid5: write errors should be recorded as bad blocks if possible. md/raid5: use bad-block log to improve handling of uncorrectable read errors. md/raid5: avoid reading from known bad blocks. ... commit 6f56c218666b5c7eff354364357307d18c10058b Merge: 95b6886526bb510b8370b625a49bc0ab3b8ff10f 8d34e6d3ec0393a286569587fbd9675abd258d93 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 28 05:49:31 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: oss: rename local change_bits to avoid powerpc bitsops.h definition ALSA: hda - Fix duplicated DAC assignments for Realtek ALSA: asihpi - off by one in asihpi_hpi_ioctl() ALSA: hda - Fix Oops with Realtek quirks with NULL adc_nids ALSA: asihpi - bug fix pa use before init. ALSA: hda - Add support for vref-out based mute LED control on IDT codecs commit eb7caf35951b1a56aabee028c1b20727abccc34f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Jul 28 01:30:07 2011 -0700 n2_crypto: Attach on Niagara-T3. A small modification was necessary since in the machine description for 'n2cp' and 'ncp' nodes, there no longer is an 'intr' property. That's OK because this property was always nothing more than an array of integers '1' ... 'nr_inos + 1' so we can just compute it in-place. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24f146696184cbe4b440179064a45dfddaad4cc4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 27 23:33:03 2011 -0700 n2rng: Attach on Niagara-T3. And stop referring to Victoria Falls, as the attribute we're talking about is whether the rng is multi-unit capable which applies to several chip variants now. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a051294423b015c5c89f2ed78f7fe0893b775098 Author: Matt Carlson <mcarlson@xxxxxxxxxxxx> Date: Wed Jul 27 14:20:54 2011 +0000 tg3: Remove 5719 jumbo frames and TSO blocks The A0 revision of this chip is the only device that requires these features to be disabled. Signed-off-by: Matt Carlson <mcarlson@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e31aa9870627106aebddd280aab8ecb2f493246a Author: Matt Carlson <mcarlson@xxxxxxxxxxxx> Date: Wed Jul 27 14:20:53 2011 +0000 tg3: Break larger frags into 4k chunks for 5719 The 5719 has bug where RDMAs larger than 4k can cause problems. This patch works around the problem by dividing larger DMA requests into something the hardware can handle. Signed-off-by: Matt Carlson <mcarlson@xxxxxxxxxxxx> Reviewed-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84b67b27e9531e9a70c9e8cd952d66c55f4d0ddb Author: Matt Carlson <mcarlson@xxxxxxxxxxxx> Date: Wed Jul 27 14:20:52 2011 +0000 tg3: Add tx BD budgeting code As the driver breaks large skb fragments into smaller submissions to the hardware, there is a new danger that BDs might get exhausted before all fragments have been mapped. This patch adds code to make sure tx BDs aren't oversubscribed and flag the condition if it happens. Signed-off-by: Matt Carlson <mcarlson@xxxxxxxxxxxx> Reviewed-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1a3b7377d3b6a01ec5f70adb32173b13233aabf Author: Matt Carlson <mcarlson@xxxxxxxxxxxx> Date: Wed Jul 27 14:20:51 2011 +0000 tg3: Consolidate code that calls tg3_tx_set_bd() This patch consolidates all code that populates tx BDs into a single routine. Setting tx BDs needs to be more carefully controlled to see if workarounds need to be applied. Signed-off-by: Matt Carlson <mcarlson@xxxxxxxxxxxx> Reviewed-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e01ee14d499e5d09c0a9db0cac2545a018849e3d Author: Matt Carlson <mcarlson@xxxxxxxxxxxx> Date: Wed Jul 27 14:20:50 2011 +0000 tg3: Add partial fragment unmapping code The following patches are going to break skb fragments into smaller sizes. This patch attempts to make the change easier to digest by only addressing the skb teardown portion. The patch modifies the driver to skip over any BDs that have a flag set that indicates the BD isn't the beginning of an skb fragment. Such BDs were a result of segmentation and do not need a pci_unmap_page() call. Signed-off-by: Matt Carlson <mcarlson@xxxxxxxxxxxx> Reviewed-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d681b27b0efc962a3038a316e78373de7bfe1ce Author: Matt Carlson <mcarlson@xxxxxxxxxxxx> Date: Wed Jul 27 14:20:49 2011 +0000 tg3: Generalize tg3_skb_error_unmap() In the following patches, unmapping skb fragments will get just as complicated as mapping them. This patch generalizes tg3_skb_error_unmap() and makes it the one-stop-shop for skb unmapping. Signed-off-by: Matt Carlson <mcarlson@xxxxxxxxxxxx> Reviewed-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13350ea78bd687a229af0f6052d2f45aa50a6524 Author: Matt Carlson <mcarlson@xxxxxxxxxxxx> Date: Wed Jul 27 14:20:48 2011 +0000 tg3: Remove short DMA check for 1st fragment The first fragment of an skb should always be greater than 8 bytes. Signed-off-by: Matt Carlson <mcarlson@xxxxxxxxxxxx> Reviewed-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 92cd3a17ce9c719abb4c28dee3438e0c641f8de4 Author: Matt Carlson <mcarlson@xxxxxxxxxxxx> Date: Wed Jul 27 14:20:47 2011 +0000 tg3: Simplify tx bd assignments In the following patches, the process the driver will use to assign skb fragments to transmit BDs will get more complicated. To prepare for that new code, this patch seeks to simplify how transmit BDs are populated. It does this by separating the code that assigns the BD members from the logic that controls how the fields are set. Signed-off-by: Matt Carlson <mcarlson@xxxxxxxxxxxx> Reviewed-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df8944cf5cd3794c46e95e0404038376ee7f8dda Author: Matt Carlson <mcarlson@xxxxxxxxxxxx> Date: Wed Jul 27 14:20:46 2011 +0000 tg3: Reintroduce tg3_tx_ring_info The following patches will require the use of an additional flag in the ring_info structure. The use of this flag is tx path specific, so this patch defines a specialized ring_info structure. Signed-off-by: Matt Carlson <mcarlson@xxxxxxxxxxxx> Reviewed-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bca0beb9363f8487ac902931a50eb00180a2d14a Author: Marek Vasut <marek.vasut@xxxxxxxxx> Date: Tue Jul 26 16:44:47 2011 +0000 ASIX: Use only 11 bits of header for data size The AX88772B uses only 11 bits of the header for the actual size. The other bits are used for something else. This causes dmesg full of messages: asix_rx_fixup() Bad Header Length This patch trims the check to only 11 bits. I believe on older chips, the remaining 5 top bits are unused. Signed-off-by: Marek Vasut <marek.vasut@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc466e678d0a98f445bf3f9c76fedf18e7dcc6b0 Author: Marek Vasut <marek.vasut@xxxxxxxxx> Date: Tue Jul 26 16:44:46 2011 +0000 ASIX: Simplify condition in rx_fixup() Signed-off-by: Marek Vasut <marek.vasut@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a0295a3b6775ab88f5883684e14bbda8d287822d Author: Chris Clayton <chris2553@xxxxxxxxxxxxxx> Date: Tue Jul 26 12:20:22 2011 +0000 Fix cdc-phonet build Try to send to correct address this time! ---------- Forwarded Message ---------- Subject: [PATCH] Fix cdc-phonet build Date: Saturday 23 Jul 2011 From: Chris Clayton <chris2553@xxxxxxxxxxxxxx> To: linux-net@xxxxxxxxxxxxxxx cdc-phonet does not presently build on linux-3.0 because there is no entry for it in drivers/net/Makefile. This patch adds that entry. Signed-off-by: Chris Clayton <chris2553@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2730f4f842b987c818023a8003e6426cf996985 Author: Andy Gospodarek <andy@xxxxxxxxxxxxx> Date: Wed Jul 27 10:09:26 2011 +0000 bonding: reduce noise during init On Tue, Jul 26, 2011 at 05:40:27PM -0700, Joe Perches wrote: > On Tue, 2011-07-26 at 17:37 -0700, Jay Vosburgh wrote: > > Joe Perches <joe@xxxxxxxxxxx> wrote: > > >I'd prefer you don't separate the format string > > >into multiple pieces. > > Why not? To me, it looks easier to read split into sections > > that don't wrap lines. > > Harder to grep for a dmesg and the > defect rate of these split formats is > typically higher than single strings > because of bad spacing between string > segments. > I noticed that you took some time back in late 2009 to 'consolidate' the split format-strings present in the bonding driver at the time and I've decided I'm fine to leave them the way they are. The main point of my patch was to change the output and I would like to get that included. Here is my updated patch... Subject: [PATCH net-next-2.6 v2] bonding: reduce noise during init Many are using sysfs to configure bonding rather than module options, so there is no need for bonding to throw this warning in normal cases. Keep the message around when debugging is enabled as it might be useful for someone desperate enough to enable debugging, but eliminate it otherwise. Signed-off-by: Andy Gospodarek <andy@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4bb2e9c4fa9e5fdddf90589703613fd1a9c519f Author: Andy Gospodarek <andy@xxxxxxxxxxxxx> Date: Tue Jul 26 11:12:27 2011 +0000 bonding: fix string comparison errors When a bond contains a device where one name is the subset of another (eth1 and eth10, for example), one cannot properly set the primary device or the currently active device. This was reported and based on work by Takuma Umeya. I also verified the problem and tested that this fix resolves it. V2: A few did not like the the current code or my changes, so I refactored bonding_store_primary and bonding_store_active_slave to be a bit cleaner, dropped the use of strnicmp since we did not really need the comparison to be case insensitive, and formatted the input string from sysfs so a comparison to IFNAMSIZ could be used. I also discovered an error in bonding_store_active_slave that would modify bond->primary_slave rather than bond->curr_active_slave before forcing the bonding driver to choose a new active slave. V3: Actually sending the proper patch.... Signed-off-by: Andy Gospodarek <andy@xxxxxxxxxxxxx> Reported-by: Takuma Umeya <tumeya@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 550fd08c2cebad61c548def135f67aba284c6162 Author: Neil Horman <nhorman@xxxxxxxxxxxxx> Date: Tue Jul 26 06:05:38 2011 +0000 net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared After the last patch, We are left in a state in which only drivers calling ether_setup have IFF_TX_SKB_SHARING set (we assume that drivers touching real hardware call ether_setup for their net_devices and don't hold any state in their skbs. There are a handful of drivers that violate this assumption of course, and need to be fixed up. This patch identifies those drivers, and marks them as not being able to support the safe transmission of skbs by clearning the IFF_TX_SKB_SHARING flag in priv_flags Signed-off-by: Neil Horman <nhorman@xxxxxxxxxxxxx> CC: Karsten Keil <isdn@xxxxxxxxxxxxxx> CC: "David S. Miller" <davem@xxxxxxxxxxxxx> CC: Jay Vosburgh <fubar@xxxxxxxxxx> CC: Andy Gospodarek <andy@xxxxxxxxxxxxx> CC: Patrick McHardy <kaber@xxxxxxxxx> CC: Krzysztof Halasa <khc@xxxxxxxxx> CC: "John W. Linville" <linville@xxxxxxxxxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxx> CC: Marcel Holtmann <marcel@xxxxxxxxxxxx> CC: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d8873315065f1f527c7c380402cf59b1e1d0ae36 Author: Neil Horman <nhorman@xxxxxxxxxxxxx> Date: Tue Jul 26 06:05:37 2011 +0000 net: add IFF_SKB_TX_SHARED flag to priv_flags Pktgen attempts to transmit shared skbs to net devices, which can't be used by some drivers as they keep state information in skbs. This patch adds a flag marking drivers as being able to handle shared skbs in their tx path. Drivers are defaulted to being unable to do so, but calling ether_setup enables this flag, as 90% of the drivers calling ether_setup touch real hardware and can handle shared skbs. A subsequent patch will audit drivers to ensure that the flag is set properly Signed-off-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Reported-by: Jiri Pirko <jpirko@xxxxxxxxxx> CC: Robert Olsson <robert.olsson@xxxxxxxxx> CC: Eric Dumazet <eric.dumazet@xxxxxxxxx> CC: Alexey Dobriyan <adobriyan@xxxxxxxxx> CC: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 894dc24ce75aa238ce96422a36b1537ccf2d8831 Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Tue Jul 26 02:39:41 2011 +0000 net: sock_sendmsg_nosec() is static Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> CC: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0891b0e08937aaec2c4734acb94c5ff8042313bb Author: Jiri Pirko <jpirko@xxxxxxxxxx> Date: Tue Jul 26 10:19:28 2011 +0000 forcedeth: fix vlans For some reason, when rxaccel is disabled, NV_RX3_VLAN_TAG_PRESENT is still set and some pseudorandom vids appear. So check for NETIF_F_HW_VLAN_RX as well. Also set correctly hw_features and set vlan mode on probe. Signed-off-by: Jiri Pirko <jpirko@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b852b720877e6b8e12b95a7cb4e00ea351b8cbfc Author: Sebastian Pöhn <sebastian.belden@xxxxxxxxxxxxxx> Date: Tue Jul 26 00:03:13 2011 +0000 gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e commit 87c288c6e9aa31720b72e2bc2d665e24e1653c3e "gianfar: do vlan cleanup" has two issues: # permutation of rx and tx flags # enabling vlan tag insertion by default (this leads to unusable connections on some configurations) If VLAN insertion is requested (via ethtool) it will be set at an other point ... Signed-off-by: Sebastian Poehn <sebastian.poehn@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b49179c071b89423e1f6c50f6fa3d48d8158bc35 Merge: 17dd759c67f21e34f2156abcf415e1f60605a188 e5036c2575b244851637a81efc4104c076c4fa21 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 27 22:18:47 2011 -0700 Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 4ba991d3eb379fbaa22049e7002341e97a673685 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 27 21:06:16 2011 -0700 sparc: Detect and handle UltraSPARC-T3 cpu types. The cpu compatible string we look for is "SPARC-T3". As far as memset/memcpy optimizations go, we treat this chip the same as Niagara-T2/T2+. Use cache initializing stores for memset, and use perfetch, FPU block loads, cache initializing stores, and block stores for copies. We use the Niagara-T2 perf support, since T3 is a close relative in this regard. Later we'll add support for the new events T3 can report, plus enable T3's new "sample" mode. For now I haven't added any new ELF hwcap flags. We probably need to add a couple, for example: T2 and T3 both support the population count instruction in hardware. T3 supports VIS3 instructions, including support (finally) for partitioned shift. One can also now move directly between float and integer registers. T3 supports instructions meant to help with Galois Field and other HPC calculations, such as XOR multiply. Also there are "OP and negate" instructions, for example "fnmul" which is multiply-and-negate. T3 recognizes the transactional memory opcodes, however since transactional memory isn't supported: 1) 'commit' behaves as a NOP and 2) 'chkpt' always branches 3) 'rdcps' returns all zeros and 4) 'wrcps' behaves as a NOP. So we'll need about 3 new elf capability flags in the end to represent all of these things. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 314ff52727fe94dfbe07f3a9a489ab3ca8d8df5a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 27 20:46:25 2011 -0700 sparc: Don't do expensive hypervisor PCR write unless necessary. The hypervisor call is only necessary if hypervisor events are being requested. So if we're not tracking hypervisor events, simply do a direct register write. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 15e3608d7c273947dbf2eadbcaa66e51143928fb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 27 20:42:51 2011 -0700 sparc: Add T3 sun4v cpu type and hypervisor group defines. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit facfddef2c76110b8e321921f7e54518c3dd1579 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Jul 27 20:25:57 2011 -0700 sparc: Don't leave sparc_pmu_type NULL on sun4v. Otherwise we'll crash in the sparc perf init code. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95b6886526bb510b8370b625a49bc0ab3b8ff10f Merge: 22712200e175e0df5c7f9edfe6c6bf5c94c23b83 29412f0f6a19e34336368f13eab848091c343952 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 19:26:38 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (54 commits) tpm_nsc: Fix bug when loading multiple TPM drivers tpm: Move tpm_tis_reenable_interrupts out of CONFIG_PNP block tpm: Fix compilation warning when CONFIG_PNP is not defined TOMOYO: Update kernel-doc. tpm: Fix a typo tpm_tis: Probing function for Intel iTPM bug tpm_tis: Fix the probing for interrupts tpm_tis: Delay ACPI S3 suspend while the TPM is busy tpm_tis: Re-enable interrupts upon (S3) resume tpm: Fix display of data in pubek sysfs entry tpm_tis: Add timeouts sysfs entry tpm: Adjust interface timeouts if they are too small tpm: Use interface timeouts returned from the TPM tpm_tis: Introduce durations sysfs entry tpm: Adjust the durations if they are too small tpm: Use durations returned from TPM TOMOYO: Enable conditional ACL. TOMOYO: Allow using argv[]/envp[] of execve() as conditions. TOMOYO: Allow using executable's realpath and symlink's target as conditions. TOMOYO: Allow using owner/group etc. of file objects as conditions. ... Fix up trivial conflict in security/tomoyo/realpath.c commit 58c54fcca3bac5bf9290cfed31c76e4c4bfbabaf Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:25 2011 +1000 md/raid10: handle further errors during fix_read_error better. If we find more read/write errors we should record a bad block before failing the device. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 5e5702898e93eee7d69b6efde109609a89a61001 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:25 2011 +1000 md/raid10: Handle read errors during recovery better. Currently when we get a read error during recovery, we simply abort the recovery. Instead, repeat the read in page-sized blocks. On successful reads, write to the target. On read errors, record a bad block on the destination, and only if that fails do we abort the recovery. As we now retry reads we need to know where we read from. This was in bi_sector but that can be changed during a read attempt. So store the correct from_addr and to_addr in the r10_bio for later access. Signed-off-by: NeilBrown<neilb@xxxxxxx> commit e684e41db3bad44f1262341300b827c0d94ae220 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:25 2011 +1000 md/raid10: simplify read error handling during recovery. If a read error is detected during recovery the code currently fails the read device. This isn't really necessary. recovery_request_write will signal a write error to end_sync_write and it will record a write error on the destination device which will record a bad block there or kick it from the array. So just remove this call to do md_error. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 1a0b7cd82657a590f163b090bd9123a3a6b9aae4 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:25 2011 +1000 md/raid10: record bad blocks due to write errors during resync/recovery. If we get a write error during resync/recovery don't fail the device but instead record a bad block. If that fails we can then fail the device. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit f84ee364dd15af11cada1e673f94128f62db189e Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:25 2011 +1000 md/raid10: attempt to fix read errors during resync/check We already attempt to fix read errors found during normal IO and a 'repair' process. It is best to try to repair them at any time they are found, so move a test so that during sync and check a read error will be corrected by over-writing with good data. If both (all) devices have known bad blocks in the sync section we won't try to fix even though the bad blocks might not overlap. That should be considered later. Also if we hit a read error during recovery we don't try to fix it. It would only be possible to fix if there were at least three copies of data, which is not very common with RAID10. But it should still be considered later. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit bd870a16c5946d86126f7203db3c73b71de0a1d8 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:24 2011 +1000 md/raid10: Handle write errors by updating badblock log. When we get a write error (in the data area, not in metadata), update the badblock log rather than failing the whole device. As the write may well be many blocks, we trying writing each block individually and only log the ones which fail. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 749c55e942d91cb27045fe2eb313aa5afe68ae0b Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:24 2011 +1000 md/raid10: clear bad-block record when write succeeds. If we succeed in writing to a block that was recorded as being bad, we clear the bad-block record. This requires some delayed handling as the bad-block-list update has to happen in process-context. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit d4432c23be957ff061f7b23fd60e8506cb472a55 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:24 2011 +1000 md/raid10: avoid writing to known bad blocks on known bad drives. Writing to known bad blocks on drives that have seen a write error is asking for trouble. So try to avoid these blocks. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit e875ecea266a543e643b19e44cf472f1412708f9 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:24 2011 +1000 md/raid10 record bad blocks as needed during recovery. When recovering one or more devices, if all the good devices have bad blocks we should record a bad block on the device being rebuilt. If this fails, we need to abort the recovery. To ensure we don't think that we aborted later than we actually did, we need to move the check for MD_RECOVERY_INTR earlier in md_do_sync, in particular before mddev->curr_resync is updated. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 40c356ce5ad1a6be817825e1da1bc7494349cc6d Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:24 2011 +1000 md/raid10: avoid reading known bad blocks during resync/recovery. During resync/recovery limit the size of the request to avoid reading into a bad block that does not start at-or-before the current read address. Similarly if there is a bad block at this address, don't allow the current request to extend beyond the end of that bad block. Now that we don't ever read from known bad blocks, it is safe to allow devices with those blocks into the array. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 8dbed5cebdf6796bf2618457b3653cf820934366 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:24 2011 +1000 md/raid10 - avoid reading from known bad blocks - part 3 When attempting to repair a read error, don't read from devices with a known bad block. As we are only reading PAGE_SIZE blocks, we don't try to narrow down to smaller regions in the hope that only part of this page is bad - it isn't worth the effort. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 7399c31bc92a26bb8388a73f8e14acadcc512fe5 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:23 2011 +1000 md/raid10: avoid reading from known bad blocks - part 2 When redirecting a read error to a different device, we must again avoid bad blocks and possibly split the request. Spin_lock typo fixed thanks to Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 856e08e23762dfb92ffc68fd0a8d228f9e152160 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:23 2011 +1000 md/raid10: avoid reading from known bad blocks - part 1 This patch just covers the basic read path: 1/ read_balance needs to check for badblocks, and return not only the chosen slot, but also how many good blocks are available there. 2/ read submission must be ready to issue multiple reads to different devices as different bad blocks on different devices could mean that a single large read cannot be served by any one device, but can still be served by the array. This requires keeping count of the number of outstanding requests per bio. This count is stored in 'bi_phys_segments' On read error we currently just fail the request if another target cannot handle the whole request. Next patch refines that a bit. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 560f8e5532d63a314271bfb99d3d1d53c938ed14 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:23 2011 +1000 md/raid10: Split handle_read_error out from raid10d. raid10d() is too big and is about to get bigger, so split handle_read_error() out as a separate function. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 1294b9c973251a5e68b62c9b40dd914517bda675 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:23 2011 +1000 md/raid10: simplify/reindent some loops. When a loop ends with a large if, it can be neater to change the if to invert the condition and just 'continue'. Then the body of the if can be indented to a lower level. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit b84db560ead5417b5594349512baf8837959df4f Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:23 2011 +1000 md/raid5: Clear bad blocks on successful write. On a successful write to a known bad block, flag the sh so that raid5d can remove the known bad block from the list. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 73e92e51b7969ef5477dd28fe2ae4d77675896f4 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:22 2011 +1000 md/raid5. Don't write to known bad block on doubtful devices. If a device has seen write errors, don't write to any known bad blocks on that device. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit bc2607f393bd4fb844c1886a02af929ca0372056 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:22 2011 +1000 md/raid5: write errors should be recorded as bad blocks if possible. When a write error is detected, don't mark the device as failed immediately but rather record the fact for handle_stripe to deal with. Handle_stripe then attempts to record a bad block. Only if that fails does the device get marked as faulty. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 7f0da59bdc2f65795a57009d78f7753d3aea1de3 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:22 2011 +1000 md/raid5: use bad-block log to improve handling of uncorrectable read errors. If we get an uncorrectable read error - record a bad block rather than failing the device. And if these errors (which may be due to known bad blocks) cause recovery to be impossible, record a bad block on the recovering devices, or abort the recovery. As we might abort a recovery without failing a device we need to teach RAID5 about recovery_disabled handling. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 31c176ecdf3563140e6395249eda51a18130d9f6 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:39:22 2011 +1000 md/raid5: avoid reading from known bad blocks. There are two times that we might read in raid5: 1/ when a read request fits within a chunk on a single working device. In this case, if there is any bad block in the range of the read, we simply fail the cache-bypass read and perform the read though the stripe cache. 2/ when reading into the stripe cache. In this case we mark as failed any device which has a bad block in that strip (1 page wide). Note that we will both avoid reading and avoid writing. This is correct (as we will never read from the block, there is no point writing), but not optimal (as writing could 'fix' the error) - that will be addressed later. If we have not seen any write errors on the device yet, we treat a bad block like a recent read error. This will encourage an attempt to fix the read error which will either generate a write error, or will ensure good data is stored there. We don't yet forget the bad block in that case. That comes later. Now that we honour bad blocks when reading we can allow devices with bad blocks into the array. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 62096bce231b3760882ed91205fc84682d6b0529 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:38:13 2011 +1000 md/raid1: factor several functions out or raid1d() raid1d is too big with several deep branches. So separate them out into their own functions. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 3a9f28a5117e00a868dd8b4395f9a707ae56764b Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:33:42 2011 +1000 md/raid1: improve handling of read failure during recovery. If we cannot read a block from anywhere during recovery, there is now a better approach than just giving up. We can record a bad block on each device and keep going - being careful not to clear the bad block when a write succeeds as it might - it will be a write of incorrect data. We have now reached the state where - for raid1 - we only call md_error if md_set_badblocks has failed. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit d8f05d2995d467a91db1af01637e6ffd94660ca8 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:33:00 2011 +1000 md/raid1: record badblocks found during resync etc. If we find a bad block while writing as part of resync/recovery we need to report that back to raid1d which must record the bad block, or fail the device. Similarly when fixing a read error, a further error should just record a bad block if possible rather than failing the device. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit cd5ff9a16f0831f68c1024d5d776075b5123b034 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:32:41 2011 +1000 md/raid1: Handle write errors by updating badblock log. When we get a write error (in the data area, not in metadata), update the badblock log rather than failing the whole device. As the write may well be many blocks, we trying writing each block individually and only log the ones which fail. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 2ca68f5ed7383733102ee53cd8fa4021ecc3b275 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:32:10 2011 +1000 md/raid1: store behind-write pages in bi_vecs. When performing write-behind we allocate pages to store the data during write. Previously we just keep a list of pages. Now we keep a list of bi_vec which includes offset and size. This means that the r1bio has complete information to create a new bio which will be needed for retrying after write errors. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 4367af556133723d0f443e14ca8170d9447317cb Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:49 2011 +1000 md/raid1: clear bad-block record when write succeeds. If we succeed in writing to a block that was recorded as being bad, we clear the bad-block record. This requires some delayed handling as the bad-block-list update has to happen in process-context. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 1f68f0c4b677ccd6935ff61e4e6888787505f8dc Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:48 2011 +1000 md/raid1: avoid writing to known-bad blocks on known-bad drives. If we have seen any write error on a drive, then don't write to any known-bad blocks on that drive. If necessary, we divide the write request up into pieces just like we do for reads, so each piece is either all written or all not written to any given drive. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 0b7d83865cb7a60b1768212c1e60b8fd7c280506 Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Thu Jul 28 11:31:48 2011 +1000 md: update documentation for md/rdev/state sysfs interface Previous patches in the bad block series extended behavior of rdev's 'state' interface but lacked documentation update. Fix it. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit de393cdea66cbd63c90725663f400c76faf1b255 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:48 2011 +1000 md: make it easier to wait for bad blocks to be acknowledged. It is only safe to choose not to write to a bad block if that bad block is safely recorded in metadata - i.e. if it has been 'acknowledged'. If it hasn't we need to wait for the acknowledgement. We support that using rdev->blocked wait and md_wait_for_blocked_rdev by introducing a new device flag 'BlockedBadBlock'. This flag is only advisory. It is cleared whenever we acknowledge a bad block, so that a waiter can re-check the particular bad blocks that it is interested it. It should be set by a caller when they find they need to wait. This (set after test) is inherently racy, but as md_wait_for_blocked_rdev already has a timeout, losing the race will have minimal impact. When we clear "Blocked" was also clear "BlockedBadBlocks" incase it was set incorrectly (see above race). We also modify the way we manage 'Blocked' to fit better with the new handling of 'BlockedBadBlocks' and to make it consistent between externally managed and internally managed metadata. This requires that each raidXd loop checks if the metadata needs to be written and triggers a write (md_check_recovery) if needed. Otherwise a queued write request might cause raidXd to wait for the metadata to write, and only that thread can write it. Before writing metadata, we set FaultRecorded for all devices that are Faulty, then after writing the metadata we clear Blocked for any device for which the Fault was certainly Recorded. The 'faulty' device flag now appears in sysfs if the device is faulty *or* it has unacknowledged bad blocks. So user-space which does not understand bad blocks can continue to function correctly. User space which does, should not assume a device is faulty until it sees the 'faulty' flag, and then sees the list of unacknowledged bad blocks is empty. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit d7a9d443bc8a75a24873c0506f50051edfedc714 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:48 2011 +1000 md: add 'write_error' flag to component devices. If a device has ever seen a write error, we will want to handle known-bad-blocks differently. So create an appropriate state flag and export it via sysfs. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 06f603851fa90bcd236328438278d4dc8b655495 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:48 2011 +1000 md/raid1: avoid reading known bad blocks during resync When performing resync/etc, keep the size of the request small enough that it doesn't overlap any known bad blocks. Devices with badblocks at the start of the request are completely excluded. If there is nowhere to read from due to bad blocks, record a bad block on each target device. Now that we never read from known-bad-blocks we can allow devices with known-bad-blocks into a RAID1. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit d2eb35acfdccbe2a3622ed6cc441a5482148423b Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:48 2011 +1000 md/raid1: avoid reading from known bad blocks. Now that we have a bad block list, we should not read from those blocks. There are several main parts to this: 1/ read_balance needs to check for bad blocks, and return not only the chosen device, but also how many good blocks are available there. 2/ fix_read_error needs to avoid trying to read from bad blocks. 3/ read submission must be ready to issue multiple reads to different devices as different bad blocks on different devices could mean that a single large read cannot be served by any one device, but can still be served by the array. This requires keeping count of the number of outstanding requests per bio. This count is stored in 'bi_phys_segments' 4/ retrying a read needs to also be ready to submit a smaller read and queue another request for the rest. This does not yet handle bad blocks when reading to perform resync, recovery, or check. 'md_trim_bio' will also be used for RAID10, so put it in md.c and export it. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 9f2f3830789a4c9c1af2d1437d407c43e05136e6 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:47 2011 +1000 md: Disable bad blocks and v0.90 metadata. v0.90 metadata cannot record bad blocks, so when loading metadata for such a device, set shift to -1. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 2699b67223aca6b1450fc2f72e40fada952afc85 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:47 2011 +1000 md: load/store badblock list from v1.x metadata Space must have been allocated when array was created. A feature flag is set when the badblock list is non-empty, to ensure old kernels don't load and trust the whole device. We only update the on-disk badblocklist when it has changed. If the badblocklist (or other metadata) is stored on a bad block, we don't cope very well. If metadata has no room for bad block, flag bad-blocks as disabled, and do the same for 0.90 metadata. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 34b343cff4354ab9864be83be88405fd53d928a0 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:47 2011 +1000 md: don't allow arrays to contain devices with bad blocks. As no personality understand bad block lists yet, we must reject any device that is known to contain bad blocks. As the personalities get taught, these tests can be removed. This only applies to raid1/raid5/raid10. For linear/raid0/multipath/faulty the whole concept of bad blocks doesn't mean anything so there is no point adding the checks. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 6e0d2d0312fb20c1edac1b2c849068c1c7944abf Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Thu Jul 28 11:31:47 2011 +1000 md: add documentation for bad block log Previous patch in the bad block series added new sysfs interfaces ([unacknowledged_]bad_blocks) for each rdev without documentation. Add it. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 16c791a5af3e50d0c11760485fd68e5829f3be4d Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:47 2011 +1000 md/bad-block-log: add sysfs interface for accessing bad-block-log. This can show the log (providing it fits in one page) and allows bad blocks to be 'acknowledged' meaning that they have safely been recorded in metadata. Clearing bad blocks is not allowed via sysfs (except for code testing). A bad block can only be cleared when a write to the block succeeds. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 2230dfe4ccc3add340dc6d437965b2de1d269fde Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 11:31:46 2011 +1000 md: beginnings of bad block management. This the first step in allowing md to track bad-blocks per-device so that we can fail individual blocks rather than the whole device. This patch just adds a data structure for recording bad blocks, with routines to add, remove, search the list. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 22712200e175e0df5c7f9edfe6c6bf5c94c23b83 Merge: 597a67e0ba758e3d2239c81fbb648c6e69ec30a2 ff95acb6733d41a8d45feb0e18b96df25e610e78 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 16:43:52 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: make sure reserve_metadata_bytes doesn't leak out strange errors Btrfs: use the commit_root for reading free_space_inode crcs Btrfs: reduce extent_state lock contention for metadata Btrfs: remove lockdep magic from btrfs_next_leaf Btrfs: make a lockdep class for each root Btrfs: switch the btrfs tree locks to reader/writer Btrfs: fix deadlock when throttling transactions Btrfs: stop using highmem for extent_buffers Btrfs: fix BUG_ON() caused by ENOSPC when relocating space Btrfs: tag pages for writeback in sync Btrfs: fix enospc problems with delalloc Btrfs: don't flush delalloc arbitrarily Btrfs: use find_or_create_page instead of grab_cache_page Btrfs: use a worker thread to do caching Btrfs: fix how we merge extent states and deal with cached states Btrfs: use the normal checksumming infrastructure for free space cache Btrfs: serialize flushers in reserve_metadata_bytes Btrfs: do transaction space reservation before joining the transaction Btrfs: try to only do one btrfs_search_slot in do_setxattr commit a519b26dbe6533416d21b552053b0bf687f878d7 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Jul 28 07:56:24 2011 +1000 md: remove suspicious size_of() When calling bioset_create we pass the size of the front_pad as sizeof(mddev) which looks suspicious as mddev is a pointer and so it looks like a common mistake where sizeof(*mddev) was intended. The size is actually correct as we want to store a pointer in the front padding of the bios created by the bioset, so make the intent more explicit by using sizeof(mddev_t *) Reported-by: Zdenek Kabelac <zdenek.kabelac@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 597a67e0ba758e3d2239c81fbb648c6e69ec30a2 Merge: 28890d3598c352ae065b560e0fded3e79c800ba1 510792ee29770a38dd409bf2b469ade2fea9eb52 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 13:41:51 2011 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: optimize the negative xattr caching xfs: prevent against ioend livelocks in xfs_file_fsync xfs: flag all buffers as metadata xfs: encapsulate a block of debug code commit 28890d3598c352ae065b560e0fded3e79c800ba1 Merge: 91d41fdf31f74e6e2e5f3cb018eca4200e36e202 ed1e6211a0a134ff23592c6f057af982ad5dab52 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 13:23:02 2011 -0700 Merge branch 'nfs-for-3.1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs * 'nfs-for-3.1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (44 commits) NFSv4: Don't use the delegation->inode in nfs_mark_return_delegation() nfs: don't use d_move in nfs_async_rename_done RDMA: Increasing RPCRDMA_MAX_DATA_SEGS SUNRPC: Replace xprt->resend and xprt->sending with a priority queue SUNRPC: Allow caller of rpc_sleep_on() to select priority levels SUNRPC: Support dynamic slot allocation for TCP connections SUNRPC: Clean up the slot table allocation SUNRPC: Initalise the struct xprt upon allocation SUNRPC: Ensure that we grab the XPRT_LOCK before calling xprt_alloc_slot pnfs: simplify pnfs files module autoloading nfs: document nfsv4 sillyrename issues NFS: Convert nfs4_set_ds_client to EXPORT_SYMBOL_GPL SUNRPC: Convert the backchannel exports to EXPORT_SYMBOL_GPL SUNRPC: sunrpc should not explicitly depend on NFS config options NFS: Clean up - simplify the switch to read/write-through-MDS NFS: Move the pnfs write code into pnfs.c NFS: Move the pnfs read code into pnfs.c NFS: Allow the nfs_pageio_descriptor to signal that a re-coalesce is needed NFS: Use the nfs_pageio_descriptor->pg_bsize in the read/write request NFS: Cache rpc_ops in struct nfs_pageio_descriptor ... commit 91d41fdf31f74e6e2e5f3cb018eca4200e36e202 Merge: c1095c6da518b0b64e724f629051fa67655cd8d9 277c5f27a2c86a9a733c0ec0f6a9b1032dfa3e15 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 13:21:40 2011 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: target: Convert to DIV_ROUND_UP_SECTOR_T usage for sectors / dev_max_sectors kernel.h: Add DIV_ROUND_UP_ULL and DIV_ROUND_UP_SECTOR_T macro usage iscsi-target: Add iSCSI fabric support for target v4.1 iscsi: Add Serial Number Arithmetic LT and GT into iscsi_proto.h iscsi: Use struct scsi_lun in iscsi structs instead of u8[8] iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi commit ff95acb6733d41a8d45feb0e18b96df25e610e78 Merge: 02f8c6aee8df3cdc935e9bdd4f2d020306035dbe 75c195a2cac2c3c8366c0b87de2d6814c4f4d638 Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Wed Jul 27 16:13:10 2011 -0400 Merge branch 'integration' into for-linus commit 75c195a2cac2c3c8366c0b87de2d6814c4f4d638 Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Wed Jul 27 15:57:44 2011 -0400 Btrfs: make sure reserve_metadata_bytes doesn't leak out strange errors The btrfs transaction code will return any errors that come from reserve_metadata_bytes. We need to make sure we don't return funny things like 1 or EAGAIN. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit c1095c6da518b0b64e724f629051fa67655cd8d9 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Jul 27 12:49:44 2011 -0700 signals: sys_ssetmask/sys_rt_sigsuspend should use set_current_blocked() sys_ssetmask(), sys_rt_sigsuspend() and compat_sys_rt_sigsuspend() change ->blocked directly. This is not correct, see the changelog in e6fa16ab "signal: sigprocmask() should do retarget_shared_pending()" Change them to use set_current_blocked(). Another change is that now we are doing ->saved_sigmask = ->blocked lockless, it doesn't make any sense to do this under ->siglock. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Matt Fleming <matt.fleming@xxxxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 678624e401b0b7747762b5223fb23f86dcdacc93 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Wed Jul 27 12:49:44 2011 -0700 sparc: rename atomic_add_unless Should have been done in commit 1af08a1407f4 ("This is in preparation for more generic atomic"). Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Arun Sharma <asharma@xxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: "Hans-Christian Egtvedt" <hans-christian.egtvedt@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09570f914914d2beb0db29c5a9c7344934f2fa8c Author: David Howells <dhowells@xxxxxxxxxx> Date: Wed Jul 27 21:47:03 2011 +0300 proc: make struct proc_dir_entry::name a terminal array rather than a pointer Since __proc_create() appends the name it is given to the end of the PDE structure that it allocates, there isn't a need to store a name pointer. Instead we can just replace the name pointer with a terminal char array of _unspecified_ length. The compiler will simply append the string to statically defined variables of PDE type overlapping any hole at the end of the structure and, unlike specifying an explicitly _zero_ length array, won't give a warning if you try to statically initialise it with a string of more than zero length. Also, whilst we're at it: (1) Move namelen to end just prior to name and reduce it to a single byte (name shouldn't be longer than NAME_MAX). (2) Move pde_unload_lock two places further on so that if it's four bytes in size on a 64-bit machine, it won't cause an unused hole in the PDE struct. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8d34e6d3ec0393a286569587fbd9675abd258d93 Author: Andy Whitcroft <apw@xxxxxxxxxxxxx> Date: Wed Jul 27 17:48:41 2011 +0100 sound: oss: rename local change_bits to avoid powerpc bitsops.h definition This collides with powerpc exported functions from bitops.h. Rename the local copy in the oss soundblaster mixer and ad1848 driver. Signed-off-by: Andy Whitcroft <apw@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2cf8572dac62cc2ff7e995173e95b6c694401b3f Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Tue Jul 26 15:35:09 2011 -0400 Btrfs: use the commit_root for reading free_space_inode crcs Now that we are using regular file crcs for the free space cache, we can deadlock if we try to read the free_space_inode while we are updating the crc tree. This commit fixes things by using the commit_root to read the crcs. This is safe because we the free space cache file would already be loaded if that block group had been changed in the current transaction. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 19b6caf4acbf065dc96b47741d99f1b87243c468 Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Mon Jul 25 06:50:50 2011 -0400 Btrfs: reduce extent_state lock contention for metadata For metadata buffers that don't straddle pages (all of them), btrfs can safely use the page uptodate bits and extent_buffer uptodate bit instead of needing to use the extent_state tree. This greatly reduces contention on the state tree lock. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 31533fb263928c93a34cda41b66a6e83ade5c766 Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Tue Jul 26 16:01:59 2011 -0400 Btrfs: remove lockdep magic from btrfs_next_leaf Before the reader/writer locks, btrfs_next_leaf needed to keep the path blocking to avoid making lockdep upset. Now that btrfs_next_leaf only takes read locks, this isn't required. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 85d4e461117b40eb10722f774566b19bd5e77879 Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Tue Jul 26 16:11:19 2011 -0400 Btrfs: make a lockdep class for each root This patch was originally from Tejun Heo. lockdep complains about the btrfs locking because we sometimes take btree locks from two different trees at the same time. The current classes are based only on level in the btree, which isn't enough information for lockdep to figure out if the lock is safe. This patch makes a class for each type of tree, and lumps all the FS trees that actually have files and directories into the same class. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit bd681513fa6f2ff29aa391f01e413a2d1c59fd77 Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Sat Jul 16 15:23:14 2011 -0400 Btrfs: switch the btrfs tree locks to reader/writer The btrfs metadata btree is the source of significant lock contention, especially in the root node. This commit changes our locking to use a reader/writer lock. The lock is built on top of rw spinlocks, and it extends the lock tracking to remember if we have a read lock or a write lock when we go to blocking. Atomics count the number of blocking readers or writers at any given time. It removes all of the adaptive spinning from the old code and uses only the spinning/blocking hints inside of btrfs to decide when it should continue spinning. In read heavy workloads this is dramatically faster. In write heavy workloads we're still faster because of less contention on the root node lock. We suffer slightly in dbench because we schedule more often during write locks, but all other benchmarks so far are improved. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 81317fdeddcef259b6ecf7b5c0d04caa167c6b54 Author: Josef Bacik <josef@xxxxxxxxxx> Date: Sun Jul 24 15:45:34 2011 -0400 Btrfs: fix deadlock when throttling transactions Hit this nice little deadlock. What happens is this __btrfs_end_transaction with throttle set, --use_count so it equals 0 btrfs_commit_transaction <somebody else actually manages to start the commit> btrfs_end_transaction --use_count so now its -1 <== BAD we just return and wait on the transaction This is bad because we just return after our use_count is -1 and don't let go of our num_writer count on the transaction, so the guy committing the transaction just sits there forever. Fix this by inc'ing our use_count if we're going to call commit_transaction so that if we call btrfs_end_transaction it's valid. Thanks, Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit a65917156e345946dbde3d7effd28124c6d6a8c2 Author: Chris Mason <chris.mason@xxxxxxxxxx> Date: Tue Jul 19 12:04:14 2011 -0400 Btrfs: stop using highmem for extent_buffers The extent_buffers have a very complex interface where we use HIGHMEM for metadata and try to cache a kmap mapping to access the memory. The next commit adds reader/writer locks, and concurrent use of this kmap cache would make it even more complex. This commit drops the ability to use HIGHMEM with extent buffers, and rips out all of the related code. Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 199c36eaa95077a47ae1bc55532fc0fbeb80cc95 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Jul 15 10:34:36 2011 +0000 Btrfs: fix BUG_ON() caused by ENOSPC when relocating space When we balanced the chunks across the devices, BUG_ON() in __finish_chunk_alloc() was triggered. ------------[ cut here ]------------ kernel BUG at fs/btrfs/volumes.c:2568! [SNIP] Call Trace: [<ffffffffa049525e>] btrfs_alloc_chunk+0x8e/0xa0 [btrfs] [<ffffffffa04546b0>] do_chunk_alloc+0x330/0x3a0 [btrfs] [<ffffffffa045c654>] btrfs_reserve_extent+0xb4/0x1f0 [btrfs] [<ffffffffa045c86b>] btrfs_alloc_free_block+0xdb/0x350 [btrfs] [<ffffffffa048a8d8>] ? read_extent_buffer+0xd8/0x1d0 [btrfs] [<ffffffffa04476fd>] __btrfs_cow_block+0x14d/0x5e0 [btrfs] [<ffffffffa044660d>] ? read_block_for_search+0x14d/0x4d0 [btrfs] [<ffffffffa0447c9b>] btrfs_cow_block+0x10b/0x240 [btrfs] [<ffffffffa044dd5e>] btrfs_search_slot+0x49e/0x7a0 [btrfs] [<ffffffffa044f07d>] btrfs_insert_empty_items+0x8d/0xf0 [btrfs] [<ffffffffa045e973>] insert_with_overflow+0x43/0x110 [btrfs] [<ffffffffa045eb0d>] btrfs_insert_dir_item+0xcd/0x1f0 [btrfs] [<ffffffffa0489bd0>] ? map_extent_buffer+0xb0/0xc0 [btrfs] [<ffffffff812276ad>] ? rb_insert_color+0x9d/0x160 [<ffffffffa046cc40>] ? inode_tree_add+0xf0/0x150 [btrfs] [<ffffffffa0474801>] btrfs_add_link+0xc1/0x1c0 [btrfs] [<ffffffff811dacac>] ? security_inode_init_security+0x1c/0x30 [<ffffffffa04a28aa>] ? btrfs_init_acl+0x4a/0x180 [btrfs] [<ffffffffa047492f>] btrfs_add_nondir+0x2f/0x70 [btrfs] [<ffffffffa046af16>] ? btrfs_init_inode_security+0x46/0x60 [btrfs] [<ffffffffa0474ac0>] btrfs_create+0x150/0x1d0 [btrfs] [<ffffffff81159c63>] ? generic_permission+0x23/0xb0 [<ffffffff8115b415>] vfs_create+0xa5/0xc0 [<ffffffff8115ce6e>] do_last+0x5fe/0x880 [<ffffffff8115dc0d>] path_openat+0xcd/0x3d0 [<ffffffff8115e029>] do_filp_open+0x49/0xa0 [<ffffffff8116a965>] ? alloc_fd+0x95/0x160 [<ffffffff8114f0c7>] do_sys_open+0x107/0x1e0 [<ffffffff810bcc3f>] ? audit_syscall_entry+0x1bf/0x1f0 [<ffffffff8114f1e0>] sys_open+0x20/0x30 [<ffffffff81484ec2>] system_call_fastpath+0x16/0x1b [SNIP] RIP [<ffffffffa049444a>] __finish_chunk_alloc+0x20a/0x220 [btrfs] The reason is: Task1 Space balance task do_chunk_alloc() __finish_chunk_alloc() update device info in the chunk tree alloc system metadata block relocate system metadata block group set system metadata block group readonly, This block group is the only one that can allocate space. So there is no free space that can be allocated now. find no space and don't try to alloc new chunk, and then return ENOSPC BUG_ON() in __finish_chunk_alloc() was triggered. Fix this bug by allocating a new system metadata chunk before relocating the old one if we find there is no free space which can be allocated after setting the old block group to be read-only. Reported-by: Tsutomu Itoh <t-itoh@xxxxxxxxxxxxxx> Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Tested-by: Tsutomu Itoh <t-itoh@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit f7aaa06bff6f5fe049ce9723267e1639c2c3d8b5 Author: Josef Bacik <josef@xxxxxxxxxx> Date: Fri Jul 15 21:26:38 2011 +0000 Btrfs: tag pages for writeback in sync Everybody else does this, we need to do it too. If we're syncing, we need to tag the pages we're going to write for writeback so we don't end up writing the same stuff over and over again if somebody is constantly redirtying our file. This will keep us from having latencies with heavy sync workloads. Thanks, Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit 9e0baf60dea69f31ac3b1adeb35b03b02a53e8e1 Author: Josef Bacik <josef@xxxxxxxxxx> Date: Fri Jul 15 15:16:44 2011 +0000 Btrfs: fix enospc problems with delalloc So I had this brilliant idea to use atomic counters for outstanding and reserved extents, but this turned out to be a bad idea. Consider this where we have 1 outstanding extent and 1 reserved extent Reserver Releaser atomic_dec(outstanding) now 0 atomic_read(outstanding)+1 get 1 atomic_read(reserved) get 1 don't actually reserve anything because they are the same atomic_cmpxchg(reserved, 1, 0) atomic_inc(outstanding) atomic_add(0, reserved) free reserved space for 1 extent Then the reserver now has no actual space reserved for it, and when it goes to finish the ordered IO it won't have enough space to do it's allocation and you get those lovely warnings. Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit a5991428064e98c7367fe1c1686ea6a23fb6a4b3 Author: Josef Bacik <josef@xxxxxxxxxx> Date: Fri Jul 15 16:01:03 2011 +0000 Btrfs: don't flush delalloc arbitrarily Kill the check to see if we have 512mb of reserved space in delalloc and shrink_delalloc if we do. This causes unexpected latencies and we have other logic to see if we need to throttle. Thanks, Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> Signed-off-by: Chris Mason <chris.mason@xxxxxxxxxx> commit a94733d0bc630edaedc6ca156752dd5a7cb82521 Author: Josef Bacik <josef@xxxxxxxxxx> Date: Mon Jul 11 10:47:06 2011 -0400 Btrfs: use find_or_create_page instead of grab_cache_page grab_cache_page will use mapping_gfp_mask(), which for all inodes is set to GFP_HIGHUSER_MOVABLE. So instead use find_or_create_page in all cases where we need GFP_NOFS so we don't deadlock. Thanks, Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> commit bab39bf998133510f2dad08158006197ec0dabea Author: Josef Bacik <josef@xxxxxxxxxx> Date: Thu Jun 30 14:42:28 2011 -0400 Btrfs: use a worker thread to do caching A user reported a deadlock when copying a bunch of files. This is because they were low on memory and kthreadd got hung up trying to migrate pages for an allocation when starting the caching kthread. The page was locked by the person starting the caching kthread. To fix this we just need to use the async thread stuff so that the threads are already created and we don't have to worry about deadlocks. Thanks, Reported-by: Roman Mamedov <rm@xxxxxxxxxx> Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> commit 5fd00b031530cc476240f654c078c930f1dcd6ea Merge: 333c066bb76f1f270ca77f16afe198e54e352c83 3c2c22628599006047781946b317a16d9ff3883d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 09:26:39 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: clean up some compiler warnings commit 333c066bb76f1f270ca77f16afe198e54e352c83 Merge: 75623437167d9d1ef14acaf6b3fb4ccd38fcbc84 19237039919088781b4191a00bdc1284d8fea1dd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 09:26:22 2011 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: Fix mount hang caused by certain access pattern to sysfs files commit 75623437167d9d1ef14acaf6b3fb4ccd38fcbc84 Merge: 70a3eff5768350c0313a9ae70a15da113171d0ab 636f78581dbd5529a52057973fe2bdfc1c2f528e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 09:25:15 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (22 commits) ALSA: hda - Cirrus Logic CS421x support ALSA: Make pcm.h self-contained ALSA: hda - Allow codec-specific set_power_state ops ALSA: hda - Add post_suspend patch ops ALSA: hda - Make CONFIG_SND_HDA_POWER_SAVE depending on CONFIG_PM ALSA: hda - Make sure mute led reflects master mute state ALSA: hda - Fix invalid mute led state on resume of IDT codecs ASoC: Revert "ASoC: SAMSUNG: Add I2S0 internal dma driver" ALSA: hda - Add support of the 4 internal speakers on certain HP laptops ALSA: Make snd_pcm_debug_name usable outside pcm_lib ALSA: hda - Fix DAC filling for multi-connection pins in Realtek parser ASoC: dapm - Add methods to retrieve snd_card and soc_card from dapm context. ASoC: SAMSUNG: Add I2S0 internal dma driver ASoC: SAMSUNG: Modify I2S driver to support idma ASoC: davinci: add missing break statement ASoC: davinci: fix codec start and stop functions ASoC: dapm - add DAPM macro for external enum widgets ASoC: Acknowledge WM8962 interrupts before acting on them ASoC: sgtl5000: guide user when regulator support is needed ASoC: sgtl5000: refactor registering internal ldo ... commit 70a3eff5768350c0313a9ae70a15da113171d0ab Merge: 9ed3689bdceb0064ee6faf0e76f6467122794970 aa7eb8e78d8ecd6cd0475d86ea8385ff9cb47ece Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 09:24:56 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (53 commits) Input: synaptics - fix reporting of min coordinates Input: tegra-kbc - enable key autorepeat Input: kxtj9 - fix locking typo in kxtj9_set_poll() Input: kxtj9 - fix bug in probe() Input: intel-mid-touch - remove pointless checking for variable 'found' Input: hp_sdc - staticize hp_sdc_kicker() Input: pmic8xxx-keypad - fix a leak of the IRQ during init failure Input: cy8ctmg110_ts - set reset_pin and irq_pin from platform data Input: cy8ctmg110_ts - constify i2c_device_id table Input: cy8ctmg110_ts - fix checking return value of i2c_master_send Input: lifebook - make dmi callback functions return 1 Input: atkbd - make dmi callback functions return 1 Input: gpio_keys - switch to using SIMPLE_DEV_PM_OPS Input: gpio_keys - add support for device-tree platform data Input: aiptek - remove double define Input: synaptics - set minimum coordinates as reported by firmware Input: synaptics - process button bits in AGM packets Input: synaptics - rename set_slot to be more descriptive Input: synaptics - fuzz position for touchpad with reduced filtering Input: synaptics - set resolution for MT_POSITION_X/Y axes ... commit 9ed3689bdceb0064ee6faf0e76f6467122794970 Merge: 8aae36cdf12313cd9cc0e4799fe1ea64d3c623f3 363922946f96ad1d6420107ebcfa9a95b659fe75 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 09:24:20 2011 -0700 Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze * 'next' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Do not show error message for 32 interrupt lines Revert "microblaze: PCI fix typo fault in of_node pointer moving into pci_bus" microblaze: PCI fix typo fault in of_node pointer moving into pci_bus microblaze: Add support for early console on mdm microblaze: Simplify early console binding from DT microblaze: Get early printk console earlier microblaze: Standardise cpuinfo output for cache policy microblaze: Unprivileged stream instruction awareness microblaze: trivial: Fix typo fault microblaze: exec: Remove redundant set_fs(USER_DS) microblaze: Remove duplicated prototype of start_thread() microblaze: Fix unaligned value saving to the stack for system with MMU microblaze/irqs: Do not trace arch_local_{*,irq_*} functions commit 8aae36cdf12313cd9cc0e4799fe1ea64d3c623f3 Author: Daniel Morsing <daniel.morsing@xxxxxxxxx> Date: Wed Jul 27 13:53:28 2011 +0200 staging: brcm80211: Fix double include introduced by bad merge A merge with Linus' tree added a double include of linux/interrupt.h. Fix by removing one of the includes. Signed-off-by: Daniel Morsing <daniel.morsing@xxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c48a8fb0d31d6147d8d76b8e2ad7f51a2fbb5c4d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Jul 27 16:41:57 2011 +0200 ALSA: hda - Fix duplicated DAC assignments for Realtek Copying hp_pins and speaker_pins from line_out_pins may confuse the parser, and it can lead to duplicated initializations for the same pin with a wrong DAC assignment. The problem appears in 3.0 kernel code. Cc: <stable@xxxxxxxxxx> (for 3.0) Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit ae6ff61e43fe4f348a7f764ff0c13fb4240da7b8 Author: Dan Carpenter <error27@xxxxxxxxx> Date: Wed Jul 27 15:02:26 2011 +0300 ALSA: asihpi - off by one in asihpi_hpi_ioctl() "adapter" is used as an array index in the adapters[] array so the off by one would make us read past the end. 1c073b67979 "ALSA: asihpi - Remove spurious adapter index check" reverted Dan Rosenberg's check that would have prevented the overflow here. Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 60a6a8425a84fa46a3831ce79197640b8224311b Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Jul 27 14:01:24 2011 +0200 ALSA: hda - Fix Oops with Realtek quirks with NULL adc_nids Somce quirk models don't set adc_nids but let the parser filling it. But the recent code has unnecessary NULL-checks of spec->input_mux, and it resulted in NULL dereferences. This patch fixes that regression. Reported-and-tested-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 17dd759c67f21e34f2156abcf415e1f60605a188 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 06:16:28 2011 -0700 gro: Only reset frag0 when skb can be pulled Currently skb_gro_header_slow unconditionally resets frag0 and frag0_len. However, when we can't pull on the skb this leaves the GRO fields in an inconsistent state. This patch fixes this by only resetting those fields after the pskb_may_pull test. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 363922946f96ad1d6420107ebcfa9a95b659fe75 Author: Michal Simek <monstr@xxxxxxxxx> Date: Wed Jul 27 10:45:32 2011 +0200 microblaze: Do not show error message for 32 interrupt lines When interrupt controller uses 32 interrupts lines the kernel show error message about mismatch in kind-of-intr parameter because it exceeds u32. Recast fixs this issue. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 767cd365b22820df07b962b49ce04b220b98e537 Author: Eliot Blennerhassett <eblennerhassett@xxxxxxxxxxxxxxxx> Date: Wed Jul 27 20:03:51 2011 +1200 ALSA: asihpi - bug fix pa use before init. Fixes bug introduced by 1c073b67. Also declare pa local to block in which it is used. Signed-off-by: Eliot Blennerhassett <eblennerhassett@xxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit aa7eb8e78d8ecd6cd0475d86ea8385ff9cb47ece Merge: cca8edfd2ec2a34d9f50f593bc753bb11e1bc1f5 3c6b50141ef9f0a8844bf1357b80c0cdf518bf05 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Jul 27 00:54:47 2011 -0700 Merge branch 'next' into for-linus commit 45eebda7b4a73deb268b0cbcde06b603a2ba46a2 Author: Vitaliy Kulikov <Vitaliy.Kulikov@xxxxxxx> Date: Tue Jul 26 16:56:20 2011 -0500 ALSA: hda - Add support for vref-out based mute LED control on IDT codecs This patch also registers all necessary callbacks to support mute LED only when such control is enabled. And it keeps codec AFG in D0 or D1 state all the time when aggressive power managemnt is enabled for vref-out control (and mute LED) work correctly. Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e371d46ae45488bcb112a99a7de462e9e3aa6764 Merge: b0189cd087aa82bd23277cb5c8960ab030e13e5c e57712ebebbb9db7d8dcef216437b3171ddcf115 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 26 18:30:20 2011 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: merge fchmod() and fchmodat() guts, kill ancient broken kludge xfs: fix misspelled S_IS...() xfs: get rid of open-coded S_ISREG(), etc. vfs: document locking requirements for d_move, __d_move and d_materialise_unique omfs: fix (mode & S_IFDIR) abuse btrfs: S_ISREG(mode) is not mode & S_IFREG... ima: fmode_t misspelled as mode_t... pci-label.c: size_t misspelled as mode_t jffs2: S_ISLNK(mode & S_IFMT) is pointless snd_msnd ->mode is fmode_t, not mode_t v9fs_iop_get_acl: get rid of unused variable vfs: dont chain pipe/anon/socket on superblock s_inodes list Documentation: Exporting: update description of d_splice_alias fs: add missing unlock in default_llseek() commit 768e587e18c1c4ce0403b9532115752189422408 Author: Jonathan Brassow <jbrassow@xxxxxxxxxx> Date: Wed Jul 27 11:00:37 2011 +1000 MD: generate an event when array sync is complete This patch causes MD to generate an event (for device-mapper) when the synchronization thread is reaped. This is expected behavior for device-mapper. Signed-off-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 3520fa4db7fc4ae1b0373dcecdaf720f620dab2d Author: Jonathan Brassow <jbrassow@xxxxxxxxxx> Date: Wed Jul 27 11:00:37 2011 +1000 MD bitmap: Revert DM dirty log hooks Revert most of commit e384e58549a2e9a83071ad80280c1a9053cfd84c md/bitmap: prepare for storing write-intent-bitmap via dm-dirty-log. MD should not need to use DM's dirty log - we decided to use md's bitmaps instead. Keeping the DIV_ROUND_UP clean-ups that were part of commit e384e58549a2e9a83071ad80280c1a9053cfd84c, however. Signed-off-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 654e8b5abc0a793f0c029128db6e4804691a383e Author: Jonathan Brassow <jbrassow@xxxxxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 MD: raid1 s/sysfs_notify_dirent/sysfs_notify_dirent_safe If device-mapper creates a RAID1 array that includes devices to be rebuilt, it will deref a NULL pointer when finished because sysfs is not used by device-mapper instantiated RAID devices. Signed-off-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 8cfa7b0f67b4d899efc7f39eb7e172fd79237811 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: Avoid BUG caused by multiple failures. While preparing to write a stripe we keep the parity block or blocks locked (R5_LOCKED) - towards the end of schedule_reconstruction. If the array is discovered to have failed before this write completes we can leave those blocks LOCKED, and init_stripe will notice that a free stripe still has a locked block and will complain. So clear the R5_LOCKED flag in handle_failed_stripe, and demote the 'BUG' to a 'WARN_ON'. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit cbea21703b2484f83faef040ed1de30114794392 Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid10: move rdev->corrected_errors counting Read errors are considered to corrected if write-back and re-read cycle is finished without further problems. Thus moving the rdev-> corrected_errors counting after the re-reading looks more reasonable IMHO. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit ddd5115fe5594f5aae3c7f0008a5327bb1d19397 Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: move rdev->corrected_errors counting Read errors are considered to corrected if write-back and re-read cycle is finished without further problems. Thus moving the rdev-> corrected_errors counting after the re-reading looks more reasonable IMHO. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 9d3d80113df824a266c5db3fac357a036ebc0b62 Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid1: move rdev->corrected_errors counting Read errors are considered to corrected if write-back and re-read cycle is finished without further problems. Thus moving the rdev-> corrected_errors counting after the re-reading looks more reasonable IMHO. Also included a couple of whitespace fixes on sync_page_io(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 65a06f06744d3deae61f3596566952a8da92199f Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md: get rid of unnecessary casts on page_address() page_address() returns void pointer, so the casts can be removed. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 700c72138938cf428c74379806886c6b017d6295 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid10: Improve decision on whether to fail a device with a read error. Normally we would fail a device with a READ error. However if doing so causes the array to fail, it is better to leave the device in place and just return the read error to the caller. The current test for decide if the array will fail is overly simplistic. We have a function 'enough' which can tell if the array is failed or not, so use it to guide the decision. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 2bb77736ae5dca0a189829fbb7379d43364a9dac Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid10: Make use of new recovery_disabled handling When we get a read error during recovery, RAID10 previously arranged for the recovering device to appear to fail so that the recovery stops and doesn't restart. This is misleading and wrong. Instead, make use of the new recovery_disabled handling and mark the target device and having recovery disabled. Add appropriate checks in add_disk and remove_disk so that devices are removed and not re-added when recovery is disabled. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 5389042ffa36976caa45a79af16081d759001fa7 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md: change managed of recovery_disabled. If we hit a read error while recovering a mirror, we want to abort the recovery without necessarily failing the disk - as having a disk this a read error is better than not having an array at all. Currently this is managed with a per-array flag "recovery_disabled" and is only implemented for RAID1. For RAID10 we will need finer grained control as we might want to disable recovery for individual devices separately. So push more of the decision making into the personality. 'recovery_disabled' is now a 'cookie' which is copied when the personality want to disable recovery and is changed when a device is added to the array as this is used as a trigger to 'try recovery again'. This will allow RAID10 to get the control that it needs. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit a478a069b6adf186373a6648c54fc5f1d3c2f8eb Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md: remove ro check in md_check_recovery() Commit c89a8eee6154 ("Allow faulty devices to be removed from a readonly array.") added some work on ro array in the function, but it couldn't be done since we didn't allow the ro array to be handled from the beginning. Fix it. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 36fad858a7404a9656122a9e560a224ae2a00979 Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md: introduce link/unlink_rdev() helpers There are places where sysfs links to rdev are handled in a same way. Add the helper functions to consolidate them. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 8bda470e8ebde35f9349e98ecbce4dfb508a60fa Author: Christian Dietrich <christian.dietrich@xxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid: use printk_ratelimited instead of printk_ratelimit As per printk_ratelimit comment, it should not be used. Signed-off-by: Christian Dietrich <christian.dietrich@xxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit a0a02a7ad62b5615b17294c2075e4916f8d1f0a4 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md: use proper little-endian bitops Using __test_and_{set,clear}_bit_le() with ignoring its return value can be replaced with __{set,clear}_bit_le(). Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: NeilBrown <neilb@xxxxxxx> Cc: linux-raid@xxxxxxxxxxxxxxx Signed-off-by: NeilBrown <neilb@xxxxxxx> commit acfe726bdd0000a9be1b308b29fad1e9ae62178c Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: finalise new merged handle_stripe. handle_stripe5() and handle_stripe6() are now virtually identical. So discard one and rename the other to 'analyse_stripe()'. It always returns 0, so change it to 'void' and remove the 'done' variable in handle_stripe(). Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 474af965fe0005b334cabdb2904a7d712c21489b Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: move some more common code into handle_stripe The RAID6 version of this code is usable for RAID5 providing: - we test "conf->max_degraded" rather than "2" as appropriate - we make sure s->failed_num[1] is meaningful (and not '-1') when s->failed > 1 The 'return 1' must become 'goto finish' in the new location. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 84789554e96c0263ad8aa9be91397ece1f88c768 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: move more common code into handle_stripe Apart from 'prexor' which can only be set for RAID5, and 'qd_idx' which can only be meaningful for RAID6, these two chunks of code are nearly the same. So combine them into one adding a test to call either handle_parity_checks5 or handle_parity_checks6 as appropriate. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit c8ac1803ff0af5aa614587ac0c66d46b7a3bdfcc Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: unite handle_stripe_dirtying5 and handle_stripe_dirtying6 RAID6 is only allowed to choose 'reconstruct-write' while RAID5 is also allow 'read-modify-write' Apart from this difference, handle_stripe_dirtying[56] are nearly identical. So resolve these differences and create just one function. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 93b3dbce6456a79c545b45e86ccc2244e923cc99 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: unite fetch_block5 and fetch_block6 Provided that ->failed_num[1] is not a valid device number (which is easily achieved) fetch_block6 provides all the functionality of fetch_block5. So remove the latter and rename the former to simply "fetch_block". Then handle_stripe_fill5 and handle_stripe_fill6 become the same and can similarly be united. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 5d35e09cae47bbae2739f432658860680de21866 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: rearrange a test in fetch_block6. Next patch will unite fetch_block5 and fetch_block6. First I want to make the differences a little more clear. For RAID6 if we are writing at all and there is a failed device, then we need to load or compute every block so we can do a reconstruct-write. This case isn't needed for RAID5 - we will do a read-modify-write in that case. So make that test a separate test in fetch_block6 rather than merged with two other tests. Make a similar change in fetch_block5 so the one bit that is not needed for RAID6 is clearly separate. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit c5a3100062cf277d3edd4e6f4a1f1e403524b464 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: move more code into common handle_stripe The difference between the RAID5 and RAID6 code here is easily resolved using conf->max_degraded. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 3687c061886dd0bfec07e131ad12f916ef0abc62 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: Move code for finishing a reconstruction into handle_stripe. Prior to commit ab69ae12ceef7 the code in handle_stripe5 and handle_stripe6 to "Finish reconstruct operations initiated by the expansion process" was identical. That commit added an identical stanza of code to each function, but in different places. That was careless. The raid5 code was correct, so move that out into handle_stripe and remove raid6 version. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 86c374ba9f6726a79a032ede741dc66d219b166e Author: NeilBrown <neilb@xxxxxxx> Date: Wed Jul 27 11:00:36 2011 +1000 md/raid5: Remove stripe_head_state arg from handle_stripe_expansion. This arg is only used to differentiate between RAID5 and RAID6 but that is not needed. For RAID5, raid5_compute_sector will set qd_idx to "~0" so j with certainly not equals qd_idx, so there is no need for a guard on that condition. So remove the guard and remove the arg from the declaration and callers of handle_stripe_expansion. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit e5036c2575b244851637a81efc4104c076c4fa21 Merge: 41bf37117b47fc5ce2aae91f6a108e7e42e0b046 5bc91db8933bce07c3af86da2bd956414aa5a725 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Tue Jul 26 17:05:55 2011 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem commit 5bc91db8933bce07c3af86da2bd956414aa5a725 Author: Mihai Moldovan <ionic@xxxxxxxx> Date: Mon Jul 25 11:18:58 2011 +0200 wireless: fix a typo in ignore_reg_update Just a typo fix changing regulaotry to regulatory. Signed-off-by: Mihai Moldovan <ionic@xxxxxxxx> CC: John W. Linville <linville@xxxxxxxxxxxxx> CC: Mohammed Shafi <shafi.wireless@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e61b52d1309df08b86a35e54a61f0cc932b28291 Author: Pavel Roskin <proski@xxxxxxx> Date: Fri Jul 22 18:07:13 2011 -0400 b43: fix invalid memory access in b43_ssb_remove() wldev is freed in b43_one_core_detach() and should not be accessed after that call. Keep wldev->dev in a local variable. Signed-off-by: Pavel Roskin <proski@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6f89062a66d8b88ca89a15a6cebc0bc0db284441 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Jul 22 13:11:05 2011 +0200 b43: bcma: drop BROKEN We've fixed the last issue with BCMA support which caused memory corruption on loading and unloading b43. Support for BCMA in b43 was tested with 14e4:4353, 14e4:4357, 14e4:4727 and 14e4:4331. First two cards (BCM43224 and BCM43225) are supported. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f76f424353e678f904c6c13f997851efb6077419 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Jul 22 13:11:04 2011 +0200 b43: bus: fix memory corruption when setting driver's data Fixes bug described in: https://bugzilla.kernel.org/show_bug.cgi?id=39172 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a203c2aa4cefccb879c879b8e1cad1a09a679e55 Author: Sven Neumann <s.neumann@xxxxxxxxxxxx> Date: Tue Jul 12 15:52:07 2011 +0200 cfg80211: really ignore the regulatory request At the beginning of wiphy_update_regulatory() a check is performed whether the request is to be ignored. Then the request is sent to the driver nevertheless. This happens even if last_request points to NULL, leading to a crash in the driver: [<bf01d864>] (lbs_set_11d_domain_info+0x28/0x1e4 [libertas]) from [<c03b714c>] (wiphy_update_regulatory+0x4d0/0x4f4) [<c03b714c>] (wiphy_update_regulatory+0x4d0/0x4f4) from [<c03b4008>] (wiphy_register+0x354/0x420) [<c03b4008>] (wiphy_register+0x354/0x420) from [<bf01b17c>] (lbs_cfg_register+0x80/0x164 [libertas]) [<bf01b17c>] (lbs_cfg_register+0x80/0x164 [libertas]) from [<bf020e64>] (lbs_start_card+0x20/0x88 [libertas]) [<bf020e64>] (lbs_start_card+0x20/0x88 [libertas]) from [<bf02cbd8>] (if_sdio_probe+0x898/0x9c0 [libertas_sdio]) Fix this by returning early. Also remove the out: label as it is not any longer needed. Signed-off-by: Sven Neumann <s.neumann@xxxxxxxxxxxx> Cc: linux-wireless@xxxxxxxxxxxxxxx Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Daniel Mack <daniel@xxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 276556dbd2d9f56f8933393f927e88fae142ce8f Author: Dan Carpenter <error27@xxxxxxxxx> Date: Fri Jul 8 10:21:15 2011 +0300 NFC: pn533: use after free in pn533_disconnect() We freed "dev" on the line before. Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e57712ebebbb9db7d8dcef216437b3171ddcf115 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 26 04:15:54 2011 -0400 merge fchmod() and fchmodat() guts, kill ancient broken kludge The kludge in question is undocumented and doesn't work for 32bit binaries on amd64, sparc64 and s390. Passing (mode_t)-1 as mode had (since 0.99.14v and contrary to behaviour of any other Unix, prescriptions of POSIX, SuS and our own manpages) was kinda-sorta no-op. Note that any software relying on that (and looking for examples shows none) would be visibly broken on sparc64, where practically all userland is built 32bit. No such complaints noticed... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 03209378b4b25775bf5e6a86e86f074a1057a439 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 25 20:54:24 2011 -0400 xfs: fix misspelled S_IS...() mode_t is not a bitmap... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit abbede1b3a680e108d61aaa415ce5153296e775d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 26 02:31:30 2011 -0400 xfs: get rid of open-coded S_ISREG(), etc. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c46c887744b330795eba55fdb96343c36d481765 Author: Jeff Layton <jlayton@xxxxxxxxxx> Date: Tue Jul 26 13:33:16 2011 -0400 vfs: document locking requirements for d_move, __d_move and d_materialise_unique Adding a comment to d_materialise_unique per Al's request... d_move and __d_move have some pretty substantial locking requirements, but they are not clearly documented. Add some comments spelling them out. Also, document the requirement for the i_mutex of the parent in d_materialise_unique. Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 41c96486f238e6a545f52215f95fe69748abf603 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 26 02:34:33 2011 -0400 omfs: fix (mode & S_IFDIR) abuse granted, on a filesystem that has only regular files and directories it happens to work, but really should be S_ISDIR(mode)... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 569254b0cc4e125ffde48780b215ecaf5f72bbf4 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 24 17:08:40 2011 -0400 btrfs: S_ISREG(mode) is not mode & S_IFREG... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4b2a2c67415f1ab128f1d0b340fe6d13363335e5 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 26 04:30:35 2011 -0400 ima: fmode_t misspelled as mode_t... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ed476418394f12d47f27a75424c237a94d244f10 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 24 23:31:06 2011 -0400 pci-label.c: size_t misspelled as mode_t no, really, strlen() and snprintf() do not return mode_t values... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 61effb519cbf0b2973c65070a890fabfcbf84756 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 24 17:11:33 2011 -0400 jffs2: S_ISLNK(mode & S_IFMT) is pointless it's S_ISLNK(mode), TYVM... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit da404dc0b1fe76b06a8d094e3ef1af9ec8252cec Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 26 04:35:42 2011 -0400 snd_msnd ->mode is fmode_t, not mode_t we put FMODE_... in there Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 24a01d4ee4ee9196c1acc58c64dc216ba2578f1f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 26 12:57:42 2011 -0400 v9fs_iop_get_acl: get rid of unused variable Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a209dfc7b0d94bd6fa94553c097836a2e6d0f0ba Author: Eric Dumazet <eric.dumazet@xxxxxxxxx> Date: Tue Jul 26 11:36:34 2011 +0200 vfs: dont chain pipe/anon/socket on superblock s_inodes list Workloads using pipes and sockets hit inode_sb_list_lock contention. superblock s_inodes list is needed for quota, dirty, pagecache and fsnotify management. pipe/anon/socket fs are clearly not candidates for these. Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5b9f4567726513a359e70f85029482c7c3714dbd Author: Phillip Lougher <phillip@xxxxxxxxxxxxxxxxxxx> Date: Tue Jul 26 03:40:45 2011 +0100 Documentation: Exporting: update description of d_splice_alias Following commits a904937 and 0c1aa9a update the d_splice_alias desciption. Signed-off-by: Phillip Lougher <phillip@xxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bacb2d816c77edefd464d6bcc04c07f92109bd7d Author: Dan Carpenter <error27@xxxxxxxxx> Date: Tue Jul 26 17:25:20 2011 +0300 fs: add missing unlock in default_llseek() A recent change in linux-next, 982d816581 "fs: add SEEK_HOLE and SEEK_DATA flags" added some direct returns on error, but it should have been a goto out. Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 636f78581dbd5529a52057973fe2bdfc1c2f528e Merge: 56487c279fe9fc23c5f15e2b935eb896ab7ba280 a0c27ab2421c47dc7c53f797fffcc0d17cdb122c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Jul 26 17:47:05 2011 +0200 Merge branch 'fix/asoc' into for-linus commit 56487c279fe9fc23c5f15e2b935eb896ab7ba280 Author: Tim Howe <tim.howe@xxxxxxxxxx> Date: Fri Jul 22 16:41:00 2011 -0500 ALSA: hda - Cirrus Logic CS421x support This update includes the changes necessary for supporting the CS421x family of codecs. Previously this file only supported the CS420x family of codecs. This file also contains init verbs to correct several issues in the CS421x hardware. Behavior between the CS421x and CS420x codec families is similar, so several functions have been reused with "if" statements to determine which codec family (CS421x or CS420x) is present. Also, this file will be updated sometime in the near future in order to add support for a system using CS421x that requires mono mix on the speaker output only. [Fix const usages and adaption for new APIs by tiwai] Signed-off-by: Tim Howe <tim.howe@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b51beb756aaf0770e4fa8bb2cb142888051aa356 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Jul 26 12:02:56 2011 +0200 ALSA: Make pcm.h self-contained Move the macros depending on snd_mask_min() and co out of pcm.h into pcm_params.h. Otherwise using some params_*() macros will give comiple errors without inclusion of pcm_params.h. Also use hw_param_interval_c() and hw_param_mask_c() for const pointer. Reported-by: Tim Blechmann <tim@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 4d7fbdbcb1d563b1822c74da3c9e4aa4523d8d6d Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Jul 26 10:33:10 2011 +0200 ALSA: hda - Allow codec-specific set_power_state ops The procedure for codec D-state change may have exceptional cases depending on the codec chip, such as a longer delay or suppressing D3. This patch adds a new codec ops, set_power_state() to override the system default function. For ease of porting, snd_hda_codec_set_power_to_all() helper function is extracted from the default set_power_state() function. As an example, the Conexant codec-specific delay is removed from the default routine but moved to patch_conexant.c. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e581f3dba509f6d48e4939aa70e9b768aa5fd4f3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Jul 26 10:19:20 2011 +0200 ALSA: hda - Add post_suspend patch ops Add a new ops, post_suspend(), which is called after suspend() ops is performed. This is called only in the case of the real PM suspend, and the codec driver can use this for further changing of D-state or clearing the LED, etc. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2a43952a99072f43c92355882b7965c8762ae3f3 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Jul 26 09:52:50 2011 +0200 ALSA: hda - Make CONFIG_SND_HDA_POWER_SAVE depending on CONFIG_PM It makes little sense to enable power-saving without PM. This removes SND_HDA_NEEDS_RESUME define so that we can use CONFIG_PM in all places. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 277c5f27a2c86a9a733c0ec0f6a9b1032dfa3e15 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Jul 26 00:38:40 2011 -0700 target: Convert to DIV_ROUND_UP_SECTOR_T usage for sectors / dev_max_sectors This patch adds the new macro usage of include/linux/kernel.h:DIV_ROUND_UP_SECTOR_T for the new DIV_ROUND_UP_ULL() usage for 32-bit architectures with unsigned long long sector_t division in transport_allocate_data_tasks() usage for target_core_mod v4.1 Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> commit 6dbd3085c3c3a53dfa4491ebcbf7847955b16f26 Author: Michal Simek <monstr@xxxxxxxxx> Date: Tue Jul 26 11:24:56 2011 +0200 Revert "microblaze: PCI fix typo fault in of_node pointer moving into pci_bus" This reverts commit c9d761b7c4b658a937a941aea2781f511a0ff3ec. Ben' commit "microblaze/pci: Move the remains of pci_32.c to pci-common.c" (sha1: bf13a6fa09b8db7f1fd59b5e2ed3674a89a6a25c) completely removed pci_32.c that's why my fixing commit caused the problem with merging and need to be revert. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 19237039919088781b4191a00bdc1284d8fea1dd Author: Steven Whitehouse <swhiteho@xxxxxxxxxx> Date: Tue Jul 26 09:15:45 2011 +0100 GFS2: Fix mount hang caused by certain access pattern to sysfs files Depending upon the order of userspace/kernel during the mount process, this can result in a hang without the _all version of the completion. Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 36a26c69b4c70396ef569c3452690fba0c1dec08 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Jul 26 00:35:26 2011 -0700 kernel.h: Add DIV_ROUND_UP_ULL and DIV_ROUND_UP_SECTOR_T macro usage Add new DIV_ROUND_UP_SECTOR_T macro usage for 32-bit architectures requiring a new DIV_ROUND_UP_ULL, and existing 64-bit usage with DIV_ROUND_UP. Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> commit e48354ce078c079996f89d715dfa44814b4eba01 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sat Jul 23 06:43:04 2011 +0000 iscsi-target: Add iSCSI fabric support for target v4.1 The Linux-iSCSI.org target module is a full featured in-kernel software implementation of iSCSI target mode (RFC-3720) for the current WIP mainline target v4.1 infrastructure code for the v3.1 kernel. More information can be found here: http://linux-iscsi.org/wiki/ISCSI This includes support for: * RFC-3720 defined request / response state machines and support for all defined iSCSI operation codes from Section 10.2.1.2 using libiscsi include/scsi/iscsi_proto.h PDU definitions * Target v4.1 compatible control plane using the generic layout in target_core_fabric_configfs.c and fabric dependent attributes within /sys/kernel/config/target/iscsi/ subdirectories. * Target v4.1 compatible iSCSI statistics based on RFC-4544 (iSCSI MIBS) * Support for IPv6 and IPv4 network portals in M:N mapping to TPGs * iSCSI Error Recovery Hierarchy support * Per iSCSI connection RX/TX thread pair scheduling affinity * crc32c + crc32c_intel SSEv4 instruction offload support using libcrypto * CHAP Authentication support using libcrypto * Conversion to use internal SGl allocation with iscsit_alloc_buffs() -> transport_generic_map_mem_to_cmd() (nab: Fix iscsi_proto.h struct scsi_lun usage from linux-next in commit: iscsi: Use struct scsi_lun in iscsi structs instead of u8[8]) (nab: Fix 32-bit compile warnings) Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Andy Grover <agrover@xxxxxxxxxx> Acked-by: Roland Dreier <roland@xxxxxxxxxx> Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> commit 7df1ce1a8197a4afec78584f56e74ab84dcab97c Author: Vitaliy Kulikov <Vitaliy.Kulikov@xxxxxxx> Date: Mon Jul 25 17:52:57 2011 -0500 ALSA: hda - Make sure mute led reflects master mute state This patch adds checking of mute state on all outputs besides just speakers to calculate the master mute state for mute led support. It also renames and splits the function that does it for better code clarity. Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d02667e6206fb3be0990c38af8447a4ed2b74c11 Author: Vitaliy Kulikov <Vitaliy.Kulikov@xxxxxxx> Date: Fri Jul 22 18:18:15 2011 -0500 ALSA: hda - Fix invalid mute led state on resume of IDT codecs Codec state is not restored immediately on resume but on the first access when power-save is enabled. That leads to an invalid mute led state after resume until either sound is played or some control is changed. This patch adds a possibility for a vendor specific patch to restore codec state immediately after resume if required. And it adds code to restore IDT codecs state immediately on resume on HP systems with mute led support. Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cc94015a9eac5d511fe9b716624d8fdf9c6e64b2 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Jul 26 11:35:35 2011 +1000 md/raid5: move stripe_head_state and more code into handle_stripe. By defining the 'stripe_head_state' in 'handle_stripe', we can move some common code out of handle_stripe[56]() and into handle_stripe. The means that all accesses for stripe_head_state in handle_stripe[56] need to be 's->' instead of 's.', but the compiler should inline those functions and just use a direct stack reference, and future patches while hoist most of this code up into handle_stripe() so we will revert to "s.". Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit c5709ef6a094c72b56355590bfa55cc107e98376 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Jul 26 11:35:20 2011 +1000 md/raid5: add some more fields to stripe_head_state Adding these three fields will allow more common code to be moved to handle_stripe() struct field rearrangement by Namhyung Kim. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit f2b3b44deee1524ca4f006048e0569f47eefdb74 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Jul 26 11:35:19 2011 +1000 md/raid5: unify stripe_head_state and r6_state 'struct stripe_head_state' stores state about the 'current' stripe that is passed around while handling the stripe. For RAID6 there is an extension structure: r6_state, which is also passed around. There is no value in keeping these separate, so move the fields from the latter into the former. This means that all code now needs to treat s->failed_num as an small array, but this is a small cost. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 82e5a1718b9d0401b826341b9023766d04cb82f2 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Jul 26 11:35:15 2011 +1000 md/raid5: move common code into handle_stripe There is common code at the start of handle_stripe5 and handle_stripe6. Move it into handle_stripe. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit c4c1663be46b2ab94e59d3e0c583a8f6b188ff0c Author: NeilBrown <neilb@xxxxxxx> Date: Tue Jul 26 11:34:20 2011 +1000 md/raid5: replace sh->lock with an 'active' flag. sh->lock is now mainly used to ensure that two threads aren't running in the locked part of handle_stripe[56] at the same time. That can more neatly be achieved with an 'active' flag which we set while running handle_stripe. If we find the flag is set, we simply requeue the stripe for later by setting STRIPE_HANDLE. For safety we take ->device_lock while examining the state of the stripe and creating a summary in 'stripe_head_state / r6_state'. This possibly isn't needed but as shared fields like ->toread, ->towrite are checked it is safer for now at least. We leave the label after the old 'unlock' called "unlock" because it will disappear in a few patches, so renaming seems pointless. This leaves the stripe 'locked' for longer as we clear STRIPE_ACTIVE later, but that is not a problem. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit cbe47ec559c33a68b5ee002051b848d1531a8adb Author: NeilBrown <neilb@xxxxxxx> Date: Tue Jul 26 11:20:35 2011 +1000 md/raid5: Protect some more code with ->device_lock. Other places that change or follow dev->towrite and dev->written take the device_lock as well as the sh->lock. So it should really be held in these places too. Also, doing so will allow sh->lock to be discarded. with merged fixes by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 83206d66b65118d995c38746f21edc2bb8564b49 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Jul 26 11:19:49 2011 +1000 md/raid5: Remove use of sh->lock in sync_request This is the start of a series of patches to remove sh->lock. sync_request takes sh->lock before setting STRIPE_SYNCING to ensure there is no race with testing it in handle_stripe[56]. Instead, use a new flag STRIPE_SYNC_REQUESTED and test it early in handle_stripe[56] (after getting the same lock) and perform the same set/clear operations if it was set. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Namhyung Kim <namhyung@xxxxxxxxx> commit 29412f0f6a19e34336368f13eab848091c343952 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 22 17:39:20 2011 -0400 tpm_nsc: Fix bug when loading multiple TPM drivers This patch fixes kernel bugzilla 34572. https://bugzilla.kernel.org/show_bug.cgi?id=34572 Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reported-by: Witold Baryluk <baryluk@xxxxxxxxxxxxxxxx> Tested-by: Witold Baryluk <baryluk@xxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 2d348d1f569f051d2609b04d27bb55cd25eda8fe Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Jul 25 16:17:35 2011 -0700 net: Convert struct net_device uc_promisc to bool No need to use int, its uses are boolean. May save a few bytes one day. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48daec034b2669c634983d0435beac41190b4c91 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxx> Date: Mon Jul 25 16:17:01 2011 -0700 net: fix eth.c kernel-doc warning From: Randy Dunlap <rdunlap@xxxxxxxxxxxx> Fix new kernel-doc warning in eth.c: Warning(net/ethernet/eth.c:237): No description found for parameter 'type' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b76d0789c92a816a5539dc14232a700b8d62a53a Author: Zoltan Kiss <schaman@xxxxxxxxxx> Date: Sun Jul 24 13:09:30 2011 +0000 IPv4: Send gratuitous ARP for secondary IP addresses also If a device event generates gratuitous ARP messages, only primary address is used for sending. This patch iterates through the whole list. Tested with 2 IP addresses configuration on bonding interface. Signed-off-by: Zoltan Kiss <schaman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32019e651c6fcee6bad6b6adb171feea5af0d16b Author: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Date: Sun Jul 24 11:44:34 2011 +0000 ipv6: Do not leave router anycast address for /127 prefixes. Original commit 2bda8a0c8af... "Disable router anycast address for /127 prefixes" says: | No need for matching code in addrconf_leave_anycast() as it | will silently ignore any attempt to leave an unknown anycast | address. After analysis, because 1) we may add two or more prefixes on the same interface, or 2)user may have manually joined that anycast, we may hit chances to have anycast address which as if we had generated one by /127 prefix and we should not leave from subnet- router anycast address unconditionally. CC: Bjørn Mork <bjorn@xxxxxxx> CC: Brian Haley <brian.haley@xxxxxx> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ec9e63c1c90074d2986f1102acbd1572eb827af Author: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx> Date: Sat Jul 23 17:06:29 2011 +0000 drivers:connector:remove an unused variable *tracer* The variable 'tracer' never be used, so remove it. Added by f701e5b73a1a79ea62ffd45d9e2bed4c7d5c1fd2. Signed-off-by: Wanlong Gao <gaowanlong@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 427e21faee1877053828b115bbb336c289562ac5 Author: stephen hemminger <shemminger@xxxxxxxxxx> Date: Fri Jul 22 06:31:12 2011 +0000 acenic: use netdev_alloc_skb_ip_align Take Eric's patch one step further. Use netdev_skb_ip_align to do setup the receive skb. Compile tested only. Signed-off-by: Stephen Hemminger <shemminger@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ed1e6211a0a134ff23592c6f057af982ad5dab52 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Mon Jul 25 15:37:29 2011 -0400 NFSv4: Don't use the delegation->inode in nfs_mark_return_delegation() nfs_mark_return_delegation() is usually called without any locking, and so it is not safe to dereference delegation->inode. Since the inode is only used to discover the nfs_client anyway, it makes more sense to have the callers pass a valid pointer to the nfs_server as a parameter. Reported-by: Ian Kent <raven@xxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 73ca1001ed6881b476e8252adcd0eede1ea368ea Author: Jeff Layton <jlayton@xxxxxxxxxx> Date: Mon Jul 18 11:26:30 2011 -0400 nfs: don't use d_move in nfs_async_rename_done If the task that initiated the sillyrename ends up being killed by a fatal signal, then it will eventually return back to userspace and end up releasing the i_mutex. d_move however needs to be done while holding the i_mutex. Instead of using d_move here, just unhash the old and new dentries to prevent them from being found by lookups. With this change though, the dentries are now incorrect post-rename and do not reflect the actual name of the file on the server. I'm proceeding under the assumption that since they are unhashed that this isn't really a problem. In order for the sillydelete to still work though, the dname must be copied earlier when setting up the sillydelete info, and the name must be recopied if the sillydelete info has to be moved to a new dentry. Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 2773395b34883fe54418de188733a63bb38e0ad6 Author: Steve Dickson <steved@xxxxxxxxxx> Date: Thu Jul 21 13:49:02 2011 -0400 RDMA: Increasing RPCRDMA_MAX_DATA_SEGS Our performance team has noticed that increasing RPCRDMA_MAX_DATA_SEGS from 8 to 64 significantly increases throughput when using the RDMA transport. Signed-off-by: Steve Dickson <steved@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 5f00bcb38ef9a980a33c6dbdc0044964b05f22dd Merge: 34006cee28f7344f9557a4be3816c7891b1bbab1 b6844e8f64920cdee620157252169ba63afb0c89 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Jul 25 13:59:46 2011 -0400 Merge branch 'master' into devel and apply fixup from Stephen Rothwell: vfs/nfs: fixup for nfs_open_context change Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 3c2c22628599006047781946b317a16d9ff3883d Author: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Date: Mon Jun 20 13:00:27 2011 -0500 jfs: clean up some compiler warnings jfs has a few variables being set but never used. Signed-off-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> commit 3c6b50141ef9f0a8844bf1357b80c0cdf518bf05 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 25 01:36:46 2011 -0700 Input: synaptics - fix reporting of min coordinates We were testing wrong bit in the extended capability query. Reported-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 5599d2e60b1191520778def7c0658fbc6de6d8c1 Author: Rakesh Iyer <riyer@xxxxxxxxxx> Date: Mon Jul 25 00:49:55 2011 -0700 Input: tegra-kbc - enable key autorepeat To support key repeats, keyboard needs to be setup as an autorepeating device. Signed-off-by: Rakesh Iyer <riyer@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 8304bbceee505742925b487fd8ea56e1f8b4b805 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Tue Mar 22 14:14:09 2011 -0700 iscsi: Add Serial Number Arithmetic LT and GT into iscsi_proto.h This patch moves the iscsi_sna_lt() and iscsi_sna_lte(), along with iscsi_sna_gt() and iscsi_sna_gte() from iscsi_target_mod into static inlines inside of include/scsi/iscsi_proto.h This patch also includes the ISCSI_HDR_LEN and ISCSI_CRC_LEN definitions. (Added JesperJ simpliciation for iscsi_sna_* usage) Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> commit 55bdabdf41b6ee99e22e9d78a895b001fb1d852e Author: Andy Grover <agrover@xxxxxxxxxx> Date: Thu Jun 16 15:57:09 2011 -0700 iscsi: Use struct scsi_lun in iscsi structs instead of u8[8] struct scsi_lun is also just a struct with an array of 8 octets (64 bits) but using it instead in iscsi structs lets us call scsilun_to_int without a cast, and also lets us copy it using assignment, instead of memcpy(). Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit c9d761b7c4b658a937a941aea2781f511a0ff3ec Author: Michal Simek <monstr@xxxxxxxxx> Date: Tue Jul 12 15:24:06 2011 +0200 microblaze: PCI fix typo fault in of_node pointer moving into pci_bus Bug introduces in: powerpc/pci: Make both ppc32 and ppc64 use sysdata for pci_controller (sha1: b5d937de0367d26f65b9af1aef5f2c34c1939be0) Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit ca12adc8ca6814d1949fcc6d83c1adda6dc9e2ef Author: Michal Simek <monstr@xxxxxxxxx> Date: Wed Apr 6 13:06:45 2011 +0200 microblaze: Add support for early console on mdm Support mdm early console: - extend time for retries - add mdm compatible property Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 2aa8e37596933a43fc3e46e1e385045635674429 Author: Michal Simek <monstr@xxxxxxxxx> Date: Thu Apr 14 11:48:43 2011 +0200 microblaze: Simplify early console binding from DT Recognize early Linux console from chosen - linux,stdout-path instead of detecting the first console with appropriate compatible strings. This patch solved the problem on system with multiple consoles. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit e721a45fbed13a52093d2cc1962dbb8a754462ea Author: Michal Simek <monstr@xxxxxxxxx> Date: Mon Apr 4 15:45:06 2011 +0200 microblaze: Get early printk console earlier 1. Register early console as standard console 2. Enable CON_BOOT console flag to ensure auto-unregistering by the kernel 3. remap_early_printk function remap physical console baseaddr to virtual space Usage specific function for console remap is done after memory initialization with IRQ turn off that's why there is not necessary to protect it. The reason for remapping is that the kernel use TLB 63 for 1:1 address mapping to be able to use console in very early boot-up phase. But allocating one TLB just for console caused performance degression that's why ioremaps create new mapping and TLB 63 is automatically released and ready to use. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> CC: Ingo Molnar <mingo@xxxxxxxxxx> CC: Alan Cox <alan@xxxxxxxxxxxxxxx> CC: <linux-serial@xxxxxxxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit 123521830c0ea35055b900d2ff0b73bb129e08cb Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Fri May 27 11:16:33 2011 +0000 iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi This patch renames the following iscsi_proto.h structures to avoid namespace issues with drivers/target/iscsi/iscsi_target_core.h: *) struct iscsi_cmd -> struct iscsi_scsi_req *) struct iscsi_cmd_rsp -> struct iscsi_scsi_rsp *) struct iscsi_login -> struct iscsi_login_req This patch includes useful ISCSI_FLAG_LOGIN_[CURRENT,NEXT]_STAGE*, and ISCSI_FLAG_SNACK_TYPE_* definitions used by iscsi_target_mod, and fixes the incorrect definition of struct iscsi_snack to following RFC-3720 Section 10.16. SNACK Request. Also, this patch updates libiscsi, iSER, be2iscsi, and bn2xi to use the updated structure definitions in a handful of locations. Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> commit 95ce618f85a86a7383c1a3e39278be3de84b1b99 Author: John A. Williams <john.williams@xxxxxxxxxxxxx> Date: Tue May 24 18:59:45 2011 +1000 microblaze: Standardise cpuinfo output for cache policy The current cpuinfo output for the cache policy has no leading tag:, making it difficult to parse. Add a leaning "Dcache-policy:" tag to this field. Signed-off-by: John A. Williams <john.williams@xxxxxxxxxxxxx> commit 8904976e8ca45be3ec75acc71f5d855ef671a079 Author: John A. Williams <john.williams@xxxxxxxxxxxxx> Date: Tue May 24 18:57:11 2011 +1000 microblaze: Unprivileged stream instruction awareness Add cpuinfo support for the new MicroBlaze option permitting userspace (unprivileged) access to the streaming instructions (FSL / AXI-stream). Emit a noisy warning at bootup if this is enabled, because bad user code can potentially lockup the CPU. Signed-off-by: John A. Williams <john.williams@xxxxxxxxxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit 5db34eb92f5699361de355dcd7958fdd2a9fb98a Author: Michal Simek <monstr@xxxxxxxxx> Date: Tue Jul 12 12:36:29 2011 +0200 microblaze: trivial: Fix typo fault descrtiption -> description Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit a0ec99bda8d42001dc37191f1282a401d2f6e4e1 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Fri Jun 10 15:09:59 2011 +0200 microblaze: exec: Remove redundant set_fs(USER_DS) The address limit is already set in flush_old_exec() so this set_fs(USER_DS) is redundant. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> commit 504a84c4806af58ae842b8716f603baad2757dd9 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Wed Jun 8 14:30:05 2011 +0200 microblaze: Remove duplicated prototype of start_thread() The prototype for start_thread() is already present in the MMU/NOMMU independent part of the file. Remove the duplicate. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit c11389406f19e4bddc7b347e5259aebda02b23f1 Author: Michal Simek <monstr@xxxxxxxxx> Date: Fri May 20 09:02:13 2011 +0200 microblaze: Fix unaligned value saving to the stack for system with MMU Several registers weren't saved correctly to the stack. Unaligned expection for system with MMU stores value in ex_tmp_data_loc_X address which is load to registers r3. The next step is to move this value from r3 to a destination register which caused unaligned exception. For several registers this value was directly moved to the register. For example for r28: by "or r28, r0, r3" but register r28 was rewritten when kernel returns from exception handler by value saved on stack. This patch changed r3 saving to the correct address on the stack. For example for r28: by "swi r3, r1, 4 * 28" When kernel returns from the exception handler, correct value is restored. Signed-off-by: Michal Simek <monstr@xxxxxxxxx> commit a2f526994e92ea54be181efccda261c4b1a6ae8d Author: Steven Rostedt <srostedt@xxxxxxxxxx> Date: Fri Jul 1 23:04:40 2011 -0400 microblaze/irqs: Do not trace arch_local_{*,irq_*} functions Do not trace arch_local_save_flags(), arch_local_irq_*() and friends. Although they are marked inline, gcc may still make a function out of them and add it to the pool of functions that are traced by the function tracer. This can cause undesirable results (kernel panic, triple faults, etc). Add the notrace notation to prevent them from ever being traced. Cc: Michal Simek <monstr@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a0c27ab2421c47dc7c53f797fffcc0d17cdb122c Author: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 21 14:58:05 2011 +0100 ASoC: Revert "ASoC: SAMSUNG: Add I2S0 internal dma driver" This reverts commit d7c3e9525ac8e898f1156a1f3a7c5038f6560186 as it does not currently build due to missing dependencies in the Samsung tree. Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Jassi Brar <jassisinghbrar@xxxxxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxx> commit 0c27c1805269f9ff01cc1d77752a662065ebcfe5 Author: Vitaliy Kulikov <Vitaliy.Kulikov@xxxxxxx> Date: Fri Jul 22 17:50:37 2011 -0500 ALSA: hda - Add support of the 4 internal speakers on certain HP laptops Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@xxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit acb03d440b8a723181e1d45e3517e43cb0792f8a Author: Eliot Blennerhassett <eblennerhassett@xxxxxxxxxxxxxxxx> Date: Sat Jul 23 12:36:25 2011 +1200 ALSA: Make snd_pcm_debug_name usable outside pcm_lib Formatting a PCM name is useful for module debug too. Add snd_prefix when making function public. [minor coding-style fixes by tiwai] Signed-off-by: Eliot Blennerhassett <eblennerhassett@xxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8f398ae72fc7e03356fc1ee6b54beef79ba6be6a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Sat Jul 23 18:57:11 2011 +0200 ALSA: hda - Fix DAC filling for multi-connection pins in Realtek parser Fix a regression in the DAC filling code in patch_realtek.c. The already filled DACs in multiout.dac_nids[] were ignored because of num_dacs=0, thus always pointed to the first DAC. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 968543100a75bef892f52eb86e92e83b3b7bc581 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 17 01:04:24 2011 -0400 tpm: Move tpm_tis_reenable_interrupts out of CONFIG_PNP block This patch moves the tpm_tis_reenable_interrupts function out of the CONFIG_PNP-surrounded #define block. This solves a compilation error in case CONFIG_PNP is not defined. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 6eb77b214985f8c2568f1f20f941790fbf8bf97b Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 18 09:11:55 2011 -0400 tpm: Fix compilation warning when CONFIG_PNP is not defined The is_itpm() function is only accessed from a block surrounded by #ifdef CONFIG_PNP. Therefore, also surround it with #ifdef CONFIG_PNP and remove the #else branch causing the warning. http://lxr.linux.no/#linux+v2.6.39/drivers/char/tpm/tpm_tis.c#L622 v2: - fixes a previous typo Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 4805608ac1d1a60ca926ff81b1ebd3145f7adf78 Author: Liam Girdwood <lrg@xxxxxx> Date: Wed Jul 20 12:23:33 2011 +0100 ASoC: dapm - Add methods to retrieve snd_card and soc_card from dapm context. In preparation for ASoC Dynamic PCM (AKA DSP) support. Provide convenience methods to retrieve the soc_card or snd_card from a DAPM context. Signed-off-by: Liam Girdwood <lrg@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit d7c3e9525ac8e898f1156a1f3a7c5038f6560186 Author: Sangbeom Kim <sbkim73@xxxxxxxxxxx> Date: Wed Jul 20 17:07:13 2011 +0900 ASoC: SAMSUNG: Add I2S0 internal dma driver I2S in Exynos4 and S5PC110(S5PV210) has a internal dma. It can be used low power audio mode and 2nd channel transfer. This patch can support idma. Signed-off-by: Sangbeom Kim <sbkim73@xxxxxxxxxxx> Acked-by: Jassi Brar <jassisinghbrar@xxxxxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxx> Acked-by: Jassi Brar <jassisinghbrar@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit 61100f405de5c16a0866de7843ed442090436e6a Author: Sangbeom Kim <sbkim73@xxxxxxxxxxx> Date: Wed Jul 20 17:07:12 2011 +0900 ASoC: SAMSUNG: Modify I2S driver to support idma Previously, I2S driver only can support system dma. In this patch, i2s driver can support internal dma too. IDMA h/w configuration is initialized on idma.c Signed-off-by: Sangbeom Kim <sbkim73@xxxxxxxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxx> Acked-by: Jassi Brar <jassisinghbrar@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit 82d1d521036eb3f5aae48b847f939d99a44c18bb Author: Rajashekhara, Sudhakar <sudhakar.raj@xxxxxx> Date: Wed Jul 20 17:37:18 2011 +0530 ASoC: davinci: add missing break statement In davinci_vcif_trigger() function, a break() statement was missing causing the davinci_vcif_stop() function to be called as a fallback after calling davinci_vcif_start(). Signed-off-by: Rajashekhara, Sudhakar <sudhakar.raj@xxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit 3012f43eaf7592d8121426918e43e3b5db013aff Author: Rajashekhara, Sudhakar <sudhakar.raj@xxxxxx> Date: Wed Jul 20 17:36:04 2011 +0530 ASoC: davinci: fix codec start and stop functions According to DM365 voice codec data sheet at [1], before starting recording or playback, ADC/DAC modules should follow a reset and enable cycle. Writing a 1 to the ADC/DAC bit in the register resets the module and clearing the bit to 0 will enable the module. But the driver seems to be doing the reverse of it. [1] http://focus.ti.com/lit/ug/sprufi9b/sprufi9b.pdf Signed-off-by: Rajashekhara, Sudhakar <sudhakar.raj@xxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit c219c80929ca942c38334aad38b7582aed4e038e Author: Liam Girdwood <lrg@xxxxxx> Date: Wed Jul 20 19:42:20 2011 +0100 ASoC: dapm - add DAPM macro for external enum widgets Add a convenience macro for external enumerated widgets. Signed-off-by: Liam Girdwood <lrg@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit 3198b9eb514fd27dd15c55f36b17ac2cddade1a5 Author: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Jul 20 13:50:10 2011 +0100 ASoC: Acknowledge WM8962 interrupts before acting on them This closes the small race between a status being read in response to an interrupt and clearing the interrupt, meaning that if the status changes between those periods we might not get a reassertion of the interrupt. Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxx> commit 6eab7ce65a4e6fae1d2cb5d866515ed288f2fdcc Author: Dan Carpenter <error27@xxxxxxxxx> Date: Tue Jul 19 23:16:29 2011 -0700 Input: kxtj9 - fix locking typo in kxtj9_set_poll() According to the comments we want to call mutex_lock() here instead of mutex_unlock(). That makes more sense. Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 4fd9fcf7c1ee6c339504525b43ad5e77334ff1b5 Author: Dan Carpenter <error27@xxxxxxxxx> Date: Tue Jul 19 23:12:21 2011 -0700 Input: kxtj9 - fix bug in probe() We are testing the wrong variable here. I believe tj9->input_dev is always NULL at this point, so probe() will fail. Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 09bddc8eb26eeb976efcfde9569b5ad1d9b77574 Author: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Date: Mon Jul 18 17:53:04 2011 +0200 ASoC: sgtl5000: guide user when regulator support is needed Print a hint when the user has a setup where CONFIG_REGULATOR is really needed to make the driver work. Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Tested-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Tested-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit e94a4062c88e5245fef91ceac86788ae336f755b Author: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Date: Mon Jul 18 17:53:03 2011 +0200 ASoC: sgtl5000: refactor registering internal ldo The code for registering the internal ldo was present twice. Turn it into a function instead. Also, inform the user if LDO is used now. Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Tested-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Tested-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit 1c8371d61e3a8e65fe6ef4ac535d1cd6d8ec7650 Author: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Date: Sun Jul 17 18:00:26 2011 +0200 ASoC: core: make comments fit the code In one comment, cpu_dai was mentioned although codec_dai was used in the code. Also, fix the name for the card dai list which has no seperation into card_dai and codec_dai. Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> commit 7be4ba24a3ea53bc8ade841635e4d4a59e98ceb5 Author: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Jul 18 13:17:13 2011 +0900 ASoC: Mark cache as dirty when suspending Since quite a few drivers are not managing to flag the cache as needing to be resynced after suspend and it's a reasonable thing to do flag the cache as needing sync automatically when suspending. The expectation is that systems will mainly only keep the CODEC powered when doing audio through the CODEC so we won't actually suspend the device anyway; drivers which want to can override this behaviour when they resume. Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxx> Cc: stable@xxxxxxxxxx commit e449edbb91decd0260105fadd4f5fcc3ce170e01 Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Mon Jul 18 17:09:05 2011 -0700 Input: intel-mid-touch - remove pointless checking for variable 'found' The implementation does break from the for loop after we assign 'i' to variable 'found'. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit dc3e8247eb90655c0ff01ce03bdf3aa5868f1cde Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Mon Jul 18 17:09:46 2011 -0700 Input: hp_sdc - staticize hp_sdc_kicker() It's not referenced outside this file so there's no need for it to be in the global name space. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit edf21d9c38b945b91d100bae59d951bce131d58b Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Mon Jul 18 17:09:22 2011 -0700 Input: pmic8xxx-keypad - fix a leak of the IRQ during init failure Make sure we are passing the same cookie in all calls to request_any_context_irq() and free_irq(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 2c204109ec1018f72114c7f19132a1109a3f0653 Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Mon Jul 18 17:09:37 2011 -0700 Input: cy8ctmg110_ts - set reset_pin and irq_pin from platform data The implementation in cy8ctmg110_probe() does not properly set reset_pin and irq_pin from platform data. Let's fix it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit ffd96e35c16a99fdb490cc5723b8e32135ae5883 Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Mon Jul 18 17:38:51 2011 +1000 md/raid5: get rid of duplicated call to bio_data_dir() In raid5::make_request(), once bio_data_dir(@bi) is detected it never (and couldn't) be changed. Use the result always. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 6ce328462c1145a217ba1f27b882743be1407759 Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Mon Jul 18 17:38:50 2011 +1000 md/raid5: use kmem_cache_zalloc() Replace kmem_cache_alloc + memset(,0,) to kmem_cache_zalloc. I think it's not harmful since @conf->slab_cache already knows actual size of struct stripe_head. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit c65060ad4274f70048d62e0a86332cd3fd23f28d Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Mon Jul 18 17:38:49 2011 +1000 md/raid10: share pages between read and write bio's during recovery When performing a recovery, only first 2 slots in r10_bio are in use, for read and write respectively. However all of pages in the write bio are never used and just replaced to read bio's when the read completes. Get rid of those unused pages and share read pages properly. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 778ca01852e6cc9ff335119b37a1938a978df384 Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Mon Jul 18 17:38:47 2011 +1000 md/raid10: factor out common bio handling code When normal-write and sync-read/write bio completes, we should find out the disk number the bio belongs to. Factor those common code out to a separate function. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 2c4193df379bb89114ff60d4b0fa66131abe6a75 Author: Namhyung Kim <namhyung@xxxxxxxxx> Date: Mon Jul 18 17:38:43 2011 +1000 md/raid10: get rid of duplicated conditional expression Variable 'first' is initialized to zero and updated to @rdev->raid_disk only if it is greater than 0. Thus condition '>= first' always implies '>= 0' so the latter is not needed. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 34006cee28f7344f9557a4be3816c7891b1bbab1 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Sun Jul 17 18:11:34 2011 -0400 SUNRPC: Replace xprt->resend and xprt->sending with a priority queue Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 3b27bad7f7ceacca6d6c0ef647ffb38aa55a8336 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Sun Jul 17 18:11:34 2011 -0400 SUNRPC: Allow caller of rpc_sleep_on() to select priority levels Currently, the caller has to change the value of task->tk_priority if it wants to select on which priority level the task will sleep. This patch allows the caller to select a priority level at sleep time rather than always using task->tk_priority. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit d9ba131d8f58c0d2ff5029e7002ab43f913b36f9 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Sun Jul 17 18:11:30 2011 -0400 SUNRPC: Support dynamic slot allocation for TCP connections Allow the number of available slots to grow with the TCP window size. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 21de0a955f3af29fa1100d96f66e6adade89e77a Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Sun Jul 17 16:57:32 2011 -0400 SUNRPC: Clean up the slot table allocation Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 8d9266ffe4332afc5ac9de401ef6f825b3798585 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Sun Jul 17 16:01:09 2011 -0400 SUNRPC: Initalise the struct xprt upon allocation Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 43cedbf0e8dfb9c5610eb7985d5f21263e313802 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Sun Jul 17 16:01:03 2011 -0400 SUNRPC: Ensure that we grab the XPRT_LOCK before calling xprt_alloc_slot This throttles the allocation of new slots when the socket is busy reconnecting and/or is out of buffer space. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit f85ef69ce08bc2209858135328335f668ba35bdb Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Fri Jul 15 19:18:42 2011 -0400 pnfs: simplify pnfs files module autoloading Embed the necessary alias into the module rather than waiting for someone to add it to /etc/modprobe.conf Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 674e405b8b3310702fd43d314f5f432ec2cb9980 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Fri Jul 15 19:09:08 2011 -0400 nfs: document nfsv4 sillyrename issues Somebody working on this code asked what the deal was with NFSv4, since this comment notes that it's v2/v3's statelessness that requires sillyrename. Shouldn't hurt to document the answer. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 94b134ac8e9965309e70684b504c53bca36338b4 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Wed Jul 13 19:26:49 2011 -0400 NFS: Convert nfs4_set_ds_client to EXPORT_SYMBOL_GPL This is not part of an external ABI... Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 0d961aa934b799ca7369db582e52952cc50c656d Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Wed Jul 13 19:24:15 2011 -0400 SUNRPC: Convert the backchannel exports to EXPORT_SYMBOL_GPL Ensure that the backchannel exports conform to the existing sunrpc practice. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 9e00abc3c20904fd6a5d888bb7023925799ec8a5 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Wed Jul 13 19:20:49 2011 -0400 SUNRPC: sunrpc should not explicitly depend on NFS config options Change explicit references to CONFIG_NFS_V4_1 to implicit ones Get rid of the unnecessary defines in backchannel_rqst.c and bc_svc.c: the Makefile takes care of those dependency. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 1f9453578f059d2651aa6c6b16756627fc9f2a74 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Wed Jul 13 15:59:57 2011 -0400 NFS: Clean up - simplify the switch to read/write-through-MDS Use nfs_pageio_reset_read_mds and nfs_pageio_reset_write_mds instead of completely reinitialising the struct nfs_pageio_descriptor. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit dce81290eed64d24493989bb7a08f9e20495e184 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Wed Jul 13 15:59:19 2011 -0400 NFS: Move the pnfs write code into pnfs.c ...and ensure that we recoalese to take into account differences in differences in block sizes when falling back to write through the MDS. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 493292ddc78d18ee2ad2d5c24c2b7dd6a24641d2 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Wed Jul 13 15:58:28 2011 -0400 NFS: Move the pnfs read code into pnfs.c ...and ensure that we recoalese to take into account differences in block sizes when falling back to read through the MDS. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit d9156f9f364897e93bdd98b4ad22138de18f7c24 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Tue Jul 12 13:42:02 2011 -0400 NFS: Allow the nfs_pageio_descriptor to signal that a re-coalesce is needed If an attempt to do pNFS fails, and we have to fall back to writing through the MDS, then we may want to re-coalesce the requests that we already have since the block size for the MDS read/writes may be different to that of the DS read/writes. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit d097971d8ab4042eaa4bff98698ae9cc55942327 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Tue Jul 12 13:42:02 2011 -0400 NFS: Use the nfs_pageio_descriptor->pg_bsize in the read/write request Instead of looking up the rsize and wsize, the routines that generate the RPC requests should really be using the pg_bsize, since that is what we use when deciding whether or not to coalesce write requests... Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 50828d7e6767a92726708bc0666e2b8b84575808 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Tue Jul 12 13:42:02 2011 -0400 NFS: Cache rpc_ops in struct nfs_pageio_descriptor Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 275acaafd45fbc8ecc3beabd6367e60b3049606a Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Tue Jul 12 13:42:02 2011 -0400 NFS: Clean up: split out the RPC transmission from nfs_pagein_multi/one ...and do the same for nfs_flush_multi/one. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 3b6091846d5b6113d695c79caec7cc96b62d469b Author: Peng Tao <bergwolf@xxxxxxxxx> Date: Fri Jul 15 03:33:42 2011 -0400 NFS: fix return value of nfs_pagein_one/nfs_flush_one Signed-off-by: Peng Tao <peng_tao@xxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 0f2a55d5bb2372058275b0b343d90dd5d640d045 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 14 14:46:51 2011 +0900 TOMOYO: Update kernel-doc. Update comments for scripts/kernel-doc and fix some of errors reported by scripts/checkpatch.pl . Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit d448303a77d8925fd06e7b2837bd1826e340bb02 Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Wed Jul 13 00:04:36 2011 -0700 Input: cy8ctmg110_ts - constify i2c_device_id table Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 21184c4efbba7b7959c7868cf2b99f43f29fc199 Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Wed Jul 13 00:03:36 2011 -0700 Input: cy8ctmg110_ts - fix checking return value of i2c_master_send i2c_master_send returns negative errno, or else the number of bytes written. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit fea2021c76a414b71204cc2aea623bb037fa913b Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Wed Jul 13 00:02:21 2011 -0700 Input: lifebook - make dmi callback functions return 1 We only care about if there is a successful match from the table (or no match at all), so let's make dmi_check_system return immediately instead of iterating thorough the whole table. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit c388b2c67e64d20cc0ad0d48d0e3e819d489bfed Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Tue Jul 12 23:59:41 2011 -0700 Input: atkbd - make dmi callback functions return 1 We only care about if there is a successful match from the table (or no match at all), so let's make dmi_check_system return immediately instead of iterating thorough the whole table. Make the dmi callback function return 1 then dmi_check_system will return immediately if we have a successful match. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit c9206693457a946698e1d67db2b424e1d101493d Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:34 2011 -0400 tpm: Fix a typo This patch fixes a typo. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit 9519de3f265f112e992aa7f446d905196bd608e8 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:33 2011 -0400 tpm_tis: Probing function for Intel iTPM bug This patch introduces a function for automatic probing for the Intel iTPM STS_DATA_EXPECT flaw. The patch splits the current tpm_tis_send function into 2 parts where the 1st part is now called tpm_tis_send_data() and merely sends the data to the TPM. This function is then used for probing. The new tpm_tis_send function now first calls tpm_tis_send_data and if that succeeds has the TPM process the command and waits until the response is there. The probing for the Intel iTPM is only invoked if the user has not passed itpm=1 as parameter for the module *or* if such a TPM was detected via ACPI. Previously it was necessary to pass itpm=1 when also passing force=1 to the module when doing a 'modprobe'. This function is more general than the ACPI test function and the function relying on ACPI could probably be removed. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit a7b66822b20f67f106690d0acee3d0ba667fd9bb Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:32 2011 -0400 tpm_tis: Fix the probing for interrupts This patch fixes several aspects of the probing for interrupts. This patch reads the TPM's timeouts before probing for the interrupts. The tpm_get_timeouts() function is invoked in polling mode and gets the proper timeouts from the TPM so that we don't need to fall back to 2 minutes timeouts for short duration commands while the interrupt probing is happening. This patch introduces a variable probed_irq into the vendor structure that gets the irq number if an interrupt is received while the the tpm_gen_interrupt() function is run in polling mode during interrupt probing. Previously some parts of tpm_gen_interrupt() were run in polling mode, then the irq variable was set in the interrupt handler when an interrupt was received and execution of tpm_gen_interrupt() ended up switching over to interrupt mode. tpm_gen_interrupt() execution ended up on an event queue where it eventually timed out since the probing handler doesn't wake any queues. Before calling into free_irq() clear all interrupt flags that may have been set by the TPM. The reason is that free_irq() will call into the probing interrupt handler and may otherwise fool us into thinking that a real interrupt happened (because we see the flags as being set) while the TPM's interrupt line is not even connected to anything on the motherboard. This solves a problem on one machine I did testing on (Thinkpad T60). If a TPM claims to use a specifc interrupt, the probing is done as well to verify that the interrupt is actually working. If a TPM indicates that it does not use a specific interrupt (returns '0'), probe all interrupts from 3 to 15. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit 20b87bbfada971ae917cc2ff9dbc9dae05b94d25 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:31 2011 -0400 tpm_tis: Delay ACPI S3 suspend while the TPM is busy This patch delays the (ACPI S3) suspend while the TPM is busy processing a command and the TPM TIS driver is run in interrupt mode. This is the same behavior as we already have it for the TPM TIS driver in polling mode. Reasoning: Some of the TPM's commands advance the internal state of the TPM. An example would be the extending of one of its PCR registers. Upper layers, such as IMA or TSS (TrouSerS), would certainly want to be sure that the command succeeded rather than getting an error code (-62 = -ETIME) that may not give a conclusive answer as for what reason the command failed. Reissuing such a command would put the TPM into the wrong state, so waiting for it to finish is really the only option. The downside is that some commands (key creation) can take a long time and actually prevent the machine from entering S3 at all before the 20 second timeout of the power management subsystem arrives. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit 45baa1d1fa3926510ead93c96e6b0baa5ad79bd3 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:30 2011 -0400 tpm_tis: Re-enable interrupts upon (S3) resume This patch makes sure that if the TPM TIS interface is run in interrupt mode (rather than polling mode) that all interrupts are enabled in the TPM's interrupt enable register after a resume from ACPI S3 suspend. The registers may either have been cleared by the TPM loosing its state during device sleep or by the BIOS leaving the TPM in polling mode (after sending a command to the TPM for starting it up again) You may want to check if your TPM runs with interrupts by doing cat /proc/interrupts | grep -i tpm and see whether there is an entry or otherwise for it to use interrupts: modprobe tpm_tis interrupts=1 [add 'itpm=1' for Intel TPM ] v2: - the patch was adapted to work with the pnp and platform driver implementations in tpm_tis.c Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit 5a79444f24cb169b79f0f346482a42ab28329bae Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:29 2011 -0400 tpm: Fix display of data in pubek sysfs entry This patch fixes the TPM's pubek sysfs entry that is accessible as long as the TPM doesn't have an owner. It was necessary to shift the access to the data by -10 -- the first byte immediately follows the 10 byte header. The line data = tpm_cmd.params.readpubek_out_buffer; sets it at the offset '10' in the packet, so we can read the data array starting at offset '0'. Before: Algorithm: 00 0C 00 00 Encscheme: 08 00 Sigscheme: 00 00 Parameters: 00 00 00 00 01 00 AC E2 5E 3C A0 78 Modulus length: -563306801 Modulus: 28 21 08 0F 82 CD F2 B1 E7 49 F7 74 70 BE 59 8C 43 78 B1 24 EA 52 E2 FE 52 5C 3A 12 3B DC 61 71 [...] After: Algorithm: 00 00 00 01 Encscheme: 00 03 Sigscheme: 00 01 Parameters: 00 00 08 00 00 00 00 02 00 00 00 00 Modulus length: 256 Modulus: AC E2 5E 3C A0 78 DE 6C 9E CF 28 21 08 0F 82 CD F2 B1 E7 49 F7 74 70 BE 59 8C 43 78 B1 24 EA 52 [...] Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit 6259210176510c64251a314ffb74834a790f09a0 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:28 2011 -0400 tpm_tis: Add timeouts sysfs entry Display the TPM's interface timeouts in a 'timeouts' sysfs entry. Display the entries as having been adjusted when they were scaled due to their values being reported in milliseconds rather than microseconds. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit e3e1a1e169d4e7f73c60ded937ebe24526bc6427 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:27 2011 -0400 tpm: Adjust interface timeouts if they are too small Adjust the interface timeouts if they are found to be too small, i.e., if they are returned in milliseconds rather than microseconds as we heared from Infineon that some (old) Infineon TPMs do. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit 829bf0675272d24ba0056f5f79e09544464f0c8d Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:26 2011 -0400 tpm: Use interface timeouts returned from the TPM The TPM driver currently discards the interface timeout values returned from the TPM. The check of the response packet needs to consider that the return_code field is 0 on success and the size of the expected packet is equivalent to the header size + u32 length indicator for the TPM_GetCapability() result + 4 interface timeout indicators of type u32. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit 04ab2293bbd36fc04060da93058cef7789414585 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:25 2011 -0400 tpm_tis: Introduce durations sysfs entry Display the TPM's command timeouts in a 'durations' sysfs entry. Display the entries as having been adjusted when they were scaled due to their values being reported in milliseconds rather than microseconds. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Tested-by: Guillaume Chazarain <guichaz@xxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit e934acca1ee993e1d99d7dc203569a6e5cdfb392 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:24 2011 -0400 tpm: Adjust the durations if they are too small Adjust the durations if they are found to be too small, i.e., if they are returned in milliseconds rather than microseconds as some Infineon TPMs are reported to do. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit 979b140614a5459f340f5f8b1641ef77c863d899 Author: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Date: Wed Mar 30 12:13:23 2011 -0400 tpm: Use durations returned from TPM The TPM driver currently discards the durations values returned from the TPM. The check of the response packet needs to consider that the return_code field is 0 on success and the size of the expected packet is equivalent to the header size + u32 length indicator for the TPM_GetCapability() result + 3 timeout indicators of type u32. v4: - sysfs entry 'durations' is now a patch of its own - the work-around for TPMs reporting durations in milliseconds is now in a patch of its own v3: - sysfs entry now called 'durations' to resemble TPM-speak (previously was called 'timeouts') v2: - adjusting all timeouts for TPM devices reporting timeouts in msec rather than usec - also displaying in sysfs whether the timeouts are 'original' or 'adjusted' Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> Tested-by: Guillaume Chazarain <guichaz@xxxxxxxxx> Signed-off-by: Rajiv Andrade <srajiv@xxxxxxxxxxxxxxxxxx> commit 6e4efd568574221840ee8dd86f176dc977c1330c Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Tue Jul 12 13:42:02 2011 -0400 NFS: Clean up nfs_read_rpcsetup and nfs_write_rpcsetup Split them up into two parts: one which sets up the struct nfs_read/write_data, the other which sets up the actual RPC call or pNFS call. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 87ed5eb44ad9338b1617a0e78dea81d681325298 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Tue Jul 12 13:42:01 2011 -0400 NFS: Don't use DATA_SYNC writes If we're writing back data, and the FLUSH_STABLE flag is set, then we always want to use NFS_FILE_SYNC, since we're always in a situation where we're doing page reclaim, and so we want to free up the page as quickly as possible. If we're in the FLUSH_COND_STABLE case, then we either want to use another unstable write (if we have to do a commit anyway) or again, we want to use NFS_FILE_SYNC because we know that we have no more pages to write out. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit c47abcf8ff4d0c56d20ce541e80d3e1c975f54b5 Author: Andy Adamson <andros@xxxxxxxxxx> Date: Wed Jun 15 17:52:40 2011 -0400 NFSv4.1: do not use deviceids after MDS clientid invalidation Mark all deviceids established under an expired MDS clientid as invalid. Stop all new i/o through DS and send through the MDS. Don't use any new LAYOUTGETs that use the invalid deviceid. Purge all layouts established under the expired MDS clientid. Remove the MDS clientid deviceid and data servers reference Signed-off-by: Andy Adamson <andros@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit a56aaa02b1f723e28b41d339ddff02e958d32d43 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Wed Jun 15 11:59:10 2011 -0400 NFSv4.1: Clean up layoutreturn Since we take a reference to it, we really ought to pass the a pointer to the layout header in the arguments instead of assuming that NFS_I(inode)->layout will forever point to the correct object. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit aa5c01446610f0305f96251d0f9621866b8e5a14 Author: Boaz Harrosh <bharrosh@xxxxxxxxxxx> Date: Mon Jun 13 17:52:55 2011 -0400 pnfs-obj: pnfs_osd_xdr: Remove dead code and cleanup * Some leftovers from ancient times. * This file will only define common types and client API. Remove server from comments Signed-off-by: Boaz Harrosh <Boaz Harrosh bharrosh@xxxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 7c24d9489fe57d67cb56c6bdad58d89806e7fd97 Author: Andy Adamson <andros@xxxxxxxxxx> Date: Mon Jun 13 18:22:38 2011 -0400 NFSv4.1: File layout only supports whole file layouts Ask for whole file layouts. Until support for layout segments is fully supported in the file layout code, discard non-whole file layouts. Signed-off-by: Andy Adamson <andros@xxxxxxxxxx> Signed-off-by: Fred Isaman <iisaman@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 47cb498e9316314e7e681f417135589195ad78a7 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Tue Jun 14 12:18:11 2011 -0400 NFSv4.1: Clean ups for the device id cache The fact that the global device id cache holds a reference to the nfs4_deviceid_node until it is invisible to rcu lookups implies that we can always assume that the reference count is non-zero in _find_get_deviceid. Also clean up nfs4_put_deviceid_node and the removal of the device id from the cache. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit e885de1a5bc9f46ef8f934c5a7602c89d2d51e8d Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Fri Jun 10 13:30:23 2011 -0400 NFSv4.1: Fall back to ordinary i/o through the mds if we have no layout segment Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit d8007d4dd6ff8749cc8a4063c3ec87442db76d82 Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Fri Jun 10 13:30:23 2011 -0400 NFSv4.1: Add an initialisation callback for pNFS Ensure that we always get a layout before setting up the i/o request. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 1751c3638f2a07a8c66a803a31791bab9bd3fced Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> Date: Fri Jun 10 13:30:23 2011 -0400 NFS: Cleanup of the nfs_pageio code in preparation for a pnfs bugfix We need to ensure that the layouts are set up before we can decide to coalesce requests. To do so, we want to further split up the struct nfs_pageio_descriptor operations into an initialisation callback, a coalescing test callback, and a 'do i/o' callback. This patch cleans up the existing callback methods before adding the 'initialisation' callback. Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit f062eb6ced3b297277b94b4da3113b1d3782e539 Author: Bryan Schumaker <bjschuma@xxxxxxxxxx> Date: Thu Jun 2 14:59:10 2011 -0400 NFS: test and free stateids during recovery When recovering open files and locks, the stateid should be tested against the server and freed if it is invalid. This patch adds new recovery functions for NFS v4.1. Signed-off-by: Bryan Schumaker <bjschuma@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 9aeda35fd643eba683fdb8dba8907fa796a85dda Author: Bryan Schumaker <bjschuma@xxxxxxxxxx> Date: Thu Jun 2 14:59:09 2011 -0400 NFS: added FREE_STATEID call FREE_STATEID is used to tell the server that we want to free a stateid that no longer has any locks associated with it. This allows the client to reclaim locks without encountering edge conditions documented in section 8.4.3 of RFC 5661. Signed-off-by: Bryan Schumaker <bjschuma@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 7d9747947ae66d8f6a9a9a023a3a5e28df6a536e Author: Bryan Schumaker <bjschuma@xxxxxxxxxx> Date: Thu Jun 2 14:59:08 2011 -0400 NFS: Added TEST_STATEID call This patch adds in the xdr for doing a TEST_STATEID call with a single stateid. RFC 5661 allows multiple stateids to be tested in a single call, but only testing one keeps things simpler for now. Signed-off-by: Bryan Schumaker <bjschuma@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit fca78d6d2c77f87d7dbee89bbe4836a44da881e2 Author: Bryan Schumaker <bjschuma@xxxxxxxxxx> Date: Thu Jun 2 14:59:07 2011 -0400 NFS: Add SECINFO_NO_NAME procedure If the client is using NFS v4.1, then we can use SECINFO_NO_NAME to find the secflavor for the initial mount. If the server doesn't support SECINFO_NO_NAME then I fall back on the "guess and check" method used for v4.0 mounts. Signed-off-by: Bryan Schumaker <bjschuma@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 6382a44138e7aa40bf52170e7afc014443a24806 Author: Weston Andros Adamson <dros@xxxxxxxxxx> Date: Wed Jun 1 16:44:44 2011 -0400 NFS: move pnfs layouts to nfs_server structure Layouts should be tracked per nfs_server (aka superblock) instead of per struct nfs_client, which may have multiple FSIDs associated with it. Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 35dbbc99e93e57680837c17f96efe370f0535064 Author: Weston Andros Adamson <dros@xxxxxxxxxx> Date: Wed Jun 1 16:32:21 2011 -0400 NFS: fix comment We support IPv4 and IPv6 now. Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 78fe0f41d9937ee62817912ac8d627e06243c269 Author: Weston Andros Adamson <dros@xxxxxxxxxx> Date: Tue May 31 19:05:47 2011 -0400 NFS: use scope from exchange_id to skip reclaim can be skipped if the "eir_server_scope" from the exchange_id proc differs from previous calls. Also, in the future server_scope will be useful for determining whether client trunking is available Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 7e574f0d3911c5cc60d4d2b57fee975c462d6cd0 Author: Weston Andros Adamson <dros@xxxxxxxxxx> Date: Tue May 31 18:48:58 2011 -0400 NFS: pnfs: loop over multipath addrs on connect Don't just use the first addr in the multipath list - instead, loop over addresses when calling nfs4_set_ds_client() (which calls connect) until it is successful. Although this is not real multipath support, it's a quick fix to handle when an MDS sends a list of addresses for a DS and some of the addr families are unsupported or misconfigured (like no routable ipv6 addr assigned). This will attempt all paths to the DS before giving up, instead of immediately falling back to the MDS. As before, an error encountered after a successful connect() will cause all i/o to fall back to the MDS. Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 14f9a6076f5388f3fd6341ad4b841337b28fc825 Author: Weston Andros Adamson <dros@xxxxxxxxxx> Date: Tue May 31 18:48:57 2011 -0400 NFS: Parse and store all multipath DS addresses This parses and stores all addresses associated with each data server, laying the groundwork for supporting multipath to data servers. - Skips over addresses that cannot be parsed (ie IPv6 addrs if v6 is not enabled). Only fails if none of the addresses are recognizable - Currently only uses the first address that parsed cleanly - Tested against pynfs server (modified to support multipath) Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit c9895cb69b07a4b17d8fdae26667f9a9fba5183b Author: Weston Andros Adamson <dros@xxxxxxxxxx> Date: Tue May 31 18:48:56 2011 -0400 NFS: pnfs IPv6 support Handle ipv6 remote addresses from GETDEVICEINFO - supports netid "tcp" for ipv4 and "tcp6" for ipv6 as rfc 5665 specifies - added ds_remotestr to avoid having to handle different AFs in every dprintk - tested against pynfs 4.1 server, submitting ipv6 support patch to pynfs - tested with IPv6 disabled, it compiles cleanly and relies on rpc_pton to refuse to accept IPv6 addresses Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 82c2c8b8616fa9e77264c53f0df483f74ac54613 Author: Vasily Averin <vvs@xxxxx> Date: Wed Jun 1 16:54:32 2011 +0400 lockd: properly convert be32 values in debug messages lockd: server returns status 50331648 it's quite hard to understand that number in this message is 3 in big endian Signed-off-by: Vasily Averin <vvs@xxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit 726fd6ad59f73bd116b6a22d701db078183673c8 Author: Vasily Averin <vvs@xxxxx> Date: Wed Jun 1 16:23:59 2011 +0400 sunrpc: use dprint_status() macro in call_decode() common dprint_status() macro is used in all callbacks but not in call_decode() Signed-off-by: Vasily Averin <vvs@xxxxx> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> commit df98b6e2c52f65665eaf0fc23e647fb64335b289 Author: Josef Bacik <josef@xxxxxxxxxx> Date: Mon Jun 20 14:53:48 2011 -0400 Btrfs: fix how we merge extent states and deal with cached states First, we can sometimes free the state we're merging, which means anybody who calls merge_state() may have the state it passed in free'ed. This is problematic because we could end up caching the state, which makes caching useless as the state will no longer be part of the tree. So instead of free'ing the state we passed into merge_state(), set it's end to the other->end and free the other state. This way we are sure to cache the correct state. Also because we can merge states together, instead of only using the cache'd state if it's start == the start we are looking for, go ahead and use it if the start we are looking for is within the range of the cached state. Thanks, Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> commit 2f356126c589d562f98e2287f9c7b983388dc62f Author: Josef Bacik <josef@xxxxxxxxxx> Date: Fri Jun 10 15:31:13 2011 -0400 Btrfs: use the normal checksumming infrastructure for free space cache We used to store the checksums of the space cache directly in the space cache, however that doesn't work out too well if we have more space than we can fit the checksums into the first page. So instead use the normal checksumming infrastructure. There were problems with doing this originally but those problems don't exist now so this works out fine. Thanks, Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> commit fdb5effd5c2a7e01dc3a4217bb194e2d3a5b160f Author: Josef Bacik <josef@xxxxxxxxxx> Date: Tue Jun 7 16:07:44 2011 -0400 Btrfs: serialize flushers in reserve_metadata_bytes We keep having problems with early enospc, and that's because our method of making space is inherently racy. The problem is we can have one guy trying to make space for himself, and in the meantime people come in and steal his reservation. In order to stop this we make a waitqueue and put anybody who comes into reserve_metadata_bytes on that waitqueue if somebody is trying to make more space. Thanks, Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> commit b5009945be18023942ce28327893c7bc1e58fe54 Author: Josef Bacik <josef@xxxxxxxxxx> Date: Tue Jun 7 15:07:51 2011 -0400 Btrfs: do transaction space reservation before joining the transaction We have to do weird things when handling enospc in the transaction joining code. Because we've already joined the transaction we cannot commit the transaction within the reservation code since it will deadlock, so we have to return EAGAIN and then make sure we don't retry too many times. Instead of doing this, just do the reservation the normal way before we join the transaction, that way we can do whatever we want to try and reclaim space, and then if it fails we know for sure we are out of space and we can return ENOSPC. Thanks, Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> commit fa09200b8334f9a6af3f656edae924a98d85630f Author: Josef Bacik <josef@xxxxxxxxxx> Date: Fri May 27 12:06:11 2011 -0400 Btrfs: try to only do one btrfs_search_slot in do_setxattr I've been watching how many btrfs_search_slot()'s we do and I noticed that when we create a file with selinux enabled we were doing 2 each time we initialize the security context. That's because we lookup the xattr first so we can delete it if we're setting a new value to an existing xattr. But in the create case we don't have any xattrs, so it is completely useless to have the extra lookup. So re-arrange things so that we only lookup first if we specifically have XATTR_REPLACE. That way in the basic case we only do 1 search, and in the more complicated case we do the normal 2 lookups. Thanks, Signed-off-by: Josef Bacik <josef@xxxxxxxxxx> commit 97fb35e413f256ded07b88c73b3d932ec31ea84e Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 8 13:25:53 2011 +0900 TOMOYO: Enable conditional ACL. Enable conditional ACL by passing object's pointers. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 5b636857fee642694e287e3a181b523b16098c93 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 8 13:24:54 2011 +0900 TOMOYO: Allow using argv[]/envp[] of execve() as conditions. This patch adds support for permission checks using argv[]/envp[] of execve() request. Hooks are in the last patch of this pathset. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 2ca9bf453bdd478bcb6c01aa2d0bd4c2f4350563 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 8 13:23:44 2011 +0900 TOMOYO: Allow using executable's realpath and symlink's target as conditions. This patch adds support for permission checks using executable file's realpath upon execve() and symlink's target upon symlink(). Hooks are in the last patch of this pathset. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 8761afd49ebff8ae04c1a7888af090177441d07d Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 8 13:22:41 2011 +0900 TOMOYO: Allow using owner/group etc. of file objects as conditions. This patch adds support for permission checks using file object's DAC attributes (e.g. owner/group) when checking file's pathnames. Hooks for passing file object's pointers are in the last patch of this pathset. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 2066a36125fcbf5220990173b9d8e8bc49ad7538 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Fri Jul 8 13:21:37 2011 +0900 TOMOYO: Allow using UID/GID etc. of current thread as conditions. This patch adds support for permission checks using current thread's UID/GID etc. in addition to pathnames. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit bdda82162837a20e591ac01b306dc8f052270510 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Jul 9 12:41:46 2011 -0700 Input: gpio_keys - switch to using SIMPLE_DEV_PM_OPS This reduces amount #ifdeds in the code. Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit fd05d08920b54d189aa247c5c5701a08e539ed0b Author: David Jander <david@xxxxxxxxxxx> Date: Sat Jul 9 12:41:46 2011 -0700 Input: gpio_keys - add support for device-tree platform data This patch enables fetching configuration data, which is normally provided via platform_data, from the device-tree instead. If the device is configured from device-tree data, the platform_data struct is not used, and button data needs to be allocated dynamically. Big part of this patch deals with confining pdata usage to the probe function, to make this possible. Signed-off-by: David Jander <david@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit eadba0c9c41bfa840b0f1e9ee369a869c2a322b3 Author: Edwin van Vliet <edwin@xxxxxxxxxx> Date: Sun Jul 10 16:07:28 2011 -0700 Input: aiptek - remove double define Constant AIPTEK_TOOL_BUTTON_PEN_MODE was defined twice. Signed-off-by: Edwin van Vliet <edwin@xxxxxxxxxx> Reviewed-by: Jesper Juhl <jj@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit a66413fbc37994710d638aec3314f735a7ac0df5 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Jul 9 12:32:56 2011 -0700 Input: synaptics - set minimum coordinates as reported by firmware Newer Synaptics firmware allows to query minimum coordinates reported by the device, let's use this data. Acked-by: Chase Douglas <chase.douglas@xxxxxxxxxxxxx> Acked-by: Henrik Rydberg <rydberg@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 5c4274f13819b40e726f6ee4ef13b4952cff5010 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Jul 7 21:20:35 2011 +0900 TOMOYO: Remove /sys/kernel/security/tomoyo/.domain_status interface. /sys/kernel/security/tomoyo/.domain_status can be easily emulated using /sys/kernel/security/tomoyo/domain_policy . We can remove this interface by updating /usr/sbin/tomoyo-setprofile utility. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 28d5fd860f97f017573c4cd8f199bab867c50a11 Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Wed Jul 6 22:57:39 2011 -0700 Input: synaptics - process button bits in AGM packets AGM packets contain valid button bits, too. This patch refactors packet processing to parse button bits in AGM packets. However, they aren't actually used or reported. The point is to more completely process AGM packets, and prepare for future patches that may actually use AGM packet button bits. Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Acked-by: Chase Douglas <chase.douglas@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit bea9f0ff263e1c2031d76afc21c22ad773f0b163 Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Wed Jul 6 22:42:52 2011 -0700 Input: synaptics - rename set_slot to be more descriptive Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Acked-by: Chase Douglas <chase.douglas@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit a9f0b79edfda3750d254ba5b192795e2554c361d Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Wed Jul 6 22:39:14 2011 -0700 Input: synaptics - fuzz position for touchpad with reduced filtering Synaptics touchpads indicate via a capability bit when they perform reduced filtering on position data. In such a case, use a non-zero fuzz value. Fuzz = 8 was chosen empirically by observing the raw position data reported by a clickpad indicating it had reduced filtering. Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Acked-by: Chase Douglas <chase.douglas@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 8be3c650f54c259694e82282e54b12c14304487e Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Wed Jul 6 22:27:47 2011 -0700 Input: synaptics - set resolution for MT_POSITION_X/Y axes Set resolution for MT_POSITION_X and MT_POSITION_Y to match ABS_X and ABS_Y, respectively. Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Acked-by: Chase Douglas <chase.douglas@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 84460014505685ab234fa8e1a45dffd32f3a46a7 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Jul 6 18:05:43 2011 -0700 Input: wacom - cleanup a return value for the old Bamboo The old code may call input_sync() without sending any other events. While it will be suppressed by the input core not calling it at all is still cheaper. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Chris Bagwell <chris@xxxxxxxxxxxxxx> Reviewed-by: Henrik Rydberg <rydberg@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 0bd10ef8f8a29d824561a4678f5e63350751407a Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Jul 6 18:05:42 2011 -0700 Input: wacom - update Graphire4 and old Bamboo tablet buttons Bamboo touch sets BTN_BACK, BTN_FORWARD, BTN_LEFT, and BTN_RIGHT as the default button events for tablet buttons. Change Graphire4 and old Bamboo to the same settings. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Chris Bagwell <chris@xxxxxxxxxxxxxx> Reviewed-by: Henrik Rydberg <rydberg@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 998c454e1c850f8e5cc0ae2299c4789b395d6d98 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Jul 6 18:05:41 2011 -0700 Input: wacom - add serial number for Graphire4 and old Bamboo With the removal of BTN_TOOL_FINGER for tablet buttons and expresskeys, serial number is needed to distingush if the events were from a regular tool (stylus, eraser, or mouse) or the attribures (buttons, strips, or wheels) on the tablet since there are overlapped events between the tools and the tablet attributes. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Chris Bagwell <chris@xxxxxxxxxxxxxx> Reviewed-by: Henrik Rydberg <rydberg@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 358ea22ee3e14894a2598580297767ccc010119b Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Jul 6 18:05:41 2011 -0700 Input: wacom - remove BTN_TOOL_FINGER for pad BTN_TOOL_FINGER was designed to indicate a single finger touch. Remove the lines that borrowed this type for expresskeys and tablet buttons. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit e8e70d83912b40c5c9ea7b85a6110b9925fbed62 Author: Chris Hudson <chudson@xxxxxxxxxx> Date: Wed Jul 6 18:36:51 2011 -0700 Input: add support for Kionix KXTJ9 accelerometer Signed-off-by: Chris Hudson <chudson@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 7bed4b2c97d548c652ada6111604568ea6b0c423 Author: Simon Budig <simon.budig@xxxxxxxxxxxxxxxxx> Date: Mon Jul 4 19:56:01 2011 -0700 Input: add guarding parentheses to macros Put parentheses around macro argument uses. This avoids pitfalls for the programmer, where the argument expansion does not give the expected result, for example: ioctl (fd, EVIOCGABS (have_mt ? ABS_MT_POSITION_X : ABS_X), &abs); Signed-off-by: Simon Budig <simon.budig@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 77da38387e1c6f473744afccd83795805f506498 Author: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Date: Mon Jul 4 19:22:01 2011 -0700 Input: wm97xx - mark channels which need pen_down Currently, battery drivers also use poll_sample() provided by the wm97xx-core but this code always checks if the pen is down. Mark the channels which really need this (i.e. for the touchscreen) with the PEN_DOWN bit, and skip the checks otherwise. Now, the battery channels can always be read. Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit c8f205258bc8942e79cd37ebc1c8ec4652a1a501 Author: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Date: Mon Jul 4 19:22:00 2011 -0700 Input: wm97xx - refactor channel selection in poll_sample() The current implementation of poll_sample() has the problem that one of its arguments, the channel to be selected, differs from wm9713 to other variants. This parameter gets passed to the (currently unused) mach-specific functions pre_sample() and post_sample() which thus have to deal with codec-specific differences. Refactor the routine so that the argument to poll_sample() is generic for all codecs and do necessary conversions only in the codec-specific driver. The outcome even uses less code and removes the non-standard use of the PEN_DOWN bit to mark the AUX-channels. Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 2456689b3b11ddecc091cd5f00b9adea6a9854cf Author: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Date: Mon Jul 4 19:22:00 2011 -0700 Input: wm97xx - remove redundant define Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 5f098ecd4288333d87e2293239fab1c13ec90dae Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Mon Jul 4 19:22:00 2011 -0700 Input: xen-kbdfront - enable driver for HVM guests Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit b514d4f7c6506b696d7de6a4426d0886753e43c9 Author: Chris Moeller <kode54@xxxxxxxxx> Date: Mon Jul 4 19:21:59 2011 -0700 Input: xpad - enable rumble support for XBox360 Wireless Controllers This patch implements rumble support for XBox360 Wireless Controllers. Signed-off-by: Chris Moeller <kode54@gmail.c> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit cca8edfd2ec2a34d9f50f593bc753bb11e1bc1f5 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Jul 4 06:34:48 2011 -0700 Input: sh_keysc - fix compile warning The "#if" above should really be an "#ifdef" to avoid this warning: CC drivers/input/keyboard/sh_keysc.o drivers/input/keyboard/sh_keysc.c:294:5: warning: "CONFIG_PM_SLEEP" is not defined Reported-by: Magnus Damm <magnus.damm@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit a93d4f2d023ea5e84c0104d4e479243c6ac77d17 Author: Iiro Valkonen <iiro.valkonen@xxxxxxxxx> Date: Mon Jul 4 03:16:25 2011 -0700 Input: atmel_mxt_ts - handle objects with multiple instances correctly Handle the objects with multiple instances correctly when the configuration data is loaded. Signed-off-by: Iiro Valkonen <iiro.valkonen@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 81c88a711aef5552375c4296bb473fdf9b12273c Author: Iiro Valkonen <iiro.valkonen@xxxxxxxxx> Date: Mon Jul 4 03:08:25 2011 -0700 Input: atmel_mxt_ts - update object list Update the object list to include new objects, and add unique identifiers so we can distinguish between old & new generation of the same object. Signed-off-by: Iiro Valkonen <iiro.valkonen@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit ea504819122a76a236f8b95d1556f807a0a41397 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Thu Jun 30 17:32:30 2011 +0900 TOMOYO: Fix wrong domainname in tomoyo_init_log(). Commit eadd99cc "TOMOYO: Add auditing interface." by error replaced "struct tomoyo_request_info"->domain with tomoyo_domain(). Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit ad599f9cf0187e823bc92bc83f3867a38fa266b9 Author: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Date: Wed Jun 29 14:53:56 2011 -0400 encrypted-keys: move ecryptfs documentation to proper location Move keys-ecryptfs.txt to Documentation/security. Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 3ddf17f08cf2f0d7ff06858eb07d1cc3db8994de Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 29 14:22:37 2011 +0900 TOMOYO: Cleanup header file. Sort by alphabetic order. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 3a6297abf3b179ae19b849e429841a7646711b70 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 29 14:17:31 2011 +0900 TOMOYO: Update MAINTAINERS file. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 7986cf28bc5050967a7056d6eadda7f16f84eaab Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Wed Jun 29 13:07:52 2011 +0900 TOMOYO: Fix build error with CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER=y . I forgot to add #ifndef in commit 0e4ae0e0 "TOMOYO: Make several options configurable.", resulting security/built-in.o: In function `tomoyo_bprm_set_creds': tomoyo.c:(.text+0x4698e): undefined reference to `tomoyo_load_policy' error. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit da3f1c7b7d34e66cf571a613525ca0d23f92d42f Merge: 5b944a71a192977c1c018bbcfa0c52dca48e2368 25e75dff519bcce2cb35023105e7df51d7b9e691 Author: James Morris <jmorris@xxxxxxxxx> Date: Thu Jun 30 18:44:55 2011 +1000 Merge branch 'for-security' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/apparmor-dev into next commit 5b944a71a192977c1c018bbcfa0c52dca48e2368 Merge: 0e4ae0e0dec634b2ae53ac57d14141b140467dbe c017d0d1351f916c0ced3f358afc491fdcf490b4 Author: James Morris <jmorris@xxxxxxxxx> Date: Thu Jun 30 18:43:56 2011 +1000 Merge branch 'linus' into next commit c7b4a5d58bffdf3aa7f923319643af0ebf925515 Author: Jiejing Zhang <jiejing.zhang@xxxxxxxxxxxxx> Date: Wed Jun 29 01:28:21 2011 -0700 Input: mpr121 - improve sensibility of touch key The Quick Charge bit in Electrode conf register should be set in init function. This bit was missed in chip's document, which may cause touch controller charge too slow to generate an interrupt. Also, adjust the default vlaue of touch and release threshold to make touch key more sensitive, this fix touch may not sensitive after setup with plastic case. Signed-off-by: Jiejing Zhang <jiejing.zhang@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 631b16e81eab82e2894425a94c3fc14bf21adb26 Author: Joseph Lai <joseph_lai@xxxxxxxxxxx> Date: Mon Jun 27 13:26:53 2011 -0700 Input: add a driver to support InvenSense mpu3050 gyroscope chip This driver is registered as an input device. An IRQ is required in this basic driver configuration. Signed-off-by: Joseph Lai <joseph_lai@xxxxxxxxxxx> [Cleaned up PM_RUNTIME defines] Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> [dtor@xxxxxxx: consolidated PM methods, some code rearrangement] Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 7c40952295db64867a45938b860a217b622cc3ed Author: Hans-Christian Egtvedt <hans-christian.egtvedt@xxxxxxxxx> Date: Wed Jun 29 00:13:26 2011 -0700 Input: update author email for gpio_mouse, at32psif, and atmel-wm97xx This patch updates the email address of the gpio_mouse, at32psif, and atmel-wm97xx drivers supported by me to an email account I will use on a more regular basis in the future. Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 1638207910019368253fc4c4a930c49ce2e98432 Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Tue Jun 28 14:23:30 2011 -0700 Input: gpio_keys - fix a memory leak Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 25e75dff519bcce2cb35023105e7df51d7b9e691 Author: John Johansen <john.johansen@xxxxxxxxxxxxx> Date: Sat Jun 25 16:57:07 2011 +0100 AppArmor: Fix masking of capabilities in complain mode AppArmor is masking the capabilities returned by capget against the capabilities mask in the profile. This is wrong, in complain mode the profile has effectively all capabilities, as the profile restrictions are not being enforced, merely tested against to determine if an access is known by the profile. This can result in the wrong behavior of security conscience applications like sshd which examine their capability set, and change their behavior accordingly. In this case because of the masked capability set being returned sshd fails due to DAC checks, even when the profile is in complain mode. Kernels affected: 2.6.36 - 3.0. Signed-off-by: John Johansen <john.johansen@xxxxxxxxxxxxx> commit 04fdc099f9c80c7775dbac388fc97e156d4d47e7 Author: John Johansen <john.johansen@xxxxxxxxxxxxx> Date: Tue Jun 28 15:06:38 2011 +0100 AppArmor: Fix reference to rcu protected pointer outside of rcu_read_lock The pointer returned from tracehook_tracer_task() is only valid inside the rcu_read_lock. However the tracer pointer obtained is being passed to aa_may_ptrace outside of the rcu_read_lock critical section. Mover the aa_may_ptrace test into the rcu_read_lock critical section, to fix this. Kernels affected: 2.6.36 - 3.0 Reported-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: John Johansen <john.johansen@xxxxxxxxxxxxx> commit 0e4ae0e0dec634b2ae53ac57d14141b140467dbe Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:22:59 2011 +0900 TOMOYO: Make several options configurable. To be able to start using enforcing mode from the early stage of boot sequence, this patch adds support for activating access control without calling external policy loader program. This will be useful for systems where operations which can lead to the hijacking of the boot sequence are needed before loading the policy. For example, you can activate immediately after loading the fixed part of policy which will allow only operations needed for mounting a partition which contains the variant part of policy and verifying (e.g. running GPG check) and loading the variant part of policy. Since you can start using enforcing mode from the beginning, you can reduce the possibility of hijacking the boot sequence. This patch makes several variables configurable on build time. This patch also adds TOMOYO_loader= and TOMOYO_trigger= kernel command line option to boot the same kernel in two different init systems (BSD-style init and systemd). Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit efe836ab2b514ae7b59528af36d452978b42d266 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:22:18 2011 +0900 TOMOYO: Add built-in policy support. To be able to start using enforcing mode from the early stage of boot sequence, this patch adds support for built-in policy configuration (and next patch adds support for activating access control without calling external policy loader program). Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit b22b8b9fd90eecfb7133e56b4e113595f09f4492 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:21:50 2011 +0900 TOMOYO: Rename meminfo to stat and show more statistics. Show statistics such as last policy update time and last policy violation time in addition to memory usage. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 2c47ab9353242b0f061959318f83c55360b88fa4 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:21:19 2011 +0900 TOMOYO: Cleanup part 4. Gather string constants to one file in order to make the object size smaller. Use unsigned type where appropriate. read()/write() returns ssize_t. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 2e503bbb435ae418aebbe4aeede1c6f2a33d6f74 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:20:55 2011 +0900 TOMOYO: Fix lockdep warning. Currently TOMOYO holds SRCU lock upon open() and releases it upon close() because list elements stored in the "struct tomoyo_io_buffer" instances are accessed until close() is called. However, such SRCU usage causes lockdep to complain about leaving the kernel with SRCU lock held. This patch solves the warning by holding/releasing SRCU upon each read()/write(). This patch is doing something similar to calling kfree() without calling synchronize_srcu(), by selectively deferring kfree() by keeping track of the "struct tomoyo_io_buffer" instances. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 5625f2e3266319fd29fe4f1c76ccd3f550c79ac4 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:20:23 2011 +0900 TOMOYO: Change pathname for non-rename()able filesystems. TOMOYO wants to use /proc/self/ rather than /proc/$PID/ if $PID matches current thread's process ID in order to prevent current thread from accessing other process's information unless needed. But since procfs can be mounted on various locations (e.g. /proc/ /proc2/ /p/ /tmp/foo/100/p/ ), TOMOYO cannot tell that whether the numeric part in the string returned by __d_path() represents process ID or not. Therefore, to be able to convert from $PID to self no matter where procfs is mounted, this patch changes pathname representations for filesystems which do not support rename() operation (e.g. proc, sysfs, securityfs). Examples: /proc/self/mounts => proc:/self/mounts /sys/kernel/security/ => sys:/kernel/security/ /dev/pts/0 => devpts:/0 Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit bd03a3e4c9a9df0c6b007045fa7fc8889111a478 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:19:52 2011 +0900 TOMOYO: Add policy namespace support. Mauras Olivier reported that it is difficult to use TOMOYO in LXC environments, for TOMOYO cannot distinguish between environments outside the container and environments inside the container since LXC environments are created using pivot_root(). To address this problem, this patch introduces policy namespace. Each policy namespace has its own set of domain policy, exception policy and profiles, which are all independent of other namespaces. This independency allows users to develop policy without worrying interference among namespaces. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 32997144fd9925fc4d506a16990a0c405f766526 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:19:28 2011 +0900 TOMOYO: Add ACL group support. ACL group allows administrator to globally grant not only "file read" permission but also other permissions. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit eadd99cc85347b4f9eb10122ac90032eb4971b02 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:18:58 2011 +0900 TOMOYO: Add auditing interface. Add /sys/kernel/security/tomoyo/audit interface. This interface generates audit logs in the form of domain policy so that /usr/sbin/tomoyo-auditd can reuse audit logs for appending to /sys/kernel/security/tomoyo/domain_policy interface. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit d5ca1725ac9ba876c2dd614bb9826d0c4e13d818 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:18:21 2011 +0900 TOMOYO: Simplify profile structure. Remove global preference from profile structure in order to make code simpler. Due to this structure change, printk() warnings upon policy violation are temporarily disabled. They will be replaced by /sys/kernel/security/tomoyo/audit by next patch. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 0d2171d711cbfca84cc0001121be8a6cc8e4d148 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:17:46 2011 +0900 TOMOYO: Rename directives. Convert "allow_..." style directives to "file ..." style directives. By converting to the latter style, we can pack policy like "file read/write/execute /path/to/file". Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit a238cf5b89ed5285be8de56335665d023972f7d5 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:17:10 2011 +0900 TOMOYO: Use struct for passing ACL line. Use structure for passing ACL line, in preparation for supporting policy namespace and conditional parameters. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 0df7e8b8f1c25c10820bdc679555f2fbfb897ca0 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:16:36 2011 +0900 TOMOYO: Cleanup part 3. Use common structure for ACL with "struct list_head" + "atomic_t". Use array/struct where possible. Remove is_group from "struct tomoyo_name_union"/"struct tomoyo_number_union". Pass "struct file"->private_data rather than "struct file". Update some of comments. Bring tomoyo_same_acl_head() from common.h to domain.c . Bring tomoyo_invalid()/tomoyo_valid() from common.h to util.c . Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit b5bc60b4ce313b6dbb42e7d32915dcf0a07c2a68 Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:16:03 2011 +0900 TOMOYO: Cleanup part 2. Update (or temporarily remove) comments. Remove or replace some of #define lines. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 7c75964f432d14062d8eccfc916aa290f56b5aab Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 26 23:15:31 2011 +0900 TOMOYO: Cleanup part 1. In order to synchronize with TOMOYO 1.8's syntax, (1) Remove special handling for allow_read/write permission. (2) Replace deny_rewrite/allow_rewrite permission with allow_append permission. (3) Remove file_pattern keyword. (4) Remove allow_read permission from exception policy. (5) Allow creating domains in enforcing mode without calling supervisor. (6) Add permission check for opening directory for reading. (7) Add permission check for stat() operation. (8) Make "cat < /sys/kernel/security/tomoyo/self_domain" behave as if "cat /sys/kernel/security/tomoyo/self_domain". Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 58c244009ef6ca450f0d787828a7f2f27651db5b Author: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Date: Mon Jun 27 13:06:27 2011 -0700 Input: ads7846 - cleanup GPIO initialization Use gpio_request_one() instead of multiple gpiolib calls. This also simplifies error handling a bit. Signed-off-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 11d0cf8859451d6336959204b2d4cc173dd1aa4e Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Mon Jun 27 12:57:58 2011 -0700 Input: wacom - add 3 new models - 6A, 6B, and 97 Tested-by: Alex Tervoort <alex.tervoort@xxxxxxxxx> for 6A Signed-off-by: David Foley <favux.is@xxxxxxxxx> Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit a001a8f3cedb0e3cb92ff3abdb3170df7da92d47 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Mon Jun 27 12:57:58 2011 -0700 Input: wacom - Wacom Bamboo Pen D4 has 1024 pressure levels D4 has 1024, not 512, pressure levels. Reported-by: David Foley <favux.is@xxxxxxxxx> Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit b23302052d96a3945e4c72aca77b5fd28884c353 Author: David Jander <david@xxxxxxxxxxx> Date: Thu Jun 23 01:30:09 2011 -0700 Input: gpio_keys - move to late_initcall Initialize gpio_keys driver at late_initcall level, to give it a chance to work with GPIO expanders that might not be ready yet if we initialize the driver at module_init time. This is strictly a band-aid until there is a better way to specify inter-device dependencies. Signed-off-by: David Jander <david@xxxxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 6a592a7f4514cd744e154a146db1ab7af06a7ee7 Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Mon Jun 27 12:42:12 2011 -0700 Input: tnetv107x-ts - fix MODULE_ALIAS Remove the space between "platform:" prefix and the driver name. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 51a3db41e18254b938279cb4b160310e11a13d4f Author: Axel Lin <axel.lin@xxxxxxxxx> Date: Mon Jun 27 12:38:43 2011 -0700 Input: tnetv107x-keypad - fix MODULE_ALIAS Remove the space between "platform:" prefix and the driver name. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 5993548725ba3f3deb2b90a681a62dbb7bd17961 Author: Jesper Juhl <jj@xxxxxxxxxxxxx> Date: Mon Jun 27 11:59:43 2011 -0700 Input: remove unneeded version.h includes It was pointed out by 'make versioncheck' that some includes of linux/version.h are not needed in drivers/input/. This patch removes them. Signed-off-by: Jesper Juhl <jj@xxxxxxxxxxxxx> Acked-by: Mike Frysinger <vapier@xxxxxxxxxx> Acked-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 1252cc3b232e582e887623dc5f70979418caaaa2 Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Mon Jun 27 13:45:45 2011 +0200 eCryptfs: added support for the encrypted key type The function ecryptfs_keyring_auth_tok_for_sig() has been modified in order to search keys of both 'user' and 'encrypted' types. Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Acked-by: Gianluca Ramunno <ramunno@xxxxxxxxx> Acked-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 79a73d188726b473ca3bf483244bc96096831905 Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Mon Jun 27 13:45:44 2011 +0200 encrypted-keys: add ecryptfs format support The 'encrypted' key type defines its own payload format which contains a symmetric key randomly generated that cannot be used directly to mount an eCryptfs filesystem, because it expects an authentication token structure. This patch introduces the new format 'ecryptfs' that allows to store an authentication token structure inside the encrypted key payload containing a randomly generated symmetric key, as the same for the format 'default'. More details about the usage of encrypted keys with the eCryptfs filesystem can be found in the file 'Documentation/keys-ecryptfs.txt'. Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Acked-by: Gianluca Ramunno <ramunno@xxxxxxxxx> Acked-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit f8f8527103a264b5e4ab2ce5c1743b28f3219d90 Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Mon Jun 27 13:45:43 2011 +0200 eCryptfs: export global eCryptfs definitions to include/linux/ecryptfs.h Some eCryptfs specific definitions, such as the current version and the authentication token structure, are moved to the new include file 'include/linux/ecryptfs.h', in order to be available for all kernel subsystems. Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Acked-by: Gianluca Ramunno <ramunno@xxxxxxxxx> Acked-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 4e561d388feff18e4b798cef6a1a84a2cc7f20c2 Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Mon Jun 27 13:45:42 2011 +0200 encrypted-keys: add key format support This patch introduces a new parameter, called 'format', that defines the format of data stored by encrypted keys. The 'default' format identifies encrypted keys containing only the symmetric key, while other formats can be defined to support additional information. The 'format' parameter is written in the datablob produced by commands 'keyctl print' or 'keyctl pipe' and is integrity protected by the HMAC. Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Acked-by: Gianluca Ramunno <ramunno@xxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 7103dff0e598cd634767f17a2958302c515700ca Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Mon Jun 27 13:45:41 2011 +0200 encrypted-keys: added additional debug messages Some debug messages have been added in the function datablob_parse() in order to better identify errors returned when dealing with 'encrypted' keys. Changelog from version v4: - made the debug messages more understandable Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Acked-by: Gianluca Ramunno <ramunno@xxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 08fa2aa54e72ddde8076cc77126bace8d4780e0f Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Mon Jun 27 13:45:40 2011 +0200 encrypted-keys: fixed valid_master_desc() function description Valid key type prefixes for the parameter 'key-type' are: 'trusted' and 'user'. Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Acked-by: Gianluca Ramunno <ramunno@xxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit f91c2c5cfa2950a20265b45bcc13e49ed9e49aac Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Mon Jun 27 13:45:39 2011 +0200 encrypted_keys: avoid dumping the master key if the request fails Do not dump the master key if an error is encountered during the request. Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Acked-by: Gianluca Ramunno <ramunno@xxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 3ead8b5ddbe6ca8e79b24535f4119c9d4ffd91e3 Author: Eric Miao <eric.miao@xxxxxxxxxx> Date: Wed Jun 22 01:02:50 2011 -0700 Input: add support for mma8450 accelerometer Signed-off-by: Sammy He <r62914@xxxxxxxxxxxxx> Signed-off-by: Eric Miao <eric.miao@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 1483f5513b2d215216ad56c618b42454c5bc1e4d Author: Aristeu Rozanski <aris@xxxxxxxxxx> Date: Wed Jun 22 01:17:17 2011 -0700 Input: wacom - use only one interface with DTU-2231 The Wacom DTU-2231 tablet has two interfaces on its default configuration and both have HID class, leading to the creation of two input devices instead of one. Only the first one is used, so filter out the second. Signed-off-by: Aristeu Rozanski <aris@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 71c86ce59791bcd67af937bbea719a508079d7c2 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Jun 22 01:02:51 2011 -0700 Input: wacom - Cintiq 21UX2 does not have menu strips So don't set ABS_RX/ABS_RY for them. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit fabadbc754cf461e8d68e5f8ff53f287dcee41b2 Author: Magnus Hörlin <magnus@xxxxxxxxxx> Date: Tue Jun 21 14:40:30 2011 -0700 Input: xpad - add support for two more dance pads and a guitar Signed-off-by: Magnus Hörlin <magnus@xxxxxxxxxx> Reviewed-by: Christoph Fritz <chf.fritz@xxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 7e2ecdf438bb479e2b4667fc16b1a84d6348da04 Author: David Jander <david@xxxxxxxxxxx> Date: Tue Jun 21 14:26:18 2011 -0700 Input: gpio_keys - switch to using threaded IRQs Use a threaded interrupt handler in order to permit the handler to use a GPIO driver that causes things like I2C transactions being done inside the handler context. Signed-off-by: David Jander <david@xxxxxxxxxxx> Acked-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit eaa499aebf6265f18ffc836ead30059031c6d7a7 Author: Leigh Brown <leigh@xxxxxxxxxxxxx> Date: Tue Jun 21 04:25:21 2011 -0700 Input: lm8323 - use oneshot level triggered interrupts According to the data sheet the interrupt should be level rather than edge triggered. This fixes the issue of the Nokia N810 keypad stopping responding if multiple key events occur in quick succession. Signed-off-by: Leigh Brown <leigh@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 61cf3813d32411b23d5df8a650bbd2aa89b4618c Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Jun 21 04:20:57 2011 -0700 Input: lm8323 - convert to threaded IRQ There's no need for that workqueue anymore. Get rid of it and move to threaded IRQs instead. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Leigh Brown <leigh@xxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit fef95faeae9fa5f605fbad8693e2d6e2171f5ad4 Author: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Date: Tue Jun 21 04:20:57 2011 -0700 Input: qt1070 - remove obsolete cleanup for clientdata A few new i2c-drivers came into the kernel which clear the clientdata pointer on exit or error. This is not required anymore since the core will do it for us. Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> Acked-by: Jean Delvare <khali@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> commit 4d67431f80b1b822f0286afc9123ee453eac7334 Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Jun 13 22:33:52 2011 +0100 KEYS: Don't return EAGAIN to keyctl_assume_authority() Don't return EAGAIN to keyctl_assume_authority() to indicate that a key could not be found (ENOKEY is only returned if a negative key is found). Instead return ENOKEY in both cases. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit 2ce9738bac1b386f46e8478fd2c263460e7c2b09 Author: eparis@redhat <eparis@redhat> Date: Thu Jun 2 21:20:51 2011 +1000 cgroupfs: use init_cred when populating new cgroupfs mount We recently found that in some configurations SELinux was blocking the ability for cgroupfs to be mounted. The reason for this is because cgroupfs creates files and directories during the get_sb() call and also uses lookup_one_len() during that same get_sb() call. This is a problem since the security subsystem cannot initialize the superblock and the inodes in that filesystem until after the get_sb() call returns. Thus we leave the inodes in an unitialized state during get_sb(). For the vast majority of filesystems this is not an issue, but since cgroupfs uses lookup_on_len() it does search permission checks on the directories in the path it walks. Since the inode security state is not set up SELinux does these checks as if the inodes were 'unlabeled.' Many 'normal' userspace process do not have permission to interact with unlabeled inodes. The solution presented here is to do the permission checks of path walk and inode creation as the kernel rather than as the task that called mount. Since the kernel has permission to read/write/create unlabeled inodes the get_sb() call will complete successfully and the SELinux code will be able to initialize the superblock and those inodes created during the get_sb() call. This appears to be the same solution used by other filesystems such as devtmpfs to solve the same issue and should thus have no negative impact on other LSMs which currently work. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Acked-by: Paul Menage <menage@xxxxxxxxxx> Signed-off-by: James Morris <jmorris@xxxxxxxxx> commit f55cf3c76a3b2e4bdcfea4f95c9d527663b41ece Author: James Morris <jmorris@xxxxxxxxx> Date: Thu Jun 9 10:24:49 2011 +1000 Merge branch 'linus'; commit 'v3.0-rc2' into next ----------------------------------------------------------------------- hooks/post-receive -- XFS development tree
_______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs