[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#769844: linux: please make linux build reproducibly



Source: linux
Version: 3.16.7-2
Severity: wishlist
User: reproducible-builds@lists.alioth.debian.org
Usertags: timestamps randomness
Control: block -1 by 759886

Hi!

I have been doing some experimentation on making linux build
reproducibly [1]. With the attached patches, we are down to three binary
packages with differences on amd64. The kernel itself and its module can
be built reproducibly with our current framework.

The first patch adds call to `dh_strip_nondeterminism` and
`dh_fixmtimes`, both being part of the custom toolchain currently used
for reproducible builds. Hence not tagging the bug with “patch” until
they are integrated in debhelper.

The second patch changes the value of KBUILD_BUILD_TIMESTAMP to a
timestamp parseable by `date`. Otherwise, a timestamp of the current
time gets stored in usr/initramfs_data.cpio.gz because
`scripts/gen_initramfs_list.sh` will not pass the value of
KBUILD_BUILD_TIMESTAMP to `usr/gen_init_cpio`.
http://sources.debian.net/src/linux/3.16.7-2/scripts/gen_initramfs_list.sh/?hl302:308#L302

Another solution would be to patch `scripts/gen_initramfs_list.sh` to
parse the Debian format of KBUILD_BUILD_TIMESTAMP.

An unclear aspect is where to add a call to `dh_genbuildinfo` which
generates the .buildinfo [2]. It should be called after all binary
packages have been created.

For the remaining differences:

 * linux-doc: many variations due to ids generated in HTML documentation
   by XSLT processor. This needs to be addressed at that level.
 * linux-manual: see attached debbindiff output. I don't have good
   ideas.
 * linux-source: mtimes of many files differ. Would it be ok to just
   create the tarball with a single timestamp (`tar --mtime=`)?

 [1]: https://wiki.debian.org/ReproducibleBuilds
 [2]: https://wiki.debian.org/ReproducibleBuilds/BuildinfoSpecification

-- 
Lunar                                .''`. 
lunar@debian.org                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   
--- linux-3.16.7/debian/rules.real	2014-11-04 04:41:34.000000000 +0000
+++ b1/linux-3.16.7/debian/rules.real	2014-11-14 22:07:20.272662604 +0000
@@ -173,12 +173,14 @@
 	dh_installdocs $(INSTALLDOCS_ARGS)
 	dh_installchangelogs
 	dh_strip
+	dh_strip_nondeterminism
 	dh_compress
 	dh_fixperms
 	dh_installdeb
 	dh_gencontrol -- $(GENCONTROL_ARGS)
 	dh_md5sums
+	dh_fixmtimes
 	dh_builddeb -- -Zxz $(BUILDDEB_ARGS)
 
 install-dummy:
 	dh_testdir
@@ -427,8 +430,10 @@
 	dh_prep
 	kernel-wedge install-files $(ABINAME)
 	kernel-wedge check $(PACKAGE_NAMES)
+	dh_strip_nondeterminism
 	dh_fixperms
 	dh_gencontrol
+	dh_fixmtimes
 	dh_builddeb
 
 install-source: PACKAGE_NAME = linux-source-$(VERSION)
--- linux-3.16.7/debian/rules.real	2014-11-04 04:41:34.000000000 +0000
+++ b1/linux-3.16.7/debian/rules.real	2014-11-14 22:07:20.272662604 +0000
@@ -39,7 +39,7 @@
 stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@
 
 setup_env := env -u ABINAME -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION
-setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTOR="$(DISTRIBUTOR)" DISTRIBUTION_VERSION="$(SOURCEVERSION)" KBUILD_BUILD_TIMESTAMP="$(DISTRIBUTOR) $(SOURCEVERSION) ($(SOURCE_DATE_UTC_ISO))" KBUILD_BUILD_USER="$(word 1,$(subst @, ,$(MAINTAINER)))" KBUILD_BUILD_HOST="$(word 2,$(subst @, ,$(MAINTAINER)))"
+setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTOR="$(DISTRIBUTOR)" DISTRIBUTION_VERSION="$(SOURCEVERSION)" KBUILD_BUILD_TIMESTAMP="$(SOURCE_DATE_UTC_ISO)" KBUILD_BUILD_USER="$(word 1,$(subst @, ,$(MAINTAINER)))" KBUILD_BUILD_HOST="$(word 2,$(subst @, ,$(MAINTAINER)))"
 
 MAKE_CLEAN = $(setup_env) $(MAKE)
 MAKE_SELF := $(MAKE) -f debian/rules.real $(MAKEOVERRIDES)
Title: /usr/bin/debbindiff --debug --html debbindiff-manual.html b1/linux-manual-3.16_3.16.7-2.0~reproducible1_all.deb b2/linux-manual-3.16_3.16.7-2.0~reproducible1_all.deb
linux-manual-3.16_3.16.7-2.0~reproducible1_all.deb
control.tar.gz
control.tar
md5sums
Files in package differs
data.tar.xz
data.tar
kthread_create_on_node.9.gz
kthread_create_on_node.9
 1 +-- 63 lines: '\" t-------------------------------------------------------------
64 This helper function creates and names a kernel thread\&. The thread will be stopped: use
65 \fBwake_up_process\fR
66 to start it\&. See also
67 \fBkthread_run\fR\&.
68 .PP
69 If thread is going to be bound on a particular cpu, give its node in
70 \fInode\fR, to get NUMA affinity for kthread stack, or else give \-1\&. When woken, the thread will run
71 \fIthreadfn\fR() with                                                        
72 \fIdata\fR
73 as its argument\&.                                                           
74 \fIthreadfn\fR() can either call                                             
75 \fBdo_exit\fR
76 directly if it is a standalone thread for which no one will call
77 \fBkthread_stop\fR, or return when \*(Aq\fBkthread_should_stop\fR\*(Aq is true (which means
78 \fBkthread_stop\fR
79 has been called)\&. The return value should be zero or a negative error number; it will be passed to
80 \fBkthread_stop\fR\&.
81 +--  4 lines: .PP---------------------------------------------------------------
 1 +-- 63 lines: '\" t-------------------------------------------------------------
64 This helper function creates and names a kernel thread\&. The thread will be stopped: use
65 \fBwake_up_process\fR
66 to start it\&. See also
67 \fBkthread_run\fR\&.
68 .PP
69 If thread is going to be bound on a particular cpu, give its node in
70 \fInode\fR, to get NUMA affinity for kthread stack, or else give \-1\&. When woken, the thread will run @\fBthreadfn\fR
71 with                                                                         
72 \fIdata\fR
73 as its argument\&. @\fBthreadfn\fR                                           
74 can either call                                                              
75 \fBdo_exit\fR
76 directly if it is a standalone thread for which no one will call
77 \fBkthread_stop\fR, or return when \*(Aq\fBkthread_should_stop\fR\*(Aq is true (which means
78 \fBkthread_stop\fR
79 has been called)\&. The return value should be zero or a negative error number; it will be passed to
80 \fBkthread_stop\fR\&.
81 +--  4 lines: .PP---------------------------------------------------------------
schedule_hrtimeout_range.9.gz
schedule_hrtimeout_range.9
 1 +-- 51 lines: '\" t-------------------------------------------------------------
52 .PP
53 Make the current task sleep until the given expiry time has elapsed\&. The routine will return immediately unless the current task state has been set (see
54 \fBset_current_state\fR)\&.
55 .PP
56 The
57 \fIdelta\fR
58 argument gives the kernel the freedom to schedule the actual wakeup to a time that is both power and performance friendly\&. The kernel give the normal best effort behavior for "\fIexpires\fR+\fIdelta\fR", but may decide to fire the timer earlier, but no earlier than
   -----------------------------------------------------------------------------
59 \fIexpires\fR\&.
60 .PP
61 You can set the task state as follows \-
62 .PP
63 \fBTASK_UNINTERRUPTIBLE\fR
64 \- at least
65 +-- 11 lines: \fItimeout\fR-----------------------------------------------------
 1 +-- 51 lines: '\" t-------------------------------------------------------------
52 .PP
53 Make the current task sleep until the given expiry time has elapsed\&. The routine will return immediately unless the current task state has been set (see
54 \fBset_current_state\fR)\&.
55 .PP
56 The
57 \fIdelta\fR
58 argument gives the kernel the freedom to schedule the actual wakeup to a time that is both power and performance friendly\&. The kernel give the normal best effort behavior for
59 \(lq\fIexpires\fR+\fIdelta\fR\(rq, but may decide to fire the timer earlier, but no earlier than
60 \fIexpires\fR\&.
61 .PP
62 You can set the task state as follows \-
63 .PP
64 \fBTASK_UNINTERRUPTIBLE\fR
65 \- at least
66 +-- 11 lines: \fItimeout\fR-----------------------------------------------------
struct_bus_type.9.gz
struct_bus_type.9
  1 +-- 60 lines: '\" t-------------------------------------------------------------
 61 .RS 4
 62 The name of the bus\&.
 63 .RE
 64 .PP
 65 dev_name
 66 .RS 4
 67 Used for subsystems to enumerate devices like (\(lqfoo\fBu\fR\(rq, dev\->id)\&.
 68 .RE
 69 .PP
 70 dev_root
 71 .RS 4
 72 Default device to use as the parent\&.
 73 .RE
 74 +-- 92 lines: .PP---------------------------------------------------------------
  1 +-- 60 lines: '\" t-------------------------------------------------------------
 61 .RS 4
 62 The name of the bus\&.
 63 .RE
 64 .PP
 65 dev_name
 66 .RS 4
 67 Used for subsystems to enumerate devices like ("foo\fBu\fR", dev\->id)\&.   
 68 .RE
 69 .PP
 70 dev_root
 71 .RS 4
 72 Default device to use as the parent\&.
 73 .RE
 74 +-- 92 lines: .PP---------------------------------------------------------------
struct_usb_composite_driver.9.gz
struct_usb_composite_driver.9
  1 +-- 73 lines: '\" t-------------------------------------------------------------
 74 .RS 4
 75 set to 1 if the gadget needs userspace to provide a serial number\&. If one is not provided, warning will be printed\&.
 76 .RE
 77 .PP
 78 bind
 79 .RS 4
 80 (REQUIRED) Used to allocate resources that are shared across the whole device, such as string IDs, and add its configurations using @\fBusb_add_config\fR\&. This may fail by returning a negative errno value; it should return zero on successful initialization\&.
    ----------------------------------------------------------------------------
 81 .RE
 82 .PP
 83 unbind
 84 .RS 4
 85 Reverses
 86 \fIbind\fR; called as a side effect of unregistering this driver\&.
 87 +-- 40 lines: .RE---------------------------------------------------------------
  1 +-- 73 lines: '\" t-------------------------------------------------------------
 74 .RS 4
 75 set to 1 if the gadget needs userspace to provide a serial number\&. If one is not provided, warning will be printed\&.
 76 .RE
 77 .PP
 78 bind
 79 .RS 4
 80 (REQUIRED) Used to allocate resources that are shared across the whole device, such as string IDs, and add its configurations using
 81 \fIusb_add_config\fR()\&. This may fail by returning a negative errno value; it should return zero on successful initialization\&.
 82 .RE
 83 .PP
 84 unbind
 85 .RS 4
 86 Reverses
 87 \fIbind\fR; called as a side effect of unregistering this driver\&.
 88 +-- 40 lines: .RE---------------------------------------------------------------
struct_usb_configuration.9.gz
struct_usb_configuration.9
  1 +-- 50 lines: '\" t-------------------------------------------------------------
 51 .RS 4
 52 For diagnostics, describes the configuration\&.
 53 .RE
 54 .PP
 55 strings
 56 .RS 4
 57 Tables of strings, keyed by identifiers assigned during @\fBbind\fR         
 58 and by language IDs provided in control requests\&.                         
 59 .RE
 60 .PP
 61 descriptors
 62 .RS 4
 63 Table of descriptors preceding all function descriptors\&. Examples include OTG and vendor\-specific descriptors\&.
 64 .RE
 65 +-- 28 lines: .PP---------------------------------------------------------------
 93 .RS 4
 94 Power consumtion in mA\&. Used to compute bMaxPower in the configuration descriptor after considering the bus speed\&.
 95 .RE
 96 .PP
 97 cdev
 98 .RS 4
 99 assigned by @\fBusb_add_config\fR                                           
100 before calling @\fBbind\fR; this is the device associated with this configuration\&.
    ----------------------------------------------------------------------------
101 .RE
102 .SH "DESCRIPTION"
103 .PP
104 Configurations are building blocks for gadget drivers structured around function drivers\&. Simple USB gadgets require only one function and one configuration, and handle dual\-speed hardware by always providing the same functionality\&. Slightly more complex gadgets may have more than one single\-function configuration at a given speed; or have configurations that only work at one speed\&.
105 .PP
106 Composite devices are, by definition, ones with configurations which include more than one function\&.
107 .PP
108 The lifecycle of a usb_configuration includes allocation, initialization of the fields described above, and calling @\fBusb_add_config\fR
109 to set up internal data and bind it to a specific device\&. The configuration\*(Aqs @\fBbind\fR
110 method is then used to initialize all the functions and then call @\fBusb_add_function\fR
111 for them\&.                                                                 
112 .PP
113 Those functions would normally be independent of each other, but that\*(Aqs not mandatory\&. CDC WMC devices are an example where functions often depend on other functions, with some functions subsidiary to others\&. Such interdependency may be managed in any way, so long as all of the descriptors complete by the time the composite driver returns from its
114 \fBbind\fR
115 routine\&.
116 .SH "AUTHOR"
117 .PP
118 +--  6 lines: \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>--------
  1 +-- 50 lines: '\" t-------------------------------------------------------------
 51 .RS 4
 52 For diagnostics, describes the configuration\&.
 53 .RE
 54 .PP
 55 strings
 56 .RS 4
 57 Tables of strings, keyed by identifiers assigned during                     
 58 \fIbind\fR() and by language IDs provided in control requests\&.            
 59 .RE
 60 .PP
 61 descriptors
 62 .RS 4
 63 Table of descriptors preceding all function descriptors\&. Examples include OTG and vendor\-specific descriptors\&.
 64 .RE
 65 +-- 28 lines: .PP---------------------------------------------------------------
 93 .RS 4
 94 Power consumtion in mA\&. Used to compute bMaxPower in the configuration descriptor after considering the bus speed\&.
 95 .RE
 96 .PP
 97 cdev
 98 .RS 4
 99 assigned by                                                                 
100 \fIusb_add_config\fR() before calling                                       
101 \fIbind\fR(); this is the device associated with this configuration\&.      
102 .RE
103 .SH "DESCRIPTION"
104 .PP
105 Configurations are building blocks for gadget drivers structured around function drivers\&. Simple USB gadgets require only one function and one configuration, and handle dual\-speed hardware by always providing the same functionality\&. Slightly more complex gadgets may have more than one single\-function configuration at a given speed; or have configurations that only work at one speed\&.
106 .PP
107 Composite devices are, by definition, ones with configurations which include more than one function\&.
108 .PP
109 The lifecycle of a usb_configuration includes allocation, initialization of the fields described above, and calling
110 \fIusb_add_config\fR() to set up internal data and bind it to a specific device\&. The configuration\*(Aqs
111 \fIbind\fR() method is then used to initialize all the functions and then call
112 \fIusb_add_function\fR() for them\&.                                        
113 .PP
114 Those functions would normally be independent of each other, but that\*(Aqs not mandatory\&. CDC WMC devices are an example where functions often depend on other functions, with some functions subsidiary to others\&. Such interdependency may be managed in any way, so long as all of the descriptors complete by the time the composite driver returns from its
115 \fBbind\fR
116 routine\&.
117 .SH "AUTHOR"
118 .PP
119 +--  6 lines: \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>--------
struct_usb_function.9.gz
struct_usb_function.9
  1 +-- 67 lines: '\" t-------------------------------------------------------------
 68 \fBbind\fR
 69 and by language IDs provided in control requests
 70 .RE
 71 .PP
 72 fs_descriptors
 73 .RS 4
 74 Table of full (or low) speed descriptors, using interface and string identifiers assigned during @\fBbind\fR\&. If this pointer is null, the function will not be available at full speed (or at low speed)\&.
    ----------------------------------------------------------------------------
 75 .RE
 76 .PP
 77 hs_descriptors
 78 .RS 4
 79 Table of high speed descriptors, using interface and string identifiers assigned during @\fBbind\fR\&. If this pointer is null, the function will not be available at high speed\&.
    ----------------------------------------------------------------------------
 80 .RE
 81 .PP
 82 ss_descriptors
 83 .RS 4
 84 Table of super speed descriptors, using interface and string identifiers assigned during @\fBbind\fR\&. If this pointer is null after initiation, the function will not be available at super speed\&.
    ----------------------------------------------------------------------------
 85 .RE
 86 .PP
 87 config
 88 .RS 4
 89 assigned when @\fBusb_add_function\fR                                       
 90 is called; this is the configuration with which this function is associated\&.
 91 .RE
 92 .PP
 93 os_desc_table
 94 .RS 4
 95 Table of (interface id, os descriptors) pairs\&. The function can expose more than one interface\&. If an interface is a member of an IAD, only the first interface of IAD has its entry in the table\&.
 96 .RE
 97 +-- 66 lines: .PP---------------------------------------------------------------
163 func_suspend
164 .RS 4
165 callback to be called when SetFeature(FUNCTION_SUSPEND) is reseived
166 .RE
167 .SH "DESCRIPTION"
168 .PP
169 A single USB function uses one or more interfaces, and should in most cases support operation at both full and high speeds\&. Each function is associated by @\fBusb_add_function\fR
170 with a one configuration; that function causes @\fBbind\fR                  
171 to be called so resources can be allocated as part of setting up a gadget driver\&. Those resources include endpoints, which should be allocated using @\fBusb_ep_autoconfig\fR\&.
    ----------------------------------------------------------------------------
172 .PP
173 To support dual speed operation, a function driver provides descriptors for both high and full speed operation\&. Except in rare cases that don\*(Aqt involve bulk endpoints, each speed needs different endpoint descriptors\&.
174 .PP
175 Function drivers choose their own strategies for managing instance data\&. The simplest strategy just declares it "static\*(Aq, which means the function can only be activated once\&. If the function needs to be exposed in more than one configuration at a given speed, it needs to support multiple usb_function structures (one for each configuration)\&.
176 .PP
177 A more complex strategy might encapsulate a
178 +-- 10 lines: \fIusb_function\fR------------------------------------------------
  1 +-- 67 lines: '\" t-------------------------------------------------------------
 68 \fBbind\fR
 69 and by language IDs provided in control requests
 70 .RE
 71 .PP
 72 fs_descriptors
 73 .RS 4
 74 Table of full (or low) speed descriptors, using interface and string identifiers assigned during
 75 \fIbind\fR()\&. If this pointer is null, the function will not be available at full speed (or at low speed)\&.
 76 .RE
 77 .PP
 78 hs_descriptors
 79 .RS 4
 80 Table of high speed descriptors, using interface and string identifiers assigned during
 81 \fIbind\fR()\&. If this pointer is null, the function will not be available at high speed\&.
 82 .RE
 83 .PP
 84 ss_descriptors
 85 .RS 4
 86 Table of super speed descriptors, using interface and string identifiers assigned during
 87 \fIbind\fR()\&. If this pointer is null after initiation, the function will not be available at super speed\&.
 88 .RE
 89 .PP
 90 config
 91 .RS 4
 92 assigned when                                                               
 93 \fIusb_add_function\fR() is called; this is the configuration with which this function is associated\&.
 94 .RE
 95 .PP
 96 os_desc_table
 97 .RS 4
 98 Table of (interface id, os descriptors) pairs\&. The function can expose more than one interface\&. If an interface is a member of an IAD, only the first interface of IAD has its entry in the table\&.
 99 .RE
100 +-- 66 lines: .PP---------------------------------------------------------------
166 func_suspend
167 .RS 4
168 callback to be called when SetFeature(FUNCTION_SUSPEND) is reseived
169 .RE
170 .SH "DESCRIPTION"
171 .PP
172 A single USB function uses one or more interfaces, and should in most cases support operation at both full and high speeds\&. Each function is associated by
173 \fIusb_add_function\fR() with a one configuration; that function causes     
174 \fIbind\fR() to be called so resources can be allocated as part of setting up a gadget driver\&. Those resources include endpoints, which should be allocated using
175 \fIusb_ep_autoconfig\fR()\&.                                                
176 .PP
177 To support dual speed operation, a function driver provides descriptors for both high and full speed operation\&. Except in rare cases that don\*(Aqt involve bulk endpoints, each speed needs different endpoint descriptors\&.
178 .PP
179 Function drivers choose their own strategies for managing instance data\&. The simplest strategy just declares it "static\*(Aq, which means the function can only be activated once\&. If the function needs to be exposed in more than one configuration at a given speed, it needs to support multiple usb_function structures (one for each configuration)\&.
180 .PP
181 A more complex strategy might encapsulate a
182 +-- 10 lines: \fIusb_function\fR------------------------------------------------
usb_add_config.9.gz
usb_add_config.9
 1 +-- 49 lines: '\" t-------------------------------------------------------------
50 .RE
51 .SH "CONTEXT"
52 .PP
53 single threaded during gadget setup
54 .SH "DESCRIPTION"
55 .PP
56 One of the main tasks of a composite                                         
57 \fIbind\fR() routine is to add each of the configurations it supports, using this routine\&.
58 .PP
59 This function returns the value of the configuration\*(Aqs                   
60 \fIbind\fR(), which is zero for success else a negative errno value\&. Binding configurations assigns global resources including string IDs, and per\-configuration resources such as interface IDs and endpoints\&.
61 .SH "AUTHOR"
62 .PP
63 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
64 .RS 4
65 Author.
66 .RE
67 +--  2 lines: .SH "COPYRIGHT"---------------------------------------------------
 1 +-- 49 lines: '\" t-------------------------------------------------------------
50 .RE
51 .SH "CONTEXT"
52 .PP
53 single threaded during gadget setup
54 .SH "DESCRIPTION"
55 .PP
56 One of the main tasks of a composite @\fBbind\fR                             
57 routine is to add each of the configurations it supports, using this routine\&.
58 .PP
59 This function returns the value of the configuration\*(Aqs @\fBbind\fR, which is zero for success else a negative errno value\&. Binding configurations assigns global resources including string IDs, and per\-configuration resources such as interface IDs and endpoints\&.
   -----------------------------------------------------------------------------
60 .SH "AUTHOR"
61 .PP
62 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
63 .RS 4
64 Author.
65 .RE
66 +--  2 lines: .SH "COPYRIGHT"---------------------------------------------------
usb_add_function.9.gz
usb_add_function.9
 1 +-- 44 lines: '\" t-------------------------------------------------------------
45 .RE
46 .SH "CONTEXT"
47 .PP
48 single threaded during gadget setup
49 .SH "DESCRIPTION"
50 .PP
51 After initialization, each configuration must have one or more functions added to it\&. Adding a function involves calling its
52 \fIbind\fR() method to allocate resources such as interface and string identifiers and endpoints\&.
53 .PP
54 This function returns the value of the function\*(Aqs
55 \fBbind\fR, which is zero for success else a negative errno value\&.
56 .SH "AUTHOR"
57 .PP
58 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
59 +--  5 lines: .RS 4-------------------------------------------------------------
 1 +-- 44 lines: '\" t-------------------------------------------------------------
45 .RE
46 .SH "CONTEXT"
47 .PP
48 single threaded during gadget setup
49 .SH "DESCRIPTION"
50 .PP
51 After initialization, each configuration must have one or more functions added to it\&. Adding a function involves calling its @\fBbind\fR
52 method to allocate resources such as interface and string identifiers and endpoints\&.
53 .PP
54 This function returns the value of the function\*(Aqs
55 \fBbind\fR, which is zero for success else a negative errno value\&.
56 .SH "AUTHOR"
57 .PP
58 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
59 +--  5 lines: .RS 4-------------------------------------------------------------
usb_function_deactivate.9.gz
usb_function_deactivate.9
 1 +-- 36 lines: '\" t-------------------------------------------------------------
37 \fIfunction\fR
38 .RS 4
39 the function that isn\*(Aqt yet ready to respond
40 .RE
41 .SH "DESCRIPTION"
42 .PP
43 Blocks response of the gadget driver to host enumeration by preventing the data line pullup from being activated\&. This is normally called during
44 \fIbind\fR() processing to change from the initial                           
45 \(lqready to respond\(rq
46 state, or when a required resource becomes available\&.
47 .PP
48 For example, drivers that serve as a passthrough to a userspace daemon can block enumeration unless that daemon (such as an OBEX, MTP, or print server) is ready to handle host requests\&.
49 .PP
50 Not all systems support software control of their USB peripheral data pullups\&.
51 +-- 10 lines: .PP---------------------------------------------------------------
 1 +-- 36 lines: '\" t-------------------------------------------------------------
37 \fIfunction\fR
38 .RS 4
39 the function that isn\*(Aqt yet ready to respond
40 .RE
41 .SH "DESCRIPTION"
42 .PP
43 Blocks response of the gadget driver to host enumeration by preventing the data line pullup from being activated\&. This is normally called during @\fBbind\fR
44 processing to change from the initial                                        
45 \(lqready to respond\(rq
46 state, or when a required resource becomes available\&.
47 .PP
48 For example, drivers that serve as a passthrough to a userspace daemon can block enumeration unless that daemon (such as an OBEX, MTP, or print server) is ready to handle host requests\&.
49 .PP
50 Not all systems support software control of their USB peripheral data pullups\&.
51 +-- 10 lines: .PP---------------------------------------------------------------
usb_gadget_probe_driver.9.gz
usb_gadget_probe_driver.9
 1 +-- 39 lines: '\" t-------------------------------------------------------------
40 .RE
41 .SH "CONTEXT"
42 .PP
43 can sleep
44 .SH "DESCRIPTION"
45 .PP
46 Call this in your gadget driver\*(Aqs module initialization function, to tell the underlying usb controller driver about your driver\&. The @\fBbind\fR
47 function will be called to bind it to a gadget before this registration call returns\&. It\*(Aqs expected that the @\fBbind\fR
48 function will be in init sections\&.                                         
49 .SH "AUTHOR"
50 .PP
51 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
52 .RS 4
53 Author.
54 .RE
55 +--  2 lines: .SH "COPYRIGHT"---------------------------------------------------
 1 +-- 39 lines: '\" t-------------------------------------------------------------
40 .RE
41 .SH "CONTEXT"
42 .PP
43 can sleep
44 .SH "DESCRIPTION"
45 .PP
46 Call this in your gadget driver\*(Aqs module initialization function, to tell the underlying usb controller driver about your driver\&. The
47 \fIbind\fR() function will be called to bind it to a gadget before this registration call returns\&. It\*(Aqs expected that the
48 \fIbind\fR() function will be in init sections\&.                            
49 .SH "AUTHOR"
50 .PP
51 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
52 .RS 4
53 Author.
54 .RE
55 +--  2 lines: .SH "COPYRIGHT"---------------------------------------------------
usb_string_id.9.gz
usb_string_id.9
 1 +-- 39 lines: '\" t-------------------------------------------------------------
40 .RE
41 .SH "CONTEXT"
42 .PP
43 single threaded during gadget setup
44 .SH "DESCRIPTION"
45 .PP
46 \fIusb_string_id\fR() is called from                                         
   -----------------------------------------------------------------------------
47 \fBbind\fR
48 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
49 .PP
50 All string identifier should be allocated using this,                        
51 \fIusb_string_ids_tab\fR() or                                                
52 \fIusb_string_ids_n\fR() routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
53 .SH "AUTHOR"
54 .PP
55 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
56 .RS 4
57 Author.
58 .RE
59 +--  2 lines: .SH "COPYRIGHT"---------------------------------------------------
 1 +-- 39 lines: '\" t-------------------------------------------------------------
40 .RE
41 .SH "CONTEXT"
42 .PP
43 single threaded during gadget setup
44 .SH "DESCRIPTION"
45 .PP
46 @\fBusb_string_id\fR                                                         
47 is called from                                                               
48 \fBbind\fR
49 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
50 .PP
51 All string identifier should be allocated using this, @\fBusb_string_ids_tab\fR
52 or @\fBusb_string_ids_n\fR                                                   
53 routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
54 .SH "AUTHOR"
55 .PP
56 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
57 .RS 4
58 Author.
59 .RE
60 +--  2 lines: .SH "COPYRIGHT"---------------------------------------------------
usb_string_ids_n.9.gz
usb_string_ids_n.9
 1 +-- 49 lines: '\" t-------------------------------------------------------------
50 .PP
51 Returns the first requested ID\&. This ID and next
52 \fIn\fR\-1 IDs are now valid IDs\&. At least provided that
53 \fIn\fR
54 is non\-zero because if it is, returns last requested ID which is now very useful information\&.
55 .PP
56 \fIusb_string_ids_n\fR() is called from                                      
   -----------------------------------------------------------------------------
57 \fBbind\fR
58 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
59 .PP
60 All string identifier should be allocated using this,                        
61 \fIusb_string_id\fR() or                                                     
62 \fIusb_string_ids_n\fR() routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
63 .SH "AUTHOR"
64 .PP
65 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
66 .RS 4
67 Author.
68 .RE
69 +--  2 lines: .SH "COPYRIGHT"---------------------------------------------------
 1 +-- 49 lines: '\" t-------------------------------------------------------------
50 .PP
51 Returns the first requested ID\&. This ID and next
52 \fIn\fR\-1 IDs are now valid IDs\&. At least provided that
53 \fIn\fR
54 is non\-zero because if it is, returns last requested ID which is now very useful information\&.
55 .PP
56 @\fBusb_string_ids_n\fR                                                      
57 is called from                                                               
58 \fBbind\fR
59 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then store that ID in the appropriate descriptors and string table\&.
60 .PP
61 All string identifier should be allocated using this, @\fBusb_string_id\fR   
62 or @\fBusb_string_ids_n\fR                                                   
63 routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
64 .SH "AUTHOR"
65 .PP
66 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
67 .RS 4
68 Author.
69 .RE
70 +--  2 lines: .SH "COPYRIGHT"---------------------------------------------------
usb_string_ids_tab.9.gz
usb_string_ids_tab.9
 1 +-- 44 lines: '\" t-------------------------------------------------------------
45 .RE
46 .SH "CONTEXT"
47 .PP
48 single threaded during gadget setup
49 .SH "DESCRIPTION"
50 .PP
51 \fIusb_string_ids\fR() is called from                                        
   -----------------------------------------------------------------------------
52 \fBbind\fR
53 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then copy IDs from the string table to the appropriate descriptors and string table for other languages\&.
54 .PP
55 All string identifier should be allocated using this,                        
56 \fIusb_string_id\fR() or                                                     
57 \fIusb_string_ids_n\fR() routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
58 .SH "AUTHOR"
59 .PP
60 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
61 .RS 4
62 Author.
63 .RE
64 +--  2 lines: .SH "COPYRIGHT"---------------------------------------------------
 1 +-- 44 lines: '\" t-------------------------------------------------------------
45 .RE
46 .SH "CONTEXT"
47 .PP
48 single threaded during gadget setup
49 .SH "DESCRIPTION"
50 .PP
51 @\fBusb_string_ids\fR                                                        
52 is called from                                                               
53 \fBbind\fR
54 callbacks to allocate string IDs\&. Drivers for functions, configurations, or gadgets will then copy IDs from the string table to the appropriate descriptors and string table for other languages\&.
55 .PP
56 All string identifier should be allocated using this, @\fBusb_string_id\fR   
57 or @\fBusb_string_ids_n\fR                                                   
58 routine, to ensure that for example different functions don\*(Aqt wrongly assign different meanings to the same identifier\&.
59 .SH "AUTHOR"
60 .PP
61 \fBDavid Brownell\fR <\&dbrownell@users.sourceforge.net\&>
62 .RS 4
63 Author.
64 .RE
65 +--  2 lines: .SH "COPYRIGHT"---------------------------------------------------
vm_insert_page.9.gz
vm_insert_page.9
 1 +-- 51 lines: '\" t-------------------------------------------------------------
52 .PP
53 This allows drivers to insert individual pages they\*(Aqve allocated into a user vma\&.
54 .PP
55 The page has to be a nice clean _individual_ kernel allocation\&. If you allocate a compound page, you need to have marked it as such (__GFP_COMP), or manually just split the page up yourself (see
56 \fBsplit_page\fR)\&.
57 .PP
58 NOTE! Traditionally this was done with "\fBremap_pfn_range\fR" which took an arbitrary page protection parameter\&. This doesn\*(Aqt allow that\&. Your vma protection will have to be set up correctly, which means that if you want a shared writable mapping, you\*(Aqd better ask for a shared writable mapping!
   -----------------------------------------------------------------------------
   -----------------------------------------------------------------------------
59 .PP
60 The page does not need to be reserved\&.
61 .PP
62 Usually this function is called from f_op\->\fBmmap\fR
63 handler under mm\->mmap_sem write\-lock, so it can change vma\->vm_flags\&. Caller must set VM_MIXEDMAP on vma if it wants to call this function from other places, for example from page\-fault handler\&.
64 .SH "COPYRIGHT"
65 .br
 1 +-- 51 lines: '\" t-------------------------------------------------------------
52 .PP
53 This allows drivers to insert individual pages they\*(Aqve allocated into a user vma\&.
54 .PP
55 The page has to be a nice clean _individual_ kernel allocation\&. If you allocate a compound page, you need to have marked it as such (__GFP_COMP), or manually just split the page up yourself (see
56 \fBsplit_page\fR)\&.
57 .PP
58 NOTE! Traditionally this was done with                                       
59 \(lq\fBremap_pfn_range\fR\(rq                                                
60 which took an arbitrary page protection parameter\&. This doesn\*(Aqt allow that\&. Your vma protection will have to be set up correctly, which means that if you want a shared writable mapping, you\*(Aqd better ask for a shared writable mapping!
61 .PP
62 The page does not need to be reserved\&.
63 .PP
64 Usually this function is called from f_op\->\fBmmap\fR
65 handler under mm\->mmap_sem write\-lock, so it can change vma\->vm_flags\&. Caller must set VM_MIXEDMAP on vma if it wants to call this function from other places, for example from page\-fault handler\&.
66 .SH "COPYRIGHT"
67 .br
metadata
   1 +--2905 lines: -rwxr-xr-x root/root          0 2014-11-11 16:33:16 ./-----------
2906 -rw-r--r-- root/root        702 2014-11-11 16:33:16 ./usr/share/man/man9/sb_end_write.9.gz
2907 -rw-r--r-- root/root        997 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_pagefault.9.gz
2908 -rw-r--r-- root/root        993 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_write.9.gz
2909 -rw-r--r-- root/root        916 2014-11-11 16:33:16 ./usr/share/man/man9/scan_read_oob.9.gz
2910 -rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/sched_setscheduler.9.gz
2911 -rw-r--r-- root/root        964 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout.9.gz
2912 -rw-r--r-- root/root       1135 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout_range.9.gz
2913 -rw-r--r-- root/root       1017 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_timeout.9.gz
2914 -rw-r--r-- root/root        837 2014-11-11 16:33:16 ./usr/share/man/man9/scnprintf.9.gz
2915 -rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_10_lba_len.9.gz
2916 -rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_16_lba_len.9.gz
2917 -rw-r--r-- root/root        714 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_6_lba_len.9.gz
2918 -rw-r--r-- root/root        884 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_host_with_dma.9.gz
2919 +--500 lines: -rw-r--r-- root/root        951 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_lun.9.gz
3419 -rw-r--r-- root/root        662 2014-11-11 16:33:16 ./usr/share/man/man9/strrchr.9.gz
3420 -rw-r--r-- root/root        819 2014-11-11 16:33:16 ./usr/share/man/man9/strsep.9.gz
3421 -rw-r--r-- root/root        687 2014-11-11 16:33:16 ./usr/share/man/man9/strspn.9.gz
3422 -rw-r--r-- root/root        659 2014-11-11 16:33:16 ./usr/share/man/man9/strstr.9.gz
3423 -rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/strtobool.9.gz
3424 -rw-r--r-- root/root        983 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bss_parameters.9.gz
3425 -rw-r--r-- root/root       1728 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bus_type.9.gz
3426 -rw-r--r-- root/root        798 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw1.9.gz
3427 -rw-r--r-- root/root        809 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_dev_id.9.gz
3428 -rw-r--r-- root/root        867 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_device.9.gz
3429 -rw-r--r-- root/root       1087 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_driver.9.gz
3430 -rw-r--r-- root/root        823 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_device.9.gz
3431 -rw-r--r-- root/root        930 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_driver.9.gz
3432 +--166 lines: -rw-r--r-- root/root       1155 2014-11-11 16:33:16 ./usr/share/man/man9/struct_cfg80211_ap_settings.9.gz
3598 -rw-r--r-- root/root       1670 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_composite_driver.9.gz
3599 -rw-r--r-- root/root       1717 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_configuration.9.gz
3600 -rw-r--r-- root/root       2489 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device.9.gz
3601 -rw-r--r-- root/root       1158 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device_driver.9.gz
3602 -rw-r--r-- root/root       2304 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_driver.9.gz
3603 -rw-r--r-- root/root       1420 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_ep.9.gz
3604 -rw-r--r-- root/root       2349 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_function.9.gz
3605 -rw-r--r-- root/root       1939 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget.9.gz
3606 -rw-r--r-- root/root       2226 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_driver.9.gz
3607 -rw-r--r-- root/root        771 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_strings.9.gz
3608 -rw-r--r-- root/root       1546 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_config.9.gz
3609 -rw-r--r-- root/root       1077 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_endpoint.9.gz
3610 -rw-r--r-- root/root       2222 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface.9.gz
3611 +--185 lines: -rw-r--r-- root/root        981 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface_cache.9.gz
3796 -rw-r--r-- root/root        709 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_sound_special.9.gz
3797 -rw-r--r-- root/root        652 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_syscore_ops.9.gz
3798 -rw-r--r-- root/root        699 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_lb_stats.9.gz
3799 -rw-r--r-- root/root        827 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_pick_busiest.9.gz
3800 -rw-r--r-- root/root        801 2014-11-11 16:33:16 ./usr/share/man/man9/update_sg_lb_stats.9.gz
3801 -rw-r--r-- root/root        723 2014-11-11 16:33:16 ./usr/share/man/man9/upper_32_bits.9.gz
3802 -rw-r--r-- root/root        974 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_config.9.gz
3803 -rw-r--r-- root/root        912 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_function.9.gz
3804 -rw-r--r-- root/root        837 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_hcd.9.gz
3805 -rw-r--r-- root/root       1192 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_coherent.9.gz
3806 -rw-r--r-- root/root        945 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_streams.9.gz
3807 -rw-r--r-- root/root        941 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_urb.9.gz
3808 -rw-r--r-- root/root       1018 2014-11-11 16:33:16 ./usr/share/man/man9/usb_altnum_to_altsetting.9.gz
3809 -rw-r--r-- root/root        663 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_empty.9.gz
3810 +-- 54 lines: -rw-r--r-- root/root        711 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_resume_wakeups.9.gz
3864 -rw-r--r-- root/root        806 2014-11-11 16:33:16 ./usr/share/man/man9/usb_for_each_dev.9.gz
3865 -rw-r--r-- root/root        832 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_coherent.9.gz
3866 -rw-r--r-- root/root        679 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_descriptors.9.gz
3867 -rw-r--r-- root/root        892 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_streams.9.gz
3868 -rw-r--r-- root/root        799 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_urb.9.gz
3869 -rw-r--r-- root/root        809 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_activate.9.gz
3870 -rw-r--r-- root/root       1033 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_deactivate.9.gz
3871 -rw-r--r-- root/root        826 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_clear_selfpowered.9.gz
3872 -rw-r--r-- root/root       1186 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_config_buf.9.gz
3873 -rw-r--r-- root/root        866 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_connect.9.gz
3874 -rw-r--r-- root/root        970 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_disconnect.9.gz
3875 -rw-r--r-- root/root        771 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_frame_number.9.gz
3876 -rw-r--r-- root/root       1086 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_get_string.9.gz
3877 +-- 54 lines: -rw-r--r-- root/root        847 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_probe_driver.9.gz
3931 -rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_cancel.9.gz
3932 -rw-r--r-- root/root       1247 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_init.9.gz
3933 -rw-r--r-- root/root       1527 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_wait.9.gz
3934 -rw-r--r-- root/root        753 2014-11-11 16:33:16 ./usr/share/man/man9/usb_speed_string.9.gz
3935 -rw-r--r-- root/root        744 2014-11-11 16:33:16 ./usr/share/man/man9/usb_state_string.9.gz
3936 -rw-r--r-- root/root        991 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string.9.gz
3937 -rw-r--r-- root/root        940 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_id.9.gz
3938 -rw-r--r-- root/root       1074 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_n.9.gz
3939 -rw-r--r-- root/root       1003 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_tab.9.gz
3940 -rw-r--r-- root/root       3415 2014-11-11 16:33:16 ./usr/share/man/man9/usb_submit_urb.9.gz
3941 -rw-r--r-- root/root        670 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unanchor_urb.9.gz
3942 -rw-r--r-- root/root        828 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_anchored_urbs.9.gz
3943 -rw-r--r-- root/root       2221 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_urb.9.gz
3944 -rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unpoison_anchored_urbs.9.gz
3945 -rw-r--r-- root/root        688 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_in.9.gz
3946 +--  9 lines: -rw-r--r-- root/root        691 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_out.9.gz
3955 -rw-r--r-- root/root        753 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_path_lookup.9.gz
3956 -rw-r--r-- root/root       1816 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_rename.9.gz
3957 -rw-r--r-- root/root       1129 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_setlease.9.gz
3958 -rw-r--r-- root/root        761 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_test_lock.9.gz
3959 -rw-r--r-- root/root        942 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_unlink.9.gz
3960 -rw-r--r-- root/root        867 2014-11-11 16:33:16 ./usr/share/man/man9/virt_to_phys.9.gz
3961 -rw-r--r-- root/root       1196 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_page.9.gz
3962 -rw-r--r-- root/root        933 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_pfn.9.gz
3963 -rw-r--r-- root/root        897 2014-11-11 16:33:16 ./usr/share/man/man9/vm_iomap_memory.9.gz
3964 -rw-r--r-- root/root       1044 2014-11-11 16:33:16 ./usr/share/man/man9/vm_map_ram.9.gz
3965 -rw-r--r-- root/root        930 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_aliases.9.gz
3966 -rw-r--r-- root/root        705 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_ram.9.gz
3967 -rw-r--r-- root/root        747 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc.9.gz
3968 +--172 lines: -rw-r--r-- root/root        731 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc_32.9.gz
   1 +--2905 lines: -rwxr-xr-x root/root          0 2014-11-11 16:33:16 ./-----------
2906 -rw-r--r-- root/root        702 2014-11-11 16:33:16 ./usr/share/man/man9/sb_end_write.9.gz
2907 -rw-r--r-- root/root        997 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_pagefault.9.gz
2908 -rw-r--r-- root/root        993 2014-11-11 16:33:16 ./usr/share/man/man9/sb_start_write.9.gz
2909 -rw-r--r-- root/root        916 2014-11-11 16:33:16 ./usr/share/man/man9/scan_read_oob.9.gz
2910 -rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/sched_setscheduler.9.gz
2911 -rw-r--r-- root/root        964 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout.9.gz
2912 -rw-r--r-- root/root       1141 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_hrtimeout_range.9.gz
2913 -rw-r--r-- root/root       1017 2014-11-11 16:33:16 ./usr/share/man/man9/schedule_timeout.9.gz
2914 -rw-r--r-- root/root        837 2014-11-11 16:33:16 ./usr/share/man/man9/scnprintf.9.gz
2915 -rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_10_lba_len.9.gz
2916 -rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_16_lba_len.9.gz
2917 -rw-r--r-- root/root        714 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_6_lba_len.9.gz
2918 -rw-r--r-- root/root        884 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_host_with_dma.9.gz
2919 +--500 lines: -rw-r--r-- root/root        951 2014-11-11 16:33:16 ./usr/share/man/man9/scsi_add_lun.9.gz
3419 -rw-r--r-- root/root        662 2014-11-11 16:33:16 ./usr/share/man/man9/strrchr.9.gz
3420 -rw-r--r-- root/root        819 2014-11-11 16:33:16 ./usr/share/man/man9/strsep.9.gz
3421 -rw-r--r-- root/root        687 2014-11-11 16:33:16 ./usr/share/man/man9/strspn.9.gz
3422 -rw-r--r-- root/root        659 2014-11-11 16:33:16 ./usr/share/man/man9/strstr.9.gz
3423 -rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/strtobool.9.gz
3424 -rw-r--r-- root/root        983 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bss_parameters.9.gz
3425 -rw-r--r-- root/root       1725 2014-11-11 16:33:16 ./usr/share/man/man9/struct_bus_type.9.gz
3426 -rw-r--r-- root/root        798 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw1.9.gz
3427 -rw-r--r-- root/root        809 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_dev_id.9.gz
3428 -rw-r--r-- root/root        867 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_device.9.gz
3429 -rw-r--r-- root/root       1087 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccw_driver.9.gz
3430 -rw-r--r-- root/root        823 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_device.9.gz
3431 -rw-r--r-- root/root        930 2014-11-11 16:33:16 ./usr/share/man/man9/struct_ccwgroup_driver.9.gz
3432 +--166 lines: -rw-r--r-- root/root       1155 2014-11-11 16:33:16 ./usr/share/man/man9/struct_cfg80211_ap_settings.9.gz
3598 -rw-r--r-- root/root       1670 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_composite_driver.9.gz
3599 -rw-r--r-- root/root       1717 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_configuration.9.gz
3600 -rw-r--r-- root/root       2489 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device.9.gz
3601 -rw-r--r-- root/root       1158 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_device_driver.9.gz
3602 -rw-r--r-- root/root       2304 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_driver.9.gz
3603 -rw-r--r-- root/root       1420 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_ep.9.gz
3604 -rw-r--r-- root/root       2345 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_function.9.gz
3605 -rw-r--r-- root/root       1939 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget.9.gz
3606 -rw-r--r-- root/root       2226 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_driver.9.gz
3607 -rw-r--r-- root/root        771 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_gadget_strings.9.gz
3608 -rw-r--r-- root/root       1546 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_config.9.gz
3609 -rw-r--r-- root/root       1077 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_host_endpoint.9.gz
3610 -rw-r--r-- root/root       2222 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface.9.gz
3611 +--185 lines: -rw-r--r-- root/root        981 2014-11-11 16:33:16 ./usr/share/man/man9/struct_usb_interface_cache.9.gz
3796 -rw-r--r-- root/root        709 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_sound_special.9.gz
3797 -rw-r--r-- root/root        652 2014-11-11 16:33:16 ./usr/share/man/man9/unregister_syscore_ops.9.gz
3798 -rw-r--r-- root/root        699 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_lb_stats.9.gz
3799 -rw-r--r-- root/root        827 2014-11-11 16:33:16 ./usr/share/man/man9/update_sd_pick_busiest.9.gz
3800 -rw-r--r-- root/root        801 2014-11-11 16:33:16 ./usr/share/man/man9/update_sg_lb_stats.9.gz
3801 -rw-r--r-- root/root        723 2014-11-11 16:33:16 ./usr/share/man/man9/upper_32_bits.9.gz
3802 -rw-r--r-- root/root        976 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_config.9.gz
3803 -rw-r--r-- root/root        911 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_function.9.gz
3804 -rw-r--r-- root/root        837 2014-11-11 16:33:16 ./usr/share/man/man9/usb_add_hcd.9.gz
3805 -rw-r--r-- root/root       1192 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_coherent.9.gz
3806 -rw-r--r-- root/root        945 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_streams.9.gz
3807 -rw-r--r-- root/root        941 2014-11-11 16:33:16 ./usr/share/man/man9/usb_alloc_urb.9.gz
3808 -rw-r--r-- root/root       1018 2014-11-11 16:33:16 ./usr/share/man/man9/usb_altnum_to_altsetting.9.gz
3809 -rw-r--r-- root/root        663 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_empty.9.gz
3810 +-- 54 lines: -rw-r--r-- root/root        711 2014-11-11 16:33:16 ./usr/share/man/man9/usb_anchor_resume_wakeups.9.gz
3864 -rw-r--r-- root/root        806 2014-11-11 16:33:16 ./usr/share/man/man9/usb_for_each_dev.9.gz
3865 -rw-r--r-- root/root        832 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_coherent.9.gz
3866 -rw-r--r-- root/root        679 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_descriptors.9.gz
3867 -rw-r--r-- root/root        892 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_streams.9.gz
3868 -rw-r--r-- root/root        799 2014-11-11 16:33:16 ./usr/share/man/man9/usb_free_urb.9.gz
3869 -rw-r--r-- root/root        809 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_activate.9.gz
3870 -rw-r--r-- root/root       1031 2014-11-11 16:33:16 ./usr/share/man/man9/usb_function_deactivate.9.gz
3871 -rw-r--r-- root/root        826 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_clear_selfpowered.9.gz
3872 -rw-r--r-- root/root       1186 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_config_buf.9.gz
3873 -rw-r--r-- root/root        866 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_connect.9.gz
3874 -rw-r--r-- root/root        970 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_disconnect.9.gz
3875 -rw-r--r-- root/root        771 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_frame_number.9.gz
3876 -rw-r--r-- root/root       1086 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_get_string.9.gz
3877 +-- 54 lines: -rw-r--r-- root/root        847 2014-11-11 16:33:16 ./usr/share/man/man9/usb_gadget_probe_driver.9.gz
3931 -rw-r--r-- root/root        770 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_cancel.9.gz
3932 -rw-r--r-- root/root       1247 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_init.9.gz
3933 -rw-r--r-- root/root       1527 2014-11-11 16:33:16 ./usr/share/man/man9/usb_sg_wait.9.gz
3934 -rw-r--r-- root/root        753 2014-11-11 16:33:16 ./usr/share/man/man9/usb_speed_string.9.gz
3935 -rw-r--r-- root/root        744 2014-11-11 16:33:16 ./usr/share/man/man9/usb_state_string.9.gz
3936 -rw-r--r-- root/root        991 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string.9.gz
3937 -rw-r--r-- root/root        941 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_id.9.gz
3938 -rw-r--r-- root/root       1075 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_n.9.gz
3939 -rw-r--r-- root/root       1004 2014-11-11 16:33:16 ./usr/share/man/man9/usb_string_ids_tab.9.gz
3940 -rw-r--r-- root/root       3415 2014-11-11 16:33:16 ./usr/share/man/man9/usb_submit_urb.9.gz
3941 -rw-r--r-- root/root        670 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unanchor_urb.9.gz
3942 -rw-r--r-- root/root        828 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_anchored_urbs.9.gz
3943 -rw-r--r-- root/root       2221 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unlink_urb.9.gz
3944 -rw-r--r-- root/root        716 2014-11-11 16:33:16 ./usr/share/man/man9/usb_unpoison_anchored_urbs.9.gz
3945 -rw-r--r-- root/root        688 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_in.9.gz
3946 +--  9 lines: -rw-r--r-- root/root        691 2014-11-11 16:33:16 ./usr/share/man/man9/usb_urb_dir_out.9.gz
3955 -rw-r--r-- root/root        753 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_path_lookup.9.gz
3956 -rw-r--r-- root/root       1816 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_rename.9.gz
3957 -rw-r--r-- root/root       1129 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_setlease.9.gz
3958 -rw-r--r-- root/root        761 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_test_lock.9.gz
3959 -rw-r--r-- root/root        942 2014-11-11 16:33:16 ./usr/share/man/man9/vfs_unlink.9.gz
3960 -rw-r--r-- root/root        867 2014-11-11 16:33:16 ./usr/share/man/man9/virt_to_phys.9.gz
3961 -rw-r--r-- root/root       1202 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_page.9.gz
3962 -rw-r--r-- root/root        933 2014-11-11 16:33:16 ./usr/share/man/man9/vm_insert_pfn.9.gz
3963 -rw-r--r-- root/root        897 2014-11-11 16:33:16 ./usr/share/man/man9/vm_iomap_memory.9.gz
3964 -rw-r--r-- root/root       1044 2014-11-11 16:33:16 ./usr/share/man/man9/vm_map_ram.9.gz
3965 -rw-r--r-- root/root        930 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_aliases.9.gz
3966 -rw-r--r-- root/root        705 2014-11-11 16:33:16 ./usr/share/man/man9/vm_unmap_ram.9.gz
3967 -rw-r--r-- root/root        747 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc.9.gz
3968 +--172 lines: -rw-r--r-- root/root        731 2014-11-11 16:33:16 ./usr/share/man/man9/vmalloc_32.9.gz
metadata
1 rw-r--r-- 0/0      4 Nov 11 16:33 2014 debian-binary
2 rw-r--r-- 0/0 126241 Nov 11 16:33 2014 control.tar.gz                         
3 rw-r--r-- 0/0 3464268 Nov 11 16:33 2014 data.tar.xz                           
1 rw-r--r-- 0/0      4 Nov 11 16:33 2014 debian-binary
2 rw-r--r-- 0/0 126263 Nov 11 16:33 2014 control.tar.gz                         
3 rw-r--r-- 0/0 3464264 Nov 11 16:33 2014 data.tar.xz                           

Attachment: signature.asc
Description: Digital signature


Reply to: